forked from conan-io/conan-center-index
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Apply CVE fix and a fix of CVE fix madler/zlib#686 openwrt/openwrt#10582
- Loading branch information
1 parent
8445a7b
commit ae34d52
Showing
3 changed files
with
70 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
35 changes: 35 additions & 0 deletions
35
recipes/zlib/all/patches/0004-Fix-a-bug-when-getting-a-gzip-header-extra-field-wit.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
From eff308af425b67093bab25f80f1ae950166bece1 Mon Sep 17 00:00:00 2001 | ||
From: Mark Adler <fork@madler.net> | ||
Date: Sat, 30 Jul 2022 15:51:11 -0700 | ||
Subject: [PATCH] Fix a bug when getting a gzip header extra field with | ||
inflate(). | ||
|
||
If the extra field was larger than the space the user provided with | ||
inflateGetHeader(), and if multiple calls of inflate() delivered | ||
the extra header data, then there could be a buffer overflow of the | ||
provided space. This commit assures that provided space is not | ||
exceeded. | ||
--- | ||
inflate.c | 5 +++-- | ||
1 file changed, 3 insertions(+), 2 deletions(-) | ||
|
||
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); | ||
-- | ||
2.25.1 | ||
|
32 changes: 32 additions & 0 deletions
32
recipes/zlib/all/patches/0005-Fix-extra-field-processing-bug-that-dereferences-NUL.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
From 1eb7682f845ac9e9bf9ae35bbfb3bad5dacbd91d Mon Sep 17 00:00:00 2001 | ||
From: Mark Adler <fork@madler.net> | ||
Date: Mon, 8 Aug 2022 10:50:09 -0700 | ||
Subject: [PATCH] Fix extra field processing bug that dereferences NULL | ||
state->head. | ||
|
||
The recent commit to fix a gzip header extra field processing bug | ||
introduced the new bug fixed here. | ||
--- | ||
inflate.c | 4 ++-- | ||
1 file changed, 2 insertions(+), 2 deletions(-) | ||
|
||
diff --git a/inflate.c b/inflate.c | ||
index 7a72897..2a3c4fe 100644 | ||
--- a/inflate.c | ||
+++ b/inflate.c | ||
@@ -763,10 +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_max) { | ||
+ (len = state->head->extra_len - state->length) < | ||
+ state->head->extra_max) { | ||
zmemcpy(state->head->extra + len, next, | ||
len + copy > state->head->extra_max ? | ||
state->head->extra_max - len : copy); | ||
-- | ||
2.25.1 | ||
|