summaryrefslogtreecommitdiff
path: root/zlib
diff options
context:
space:
mode:
authorWayne Davison <wayned@samba.org>2019-03-16 09:52:46 -0700
committerWayne Davison <wayned@samba.org>2019-03-16 09:56:11 -0700
commit3fe4469bfa84ed23414f4f581c798945dcfa41f0 (patch)
tree6dbc1a1f0c031a2fa5fe47dc0cd814e7eabbfaaa /zlib
parent8eb50bce43634b9ef9ae940778ac08a959a7e8e4 (diff)
downloadrsync-3fe4469bfa84ed23414f4f581c798945dcfa41f0.tar.gz
Fix zlib CVE-2016-9843.
Diffstat (limited to 'zlib')
-rw-r--r--zlib/crc32.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/zlib/crc32.c b/zlib/crc32.c
index 979a7190..05733f4e 100644
--- a/zlib/crc32.c
+++ b/zlib/crc32.c
@@ -278,7 +278,7 @@ local unsigned long crc32_little(crc, buf, len)
}
/* ========================================================================= */
-#define DOBIG4 c ^= *++buf4; \
+#define DOBIG4 c ^= *buf4++; \
c = crc_table[4][c & 0xff] ^ crc_table[5][(c >> 8) & 0xff] ^ \
crc_table[6][(c >> 16) & 0xff] ^ crc_table[7][c >> 24]
#define DOBIG32 DOBIG4; DOBIG4; DOBIG4; DOBIG4; DOBIG4; DOBIG4; DOBIG4; DOBIG4
@@ -300,7 +300,6 @@ local unsigned long crc32_big(crc, buf, len)
}
buf4 = (const z_crc_t FAR *)(const void FAR *)buf;
- buf4--;
while (len >= 32) {
DOBIG32;
len -= 32;
@@ -309,7 +308,6 @@ local unsigned long crc32_big(crc, buf, len)
DOBIG4;
len -= 4;
}
- buf4++;
buf = (const unsigned char FAR *)buf4;
if (len) do {