--- rpms/clamav/sme9/zlib-1.2.7-z-block-flush.patch 2018/11/13 04:49:39 1.1 +++ rpms/clamav/sme9/zlib-1.2.7-z-block-flush.patch 2018/11/13 04:52:25 1.2 @@ -1,494 +1,45 @@ - - - - - Tree - rpms/clamav - Pagure - - - - - - - - - -
-
-
-
- - - -
-
-
+From f1b8edadc3c733990f8a8de4d643f968e571ae85 Mon Sep 17 00:00:00 2001 +From: Adam Tkac +Date: Fri, 17 Aug 2012 15:13:48 +0200 +Subject: [PATCH] Rank Z_BLOCK flush below Z_PARTIAL_FLUSH only when last + flush was Z_BLOCK. + +This fixes regression introduced by f1ebdd6a9c495a5db9a22aa80dd7d54ae7db42e9 +(Permit stronger flushes after Z_BLOCK flushes.). Now this code is valid +again: + +deflate(stream, Z_SYNC_FLUSH); +deflateParams(stream, newLevel, Z_DEFAULT_STRATEGY); + +Signed-off-by: Adam Tkac +--- + deflate.c | 13 ++++++++++--- + 1 file changed, 10 insertions(+), 3 deletions(-) + +diff --git a/deflate.c b/deflate.c +index 9e4c2cb..3422f72 100644 +--- a/deflate.c ++++ b/deflate.c +@@ -882,9 +882,16 @@ int ZEXPORT deflate (strm, flush) + * flushes. For repeated and useless calls with Z_FINISH, we keep + * returning Z_STREAM_END instead of Z_BUF_ERROR. + */ +- } else if (strm->avail_in == 0 && RANK(flush) <= RANK(old_flush) && +- flush != Z_FINISH) { +- ERR_RETURN(strm, Z_BUF_ERROR); ++ } else if (strm->avail_in == 0 && flush != Z_FINISH) { ++ char err; ++ ++ /* Degrade Z_BLOCK only when last flush was Z_BLOCK */ ++ err = (old_flush == Z_BLOCK) ? ++ RANK(flush) <= RANK(old_flush) : flush <= old_flush; ++ ++ if (err) { ++ ERR_RETURN(strm, Z_BUF_ERROR); ++ } + } + + /* User must not provide more input after the first FINISH: */ +-- +1.7.11.4 - - -
-
-
-
-
- -
- - -
-
-
-

- - robert/rpms/clamav -

- -
- Forked from - - rpms/clamav - -
-
-The clamav rpms
-
- - -
-
- -
- -
-
- -
- -
-
-
- - -
- - Blob - - Blame - - Raw -
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
From f1b8edadc3c733990f8a8de4d643f968e571ae85 Mon Sep 17 00:00:00 2001
From: Adam Tkac <atkac@redhat.com>
Date: Fri, 17 Aug 2012 15:13:48 +0200
Subject: [PATCH] Rank Z_BLOCK flush below Z_PARTIAL_FLUSH only when last
 flush was Z_BLOCK.
This fixes regression introduced by f1ebdd6a9c495a5db9a22aa80dd7d54ae7db42e9
(Permit stronger flushes after Z_BLOCK flushes.). Now this code is valid
again:
deflate(stream, Z_SYNC_FLUSH);
deflateParams(stream, newLevel, Z_DEFAULT_STRATEGY);
Signed-off-by: Adam Tkac <atkac@redhat.com>
---
 deflate.c | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/deflate.c b/deflate.c
index 9e4c2cb..3422f72 100644
--- a/deflate.c
+++ b/deflate.c
@@ -882,9 +882,16 @@ int ZEXPORT deflate (strm, flush)
      * flushes. For repeated and useless calls with Z_FINISH, we keep
      * returning Z_STREAM_END instead of Z_BUF_ERROR.
      */
-    } else if (strm->avail_in == 0 && RANK(flush) <= RANK(old_flush) &&
-               flush != Z_FINISH) {
-        ERR_RETURN(strm, Z_BUF_ERROR);
+    } else if (strm->avail_in == 0 && flush != Z_FINISH) {
+        char err;
+
+        /* Degrade Z_BLOCK only when last flush was Z_BLOCK */
+        err = (old_flush == Z_BLOCK) ?
+              RANK(flush) <= RANK(old_flush) : flush <= old_flush;
+
+        if (err) {
+            ERR_RETURN(strm, Z_BUF_ERROR);
+        }
     }
 
     /* User must not provide more input after the first FINISH: */
-- 
1.7.11.4
-
-
- - -
-
- - - - - - - - - - - - - - - -