diff options
author | Alon Zakai <alonzakai@gmail.com> | 2017-05-02 13:45:37 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-05-02 13:45:37 -0700 |
commit | 7addcae1ea9a09b8c82e0ad660323a42d6535baa (patch) | |
tree | bfb1f13195ece4b657db89ba86a0f6adae55bdff /src/tools/wasm-opt.cpp | |
parent | 6ae56e73d0eb3a5769af3920a2e75e0a910777bb (diff) | |
download | binaryen-7addcae1ea9a09b8c82e0ad660323a42d6535baa.tar.gz binaryen-7addcae1ea9a09b8c82e0ad660323a42d6535baa.tar.bz2 binaryen-7addcae1ea9a09b8c82e0ad660323a42d6535baa.zip |
Parsing fixes (#990)
* properly catch a bunch of possible parse errors, found by afl-fuzz
* clean up wasm-interpreter, use WASM_UNREACHABLE instead of abort
* detect duplicate names in function names section
* detect duplicate export names
Diffstat (limited to 'src/tools/wasm-opt.cpp')
-rw-r--r-- | src/tools/wasm-opt.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/tools/wasm-opt.cpp b/src/tools/wasm-opt.cpp index a663b1a04..bf79cb31d 100644 --- a/src/tools/wasm-opt.cpp +++ b/src/tools/wasm-opt.cpp @@ -90,6 +90,8 @@ int main(int argc, const char* argv[]) { } catch (ParseException& p) { p.dump(std::cerr); Fatal() << "error in parsing input"; + } catch (std::bad_alloc& b) { + Fatal() << "error in building module, std::bad_alloc (possibly invalid request for silly amounts of memory)"; } } |