diff --git a/depmod.c b/depmod.c index abfb11e..853b52b 100644 --- a/depmod.c +++ b/depmod.c @@ -245,9 +245,16 @@ static const struct option options[] = { { "all", 0, NULL, 'a' }, /* Version number or module name? Don't assume extension. */ static int is_version_number(const char *version) { - unsigned int dummy; + int ret; + unsigned int major, dummy; - return (sscanf(version, "%u.%u.%u", &dummy, &dummy, &dummy) == 3); + ret = sscanf(version, "%u.%u", &major, &dummy); + if ((major == 3) && (ret == 2)) + return 1; + + ret = sscanf(version, "%u.%u.%u", &dummy, &dummy, &dummy); + + return (ret == 3); } static int old_module_version(const char *version)