3rdparty(zlib): prevent uninitialized use of state->check

ozz-fuzz: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=13317
PR: https://github.com/opencv/opencv/pull/14193
zlib upstream bug: madler/zlib#245
Ported fix: ee376c65ab
This commit is contained in:
Alexander Alekhin 2019-03-30 18:19:41 +00:00
parent 7442100caa
commit 8afb2f0cb7
2 changed files with 13 additions and 0 deletions

View File

@ -228,6 +228,7 @@ int stream_size;
state->strm = strm;
state->window = Z_NULL;
state->mode = HEAD; /* to pass state test in inflateReset2() */
state->check = 1L; /* 1L is the result of adler32() zero length data */
ret = inflateReset2(strm, windowBits);
if (ret != Z_OK) {
ZFREE(strm, state);

View File

@ -0,0 +1,12 @@
diff --git a/3rdparty/zlib/inflate.c b/3rdparty/zlib/inflate.c
index ac333e8c2e..19a2cf2ed8 100644
--- a/3rdparty/zlib/inflate.c
+++ b/3rdparty/zlib/inflate.c
@@ -228,6 +228,7 @@ int stream_size;
state->strm = strm;
state->window = Z_NULL;
state->mode = HEAD; /* to pass state test in inflateReset2() */
+ state->check = 1L; /* 1L is the result of adler32() zero length data */
ret = inflateReset2(strm, windowBits);
if (ret != Z_OK) {
ZFREE(strm, state);