Переглянути джерело

Fix null pointer access in fast-interp when configurable soft bound check is enabled (#3150)

The wasm_interp_call_func_bytecode is called for the first time with the empty
module/exec_env to generate a global_handle_table. Before that happens though,
the function checks if the module instance has bounds check enabled. Because
the module instance is null, the program crashes. This PR added an extra check to
prevent the crashes.
Marcin Kolny 1 рік тому
батько
коміт
e792c35822
1 змінених файлів з 4 додано та 0 видалено
  1. 4 0
      core/iwasm/common/wasm_memory.c

+ 4 - 0
core/iwasm/common/wasm_memory.c

@@ -104,6 +104,10 @@ static inline bool
 is_bounds_checks_enabled(WASMModuleInstanceCommon *module_inst)
 {
 #if WASM_CONFIGURABLE_BOUNDS_CHECKS != 0
+    if (!module_inst) {
+        return true;
+    }
+
     return wasm_runtime_is_bounds_checks_enabled(module_inst);
 #else
     return true;