diff options
author | Alon Zakai <alonzakai@gmail.com> | 2016-08-16 15:40:22 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2016-09-07 09:54:59 -0700 |
commit | ccec65e3d0c980bb1079fd0946f48dea069d224e (patch) | |
tree | b7f80b487123d6652a176ba9a9aa78d5bd904aa7 /src/wasm-s-parser.h | |
parent | a8356e139ffcbaa17715a2213a47a4c75051396a (diff) | |
download | binaryen-ccec65e3d0c980bb1079fd0946f48dea069d224e.tar.gz binaryen-ccec65e3d0c980bb1079fd0946f48dea069d224e.tar.bz2 binaryen-ccec65e3d0c980bb1079fd0946f48dea069d224e.zip |
some additional validations
Diffstat (limited to 'src/wasm-s-parser.h')
-rw-r--r-- | src/wasm-s-parser.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/wasm-s-parser.h b/src/wasm-s-parser.h index 3f61b113f..a4dd60532 100644 --- a/src/wasm-s-parser.h +++ b/src/wasm-s-parser.h @@ -1472,7 +1472,11 @@ private: wasm.addGlobal(global.release()); } + bool seenTable = false; + void parseTable(Element& s) { + seenTable = true; + if (s.size() == 1) return; // empty table in old notation if (!s[1]->dollared()) { if (s[1]->str() == ANYFUNC) { @@ -1495,6 +1499,7 @@ private: } void parseElem(Element& s) { + if (!seenTable) throw ParseException("elem without table", s.line, s.col); Index i = 1; Expression* offset; if (s[i]->isList()) { |