aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/strace/strace-4.7/0032-Fix-kernel-release-string-parsing.patch
blob: cef42223d215365e8ae3f2e1f400132d68f70f26 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Upstream-Status: Backport

From 0dbc80de895c25769791b7726022a274695eec31 Mon Sep 17 00:00:00 2001
From: "Dmitry V. Levin" <ldv@altlinux.org>
Date: Mon, 14 May 2012 23:42:10 +0000
Subject: [PATCH] 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>
---
 strace.c |    8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/strace.c b/strace.c
index 857136d..65dee7d 100644
--- a/strace.c
+++ b/strace.c
@@ -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;
-- 
1.7.10.4