Hello community, here is the log from the commit of package autogen for openSUSE:Factory checked in at 2019-03-27 16:14:35 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/autogen (Old) and /work/SRC/openSUSE:Factory/.autogen.new.25356 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "autogen" Wed Mar 27 16:14:35 2019 rev:48 rq:688388 version:5.18.16 Changes: -------- --- /work/SRC/openSUSE:Factory/autogen/autogen.changes 2018-11-28 11:08:36.467297423 +0100 +++ /work/SRC/openSUSE:Factory/.autogen.new.25356/autogen.changes 2019-03-27 16:14:36.615618480 +0100 @@ -1,0 +2,6 @@ +Mon Mar 25 08:32:40 UTC 2019 - Martin Liška <mli...@suse.cz> + +- Add gcc9-fix-wrestrict.patch in order to fix + bsc#1125772. + +------------------------------------------------------------------- New: ---- gcc9-fix-wrestrict.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ autogen.spec ++++++ --- /var/tmp/diff_new_pack.Q3n5E5/_old 2019-03-27 16:14:37.375618286 +0100 +++ /var/tmp/diff_new_pack.Q3n5E5/_new 2019-03-27 16:14:37.379618285 +0100 @@ -1,7 +1,7 @@ # # spec file for package autogen # -# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -32,6 +32,8 @@ Patch3: installable-programs.patch # PATCH-FIX-UPSTREAM Patch4: sprintf-overflow.patch +# PATCH-FIX-UPSTREAM -- https://sourceforge.net/p/autogen/bugs/193/#5844 +Patch5: gcc9-fix-wrestrict.patch BuildRequires: fdupes BuildRequires: guile-devel BuildRequires: makeinfo @@ -86,6 +88,7 @@ %patch2 -p1 %patch3 -p1 %patch4 -p1 +%patch5 -p1 %build %configure \ ++++++ gcc9-fix-wrestrict.patch ++++++ diff --git a/compat/pathfind.c b/compat/pathfind.c index 5c477ca..6a4eeb5 100644 --- a/compat/pathfind.c +++ b/compat/pathfind.c @@ -136,6 +136,18 @@ make_absolute( char const * string, char const * dot_path ) return result; } +/* + * Proccess strcpy for overlapping memory locations. + */ +static char* +strcpy_overlapping ( char *d, const char *s) +{ + unsigned n = strlen ( s ); + memmove ( d, s, n + 1 ); + return d; +} + + /* * Canonicalize PATH, and return a new path. The new path differs from * PATH in that: @@ -182,7 +194,7 @@ canonicalize_pathname( char *path ) if ((start + 1) != i && (start != 0 || i != 2)) #endif /* apollo */ { - strcpy( result + start + 1, result + i ); + strcpy_overlapping( result + start + 1, result + i ); i = start + 1; } @@ -201,7 +213,7 @@ canonicalize_pathname( char *path ) if (result[i] == '.') { /* Handle `./'. */ if (result[i + 1] == '/') { - strcpy( result + i, result + i + 1 ); + strcpy_overlapping( result + i, result + i + 1 ); i = (start < 0) ? 0 : start; continue; } @@ -211,7 +223,7 @@ canonicalize_pathname( char *path ) (result[i + 2] == '/' || !result[i + 2])) { while (--start > -1 && result[start] != '/') ; - strcpy( result + start + 1, result + i + 2 ); + strcpy_overlapping( result + start + 1, result + i + 2 ); i = (start < 0) ? 0 : start; continue; }