Avoid out-of-bounds pointer arithmetic in inflateCopy().

Though it does not matter for code correctness, clang's UBSan
injects code that complains about computing a pointer from an array
where the result is out-of-bounds for that array, even though the
pointer is never dereferenced. Go figure. This commit avoids that
possibility when computing distcode in inflateCopy().
This commit is contained in:
Mark Adler 2024-08-26 23:51:11 -07:00
parent 2968a496d9
commit f7d01aae6e
1 changed files with 1 additions and 1 deletions

View File

@ -923,7 +923,7 @@ int ZEXPORT inflate(z_streamp strm, int flush) {
while (state->have < 19)
state->lens[order[state->have++]] = 0;
state->next = state->codes;
state->lencode = (const code FAR *)(state->next);
state->lencode = state->distcode = (const code FAR *)(state->next);
state->lenbits = 7;
ret = inflate_table(CODES, state->lens, 19, &(state->next),
&(state->lenbits), state->work);