Accepting request 1035148 from Base:System
OBS-URL: https://build.opensuse.org/request/show/1035148 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/sed?expand=0&rev=37
This commit is contained in:
commit
21e60569fc
@ -1,101 +0,0 @@
|
|||||||
Avoid false-positive error in gnulib tests 'test-perror2' and 'test-strerror_r'.
|
|
||||||
|
|
||||||
On openSUSE OBS, the above gnulib tests fail on armv7l.
|
|
||||||
|
|
||||||
Corresponding report on the gnulib mailing list:
|
|
||||||
|
|
||||||
https://lists.gnu.org/r/bug-gnulib/2020-08/msg00220.html
|
|
||||||
|
|
||||||
From: Florian Weimer
|
|
||||||
Date: Thu, 27 Aug 2020 09:41:34 +0200
|
|
||||||
Subject: Use-after-free in test-perror2, test-strerror_r
|
|
||||||
|
|
||||||
The problem is visible with glibc 2.32 under valgrind:
|
|
||||||
|
|
||||||
==20== Invalid read of size 1
|
|
||||||
==20== at 0x483DAB4: strcmp (vg_replace_strmem.c:847)
|
|
||||||
==20== by 0x109414: main (test-perror2.c:84)
|
|
||||||
==20== Address 0x4a1a3d0 is 0 bytes inside a block of size 17 free'd
|
|
||||||
==20== at 0x483A9F5: free (vg_replace_malloc.c:538)
|
|
||||||
==20== by 0x48E2134: strerror_l (in /usr/lib64/libc-2.32.so)
|
|
||||||
==20== by 0x109328: main (test-perror2.c:72)
|
|
||||||
==20== Block was alloc'd at
|
|
||||||
==20== at 0x4839809: malloc (vg_replace_malloc.c:307)
|
|
||||||
==20== by 0x48CA03F: __vasprintf_internal (in /usr/lib64/libc-2.32.so)
|
|
||||||
==20== by 0x48A46F9: asprintf (in /usr/lib64/libc-2.32.so)
|
|
||||||
==20== by 0x48E2184: strerror_l (in /usr/lib64/libc-2.32.so)
|
|
||||||
==20== by 0x1092E2: main (test-perror2.c:67)
|
|
||||||
==20==
|
|
||||||
==20== Invalid read of size 1
|
|
||||||
==20== at 0x483DAC8: strcmp (vg_replace_strmem.c:847)
|
|
||||||
==20== by 0x109414: main (test-perror2.c:84)
|
|
||||||
==20== Address 0x4a1a3d1 is 1 bytes inside a block of size 17 free'd
|
|
||||||
==20== at 0x483A9F5: free (vg_replace_malloc.c:538)
|
|
||||||
==20== by 0x48E2134: strerror_l (in /usr/lib64/libc-2.32.so)
|
|
||||||
==20== by 0x109328: main (test-perror2.c:72)
|
|
||||||
==20== Block was alloc'd at
|
|
||||||
==20== at 0x4839809: malloc (vg_replace_malloc.c:307)
|
|
||||||
==20== by 0x48CA03F: __vasprintf_internal (in /usr/lib64/libc-2.32.so)
|
|
||||||
==20== by 0x48A46F9: asprintf (in /usr/lib64/libc-2.32.so)
|
|
||||||
==20== by 0x48E2184: strerror_l (in /usr/lib64/libc-2.32.so)
|
|
||||||
==20== by 0x1092E2: main (test-perror2.c:67)
|
|
||||||
|
|
||||||
I think it's the test that's invalid.
|
|
||||||
|
|
||||||
This was reported as an actual grep test failure (without valgrind) on
|
|
||||||
32-bit Arm, where glibc malloc happens to return a different buffer
|
|
||||||
address for the internal allocation (so that msg3 != msg4).
|
|
||||||
|
|
||||||
test-strerror_r has the same issue.
|
|
||||||
|
|
||||||
Thanks,
|
|
||||||
Florian
|
|
||||||
|
|
||||||
Upstream patch:
|
|
||||||
|
|
||||||
https://git.sv.gnu.org/cgit/gnulib.git/commit/?id=175e0bc72808
|
|
||||||
|
|
||||||
From 175e0bc72808d564074c4adcc72aeadb74adfcc6 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Paul Eggert <eggert@cs.ucla.edu>
|
|
||||||
Date: Thu, 27 Aug 2020 17:52:58 -0700
|
|
||||||
Subject: [PATCH] perror, strerror_r: remove unportable tests
|
|
||||||
|
|
||||||
Problem reported by Florian Weimer in:
|
|
||||||
https://lists.gnu.org/r/bug-gnulib/2020-08/msg00220.html
|
|
||||||
* tests/test-perror2.c (main):
|
|
||||||
* tests/test-strerror_r.c (main): Omit unportable tests.
|
|
||||||
|
|
||||||
This downstream patch is identical to upstream one modulo the ChangeLog entry.
|
|
||||||
---
|
|
||||||
gnulib-tests/test-perror2.c | 3 ---
|
|
||||||
gnulib-tests/test-strerror_r.c | 3 ---
|
|
||||||
2 files changed, 6 deletions(-)
|
|
||||||
|
|
||||||
Index: gnulib-tests/test-perror2.c
|
|
||||||
===================================================================
|
|
||||||
--- gnulib-tests/test-perror2.c.orig
|
|
||||||
+++ gnulib-tests/test-perror2.c
|
|
||||||
@@ -79,9 +79,6 @@ main (void)
|
|
||||||
errno = -5;
|
|
||||||
perror ("");
|
|
||||||
ASSERT (!ferror (stderr));
|
|
||||||
- ASSERT (msg1 == msg2 || msg1 == msg4 || STREQ (msg1, str1));
|
|
||||||
- ASSERT (msg2 == msg4 || STREQ (msg2, str2));
|
|
||||||
- ASSERT (msg3 == msg4 || STREQ (msg3, str3));
|
|
||||||
ASSERT (STREQ (msg4, str4));
|
|
||||||
|
|
||||||
free (str1);
|
|
||||||
Index: gnulib-tests/test-strerror_r.c
|
|
||||||
===================================================================
|
|
||||||
--- gnulib-tests/test-strerror_r.c.orig
|
|
||||||
+++ gnulib-tests/test-strerror_r.c
|
|
||||||
@@ -165,9 +165,6 @@ main (void)
|
|
||||||
|
|
||||||
strerror_r (EACCES, buf, sizeof buf);
|
|
||||||
strerror_r (-5, buf, sizeof buf);
|
|
||||||
- ASSERT (msg1 == msg2 || msg1 == msg4 || STREQ (msg1, str1));
|
|
||||||
- ASSERT (msg2 == msg4 || STREQ (msg2, str2));
|
|
||||||
- ASSERT (msg3 == msg4 || STREQ (msg3, str3));
|
|
||||||
ASSERT (STREQ (msg4, str4));
|
|
||||||
|
|
||||||
free (str1);
|
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:f79b0cfea71b37a8eeec8490db6c5f7ae7719c35587f21edb0617f370eeff633
|
|
||||||
size 1348048
|
|
@ -1,16 +0,0 @@
|
|||||||
-----BEGIN PGP SIGNATURE-----
|
|
||||||
|
|
||||||
iQIzBAABCgAdFiEEFV0/xQDINEhtHupnf9n8ywAL7u4FAl4ekRoACgkQf9n8ywAL
|
|
||||||
7u62aA//a9WOFsQR4oTCAX5yYw/RDD4600hMdWmhoV4gSTZxaPWlA5MX0hdT4Y3X
|
|
||||||
GZ3/QFckfJ1k8U5ZEsCPkCCh0U2k8031+Sc4a5Jn8NEIqeP2VGPoB0APZOkEJFdm
|
|
||||||
tWwD3cAyyDX6S2HCA1OqQsbeSmBIzn/iZU7jPTplih2VO4mzglcv2eJiDIICipSI
|
|
||||||
FRnQ9QqHA5kyO4ndNB51ESpUGvCgQ7dGe85kozaM6xbhoTdIVLvxjUuAGQNaeSNa
|
|
||||||
fqnFqEfEfWE5qfw0hPoUU2WVdayRq+3Sm977hIcdy8FzM4k4zU66GZnYd6aSfVEj
|
|
||||||
RpAwJRFG8GkLIf+ALMeGUcIWDX64E5XLjFXFM9zV9ffI+Snlpqz745ru3SXBF9js
|
|
||||||
6Xvab+tAkP17Okj1SzfWjUHs5PAaF59dt/SQGpa+8CroYZJo0/xT05oI4EuNRL0n
|
|
||||||
gfb9PQPYcF+aQNsBEU1av+x/cui1uQKxFzJ8TdvJsLjKux7tPOyQA/QLGF969JwO
|
|
||||||
sjaNyTpGk7dkOX/7dCtXAFXRsJVTKCc6p8LzEWnMV0rEhzznq0Ey42n2xEJF6NGL
|
|
||||||
ipV5uKRXoD/6ok6ZIfSTbyY3N4pdBAlkz5o3s1ikbQ1D/eiqq7v3Rpsy5lvpvQeZ
|
|
||||||
5GsHowlh6BmlK5kYcavDmr7RKoBUwQttkEu3OuDOrFhVIIKWB8Q=
|
|
||||||
=XavH
|
|
||||||
-----END PGP SIGNATURE-----
|
|
BIN
sed-4.9.tar.xz
(Stored with Git LFS)
Normal file
BIN
sed-4.9.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
16
sed-4.9.tar.xz.sig
Normal file
16
sed-4.9.tar.xz.sig
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iQIzBAABCgAdFiEEFV0/xQDINEhtHupnf9n8ywAL7u4FAmNoLIYACgkQf9n8ywAL
|
||||||
|
7u7Q3w//es7+47eG6Av4Kp4KMrJB8DbFRgshO/nTSAGX4HsZVtcEyOnKWQPjr8hB
|
||||||
|
1pNLZHWzEPmfhs3bP+l5r7CF3ryjxScZwuRC4+eIysJSXYJ7fWYLM1D0D/T9nOrl
|
||||||
|
B7mmswoYgWijHAwGW/jMvttcO9eKluCkXczxRYNdnrLaVh9deS2D4BgWEM3fM/KR
|
||||||
|
tXQj5P4v2o4fpixsjgEqBY9RUkNWZZ4GPQwVVE7JYgY2r74mjsgwwSa+Eb/dEJT5
|
||||||
|
o+nTafvlFJXwnZvJeDG23tQbT4e+fW0+TzSMBubLCiDV29K8uOB4p3dw/3swRiCz
|
||||||
|
wwKr0twtJ50K6PwsayoSWaF1vMKRgzK+kzFVC1fxqGGYm522ssdqFjRGYfwZJv2x
|
||||||
|
+Mpxy5fj20KiHnfjN95nd+EDxEblbbyWhn8EG6rR/qoVku74DEV5dntxf/GVBZsy
|
||||||
|
+NMKGz2+W5/KBRWApYoQBHjLlQpoYzmQSBRNsInlPMWhoRnF/7sry1H3Dlnu+5QY
|
||||||
|
mVSXfzFyUY1a4dcJXIHBs27uIGzLhuf2hVqfcOs4eDLbA7gzBn3Tl/GJcFW7lQzB
|
||||||
|
9a97YCnDETPN8rU4IhIlmH0LJIVMpBPy/sCTYYuoE2oFaB91si5IHBqB9TV7P3VV
|
||||||
|
bCCduHjHyER8S50gFJY+qkBdkfqOH/o18L0bgTRzoixSOY/32Qk=
|
||||||
|
=FMyH
|
||||||
|
-----END PGP SIGNATURE-----
|
@ -1,16 +0,0 @@
|
|||||||
http://lists.gnu.org/archive/html/bug-gnu-utils/2014-06/msg00000.html
|
|
||||||
|
|
||||||
Index: sed-4.6/sed/utils.c
|
|
||||||
===================================================================
|
|
||||||
--- sed-4.6.orig/sed/utils.c
|
|
||||||
+++ sed-4.6/sed/utils.c
|
|
||||||
@@ -267,8 +267,8 @@ ck_fclose (FILE *stream)
|
|
||||||
{
|
|
||||||
if (!stream || stream == cur->fp)
|
|
||||||
{
|
|
||||||
- do_ck_fclose (cur->fp);
|
|
||||||
prev->link = cur->link;
|
|
||||||
+ do_ck_fclose (cur->fp);
|
|
||||||
free (cur->name);
|
|
||||||
free (cur);
|
|
||||||
}
|
|
30
sed.changes
30
sed.changes
@ -1,3 +1,33 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Nov 7 18:49:22 UTC 2022 - Andreas Stieger <andreas.stieger@gmx.de>
|
||||||
|
|
||||||
|
- GNU sed 4.9:
|
||||||
|
* 'sed --follow-symlinks -i' no longer loops forever when its
|
||||||
|
operand is a symbolic link cycle.
|
||||||
|
* a program with an execution line longer than 2GB can no longer
|
||||||
|
trigger an out-of-bounds memory write.
|
||||||
|
* using the R command to read an input line of length longer than
|
||||||
|
2GB can no longer trigger an out-of-bounds memory read.
|
||||||
|
* In locales using UTF-8 encoding, the regular expression '.' no
|
||||||
|
longer sometimes fails to match Unicode characters U+D400
|
||||||
|
through U+D7FF (some Hangul Syllables, and Hangul Jamo
|
||||||
|
Extended-B) and Unicode characters U+108000 through U+10FFFF
|
||||||
|
(half of Supplemental Private Use Area plane B).
|
||||||
|
* I/O errors involving temp files no longer confuse sed into
|
||||||
|
using a FILE * pointer after fclosing it, which has undefined
|
||||||
|
behavior in C.
|
||||||
|
* New: The 'r' command now accepts address 0, allowing inserting
|
||||||
|
a file before the first line.
|
||||||
|
* Sed now prints the less-surprising variant in a corner case of
|
||||||
|
POSIX-unspecified behavior. Before, this would print "n".
|
||||||
|
Now, it prints "X":
|
||||||
|
printf n | sed 'sn\nnXn'; echo
|
||||||
|
- drop patches now upstream:
|
||||||
|
* gnulib-test-avoid-FP-perror-strerror.patch
|
||||||
|
* sed-dont_close_twice.patch
|
||||||
|
- disable profile guided optimization in build due to what seems to
|
||||||
|
be a bug in gnulib
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Fri Oct 16 08:47:29 UTC 2020 - Ludwig Nussel <lnussel@suse.de>
|
Fri Oct 16 08:47:29 UTC 2020 - Ludwig Nussel <lnussel@suse.de>
|
||||||
|
|
||||||
|
33
sed.spec
33
sed.spec
@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package sed
|
# spec file for package sed
|
||||||
#
|
#
|
||||||
# Copyright (c) 2020 SUSE LLC
|
# Copyright (c) 2022 SUSE LLC
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@ -17,7 +17,7 @@
|
|||||||
|
|
||||||
|
|
||||||
Name: sed
|
Name: sed
|
||||||
Version: 4.8
|
Version: 4.9
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: A Stream-Oriented Non-Interactive Text Editor
|
Summary: A Stream-Oriented Non-Interactive Text Editor
|
||||||
License: GPL-3.0-or-later
|
License: GPL-3.0-or-later
|
||||||
@ -26,13 +26,8 @@ URL: https://www.gnu.org/software/sed/
|
|||||||
Source0: https://ftp.gnu.org/gnu/sed/%{name}-%{version}.tar.xz
|
Source0: https://ftp.gnu.org/gnu/sed/%{name}-%{version}.tar.xz
|
||||||
Source1: https://ftp.gnu.org/gnu/sed/%{name}-%{version}.tar.xz.sig
|
Source1: https://ftp.gnu.org/gnu/sed/%{name}-%{version}.tar.xz.sig
|
||||||
Source2: %{name}.keyring
|
Source2: %{name}.keyring
|
||||||
# PATCH-FIX-SLE sed-dont_close_twice.patch bnc@880817 tcech@suse.cz -- Fix double close.
|
|
||||||
Patch0: sed-dont_close_twice.patch
|
|
||||||
Patch1: gnulib-test-avoid-FP-perror-strerror.patch
|
|
||||||
BuildRequires: libacl-devel
|
BuildRequires: libacl-devel
|
||||||
BuildRequires: libselinux-devel
|
BuildRequires: libselinux-devel
|
||||||
Requires(post): %{install_info_prereq}
|
|
||||||
Requires(preun): %{install_info_prereq}
|
|
||||||
Provides: base:/bin/sed
|
Provides: base:/bin/sed
|
||||||
|
|
||||||
%description
|
%description
|
||||||
@ -44,9 +39,7 @@ occurrences of a string within a file.
|
|||||||
%lang_package
|
%lang_package
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%autosetup -p1
|
||||||
%patch0 -p1
|
|
||||||
%patch1
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%define warn_flags -Wall -Wstrict-prototypes -Wpointer-arith -Wformat-security
|
%define warn_flags -Wall -Wstrict-prototypes -Wpointer-arith -Wformat-security
|
||||||
@ -54,15 +47,7 @@ export CFLAGS="%{optflags} %{warn_flags} -fPIE"
|
|||||||
export LDFLAGS="-pie"
|
export LDFLAGS="-pie"
|
||||||
%configure \
|
%configure \
|
||||||
--without-included-regex
|
--without-included-regex
|
||||||
%if 0%{?do_profiling}
|
%make_build
|
||||||
make %{?_smp_mflags} CFLAGS="$CFLAGS %{cflags_profile_generate}" V=1
|
|
||||||
make %{?_smp_mflags} CFLAGS="$CFLAGS %{cflags_profile_generate}" check
|
|
||||||
make %{?_smp_mflags} clean
|
|
||||||
make %{?_smp_mflags} CFLAGS="$CFLAGS %{cflags_profile_feedback}" V=1
|
|
||||||
%else
|
|
||||||
make %{?_smp_mflags} V=1
|
|
||||||
%endif
|
|
||||||
make %{?_smp_mflags} check
|
|
||||||
|
|
||||||
%install
|
%install
|
||||||
%make_install
|
%make_install
|
||||||
@ -73,14 +58,7 @@ ln -s %{_bindir}/sed %{buildroot}/bin/sed
|
|||||||
%find_lang %{name}
|
%find_lang %{name}
|
||||||
|
|
||||||
%check
|
%check
|
||||||
# run check once more with final binaries
|
%make_build check
|
||||||
make %{?_smp_mflags} check
|
|
||||||
|
|
||||||
%post
|
|
||||||
%install_info --info-dir=%{_infodir} %{_infodir}/%{name}.info%{ext_info}
|
|
||||||
|
|
||||||
%preun
|
|
||||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/%{name}.info%{ext_info}
|
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%license COPYING*
|
%license COPYING*
|
||||||
@ -93,5 +71,6 @@ make %{?_smp_mflags} check
|
|||||||
%{_infodir}/sed.info*%{ext_info}
|
%{_infodir}/sed.info*%{ext_info}
|
||||||
|
|
||||||
%files lang -f %{name}.lang
|
%files lang -f %{name}.lang
|
||||||
|
%license COPYING*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
Loading…
Reference in New Issue
Block a user