diff options
author | Thomas Lively <tlively@google.com> | 2024-06-18 17:14:09 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-06-18 17:14:09 -0700 |
commit | 829e228d4b2ccb314ea1e653fd16154ae3fd31b3 (patch) | |
tree | cba7ae1b47e8f3d7fc303e3d73188962014953a0 /src/tools/fuzzing | |
parent | 408bc7fbbe193648cb242bdbd096205aa776634b (diff) | |
download | binaryen-829e228d4b2ccb314ea1e653fd16154ae3fd31b3.tar.gz binaryen-829e228d4b2ccb314ea1e653fd16154ae3fd31b3.tar.bz2 binaryen-829e228d4b2ccb314ea1e653fd16154ae3fd31b3.zip |
[Parser] Fix bug in unreachable fallback logic (#6676)
When popping past an unreachable instruction would lead to popping from an empty
stack or popping an incorrect type, we need to avoid popping and produce new
Unreachable instructions instead to ensure we parse valid IR. The logic for
this was flawed and made the synthetic Unreachable come before the popped
unreachable child, which was not correct in the case that that popped
unreachable was a branch or other non-trapping instruction. Fix and simplify the
logic and re-enable the spec test that uncovered the bug.
Diffstat (limited to 'src/tools/fuzzing')
0 files changed, 0 insertions, 0 deletions