diff options
author | Alon Zakai <alonzakai@gmail.com> | 2016-06-01 12:34:17 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2016-06-01 12:34:17 -0700 |
commit | ee909d82d0e5f7f11d280df44b4c27f15eae0404 (patch) | |
tree | 7bc7b028a25adce6cf25eeb0f248f61200549379 /src/wasm-s-parser.h | |
parent | db2ae40be2c52c0821da355285384aa0db8fc948 (diff) | |
parent | f740552daa7c717f3cc0c3c266fa84549b0f203d (diff) | |
download | binaryen-ee909d82d0e5f7f11d280df44b4c27f15eae0404.tar.gz binaryen-ee909d82d0e5f7f11d280df44b4c27f15eae0404.tar.bz2 binaryen-ee909d82d0e5f7f11d280df44b4c27f15eae0404.zip |
Merge pull request #555 from WebAssembly/spec-test-fixes
Spec test fixes
Diffstat (limited to 'src/wasm-s-parser.h')
-rw-r--r-- | src/wasm-s-parser.h | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/wasm-s-parser.h b/src/wasm-s-parser.h index bb6fe3fd4..e6262c645 100644 --- a/src/wasm-s-parser.h +++ b/src/wasm-s-parser.h @@ -1107,10 +1107,9 @@ private: if (s.dollared()) { return s.str(); } else { - size_t offset = atol(s.c_str()); - if (offset >= labelStack.size()) - return getPrefixedName("invalid"); // offset, break to nth outside label + uint64_t offset = std::stoll(s.c_str(), nullptr, 0); + if (offset >= labelStack.size()) throw ParseException("total memory must be <= 4GB", s.line, s.col); return labelStack[labelStack.size() - 1 - offset]; } } |