Accepting request 824669 from devel:libraries:c_c++
OBS-URL: https://build.opensuse.org/request/show/824669 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/zlib?expand=0&rev=77
This commit is contained in:
commit
125568d90f
34
bsc1174551-fxi-imcomplete-raw-streams.patch
Normal file
34
bsc1174551-fxi-imcomplete-raw-streams.patch
Normal file
@ -0,0 +1,34 @@
|
||||
diff --git a/deflate.c b/deflate.c
|
||||
index 3c302bc..1ab1635 100644
|
||||
--- a/deflate.c
|
||||
+++ b/deflate.c
|
||||
@@ -1110,7 +1110,6 @@ int ZEXPORT deflate (strm, flush)
|
||||
}
|
||||
|
||||
if (flush != Z_FINISH) return Z_OK;
|
||||
- if (s->wrap <= 0) return Z_STREAM_END;
|
||||
|
||||
/* Write the trailer */
|
||||
#ifdef GZIP
|
||||
@@ -1126,7 +1125,7 @@ int ZEXPORT deflate (strm, flush)
|
||||
}
|
||||
else
|
||||
#endif
|
||||
- {
|
||||
+ if (s->wrap == 1) {
|
||||
putShortMSB(s, (uInt)(strm->adler >> 16));
|
||||
putShortMSB(s, (uInt)(strm->adler & 0xffff));
|
||||
}
|
||||
@@ -1135,7 +1134,11 @@ int ZEXPORT deflate (strm, flush)
|
||||
* to flush the rest.
|
||||
*/
|
||||
if (s->wrap > 0) s->wrap = -s->wrap; /* write the trailer only once! */
|
||||
- return s->pending != 0 ? Z_OK : Z_STREAM_END;
|
||||
+ if (s->pending == 0) {
|
||||
+ Assert(s->bi_valid == 0, "bi_buf not flushed");
|
||||
+ return Z_STREAM_END;
|
||||
+ }
|
||||
+ return Z_OK;
|
||||
}
|
||||
|
||||
/* ========================================================================= */
|
51
bsc1174736-DFLTCC_LEVEL_MASK-set-to-0x1ff.patch
Normal file
51
bsc1174736-DFLTCC_LEVEL_MASK-set-to-0x1ff.patch
Normal file
@ -0,0 +1,51 @@
|
||||
Index: zlib-1.2.11/deflate.c
|
||||
===================================================================
|
||||
--- zlib-1.2.11.orig/deflate.c
|
||||
+++ zlib-1.2.11/deflate.c
|
||||
@@ -504,7 +504,7 @@ int ZEXPORT deflateResetKeep (strm)
|
||||
s->wrap == 2 ? crc32(0L, Z_NULL, 0) :
|
||||
#endif
|
||||
adler32(0L, Z_NULL, 0);
|
||||
- s->last_flush = Z_NO_FLUSH;
|
||||
+ s->last_flush = -2;
|
||||
|
||||
_tr_init(s);
|
||||
|
||||
@@ -601,13 +601,13 @@ int ZEXPORT deflateParams(strm, level, s
|
||||
func = configuration_table[s->level].func;
|
||||
|
||||
if ((strategy != s->strategy || func != configuration_table[level].func ||
|
||||
- hook_flush != Z_NO_FLUSH) && s->high_water) {
|
||||
+ hook_flush != Z_NO_FLUSH) && s->last_flush != -2) {
|
||||
/* Flush the last buffer: */
|
||||
int err = deflate(strm, RANK(hook_flush) > RANK(Z_BLOCK) ?
|
||||
hook_flush : Z_BLOCK);
|
||||
if (err == Z_STREAM_ERROR)
|
||||
return err;
|
||||
- if (strm->avail_out == 0)
|
||||
+ if (strm->avail_in || (s->strstart - s->block_start) + s->lookahead)
|
||||
return Z_BUF_ERROR;
|
||||
}
|
||||
if (s->level != level) {
|
||||
Index: zlib-1.2.11/zlib.h
|
||||
===================================================================
|
||||
--- zlib-1.2.11.orig/zlib.h
|
||||
+++ zlib-1.2.11/zlib.h
|
||||
@@ -712,11 +712,12 @@ ZEXTERN int ZEXPORT deflateParams OF((z_
|
||||
used to switch between compression and straight copy of the input data, or
|
||||
to switch to a different kind of input data requiring a different strategy.
|
||||
If the compression approach (which is a function of the level) or the
|
||||
- strategy is changed, and if any input has been consumed in a previous
|
||||
- deflate() call, then the input available so far is compressed with the old
|
||||
- level and strategy using deflate(strm, Z_BLOCK). There are three approaches
|
||||
- for the compression levels 0, 1..3, and 4..9 respectively. The new level
|
||||
- and strategy will take effect at the next call of deflate().
|
||||
+ strategy is changed, and if there have been any deflate() calls since the
|
||||
+ state was initialized or reset, then the input available so far is
|
||||
+ compressed with the old level and strategy using deflate(strm, Z_BLOCK).
|
||||
+ There are three approaches for the compression levels 0, 1..3, and 4..9
|
||||
+ respectively. The new level and strategy will take effect at the next call
|
||||
+ of deflate().
|
||||
|
||||
If a deflate(strm, Z_BLOCK) is performed by deflateParams(), and it does
|
||||
not have enough output space to complete, then the parameter change will not
|
@ -1,3 +1,11 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu Aug 6 08:36:48 UTC 2020 - Lidong Zhong <lidong.zhong@suse.com>
|
||||
|
||||
- Permit a deflateParams() parameter change as soon as possible(bsc#1174736)
|
||||
* bsc1174736-DFLTCC_LEVEL_MASK-set-to-0x1ff.patch
|
||||
Fix DFLTCC not flushing EOBS when creating raw streams(bsc#1174551)
|
||||
* bsc1174551-fxi-imcomplete-raw-streams.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Apr 23 08:17:19 UTC 2020 - Tomáš Chvátal <tchvatal@suse.com>
|
||||
|
||||
|
@ -41,6 +41,8 @@ Patch4: 410.patch
|
||||
#PATCH-FIX-SUSE do not check exact version match as the lib can be updated
|
||||
# we should simply rely on soname versioning to protect us
|
||||
Patch5: zlib-no-version-check.patch
|
||||
Patch6: bsc1174736-DFLTCC_LEVEL_MASK-set-to-0x1ff.patch
|
||||
Patch7: bsc1174551-fxi-imcomplete-raw-streams.patch
|
||||
BuildRequires: autoconf
|
||||
BuildRequires: automake
|
||||
BuildRequires: libtool
|
||||
@ -122,6 +124,8 @@ developing applications which use minizip.
|
||||
%patch3 -p1
|
||||
%patch4 -p1
|
||||
%patch5 -p1
|
||||
%patch6 -p1
|
||||
%patch7 -p1
|
||||
cp %{SOURCE4} .
|
||||
|
||||
%build
|
||||
|
Loading…
Reference in New Issue
Block a user