Stream: git-wasmtime

Topic: wasmtime / PR #4455 Fix a possible panic with null-contai...


view this post on Zulip Wasmtime GitHub notifications bot (Jul 15 2022 at 19:22):

alexcrichton opened PR #4455 from fix-table-init-bug to main:

This commit fixes an issue with the initialization of element segments
when one of the elements in the element segment is ref.func null.
Previously the contents of a table were accidentally initialized with
the raw value of the *mut VMCallerCheckedAnyfunc which bypassed the
"this is initialized" encoding of function table entries that Wasmtime
uses for lazy table initialization. The fix here was to ensure that the
encoded form is used.

The impact of this issue is that a module could panic at runtime when
accessing a table element that was initialized with an element segment
containing a ref.null func entry. This only happens with imported
tables in a WebAssembly module where the table itself was defined on the
host. If the table was defined in another wasm module or in the local
wasm module this bug would not occur. Additionally this bug requires
enabling the reference types proposal for WebAssembly (which is enabled
by default) due to the usage of encodings for null funcrefs in element
segments.

<!--

Please ensure that the following steps are all taken care of before submitting
the PR.

Please ensure all communication adheres to the code of conduct.
-->

view this post on Zulip Wasmtime GitHub notifications bot (Jul 15 2022 at 19:31):

fitzgen submitted PR review.

view this post on Zulip Wasmtime GitHub notifications bot (Jul 15 2022 at 19:33):

alexcrichton has enabled auto merge for PR #4455.

view this post on Zulip Wasmtime GitHub notifications bot (Jul 15 2022 at 20:14):

alexcrichton merged PR #4455.


Last updated: Oct 23 2024 at 20:03 UTC