Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package gzip for openSUSE:Factory checked in 
at 2021-04-18 21:44:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gzip (Old)
 and      /work/SRC/openSUSE:Factory/.gzip.new.12324 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gzip"

Sun Apr 18 21:44:03 2021 rev:56 rq:885153 version:1.10

Changes:
--------
--- /work/SRC/openSUSE:Factory/gzip/gzip.changes        2021-03-11 
20:06:40.600118718 +0100
+++ /work/SRC/openSUSE:Factory/.gzip.new.12324/gzip.changes     2021-04-18 
21:44:08.808624060 +0200
@@ -1,0 +2,8 @@
+Tue Apr 13 13:23:44 UTC 2021 - pgaj...@suse.com
+
+- fix DFLTCC segfault [bsc#1177047]
+- added patches
+  fix 
https://git.savannah.gnu.org/cgit/gzip.git/commit/?id=be0a534ba2b6e77da289de8da79e70843b1028cc
+  + gzip-1.10-fix-DFLTCC-segfault.patch
+
+-------------------------------------------------------------------

New:
----
  gzip-1.10-fix-DFLTCC-segfault.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ gzip.spec ++++++
--- /var/tmp/diff_new_pack.fPCkJ5/_old  2021-04-18 21:44:09.308624905 +0200
+++ /var/tmp/diff_new_pack.fPCkJ5/_new  2021-04-18 21:44:09.312624912 +0200
@@ -36,12 +36,14 @@
 Patch8:         manpage-no-date.patch
 Patch9:         gzip-1.10-ibm_dfltcc_support.patch
 Patch10:        gzip-1.10-fix_count_of_lines_to_skip.patch
+# 
https://git.savannah.gnu.org/cgit/gzip.git/commit/?id=be0a534ba2b6e77da289de8da79e70843b1028cc
+Patch11:        gzip-1.10-fix-DFLTCC-segfault.patch
 BuildRequires:  autoconf
 BuildRequires:  automake
 BuildRequires:  makeinfo
 BuildRequires:  xz
 Requires(post): %{install_info_prereq}
-Requires(preun): %{install_info_prereq}
+Requires(preun):%{install_info_prereq}
 
 %description
 Gzip reduces the size of the named files using Lempel-Ziv coding LZ77.
@@ -61,6 +63,9 @@
 %patch9 -p1
 %endif
 %patch10 -p1
+%ifarch s390x
+%patch11 -p1
+%endif
 
 %build
 export CFLAGS="%{optflags} -fomit-frame-pointer \

++++++ gzip-1.10-fix-DFLTCC-segfault.patch ++++++
>From be0a534ba2b6e77da289de8da79e70843b1028cc Mon Sep 17 00:00:00 2001
From: Ilya Leoshkevich <i...@linux.ibm.com>
Date: Thu, 24 Sep 2020 00:08:56 +0200
Subject: Fix DFLTCC segfault when compressing or decompressing two files

The value in total_in global variable from processing the first file
affected processing of the second file.  Fix by making total_in local.
---
 dfltcc.c | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/dfltcc.c b/dfltcc.c
index 86aa56e..3a5b92d 100644
--- a/dfltcc.c
+++ b/dfltcc.c
@@ -242,10 +242,8 @@ dfltcc_gdht (struct dfltcc_param_v0 *param)
   dfltcc (DFLTCC_GDHT, param, NULL, NULL, &next_in, &avail_in, NULL);
 }
 
-static off_t total_in;
-
 static dfltcc_cc
-dfltcc_cmpr_xpnd (struct dfltcc_param_v0 *param, int fn)
+dfltcc_cmpr_xpnd (struct dfltcc_param_v0 *param, int fn, off_t *total_in)
 {
   uch *next_out = outbuf + outcnt;
   size_t avail_out = OUTBUFSIZ - outcnt;
@@ -257,7 +255,7 @@ dfltcc_cmpr_xpnd (struct dfltcc_param_v0 *param, int fn)
                          window);
   off_t consumed_in = next_in - (inbuf + inptr);
   inptr += consumed_in;
-  total_in += consumed_in;
+  *total_in += consumed_in;
   outcnt += ((OUTBUFSIZ - outcnt) - avail_out);
   return cc;
 }
@@ -349,6 +347,7 @@ dfltcc_deflate (int pack_level)
 
   union aligned_dfltcc_param_v0 ctx_v0;
   struct dfltcc_param_v0 *param = init_param (&ctx_v0);
+  off_t total_in = 0;
 
   /* Compress ifd into ofd in a loop.  */
   while (true)
@@ -398,7 +397,8 @@ dfltcc_deflate (int pack_level)
         }
 
       /* Compress inbuf into outbuf.  */
-      while (dfltcc_cmpr_xpnd (param, DFLTCC_CMPR) == DFLTCC_CC_AGAIN)
+      while (dfltcc_cmpr_xpnd (param, DFLTCC_CMPR, &total_in)
+             == DFLTCC_CC_AGAIN)
         ;
 
       /* Unmask the input data.  */
@@ -427,6 +427,7 @@ dfltcc_inflate (void)
 
   union aligned_dfltcc_param_v0 ctx_v0;
   struct dfltcc_param_v0 *param = init_param (&ctx_v0);
+  off_t total_in = 0;
 
   /* Decompress ifd into ofd in a loop.  */
   while (true)
@@ -446,7 +447,8 @@ dfltcc_inflate (void)
 
         /* Decompress inbuf into outbuf.  */
         dfltcc_cc cc;
-        while ((cc = dfltcc_cmpr_xpnd (param, DFLTCC_XPND)) == DFLTCC_CC_AGAIN)
+        while ((cc = dfltcc_cmpr_xpnd (param, DFLTCC_XPND, &total_in))
+               == DFLTCC_CC_AGAIN)
           ;
         if (cc == DFLTCC_CC_OK)
           {
-- 
cgit v1.2.1

Reply via email to