summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2016-03-07 15:58:19 -0800
committerAlon Zakai <alonzakai@gmail.com>2016-03-07 15:58:19 -0800
commita94f9938701920fe11c4f21a875ed3174ff7e9ba (patch)
tree22050fa4bbdfa87d367030d88f5af3c4f11eb7fd
parent2e9bc3d4f2799bfcb7876d3edbbead8cd8a444b0 (diff)
downloadbinaryen-a94f9938701920fe11c4f21a875ed3174ff7e9ba.tar.gz
binaryen-a94f9938701920fe11c4f21a875ed3174ff7e9ba.tar.bz2
binaryen-a94f9938701920fe11c4f21a875ed3174ff7e9ba.zip
parse empty blocks properly
-rw-r--r--src/wasm-s-parser.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/wasm-s-parser.h b/src/wasm-s-parser.h
index d10dd2bff..f3a28fd1a 100644
--- a/src/wasm-s-parser.h
+++ b/src/wasm-s-parser.h
@@ -695,8 +695,9 @@ private:
Expression* makeBlock(Element& s) {
auto ret = allocator.alloc<Block>();
size_t i = 1;
- if (s[1]->isStr()) {
- ret->name = s[1]->str();
+ if (i >= s.size()) return ret; // empty block
+ if (s[i]->isStr()) {
+ ret->name = s[i]->str();
i++;
} else {
ret->name = getPrefixedName("block");