/[smeserver]/rpms/clamav/sme9/zlib-1.2.7-z-block-flush.patch
ViewVC logotype

Contents of /rpms/clamav/sme9/zlib-1.2.7-z-block-flush.patch

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.2 - (show annotations) (download)
Tue Nov 13 04:52:25 2018 UTC (6 years ago) by jpp
Branch: MAIN
CVS Tags: clamav-0_100_2-4_el6_sme, clamav-0_100_2-3_el6_sme, clamav-0_100_2-6_el6_sme, clamav-0_100_2-5_el6_sme, HEAD
Changes since 1.1: +44 -493 lines
zlib patch

1 From f1b8edadc3c733990f8a8de4d643f968e571ae85 Mon Sep 17 00:00:00 2001
2 From: Adam Tkac <atkac@redhat.com>
3 Date: Fri, 17 Aug 2012 15:13:48 +0200
4 Subject: [PATCH] Rank Z_BLOCK flush below Z_PARTIAL_FLUSH only when last
5 flush was Z_BLOCK.
6
7 This fixes regression introduced by f1ebdd6a9c495a5db9a22aa80dd7d54ae7db42e9
8 (Permit stronger flushes after Z_BLOCK flushes.). Now this code is valid
9 again:
10
11 deflate(stream, Z_SYNC_FLUSH);
12 deflateParams(stream, newLevel, Z_DEFAULT_STRATEGY);
13
14 Signed-off-by: Adam Tkac <atkac@redhat.com>
15 ---
16 deflate.c | 13 ++++++++++---
17 1 file changed, 10 insertions(+), 3 deletions(-)
18
19 diff --git a/deflate.c b/deflate.c
20 index 9e4c2cb..3422f72 100644
21 --- a/deflate.c
22 +++ b/deflate.c
23 @@ -882,9 +882,16 @@ int ZEXPORT deflate (strm, flush)
24 * flushes. For repeated and useless calls with Z_FINISH, we keep
25 * returning Z_STREAM_END instead of Z_BUF_ERROR.
26 */
27 - } else if (strm->avail_in == 0 && RANK(flush) <= RANK(old_flush) &&
28 - flush != Z_FINISH) {
29 - ERR_RETURN(strm, Z_BUF_ERROR);
30 + } else if (strm->avail_in == 0 && flush != Z_FINISH) {
31 + char err;
32 +
33 + /* Degrade Z_BLOCK only when last flush was Z_BLOCK */
34 + err = (old_flush == Z_BLOCK) ?
35 + RANK(flush) <= RANK(old_flush) : flush <= old_flush;
36 +
37 + if (err) {
38 + ERR_RETURN(strm, Z_BUF_ERROR);
39 + }
40 }
41
42 /* User must not provide more input after the first FINISH: */
43 --
44 1.7.11.4
45

admin@koozali.org
ViewVC Help
Powered by ViewVC 1.2.1 RSS 2.0 feed