Accepting request 688130 from home:marxin:branches:Base:System
- Add gcc9-fix-wrestrict.patch in order to fix bsc#1125772. OBS-URL: https://build.opensuse.org/request/show/688130 OBS-URL: https://build.opensuse.org/package/show/Base:System/autogen?expand=0&rev=68
This commit is contained in:
parent
b23dd0ad23
commit
1b89611810
@ -1,3 +1,9 @@
|
||||
-------------------------------------------------------------------
|
||||
Mon Mar 25 08:32:40 UTC 2019 - Martin Liška <mliska@suse.cz>
|
||||
|
||||
- Add gcc9-fix-wrestrict.patch in order to fix
|
||||
bsc#1125772.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Nov 22 11:01:48 UTC 2018 - schwab@suse.de
|
||||
|
||||
|
@ -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 @@ Patch2: autogen-catch-race-error.patch
|
||||
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 @@ well.
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
%patch4 -p1
|
||||
%patch5 -p1
|
||||
|
||||
%build
|
||||
%configure \
|
||||
|
50
gcc9-fix-wrestrict.patch
Normal file
50
gcc9-fix-wrestrict.patch
Normal file
@ -0,0 +1,50 @@
|
||||
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;
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user