Call uvwasi_init only once

extensions
Volodymyr Shymanskyy 3 years ago
parent 800abc19e5
commit 918490c827

@ -544,17 +544,17 @@ M3Result m3_LinkWASI (IM3Module module)
init_options.preopenc = PREOPENS_COUNT;
init_options.preopens = preopens;
uvwasi_errno_t ret = uvwasi_init(&uvwasi, &init_options);
if (ret != UVWASI_ESUCCESS) {
return "uvwasi_init failed";
}
if (!wasi_context) {
wasi_context = (m3_wasi_context_t*)malloc(sizeof(m3_wasi_context_t));
wasi_context->exit_code = 0;
wasi_context->argc = 0;
wasi_context->argv = 0;
uvwasi_errno_t ret = uvwasi_init(&uvwasi, &init_options);
if (ret != UVWASI_ESUCCESS) {
return "uvwasi_init failed";
}
}
static const char* namespaces[2] = { "wasi_unstable", "wasi_snapshot_preview1" };

@ -66,7 +66,7 @@ _ (ReadLEB_u32 (& numArgs, & i_bytes, i_end));
#if defined(M3_COMPILER_MSVC)
u8 argTypes[d_m3MaxSaneFunctionArgCount];
#else
u8 argTypes[numArgs];
u8 argTypes[numArgs+1]; // make ubsan happy
#endif
for (u32 a = 0; a < numArgs; ++a)
{

Loading…
Cancel
Save