diff options
author | Luca Stefani <luca.stefani.ge1@gmail.com> | 2018-08-22 18:56:36 +0200 |
---|---|---|
committer | Luca Stefani <luca.stefani.ge1@gmail.com> | 2018-08-22 18:56:36 +0200 |
commit | 9d1f86e09814b88aa6165330410d8d2a9793a432 (patch) | |
tree | 8f64befa3144ac4db5d205034494996f5958ef61 | |
parent | 591bf763f701b8e7c7efdfe0f3c71dcf3490c34b (diff) | |
download | android_external_p7zip-9d1f86e09814b88aa6165330410d8d2a9793a432.tar.gz android_external_p7zip-9d1f86e09814b88aa6165330410d8d2a9793a432.tar.bz2 android_external_p7zip-9d1f86e09814b88aa6165330410d8d2a9793a432.zip |
Fix CVE-2016-9296
Change-Id: I077703f41e5a930d204228bf2045314f4e7f5d9b
-rw-r--r-- | CPP/7zip/Archive/7z/7zIn.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/CPP/7zip/Archive/7z/7zIn.cpp b/CPP/7zip/Archive/7z/7zIn.cpp index b0c6b98..7c6dde2 100644 --- a/CPP/7zip/Archive/7z/7zIn.cpp +++ b/CPP/7zip/Archive/7z/7zIn.cpp @@ -1097,7 +1097,8 @@ HRESULT CInArchive::ReadAndDecodePackedStreams( if (CrcCalc(data, unpackSize) != folders.FolderCRCs.Vals[i]) ThrowIncorrect(); } - HeadersSize += folders.PackPositions[folders.NumPackStreams]; + if (folders.PackPositions) + HeadersSize += folders.PackPositions[folders.NumPackStreams]; return S_OK; } |