]> git.ipfire.org Git - thirdparty/zlib-ng.git/commitdiff
[CHUNKMEMSET_SAFE] Precalculate "from".
authorMika Lindqvist <postmaster@raasu.org>
Thu, 10 Jun 2021 15:23:34 +0000 (18:23 +0300)
committerHans Kristian Rosbach <hk-github@circlestorm.org>
Fri, 11 Jun 2021 17:53:08 +0000 (19:53 +0200)
* limit len to minimum of len and left

chunkset_tpl.h

index 68b7dedeeefe177f34eec23137f8abfc2e57feeb..96f08d118ed788de24c1ed4d7f65c4592f645431 100644 (file)
@@ -161,10 +161,11 @@ Z_INTERNAL uint8_t* CHUNKMEMSET(uint8_t *out, unsigned dist, unsigned len) {
 }
 
 Z_INTERNAL uint8_t* CHUNKMEMSET_SAFE(uint8_t *out, unsigned dist, unsigned len, unsigned left) {
+    len = MIN(len, left);
     if (left < (unsigned)(3 * sizeof(chunk_t))) {
+        uint8_t *from = out - dist;
         while (len > 0) {
-            *out = *(out - dist);
-            out++;
+            *out++ = *from++;
             --len;
         }
         return out;