]> git.ipfire.org Git - thirdparty/zlib-ng.git/commitdiff
Comment assert in chunkmemset when len < sizeof(uint64_t) since the function handles...
authorNathan Moinvaziri <nathan@nathanm.com>
Sat, 5 Oct 2019 01:54:26 +0000 (18:54 -0700)
committerHans Kristian Rosbach <hk-github@circlestorm.org>
Fri, 25 Oct 2019 06:39:34 +0000 (08:39 +0200)
inffast.c
memcopy.h

index dc282dc0d46a95d49e273f2fbb86aaf56f2b21d1..62cb9513afdc1e6aa11004c5f1c80e7393147709 100644 (file)
--- a/inffast.c
+++ b/inffast.c
@@ -310,7 +310,7 @@ void ZLIB_INTERNAL zng_inflate_fast(PREFIX3(stream) *strm, unsigned long start)
                     if (dist >= len || dist >= INFFAST_CHUNKSIZE)
                         out = chunkcopy(out, out - dist, len);
                     else
-                        out = chunkmemsetsafe(out, dist, len, len);
+                        out = chunkmemset(out, dist, len);
 #else
                     if (len < sizeof(uint64_t))
                       out = set_bytes(out, out - dist, dist, len);
index e67c79190ca7e7fb34c3fa4a4f75df8c455d1e71..192fbd42b6d5438d531feda790e1455597c756df 100644 (file)
--- a/memcopy.h
+++ b/memcopy.h
@@ -234,7 +234,8 @@ static inline unsigned char *chunkmemset_6(unsigned char *out, unsigned char *fr
 
 /* Copy DIST bytes from OUT - DIST into OUT + DIST * k, for 0 <= k < LEN/DIST. Return OUT + LEN. */
 static inline unsigned char *chunkmemset(unsigned char *out, unsigned dist, unsigned len) {
-    Assert(len >= sizeof(uint64_t), "chunkmemset should be called on larger chunks");
+    /* Debug performance related issues when len < sizeof(uint64_t): 
+       Assert(len >= sizeof(uint64_t), "chunkmemset should be called on larger chunks"); */
     Assert(dist > 0, "cannot have a distance 0");
 
     unsigned char *from = out - dist;
@@ -298,7 +299,7 @@ static inline unsigned char *chunkmemset(unsigned char *out, unsigned dist, unsi
 }
 
 static inline unsigned char* chunkmemsetsafe(unsigned char *out, unsigned dist, unsigned len, unsigned left) {
-    if (len < sizeof(uint64_t) || left < (unsigned)(3 * INFFAST_CHUNKSIZE)) {
+    if (left < (unsigned)(3 * INFFAST_CHUNKSIZE)) {
         while (len > 0) {
           *out = *(out - dist);
           out++;