diff options
author | juj <jujjyl@gmail.com> | 2016-10-13 20:48:02 +0300 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2016-10-13 10:48:02 -0700 |
commit | ff360121bf73d969af14ad4a8e42d7fe052df08a (patch) | |
tree | b00097fdd20fca83d5f747efc9b67a48800bd7e9 /src/support/archive.cpp | |
parent | 95d00d699c9e05b8a04885d019a09d8d2eebd0b5 (diff) | |
download | binaryen-ff360121bf73d969af14ad4a8e42d7fe052df08a.tar.gz binaryen-ff360121bf73d969af14ad4a8e42d7fe052df08a.tar.bz2 binaryen-ff360121bf73d969af14ad4a8e42d7fe052df08a.zip |
Fix crash on loading archives, firstRegularData member field was not initialized to null which caused dereferencing a garbage pointer. (#770)
Diffstat (limited to 'src/support/archive.cpp')
-rw-r--r-- | src/support/archive.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/support/archive.cpp b/src/support/archive.cpp index 487a77376..b394294c6 100644 --- a/src/support/archive.cpp +++ b/src/support/archive.cpp @@ -60,7 +60,7 @@ uint32_t ArchiveMemberHeader::getSize() const { return static_cast<uint32_t>(sizeInt); } -Archive::Archive(Buffer& b, bool& error) : data(b), symbolTable({nullptr, 0}), stringTable({nullptr, 0}) { +Archive::Archive(Buffer& b, bool& error) : data(b), symbolTable({nullptr, 0}), stringTable({nullptr, 0}), firstRegularData(nullptr) { error = false; if (data.size() < strlen(magic) || memcmp(data.data(), magic, strlen(magic))) { |