Set is_binary_freeable in load_from_sections #4591
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hi,
I'm not sure this is the correct way to solve this crash.
When I upgraded to Wamr 2.4.1, I found that it was now crashing when calling
wasm_store_delete
with:module error for object 0x120440078: pointer being freed was not allocated
.I think #3983 causes this issue, because
module->is_binary_freeable
is always set to false in create_module here: https://github.com/bytecodealliance/wasm-micro-runtime/blob/main/core/iwasm/aot/aot_loader.c#L4206 - even whenclone_wasm_binary
is set to false in the load args.We don't set it for the module until here https://github.com/bytecodealliance/wasm-micro-runtime/blob/main/core/iwasm/common/wasm_runtime_common.c#L1492 after
aot_load_from_aot_file
has returned so it cannot be correct when we use it in the loader.Thanks