43 lines
1.2 KiB
Diff
43 lines
1.2 KiB
Diff
From 3fe4469bfa84ed23414f4f581c798945dcfa41f0 Mon Sep 17 00:00:00 2001
|
|
From: Wayne Davison <wayned@samba.org>
|
|
Date: Sat, 16 Mar 2019 09:52:46 -0700
|
|
Subject: [PATCH 32/36] Fix zlib CVE-2016-9843.
|
|
|
|
Signed-off-by: root <root@localhost.localdomain>
|
|
---
|
|
zlib/crc32.c | 4 +---
|
|
1 file changed, 1 insertion(+), 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 {
|
|
--
|
|
2.19.1
|
|
|