summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorHeejin Ahn <aheejin@gmail.com>2021-03-01 10:30:00 +0900
committerGitHub <noreply@github.com>2021-03-01 10:30:00 +0900
commit7d453930f1b211baf324b1c010924d3709ff12ba (patch)
tree43773af4e683faecd10273b78a853b46bb6376a6 /src
parent0eb513d730b122f38bd6c66280c8acfe183b9b35 (diff)
downloadbinaryen-7d453930f1b211baf324b1c010924d3709ff12ba.tar.gz
binaryen-7d453930f1b211baf324b1c010924d3709ff12ba.tar.bz2
binaryen-7d453930f1b211baf324b1c010924d3709ff12ba.zip
Allow empty body within catch block (#3630)
Previously we assumed catch body's size should be at least 3: `catch` keyword, event name, and body. But catch's body can be empty when the event's type is none. This PR fixes the bug and allows empty catch bodies to be parsed correctly. Fixes #3629.
Diffstat (limited to 'src')
-rw-r--r--src/wasm/wasm-s-parser.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/wasm/wasm-s-parser.cpp b/src/wasm/wasm-s-parser.cpp
index edf8ec6f0..3874bd2c0 100644
--- a/src/wasm/wasm-s-parser.cpp
+++ b/src/wasm/wasm-s-parser.cpp
@@ -2237,7 +2237,7 @@ Expression* SExpressionWasmBuilder::makeTry(Element& s) {
while (i < s.size() && elementStartsWith(*s[i], "catch")) {
Element& inner = *s[i++];
- if (inner.size() < 3) {
+ if (inner.size() < 2) {
throw ParseException("invalid catch block", inner.line, inner.col);
}
Name event = getEventName(*inner[1]);