summaryrefslogtreecommitdiff
path: root/src/support/archive.cpp
diff options
context:
space:
mode:
authorjuj <jujjyl@gmail.com>2016-10-13 20:48:02 +0300
committerAlon Zakai <alonzakai@gmail.com>2016-10-13 10:48:02 -0700
commitff360121bf73d969af14ad4a8e42d7fe052df08a (patch)
treeb00097fdd20fca83d5f747efc9b67a48800bd7e9 /src/support/archive.cpp
parent95d00d699c9e05b8a04885d019a09d8d2eebd0b5 (diff)
downloadbinaryen-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.cpp2
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))) {