RAS/CEC: Use the right length for "cec_disable"
authorNicolas Iooss <nicolas.iooss_linux@m4x.org>
Mon, 2 Oct 2017 09:28:35 +0000 (11:28 +0200)
committerThomas Gleixner <tglx@linutronix.de>
Thu, 5 Oct 2017 12:23:06 +0000 (14:23 +0200)
parse_cec_param() compares a string with "cec_disable" using only 7
characters of the 11-character-long string.

The proper solution for this would be:

#define CEC_DISABLE  "cec_disable"

strncmp(str, CEC_DISABLE, strlen(CEC_DISABLE))

but when comparing a string against a string constant strncmp() has no
advantage over strcmp() because the comparison is guaranteed to be bound by
the string constant. So just replace str strncmp() with strcmp().

[ tglx: Made it use strcmp and updated the changelog ]

Fixes: 011d82611172 ("RAS: Add a Corrected Errors Collector")
Signed-off-by: Nicolas Iooss <nicolas.iooss_linux@m4x.org>
Signed-off-by: Borislav Petkov <bp@suse.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: stable@vger.kernel.org
Link: http://lkml.kernel.org/r/20170903075440.30250-1-nicolas.iooss_linux@m4x.org
drivers/ras/cec.c

index d0e5d6ee882c4e041d8c3db4e41392d9bc6d90ab..e2c1988cd7c03d0b9cdddc544c736c2c7298928b 100644 (file)
@@ -523,7 +523,7 @@ int __init parse_cec_param(char *str)
        if (*str == '=')
                str++;
 
-       if (!strncmp(str, "cec_disable", 7))
+       if (!strcmp(str, "cec_disable"))
                ce_arr.disabled = 1;
        else
                return 0;