diff --git a/core/iwasm/aot/aot_loader.c b/core/iwasm/aot/aot_loader.c index 13de3009d..b875ab93c 100644 --- a/core/iwasm/aot/aot_loader.c +++ b/core/iwasm/aot/aot_loader.c @@ -4128,10 +4128,16 @@ create_module(char *name, char *error_buf, uint32 error_buf_size) #endif #if WASM_ENABLE_LIBC_WASI != 0 +#if WASM_ENABLE_UVWASI == 0 module->wasi_args.stdio[0] = os_invalid_raw_handle(); module->wasi_args.stdio[1] = os_invalid_raw_handle(); module->wasi_args.stdio[2] = os_invalid_raw_handle(); -#endif +#else + module->wasi_args.stdio[0] = os_get_invalid_handle(); + module->wasi_args.stdio[1] = os_get_invalid_handle(); + module->wasi_args.stdio[2] = os_get_invalid_handle(); +#endif /* WASM_ENABLE_UVWASI == 0 */ +#endif /* WASM_ENABLE_LIBC_WASI != 0 */ return module; #if WASM_ENABLE_GC != 0 diff --git a/core/iwasm/common/wasm_runtime_common.c b/core/iwasm/common/wasm_runtime_common.c index 1c1a20022..dcee0aeaf 100644 --- a/core/iwasm/common/wasm_runtime_common.c +++ b/core/iwasm/common/wasm_runtime_common.c @@ -3886,11 +3886,15 @@ wasm_runtime_init_wasi(WASMModuleInstanceCommon *module_inst, init_options.allocator = &uvwasi_allocator; init_options.argc = argc; init_options.argv = (const char **)argv; - init_options.in = (stdinfd != -1) ? (uvwasi_fd_t)stdinfd : init_options.in; - init_options.out = - (stdoutfd != -1) ? (uvwasi_fd_t)stdoutfd : init_options.out; - init_options.err = - (stderrfd != -1) ? (uvwasi_fd_t)stderrfd : init_options.err; + init_options.in = (stdinfd != os_get_invalid_handle()) + ? (uvwasi_fd_t)stdinfd + : init_options.in; + init_options.out = (stdoutfd != os_get_invalid_handle()) + ? (uvwasi_fd_t)stdoutfd + : init_options.out; + init_options.err = (stderrfd != os_get_invalid_handle()) + ? (uvwasi_fd_t)stderrfd + : init_options.err; if (dir_count > 0) { init_options.preopenc = dir_count; diff --git a/core/iwasm/interpreter/wasm_loader.c b/core/iwasm/interpreter/wasm_loader.c index 6ef1ff5bf..40ea697a9 100644 --- a/core/iwasm/interpreter/wasm_loader.c +++ b/core/iwasm/interpreter/wasm_loader.c @@ -6404,10 +6404,16 @@ create_module(char *name, char *error_buf, uint32 error_buf_size) #endif #if WASM_ENABLE_LIBC_WASI != 0 +#if WASM_ENABLE_UVWASI == 0 module->wasi_args.stdio[0] = os_invalid_raw_handle(); module->wasi_args.stdio[1] = os_invalid_raw_handle(); module->wasi_args.stdio[2] = os_invalid_raw_handle(); -#endif +#else + module->wasi_args.stdio[0] = os_get_invalid_handle(); + module->wasi_args.stdio[1] = os_get_invalid_handle(); + module->wasi_args.stdio[2] = os_get_invalid_handle(); +#endif /* WASM_ENABLE_UVWASI == 0 */ +#endif /* WASM_ENABLE_LIBC_WASI != 0 */ (void)ret; return module; diff --git a/core/iwasm/interpreter/wasm_mini_loader.c b/core/iwasm/interpreter/wasm_mini_loader.c index 1ed91230f..e66c08bab 100644 --- a/core/iwasm/interpreter/wasm_mini_loader.c +++ b/core/iwasm/interpreter/wasm_mini_loader.c @@ -3140,10 +3140,16 @@ create_module(char *name, char *error_buf, uint32 error_buf_size) #endif #if WASM_ENABLE_LIBC_WASI != 0 +#if WASM_ENABLE_LIBC_UVWASI == 0 module->wasi_args.stdio[0] = os_invalid_raw_handle(); module->wasi_args.stdio[1] = os_invalid_raw_handle(); module->wasi_args.stdio[2] = os_invalid_raw_handle(); -#endif +#else + module->wasi_args.stdio[0] = os_get_invalid_handle(); + module->wasi_args.stdio[1] = os_get_invalid_handle(); + module->wasi_args.stdio[2] = os_get_invalid_handle(); +#endif /* WASM_ENABLE_UVWASI == 0 */ +#endif /* WASM_ENABLE_LIBC_WASI != 0 */ (void)ret; return module;