]> git.ipfire.org Git - thirdparty/zstd.git/commitdiff
changed loop exit condition so that there is no need to assert() within the loop.
authorYann Collet <cyan@fb.com>
Tue, 22 Oct 2024 23:03:19 +0000 (16:03 -0700)
committerYann Collet <cyan@fb.com>
Wed, 23 Oct 2024 18:50:57 +0000 (11:50 -0700)
lib/compress/zstd_preSplit.c

index e0ac9a9e9f9026c93b65b3c723dab3e79a531f5f..02751a0d473a332f3ce60c97ebee639b58ece002 100644 (file)
@@ -155,8 +155,7 @@ static size_t ZSTD_splitBlock_byChunks(const void* src, size_t srcSize,
 
     initStats(fpstats);
     recordFingerprint(&fpstats->pastEvents, p, CHUNKSIZE, f);
-    for (pos = CHUNKSIZE; pos < blockSizeMax; pos += CHUNKSIZE) {
-        assert(pos <= blockSizeMax - CHUNKSIZE);
+    for (pos = CHUNKSIZE; pos <= blockSizeMax - CHUNKSIZE; pos += CHUNKSIZE) {
         recordFingerprint(&fpstats->newEvents, p + pos, CHUNKSIZE, f);
         if (compareFingerprints(&fpstats->pastEvents, &fpstats->newEvents, penalty)) {
             return pos;
@@ -165,6 +164,7 @@ static size_t ZSTD_splitBlock_byChunks(const void* src, size_t srcSize,
             penalty = penalty - 1 + (penalty == 0);
         }
     }
+    assert(pos == blockSizeMax);
     return blockSizeMax;
     (void)flushEvents; (void)removeEvents;
 }