diff options
Diffstat (limited to 'CPP/7zip/Compress/Rar/Rar3Decoder.cpp')
-rwxr-xr-x | CPP/7zip/Compress/Rar/Rar3Decoder.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/CPP/7zip/Compress/Rar/Rar3Decoder.cpp b/CPP/7zip/Compress/Rar/Rar3Decoder.cpp index 478b6587..77b73ba8 100755 --- a/CPP/7zip/Compress/Rar/Rar3Decoder.cpp +++ b/CPP/7zip/Compress/Rar/Rar3Decoder.cpp @@ -409,7 +409,10 @@ HRESULT CDecoder::DecodePPM(Int32 num, bool &keepDecompressing) { RINOK(WriteBuf()); if (_writtenFileSize > _unpackSize) + { + keepDecompressing = false; return S_OK; + } } int c = DecodePpmSymbol(); if (c == -1) @@ -616,7 +619,10 @@ HRESULT CDecoder::DecodeLZ(bool &keepDecompressing) { RINOK(WriteBuf()); if (_writtenFileSize > _unpackSize) + { + keepDecompressing = false; return S_OK; + } } UInt32 number = m_MainDecoder.DecodeSymbol(&m_InBitStream); if (number < 256) |