Accepting request 884997 from home:pgajdos
- 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 OBS-URL: https://build.opensuse.org/request/show/884997 OBS-URL: https://build.opensuse.org/package/show/Base:System/gzip?expand=0&rev=80
This commit is contained in:
parent
acbac7d0c2
commit
4dae0a7744
76
gzip-1.10-fix-DFLTCC-segfault.patch
Normal file
76
gzip-1.10-fix-DFLTCC-segfault.patch
Normal file
@ -0,0 +1,76 @@
|
|||||||
|
From be0a534ba2b6e77da289de8da79e70843b1028cc Mon Sep 17 00:00:00 2001
|
||||||
|
From: Ilya Leoshkevich <iii@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
|
||||||
|
|
||||||
|
|
@ -1,3 +1,11 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Apr 13 13:23:44 UTC 2021 - pgajdos@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
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Thu Mar 4 01:57:35 UTC 2021 - Kristyna Streitova <kstreitova@suse.com>
|
Thu Mar 4 01:57:35 UTC 2021 - Kristyna Streitova <kstreitova@suse.com>
|
||||||
|
|
||||||
|
@ -36,12 +36,14 @@ Patch7: xz_lzma.patch
|
|||||||
Patch8: manpage-no-date.patch
|
Patch8: manpage-no-date.patch
|
||||||
Patch9: gzip-1.10-ibm_dfltcc_support.patch
|
Patch9: gzip-1.10-ibm_dfltcc_support.patch
|
||||||
Patch10: gzip-1.10-fix_count_of_lines_to_skip.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: autoconf
|
||||||
BuildRequires: automake
|
BuildRequires: automake
|
||||||
BuildRequires: makeinfo
|
BuildRequires: makeinfo
|
||||||
BuildRequires: xz
|
BuildRequires: xz
|
||||||
Requires(post): %{install_info_prereq}
|
Requires(post): %{install_info_prereq}
|
||||||
Requires(preun): %{install_info_prereq}
|
Requires(preun):%{install_info_prereq}
|
||||||
|
|
||||||
%description
|
%description
|
||||||
Gzip reduces the size of the named files using Lempel-Ziv coding LZ77.
|
Gzip reduces the size of the named files using Lempel-Ziv coding LZ77.
|
||||||
@ -61,6 +63,9 @@ times.
|
|||||||
%patch9 -p1
|
%patch9 -p1
|
||||||
%endif
|
%endif
|
||||||
%patch10 -p1
|
%patch10 -p1
|
||||||
|
%ifarch s390x
|
||||||
|
%patch11 -p1
|
||||||
|
%endif
|
||||||
|
|
||||||
%build
|
%build
|
||||||
export CFLAGS="%{optflags} -fomit-frame-pointer \
|
export CFLAGS="%{optflags} -fomit-frame-pointer \
|
||||||
|
Loading…
Reference in New Issue
Block a user