diff options
Diffstat (limited to 'CPP/7zip/Common/LimitedStreams.cpp')
-rw-r--r-- | CPP/7zip/Common/LimitedStreams.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/CPP/7zip/Common/LimitedStreams.cpp b/CPP/7zip/Common/LimitedStreams.cpp index de236040..2ea718e7 100644 --- a/CPP/7zip/Common/LimitedStreams.cpp +++ b/CPP/7zip/Common/LimitedStreams.cpp @@ -279,7 +279,10 @@ STDMETHODIMP CLimitedCachedInStream::Read(void *data, UInt32 size, UInt32 *proce if (newPos >= _cachePhyPos && offsetInCache <= _cacheSize && size <= _cacheSize - (size_t)offsetInCache) - memcpy(data, _cache + (size_t)offsetInCache, size); + { + if (size != 0) + memcpy(data, _cache + (size_t)offsetInCache, size); + } else { if (newPos != _physPos) |