Fix few integer overflowing (#4161)

- fix(interpreter): correct offset calculations in wasm_loader_get_const_offset function
- fix(mem-alloc): update offset calculation in gc_migrate for memory migration
- add pointer-overflow sanitizer
This commit is contained in:
liang.he
2025-04-10 12:04:56 +08:00
committed by GitHub
parent 8fe98f64c1
commit 793135b41c
5 changed files with 48 additions and 11 deletions

View File

@ -1575,7 +1575,8 @@ if __name__ == "__main__":
try:
if not opts.no_cleanup:
# remove the files under /tempfiles/ and copy of .wasm files
log(f"Removing {temp_file_repo}")
log(f"Removing tmp*")
# log(f"Removing {temp_file_repo}")
for t in temp_file_repo:
# None and empty
@ -1585,7 +1586,8 @@ if __name__ == "__main__":
if os.path.exists(t):
os.remove(t)
else:
log(f"Leaving {temp_file_repo}")
log(f"Leaving tmp*")
# log(f"Leaving {temp_file_repo}")
except Exception as e:
print("Failed to remove tempfiles: %s" % e)

View File

@ -39,7 +39,7 @@ function help()
echo "-F set the firmware path used by qemu"
echo "-C enable code coverage collect"
echo "-j set the platform to test"
echo "-T set sanitizer to use in tests(ubsan|tsan|asan)"
echo "-T set sanitizer to use in tests(ubsan|tsan|asan|posan)"
echo "-A use the specified wamrc command instead of building it"
echo "-r [requirement name] [N [N ...]] specify a requirement name followed by one or more"
echo " subrequirement IDs, if no subrequirement is specificed,"
@ -1035,6 +1035,11 @@ function trigger()
EXTRA_COMPILE_FLAGS+=" -DWAMR_BUILD_SANITIZER=tsan"
fi
if [[ "$WAMR_BUILD_SANITIZER" == "posan" ]]; then
echo "Setting run with posan"
EXTRA_COMPILE_FLAGS+=" -DWAMR_BUILD_SANITIZER=posan"
fi
# Make sure we're using the builtin WASI libc implementation
# if we're running the wasi certification tests.
if [[ $TEST_CASE_ARR ]]; then