From: Nathan Moinvaziri Date: Mon, 1 Mar 2021 02:17:04 +0000 (-0800) Subject: Mod adler and sum2 when calculating adler32 for short lengths. X-Git-Tag: 2.1.0-beta1~587 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d5419d68ea37cdf7740268188535d811d05bf270;p=thirdparty%2Fzlib-ng.git Mod adler and sum2 when calculating adler32 for short lengths. --- diff --git a/adler32_p.h b/adler32_p.h index 7f75c71e2..adcc79f01 100644 --- a/adler32_p.h +++ b/adler32_p.h @@ -20,11 +20,9 @@ static inline uint32_t adler32_len_1(uint32_t adler, const unsigned char *buf, uint32_t sum2) { adler += buf[0]; - if (adler >= BASE) - adler -= BASE; + adler %= BASE; sum2 += adler; - if (sum2 >= BASE) - sum2 -= BASE; + sum2 %= BASE; return adler | (sum2 << 16); } @@ -34,8 +32,7 @@ static inline uint32_t adler32_len_16(uint32_t adler, const unsigned char *buf, adler += *buf++; sum2 += adler; } - if (adler >= BASE) - adler -= BASE; + adler %= BASE; sum2 %= BASE; /* only added so many BASE's */ return adler | (sum2 << 16); }