summaryrefslogtreecommitdiff
path: root/src/tools/wasm-opt.cpp
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2017-05-02 13:45:37 -0700
committerGitHub <noreply@github.com>2017-05-02 13:45:37 -0700
commit7addcae1ea9a09b8c82e0ad660323a42d6535baa (patch)
treebfb1f13195ece4b657db89ba86a0f6adae55bdff /src/tools/wasm-opt.cpp
parent6ae56e73d0eb3a5769af3920a2e75e0a910777bb (diff)
downloadbinaryen-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.cpp2
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)";
}
}