From e63c4a7d04c145dafaf4b09de5f9f5de69cee8ef Mon Sep 17 00:00:00 2001 From: Alon Zakai Date: Tue, 22 Jan 2019 17:15:37 -0800 Subject: More misc ASAN fixes (#1882) * fix buffer overflow in simple_ast.h printing. * check wasm binary format reading of function export indexes for errors. * check if s-expr format imports have a non-empty module and base. Fixes #1876 Fixes #1877 Fixes #1879 --- src/emscripten-optimizer/istring.h | 4 ++++ src/emscripten-optimizer/simple_ast.h | 1 + 2 files changed, 5 insertions(+) (limited to 'src/emscripten-optimizer') diff --git a/src/emscripten-optimizer/istring.h b/src/emscripten-optimizer/istring.h index 5a7d05162..5c3b094c3 100644 --- a/src/emscripten-optimizer/istring.h +++ b/src/emscripten-optimizer/istring.h @@ -149,6 +149,10 @@ struct IString { bool startsWith(const char *prefix) const { return stripPrefix(prefix) != nullptr; } + + size_t size() const { + return str ? strlen(str) : 0; + } }; } // namespace cashew diff --git a/src/emscripten-optimizer/simple_ast.h b/src/emscripten-optimizer/simple_ast.h index de8122ba1..f38377e70 100644 --- a/src/emscripten-optimizer/simple_ast.h +++ b/src/emscripten-optimizer/simple_ast.h @@ -561,6 +561,7 @@ struct JSPrinter { void printAst() { print(ast); + ensure(1); buffer[used] = 0; } -- cgit v1.2.3