26 lines
859 B
Diff
26 lines
859 B
Diff
|
From: Robert Luberda <robert@debian.org>
|
||
|
Date: Sat, 19 Nov 2016 08:48:08 +0100
|
||
|
Subject: Fix nullptr dereference (CVE-2016-9296)
|
||
|
|
||
|
Patch taken from https://sourceforge.net/p/p7zip/bugs/185/
|
||
|
|
||
|
Signed-off-by: André Hentschel <nerv@dawncrow.de>
|
||
|
---
|
||
|
CPP/7zip/Archive/7z/7zIn.cpp | 3 ++-
|
||
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
||
|
|
||
|
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;
|
||
|
}
|
||
|
|