Hello Dave,
A Debian user, Timo Juhani Lindfors <timo.lindfors(a)iki.fi>, reported
this issue that and delivered the patch to resolve it. The original
strcpy is being called with overlapping arguments because it is
expecting an additional version number.
Troy
---
diff -urpN -urN ori/kernel.c new/kernel.c
--- ori/kernel.c 2013-08-01 11:40:01.299157220 -0600
+++ new/kernel.c 2013-08-01 11:42:12.506364789 -0600
@@ -218,21 +218,29 @@ kernel_init()
strncpy(buf, kt->utsname.release, MIN(strlen(kt->utsname.release), 65));
if (ascii_string(kt->utsname.release)) {
+ char separator;
+
p1 = p2 = buf;
while (*p2 != '.')
p2++;
*p2 = NULLCHAR;
kt->kernel_version[0] = atoi(p1);
p1 = ++p2;
- while (*p2 != '.')
+ while (*p2 != '.' && *p2 != '-' && *p2 !=
'\0')
p2++;
+ separator = *p2;
*p2 = NULLCHAR;
kt->kernel_version[1] = atoi(p1);
- p1 = ++p2;
- while ((*p2 >= '0') && (*p2 <= '9'))
- p2++;
- *p2 = NULLCHAR;
- kt->kernel_version[2] = atoi(p1);
+ *p2 = separator;
+ if (*p2 == '.') {
+ p1 = ++p2;
+ while ((*p2 >= '0') && (*p2 <= '9'))
+ p2++;
+ *p2 = NULLCHAR;
+ kt->kernel_version[2] = atoi(p1);
+ } else {
+ kt->kernel_version[2] = 0;
+ }
if (CRASHDEBUG(1))
fprintf(fp, "base kernel version: %d.%d.%d\n",