X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=kernel%2Fparams.c;h=2a4c51487e7257e1865ae33d805a22e3dbb7f9ae;hb=8002cedc1adbf51e2d56091534ef7551b88329b4;hp=1d6aca288cdcb078ed5a3a6790d9f532f98d8f88;hpb=5c8e191e8437616a498a8e1cc0af3dd0d32bbff2;p=linux-2.6 diff --git a/kernel/params.c b/kernel/params.c index 1d6aca288c..2a4c51487e 100644 --- a/kernel/params.c +++ b/kernel/params.c @@ -592,13 +592,16 @@ static void __init param_sysfs_builtin(void) for (i=0; i < __stop___param - __start___param; i++) { char *dot; + size_t max_name_len; kp = &__start___param[i]; + max_name_len = + min_t(size_t, MAX_KBUILD_MODNAME, strlen(kp->name)); - /* We do not handle args without periods. */ - dot = memchr(kp->name, '.', MAX_KBUILD_MODNAME); + dot = memchr(kp->name, '.', max_name_len); if (!dot) { - DEBUGP("couldn't find period in %s\n", kp->name); + DEBUGP("couldn't find period in first %d characters " + "of %s\n", MAX_KBUILD_MODNAME, kp->name); continue; } name_len = dot - kp->name;