diff --git a/kexec-fix-strncat.patch b/kexec-fix-strncat.patch new file mode 100644 index 0000000..73de80e --- /dev/null +++ b/kexec-fix-strncat.patch @@ -0,0 +1,24 @@ +Index: kexec-tools-2.0.2/kexec/arch/ppc64/fs2dt.c +=================================================================== +--- kexec-tools-2.0.2.orig/kexec/arch/ppc64/fs2dt.c ++++ kexec-tools-2.0.2/kexec/arch/ppc64/fs2dt.c +@@ -594,7 +594,7 @@ static void putnode(void) + * pseries/hvcterminal is supported. + */ + strcpy(filename, pathname); +- strncat(filename, "linux,stdout-path", MAXPATH); ++ strncat(filename, "linux,stdout-path", MAXPATH-strlen(filename)-1); + fd = open(filename, O_RDONLY); + if (fd == -1) { + printf("Unable to find %s, printing from purgatory is diabled\n", +@@ -618,8 +618,8 @@ static void putnode(void) + read(fd, buff, statbuf.st_size); + close(fd); + strncpy(filename, "/proc/device-tree/", MAXPATH); +- strncat(filename, buff, MAXPATH); +- strncat(filename, "/compatible", MAXPATH); ++ strncat(filename, buff, MAXPATH-strlen(filename)-1); ++ strncat(filename, "/compatible", MAXPATH-strlen(filename)-1); + fd = open(filename, O_RDONLY); + if (fd == -1) { + printf("Unable to find %s printing from purgatory is diabled\n", diff --git a/kexec-tools.changes b/kexec-tools.changes index 5b3eb22..925e3f8 100644 --- a/kexec-tools.changes +++ b/kexec-tools.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Sun Jul 10 23:48:14 CEST 2011 - meissner@suse.de + +- fixed strncat sizse argument on ppc + ------------------------------------------------------------------- Tue May 17 11:12:54 CEST 2011 - jslaby@suse.de diff --git a/kexec-tools.spec b/kexec-tools.spec index 434c4cb..b90ca1a 100644 --- a/kexec-tools.spec +++ b/kexec-tools.spec @@ -38,6 +38,7 @@ Source4: %{name}-%{version}-rpmlintrc Patch0: %{name}-no-vga-output.diff Patch1: %{name}-xen-static.diff Patch2: gcc-no-undefined-flag-fix.patch +Patch3: kexec-fix-strncat.patch Url: ftp://kernel.org/pub/linux/utils/kernel/kexec/%{name}-%{version}.tar.bz2 BuildRoot: %{_tmppath}/%{name}-%{version}-build #!BuildIgnore: fop @@ -72,6 +73,7 @@ Authors: %patch0 -p1 %patch1 -p1 %patch2 -p1 +%patch3 -p1 %build # disable as-needed