Skip to content

Commit

Permalink
printk: fix bounds checking for log_prefix
Browse files Browse the repository at this point in the history
Currently log_prefix is testing that the first character of the log level
and facility is less than '0' and greater than '9' (which is always
false).  It should be testing to see if the character less than '0' or
greater than '9' instead.  This patch makes that change.

The code being changed worked because strtoul bombs out (endp isn't
updated) and 0 is returned anyway.

Signed-off-by: William Douglas <william.douglas@intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  • Loading branch information
William Douglas authored and Linus Torvalds committed Nov 1, 2011
1 parent 134620f commit 48e4189
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion kernel/printk.c
Original file line number Diff line number Diff line change
Expand Up @@ -595,7 +595,7 @@ static size_t log_prefix(const char *p, unsigned int *level, char *special)
/* multi digit including the level and facility number */
char *endp = NULL;

if (p[1] < '0' && p[1] > '9')
if (p[1] < '0' || p[1] > '9')
return 0;

lev = (simple_strtoul(&p[1], &endp, 10) & 7);
Expand Down

0 comments on commit 48e4189

Please sign in to comment.