diff options
author | Alon Zakai (kripken) <alonzakai@gmail.com> | 2017-05-29 13:49:32 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2017-06-01 13:17:44 -0700 |
commit | 18e83cb152447a07fc0b3fe9c16b2b8c60aab328 (patch) | |
tree | fb188a54fc3d33e554f854a9aea8088993d285f0 /src/wasm/wasm-s-parser.cpp | |
parent | e0166ea8978928436813a3cf7d3cee73961baa7a (diff) | |
download | binaryen-18e83cb152447a07fc0b3fe9c16b2b8c60aab328.tar.gz binaryen-18e83cb152447a07fc0b3fe9c16b2b8c60aab328.tar.bz2 binaryen-18e83cb152447a07fc0b3fe9c16b2b8c60aab328.zip |
s-expr parsing: handle empty switch
Diffstat (limited to 'src/wasm/wasm-s-parser.cpp')
-rw-r--r-- | src/wasm/wasm-s-parser.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/wasm/wasm-s-parser.cpp b/src/wasm/wasm-s-parser.cpp index 22dd36b13..77ca8910d 100644 --- a/src/wasm/wasm-s-parser.cpp +++ b/src/wasm/wasm-s-parser.cpp @@ -1340,6 +1340,7 @@ Expression* SExpressionWasmBuilder::makeBreakTable(Element& s) { while (!s[i]->isList()) { ret->targets.push_back(getLabel(*s[i++])); } + if (ret->targets.size() == 0) throw ParseException("switch with no targets"); ret->default_ = ret->targets.back(); ret->targets.pop_back(); ret->condition = parseExpression(s[i++]); |