[git commit] get_linux_version_code: don't fail on Linux version strints like "3.0-foo"

Denys Vlasenko vda.linux at googlemail.com
Sat May 5 15:47:23 UTC 2012


commit: http://git.busybox.net/busybox/commit/?id=556ac3633ce3e7bd51c93b78827ae3874d856257
branch: http://git.busybox.net/busybox/commit/?id=refs/heads/master

Signed-off-by: Andreas Oberritter <obi at opendreambox.org>
Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
 libbb/kernel_version.c |   11 ++++-------
 1 files changed, 4 insertions(+), 7 deletions(-)

diff --git a/libbb/kernel_version.c b/libbb/kernel_version.c
index a168a1e..738ed02 100644
--- a/libbb/kernel_version.c
+++ b/libbb/kernel_version.c
@@ -20,18 +20,15 @@
 int FAST_FUNC get_linux_version_code(void)
 {
 	struct utsname name;
-	char *s;
+	char *s, *t;
 	int i, r;
 
-	if (uname(&name) == -1) {
-		bb_perror_msg("can't get system information");
-		return 0;
-	}
-
+	uname(&name); /* never fails */
 	s = name.release;
 	r = 0;
 	for (i = 0; i < 3; i++) {
-		r = r * 256 + atoi(strtok(s, "."));
+		t = strtok(s, ".");
+		r = r * 256 + (t ? atoi(t) : 0);
 		s = NULL;
 	}
 	return r;


More information about the busybox-cvs mailing list