Re: [PATCH 1/2] RAS/CEC: Use the right length for "cec_disable"

From: Borislav Petkov
Date: Tue Oct 03 2017 - 05:04:27 EST


On Mon, Oct 02, 2017 at 05:42:56PM +0200, Thomas Gleixner wrote:
> On Mon, 2 Oct 2017, Borislav Petkov wrote:
> > From: Nicolas Iooss <nicolas.iooss_linux@xxxxxxx>
> >
> > parse_cec_param() compares a string with "cec_disable" using only 7
> > characters of the 11-character-long string. Fix the length.
> >
> > Signed-off-by: Nicolas Iooss <nicolas.iooss_linux@xxxxxxx>
> > Fixes: 011d82611172 ("RAS: Add a Corrected Errors Collector")
> > Link: http://lkml.kernel.org/r/20170903075440.30250-1-nicolas.iooss_linux@xxxxxxx
> > Signed-off-by: Borislav Petkov <bp@xxxxxxx>
> > ---
> > drivers/ras/cec.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/ras/cec.c b/drivers/ras/cec.c
> > index d0e5d6ee882c..586c296d1538 100644
> > --- a/drivers/ras/cec.c
> > +++ b/drivers/ras/cec.c
> > @@ -523,7 +523,7 @@ int __init parse_cec_param(char *str)
> > if (*str == '=')
> > str++;
> >
> > - if (!strncmp(str, "cec_disable", 7))
> > + if (!strncmp(str, "cec_disable", 11))
>
> This kind of issue happens over and over. So if you really want to use
> strncmp() then this should be:
>
> #define CEC_DISABLE "cec_disable"
>
> if (!strncmp(str, CEC_DISABLE, strlen(CEC_DISABLE))
>
> or we get a proper helper for that. Though in case of comparing some string
> against a constant string strncmp() has no real advantage over strcmp() as
> the comparison is guaranteed to be bound by the string constant.

Right.

Nicolas, wanna address that?

Thx.

--
Regards/Gruss,
Boris.

Good mailing practices for 400: avoid top-posting and trim the reply.