diff options
author | Sam Clegg <sbc@chromium.org> | 2017-05-09 17:51:38 +0000 |
---|---|---|
committer | Sam Clegg <sbc@chromium.org> | 2017-05-09 17:51:38 +0000 |
commit | a0efcfe92b9e12be83c80878ce83e18fe8234c3d (patch) | |
tree | 41776d1630092ce30107c9a9906daa85e1f07610 /llvm/lib/Object/WasmObjectFile.cpp | |
parent | 073c4e66b01d8f9f66a1c7b660d926a8b2748665 (diff) | |
download | llvm-a0efcfe92b9e12be83c80878ce83e18fe8234c3d.zip llvm-a0efcfe92b9e12be83c80878ce83e18fe8234c3d.tar.gz llvm-a0efcfe92b9e12be83c80878ce83e18fe8234c3d.tar.bz2 |
[WebAssembly] Fix validation of start function
The check for valid start function was inverted. Added a new
test in test/Object to check this case and fixed the existing
tests in for ObjectYAML.
Differential Revision: https://reviews.llvm.org/D32986
llvm-svn: 302560
Diffstat (limited to 'llvm/lib/Object/WasmObjectFile.cpp')
-rw-r--r-- | llvm/lib/Object/WasmObjectFile.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Object/WasmObjectFile.cpp b/llvm/lib/Object/WasmObjectFile.cpp index 39f8704..012c9dc 100644 --- a/llvm/lib/Object/WasmObjectFile.cpp +++ b/llvm/lib/Object/WasmObjectFile.cpp @@ -507,7 +507,7 @@ Error WasmObjectFile::parseExportSection(const uint8_t *Ptr, const uint8_t *End) Error WasmObjectFile::parseStartSection(const uint8_t *Ptr, const uint8_t *End) { StartFunction = readVaruint32(Ptr); - if (StartFunction < FunctionTypes.size()) + if (StartFunction >= FunctionTypes.size()) return make_error<GenericBinaryError>("Invalid start function", object_error::parse_failed); return Error::success(); |