[Bug 5444] busybox segfaults with 2-component linux version string

bugzilla at busybox.net bugzilla at busybox.net
Thu Aug 16 09:18:55 UTC 2012


https://bugs.busybox.net/show_bug.cgi?id=5444

--- Comment #2 from Denys Vlasenko <vda.linux at googlemail.com> 2012-08-16 09:18:55 UTC ---
Fixed already:

commit 556ac3633ce3e7bd51c93b78827ae3874d856257
Author: Andreas Oberritter <obi at opendreambox.org>
Date:   Sat May 5 17:47:23 2012 +0200

    get_linux_version_code: don't fail on Linux version strints like "3.0-foo"

    Signed-off-by: Andreas Oberritter <obi at opendreambox.org>
    Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>

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;

-- 
Configure bugmail: https://bugs.busybox.net/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


More information about the busybox-cvs mailing list