lkml.org 
[lkml]   [2011]   [Aug]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH] printk: Fix bounds checking for log_prefix.
Date
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>
---
kernel/printk.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/kernel/printk.c b/kernel/printk.c
index 37dff34..42080686 100644
--- a/kernel/printk.c
+++ b/kernel/printk.c
@@ -590,7 +590,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);
--
1.7.6

\
 
 \ /
  Last update: 2011-08-15 23:17    [W:0.033 / U:0.028 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site