diff options
Diffstat (limited to '7zip/Archive/7z/7zDecode.cpp')
-rwxr-xr-x | 7zip/Archive/7z/7zDecode.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/7zip/Archive/7z/7zDecode.cpp b/7zip/Archive/7z/7zDecode.cpp index 8e1c26ea..e6dbeefd 100755 --- a/7zip/Archive/7z/7zDecode.cpp +++ b/7zip/Archive/7z/7zDecode.cpp @@ -336,10 +336,12 @@ HRESULT CDecoder::Decode(IInStream *inStream, if (result == S_OK) { const CByteBuffer &properties = altCoderInfo.Properties; - UInt32 size = properties.GetCapacity(); + size_t size = properties.GetCapacity(); + if (size > 0xFFFFFFFF) + return E_NOTIMPL; if (size > 0) { - RINOK(compressSetDecoderProperties->SetDecoderProperties2((const Byte *)properties, size)); + RINOK(compressSetDecoderProperties->SetDecoderProperties2((const Byte *)properties, (UInt32)size)); } } else if (result != E_NOINTERFACE) |