diff --git a/lib/compress/zstd_compress.c b/lib/compress/zstd_compress.c index ceaff74e0..f01029cc7 100644 --- a/lib/compress/zstd_compress.c +++ b/lib/compress/zstd_compress.c @@ -942,7 +942,7 @@ static size_t ZSTD_count(const BYTE* pIn, const BYTE* pMatch, const BYTE* pInLim const BYTE* const pStart = pIn; while ((pIn iEnd) vEnd = iEnd; - matchLength = ZSTD_count(ip, match, vEnd); + const BYTE* const vEnd = MIN( ip + (mEnd - match), iEnd); + size_t matchLength = ZSTD_count(ip, match, vEnd); if (match + matchLength == mEnd) matchLength += ZSTD_count(ip+matchLength, iStart, iEnd); return matchLength;