Commit 4711ac21 authored by Poul-Henning Kamp's avatar Poul-Henning Kamp

Sync libvgz with upstream zlib.

Varnish is not subject to CVE 2022 37434, we never use "extra" data.
parent 8aee5e26
...@@ -635,7 +635,7 @@ unsigned long ZEXPORT crc32_z(crc, buf, len) ...@@ -635,7 +635,7 @@ unsigned long ZEXPORT crc32_z(crc, buf, len)
#endif /* DYNAMIC_CRC_TABLE */ #endif /* DYNAMIC_CRC_TABLE */
/* Pre-condition the CRC */ /* Pre-condition the CRC */
crc ^= 0xffffffff; crc = (~crc) & 0xffffffff;
/* Compute the CRC up to a word boundary. */ /* Compute the CRC up to a word boundary. */
while (len && ((z_size_t)buf & 7) != 0) { while (len && ((z_size_t)buf & 7) != 0) {
...@@ -754,7 +754,7 @@ unsigned long ZEXPORT crc32_z(crc, buf, len) ...@@ -754,7 +754,7 @@ unsigned long ZEXPORT crc32_z(crc, buf, len)
#endif /* DYNAMIC_CRC_TABLE */ #endif /* DYNAMIC_CRC_TABLE */
/* Pre-condition the CRC */ /* Pre-condition the CRC */
crc ^= 0xffffffff; crc = (~crc) & 0xffffffff;
#ifdef W #ifdef W
...@@ -1082,7 +1082,7 @@ uLong ZEXPORT crc32_combine64(crc1, crc2, len2) ...@@ -1082,7 +1082,7 @@ uLong ZEXPORT crc32_combine64(crc1, crc2, len2)
#ifdef DYNAMIC_CRC_TABLE #ifdef DYNAMIC_CRC_TABLE
once(&made, make_crc_table); once(&made, make_crc_table);
#endif /* DYNAMIC_CRC_TABLE */ #endif /* DYNAMIC_CRC_TABLE */
return multmodp(x2nmodp(len2, 3), crc1) ^ crc2; return multmodp(x2nmodp(len2, 3), crc1) ^ (crc2 & 0xffffffff);
} }
/* ========================================================================= */ /* ========================================================================= */
...@@ -1117,5 +1117,5 @@ uLong crc32_combine_op(crc1, crc2, op) ...@@ -1117,5 +1117,5 @@ uLong crc32_combine_op(crc1, crc2, op)
uLong crc2; uLong crc2;
uLong op; uLong op;
{ {
return multmodp(op, crc1) ^ crc2; return multmodp(op, crc1) ^ (crc2 & 0xffffffff);
} }
...@@ -771,8 +771,9 @@ int flush; ...@@ -771,8 +771,9 @@ int flush;
if (copy > have) copy = have; if (copy > have) copy = have;
if (copy) { if (copy) {
if (state->head != Z_NULL && if (state->head != Z_NULL &&
state->head->extra != Z_NULL) { state->head->extra != Z_NULL &&
len = state->head->extra_len - state->length; (len = state->head->extra_len - state->length) <
state->head->extra_max) {
zmemcpy(state->head->extra + len, next, zmemcpy(state->head->extra + len, next,
len + copy > state->head->extra_max ? len + copy > state->head->extra_max ?
state->head->extra_max - len : copy); state->head->extra_max - len : copy);
......
...@@ -8,6 +8,12 @@ ...@@ -8,6 +8,12 @@
#ifndef ZCONF_H #ifndef ZCONF_H
#define ZCONF_H #define ZCONF_H
#if defined(Z_SOLO)
#include <sys/types.h>
#define Z_U8 __uint64_t
#define Z_U4 __uint32_t
#endif
/* /*
* If you *really* need a unique prefix for all types and library functions, * If you *really* need a unique prefix for all types and library functions,
* compile with -DZ_PREFIX. The "standard" zlib should be compiled without it. * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment