[prev in list] [next in list] [prev in thread] [next in thread]
List: busybox
Subject: [PATCH] get_linux_version_code: don't fail on 3.0-foo
From: Andreas Oberritter <obi () opendreambox ! org>
Date: 2012-04-27 0:42:53
Message-ID: 1335487373-20242-1-git-send-email-obi () opendreambox ! org
[Download RAW message or body]
Fixes segmentation fault in mount (nfs):
#0 __GI_____strtol_l_internal (nptr=0x0, endptr=0x0, base=10, group=<optimized out>, \
loc=0x77f6f3c8) at strtol_l.c:298 #1 __GI_strtol (nptr=<optimized out>, \
endptr=<optimized out>, base=<optimized out>) at strtol.c:110 #2 \
get_linux_version_code () at libbb/kernel_version.c:34 #3 \
find_kernel_nfs_mount_version () at util-linux/mount.c:979
Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
---
libbb/kernel_version.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/libbb/kernel_version.c b/libbb/kernel_version.c
index a168a1e..12f1146 100644
--- a/libbb/kernel_version.c
+++ b/libbb/kernel_version.c
@@ -20,7 +20,7 @@
int FAST_FUNC get_linux_version_code(void)
{
struct utsname name;
- char *s;
+ char *s, *t;
int i, r;
if (uname(&name) == -1) {
@@ -31,7 +31,8 @@ int FAST_FUNC get_linux_version_code(void)
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;
--
1.7.9.5
_______________________________________________
busybox mailing list
busybox@busybox.net
http://lists.busybox.net/mailman/listinfo/busybox
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic