zlib-ng/1773.patch
Tulio Magno Quites Machado Filho 8a46722e37 Apply a patch that fixes rhbz#2307237
Resolves: rhbz#2307237
2024-09-10 15:26:39 -03:00

26 lines
1.2 KiB
Diff

From af013cf65867e3589f6da714eefc69d9f986bb91 Mon Sep 17 00:00:00 2001
From: Nathan Moinvaziri <nathan@nathanm.com>
Date: Mon, 9 Sep 2024 13:32:33 -0700
Subject: [PATCH] Don't use chunkunroll for inflateBack
If the output buffer and the window buffer are the same
memory allocation, we cannot make the assumptions that chunkunroll
does, that it is okay to overwrite the output buffer.
---
inffast_tpl.h | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/inffast_tpl.h b/inffast_tpl.h
index 9ddd187d84..c8f4786754 100644
--- a/inffast_tpl.h
+++ b/inffast_tpl.h
@@ -249,7 +249,8 @@ void Z_INTERNAL INFLATE_FAST(PREFIX3(stream) *strm, uint32_t start) {
if (op < len) { /* still need some from output */
len -= op;
out = chunkcopy_safe(out, from, op, safe);
- out = CHUNKUNROLL(out, &dist, &len);
+ if (!extra_safe)
+ out = CHUNKUNROLL(out, &dist, &len);
out = chunkcopy_safe(out, out - dist, len, safe);
} else {
out = chunkcopy_safe(out, from, len, safe);