Fix kernel release string parsing

* strace.c (get_os_release): Handle "X.Y-something" utsname.release
strings properly.

Reported-by: Bryce Gibson <bryce@gibson-consulting.com.au>
This commit is contained in:
Дмитрий Левин 2012-05-14 23:42:10 +00:00
parent 55980f5b72
commit 0dbc80de89

View File

@ -1432,8 +1432,14 @@ get_os_release(void)
break;
while (*p >= '0' && *p <= '9')
p++;
if (*p != '.')
if (*p != '.') {
if (rel >= KERNEL_VERSION(0,1,0)) {
/* "X.Y-something" means "X.Y.0" */
rel <<= 8;
break;
}
error_msg_and_die("Bad OS release string: '%s'", u.release);
}
p++;
}
return rel;