Commit 93777911 authored by Clemens Hammacher's avatar Clemens Hammacher Committed by Commit Bot

[wasm] Fix missing initialization

The array allocated in {SetInterpreterRedirection} was accidentally
left uninitialized, which could result in later calls to
{has_interpreter_redirection} to return true. In that case, we would
not patch the jump table when publishing the code, and would then crash
during execution.

This was uncovered by an unrelated change. It's covered by existing
tests though, we were just lucky so far that the relevant bits were 0
for some reason.

R=mstarzinger@chromium.org

Change-Id: I712200cb0c9f2a9c828f6a9a502e6307dc438bd3
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1532060Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60359}
parent af70a503
......@@ -428,7 +428,7 @@ class V8_EXPORT_PRIVATE NativeModule final {
if (!interpreter_redirections_) {
interpreter_redirections_.reset(
new uint8_t[RoundUp<kBitsPerByte>(module_->num_declared_functions) /
kBitsPerByte]);
kBitsPerByte]{});
}
uint32_t bitset_idx = func_index - module_->num_imported_functions;
uint8_t& byte = interpreter_redirections_[bitset_idx / kBitsPerByte];
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment