]> git.ipfire.org Git - thirdparty/zlib-ng.git/commitdiff
Calculate from and out buffer advance only once in chunkcopy.
authorNathan Moinvaziri <nathan@nathanm.com>
Fri, 4 Jun 2021 22:27:26 +0000 (15:27 -0700)
committerHans Kristian Rosbach <hk-github@circlestorm.org>
Sun, 13 Jun 2021 18:56:54 +0000 (20:56 +0200)
chunkset_tpl.h

index ae049e7e7c9b4a9ed4f57b69c395516f90c95571..55e07088c41a8c1167ff48b77f2fb7ae1552baab 100644 (file)
@@ -19,11 +19,11 @@ Z_INTERNAL uint32_t CHUNKSIZE(void) {
    reliable. */
 Z_INTERNAL uint8_t* CHUNKCOPY(uint8_t *out, uint8_t const *from, unsigned len) {
     chunk_t chunk;
-    --len;
+    int32_t align = (--len % sizeof(chunk_t)) + 1;
     loadchunk(from, &chunk);
     storechunk(out, &chunk);
-    out += (len % sizeof(chunk_t)) + 1;
-    from += (len % sizeof(chunk_t)) + 1;
+    out += align;
+    from += align;
     len /= sizeof(chunk_t);
     while (len > 0) {
         loadchunk(from, &chunk);