summaryrefslogtreecommitdiff
path: root/src/ir/eh-utils.cpp
diff options
context:
space:
mode:
authorThomas Lively <tlively@google.com>2024-03-07 08:20:19 -0800
committerGitHub <noreply@github.com>2024-03-07 08:20:19 -0800
commit3c779e20be9870d4985763b6fbe8d85e17827353 (patch)
tree0eaa05b00400d51f629b44e111d04459b05f8eeb /src/ir/eh-utils.cpp
parent4ca311d83187bad3b5790635efc687b747a1b1e7 (diff)
downloadbinaryen-3c779e20be9870d4985763b6fbe8d85e17827353.tar.gz
binaryen-3c779e20be9870d4985763b6fbe8d85e17827353.tar.bz2
binaryen-3c779e20be9870d4985763b6fbe8d85e17827353.zip
Fix EH fuzz bugs (#6381)
Due to a typo, the fuzzer was making externrefs when it should have been making exnrefs. Fix that and also let eh-utils.cpp know that TryTable exists to avoid an assertion failure.
Diffstat (limited to 'src/ir/eh-utils.cpp')
-rw-r--r--src/ir/eh-utils.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/ir/eh-utils.cpp b/src/ir/eh-utils.cpp
index f9cd2d940..70b5452a6 100644
--- a/src/ir/eh-utils.cpp
+++ b/src/ir/eh-utils.cpp
@@ -84,7 +84,7 @@ getFirstPop(Expression* catchBody, bool& isPopNested, Expression**& popPtr) {
} else {
isPopNested = true;
}
- } else if (firstChild->is<Try>()) {
+ } else if (firstChild->is<Try>() || firstChild->is<TryTable>()) {
isPopNested = true;
} else {
WASM_UNREACHABLE("Unexpected control flow expression");