kexec-tools/kexec-tools-fix-strncat.patch

25 lines
1.0 KiB
Diff

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",