From da9a0786f7d95a6e961b00db5ef8728ae739d2a6 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Fri, 3 Jul 2020 19:21:45 +0200 Subject: [PATCH] (zlib) Backport https://github.com/jtkukunas/zlib/commit/60a5ecc62b18d1e2391993b1fcfc10e100720642#diff-e17b59778d9aff01f3b9b23f56d76d48 --- deps/libz/inffast.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/deps/libz/inffast.c b/deps/libz/inffast.c index 39107688fb..74c893eac8 100644 --- a/deps/libz/inffast.c +++ b/deps/libz/inffast.c @@ -47,7 +47,7 @@ output space. */ void ZLIB_INTERNAL inflate_fast(z_streamp strm, unsigned start) { - code here; /* retrieved table entry */ + code const *here; /* retrieved table entry */ unsigned op; /* code bits, operation, extra bits, or */ /* window position, window bytes to copy */ unsigned len; /* match length, unused bytes */ @@ -83,17 +83,17 @@ void ZLIB_INTERNAL inflate_fast(z_streamp strm, unsigned start) hold += (unsigned long)(*in++) << bits; bits += 8; } - here = lcode[hold & lmask]; + here = lcode + (hold & lmask); dolen: - op = (unsigned)(here.bits); + op = (unsigned)(here->bits); hold >>= op; bits -= op; - op = (unsigned)(here.op); + op = (unsigned)(here->op); if (op == 0) /* literal */ - *out++ = (unsigned char)(here.val); + *out++ = (unsigned char)(here->val); else if (op & 16) /* length base */ { - len = (unsigned)(here.val); + len = (unsigned)(here->val); op &= 15; /* number of extra bits */ if (op) { @@ -115,16 +115,16 @@ dolen: bits += 8; } - here = dcode[hold & dmask]; + here = dcode + (hold & dmask); dodist: - op = (unsigned)(here.bits); + op = (unsigned)(here->bits); hold >>= op; bits -= op; - op = (unsigned)(here.op); + op = (unsigned)(here->op); if (op & 16) /* distance base */ { - dist = (unsigned)(here.val); + dist = (unsigned)(here->val); op &= 15; /* number of extra bits */ if (bits < op) { @@ -236,7 +236,7 @@ dodist: } else if ((op & 64) == 0) /* 2nd level distance code */ { - here = dcode[here.val + (hold & ((1U << op) - 1))]; + here = dcode + here->val + (hold & ((1U << op) - 1)); goto dodist; } else @@ -248,7 +248,7 @@ dodist: } else if ((op & 64) == 0) /* 2nd level length code */ { - here = lcode[here.val + (hold & ((1U << op) - 1))]; + here = lcode + here->val + (hold & ((1U << op) - 1)); goto dolen; } else if (op & 32) /* end-of-block */