From 51fef7b690a7d4335fe7d45472c27d87ffa46b59 Mon Sep 17 00:00:00 2001 From: Dave Young Date: Thu, 18 Oct 2007 03:05:07 -0700 Subject: [PATCH] --- yaml --- r: 71127 b: refs/heads/master c: faf8c714f4508207a9c81cc94dafc76ed6680b44 h: refs/heads/master i: 71125: 7f6e2132094d85c1e1d451b0e2b7c538ea41c1e6 71123: dfab6c316e740cbe562910cc88d347db492ab517 71119: 24838ef491e3d4196d5cc3ea78a239eb19c13497 v: v3 --- [refs] | 2 +- trunk/kernel/params.c | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index c94376fac9f9..179c382f079a 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 8f286c33f1e838d631f4a3260b33efce4bc5973c +refs/heads/master: faf8c714f4508207a9c81cc94dafc76ed6680b44 diff --git a/trunk/kernel/params.c b/trunk/kernel/params.c index 1d6aca288cdc..16f269e9ddc9 100644 --- a/trunk/kernel/params.c +++ b/trunk/kernel/params.c @@ -592,11 +592,17 @@ static void __init param_sysfs_builtin(void) for (i=0; i < __stop___param - __start___param; i++) { char *dot; + size_t kplen; kp = &__start___param[i]; + kplen = strlen(kp->name); /* We do not handle args without periods. */ - dot = memchr(kp->name, '.', MAX_KBUILD_MODNAME); + if (kplen > MAX_KBUILD_MODNAME) { + DEBUGP("kernel parameter name is too long: %s\n", kp->name); + continue; + } + dot = memchr(kp->name, '.', kplen); if (!dot) { DEBUGP("couldn't find period in %s\n", kp->name); continue;