aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWilliam Douglas <william.r.douglas@gmail.com>2011-10-31 20:11:29 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2011-10-31 20:30:53 -0400
commit48e41899e4a3592746e5263c14681bf5c1393563 (patch)
tree8d575fa52f27f63353fb0f3179b77c9e2172a69b
parent134620f7a865b3bc9e3d56d460603592b70ede21 (diff)
printk: fix bounds checking for log_prefix
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>
-rw-r--r--kernel/printk.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/printk.c b/kernel/printk.c
index 6d9dedd11450..286d2c7be52c 100644
--- a/kernel/printk.c
+++ b/kernel/printk.c
@@ -595,7 +595,7 @@ static size_t log_prefix(const char *p, unsigned int *level, char *special)
595 /* multi digit including the level and facility number */ 595 /* multi digit including the level and facility number */
596 char *endp = NULL; 596 char *endp = NULL;
597 597
598 if (p[1] < '0' && p[1] > '9') 598 if (p[1] < '0' || p[1] > '9')
599 return 0; 599 return 0;
600 600
601 lev = (simple_strtoul(&p[1], &endp, 10) & 7); 601 lev = (simple_strtoul(&p[1], &endp, 10) & 7);