5d62a2f
diff -up net-tools-1.60/lib/util.c.2digit net-tools-1.60/lib/util.c
5d62a2f
--- net-tools-1.60/lib/util.c.2digit	1999-01-09 16:55:29.000000000 +0100
5d62a2f
+++ net-tools-1.60/lib/util.c	2011-07-04 12:35:45.000000000 +0200
5d62a2f
@@ -33,13 +33,14 @@ void *xrealloc(void *oldp, size_t sz)
5d62a2f
 int kernel_version(void)
5d62a2f
 {
5d62a2f
     struct utsname uts;
5d62a2f
-    int major, minor, patch;
5d62a2f
+    int ret, major = 0, minor = 0, patch = 0;
5d62a2f
 
5d62a2f
     if (uname(&uts) < 0)
5d62a2f
 	return -1;
5d62a2f
-    if (sscanf(uts.release, "%d.%d.%d", &major, &minor, &patch) != 3)
5d62a2f
-	return -1;
5d62a2f
-    return KRELEASE(major, minor, patch);
5d62a2f
+    ret = sscanf(uts.release, "%d.%d.%d", &major, &minor, &patch);
5d62a2f
+    if (((ret == 3) && (major >= 2)) || ((ret == 2) && (major >= 3)))
5d62a2f
+        return KRELEASE(major, minor, patch);
5d62a2f
+    return -1;
5d62a2f
 }
5d62a2f
 
5d62a2f