[kaos@ocs.com.au: modutils 2.1.23 dislikes 2.0.29-ISS]

David S. Miller (davem@jenolan.rutgers.edu)
Tue, 4 Mar 1997 07:17:07 -0500


This was just sent to me.

------- Start of forwarded message -------
From: Keith Owens <kaos@ocs.com.au>
To: "Richard Henderson" <rth@tamu.edu>
Cc: "David S. Miller" <davem@jenolan.rutgers.edu>
Subject: modutils 2.1.23 dislikes 2.0.29-ISS
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Date: Tue, 04 Mar 1997 13:33:08 +1100

modules 2.1.23 insmod.c assumes that module and kernel version numbers
are always 'digits.digits.digits\0'. Not true for 2.0.29-ISS, routines
get_kernel_version, old_get_module_version, new_get_module_version all
barf because of the '-' in the kernel name.

modutils should accept and ignore trailing characters such as '-_#.'
after the sublevel.

diff -ur modutils-2.1.23.orig/insmod/insmod.c modutils-2.1.23/insmod/insmod.c
- --- modutils-2.1.23.orig/insmod/insmod.c Thu Jan 23 09:37:49 1997
+++ modutils-2.1.23/insmod/insmod.c Tue Mar 4 13:27:40 1997
@@ -156,7 +156,7 @@
if (*p != '.')
return -1;
c = strtoul(p+1, &p, 10);
- - if (*p != '\0')
+ if (*p != '\0' && *p != '-' && *p != '_' && *p != '#' && *p != '.')
return -1;

return a << 16 | b << 8 | c;
@@ -496,7 +496,7 @@
if (*p != '.')
return -1;
c = strtoul(p+1, &p, 10);
- - if (*p != '\0')
+ if (*p != '\0' && *p != '-' && *p != '_' && *p != '#' && *p != '.')
return -1;

return a << 16 | b << 8 | c;
@@ -834,7 +834,7 @@
if (*p != '.')
return -1;
c = strtoul(p+1, &p, 10);
- - if (*p != '\0')
+ if (*p != '\0' && *p != '-' && *p != '_' && *p != '#' && *p != '.')
return -1;

return a << 16 | b << 8 | c;
------- End of forwarded message -------