summaryrefslogtreecommitdiff
path: root/libz/libz/CVE-2022-37434-eff308a.patch
diff options
context:
space:
mode:
Diffstat (limited to 'libz/libz/CVE-2022-37434-eff308a.patch')
-rw-r--r--libz/libz/CVE-2022-37434-eff308a.patch20
1 files changed, 20 insertions, 0 deletions
diff --git a/libz/libz/CVE-2022-37434-eff308a.patch b/libz/libz/CVE-2022-37434-eff308a.patch
new file mode 100644
index 0000000..d62b739
--- /dev/null
+++ b/libz/libz/CVE-2022-37434-eff308a.patch
@@ -0,0 +1,20 @@
+eff308af425b67093bab25f80f1ae950166bece1
+:100644 100644 7be8c63662a7f4a3c92d1469ca47b99284733ec4 7a728974923a43306eff24fc5d84191cd7b92cf2 M inflate.c
+
+diff --git a/inflate.c b/inflate.c
+index 7be8c63..7a72897 100644
+--- a/inflate.c
++++ b/inflate.c
+@@ -763,9 +763,10 @@ int flush;
+ copy = state->length;
+ if (copy > have) copy = have;
+ if (copy) {
++ len = state->head->extra_len - state->length;
+ if (state->head != Z_NULL &&
+- state->head->extra != Z_NULL) {
+- len = state->head->extra_len - state->length;
++ state->head->extra != Z_NULL &&
++ len < state->head->extra_max) {
+ zmemcpy(state->head->extra + len, next,
+ len + copy > state->head->extra_max ?
+ state->head->extra_max - len : copy);