On Mon, 2 Oct 2017, Borislav Petkov wrote:
From: Nicolas Iooss <[email protected]>
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 <[email protected]>
Fixes: 011d82611172 ("RAS: Add a Corrected Errors Collector")
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Borislav Petkov <[email protected]>
---
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.
Thanks,
tglx
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)