From 2e8c04f75731bbd968fa77e94ed856f2dcf53ae6 Mon Sep 17 00:00:00 2001 From: Robert Abel Date: Sat, 10 Feb 2018 00:50:10 +0100 Subject: auxdisplay: charlcd: fix hex literal ranges for graphics command The graphics command expects 16 hexadecimal literals, but would allow characters in range [0-9a-zA-Z] instead of [0-9a-fA-F]. Signed-off-by: Robert Abel Acked-by: Willy Tarreau Reviewed-by: Geert Uytterhoeven Signed-off-by: Miguel Ojeda --- drivers/auxdisplay/charlcd.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/auxdisplay/charlcd.c b/drivers/auxdisplay/charlcd.c index 0246ff77e772..674ffbae1c65 100644 --- a/drivers/auxdisplay/charlcd.c +++ b/drivers/auxdisplay/charlcd.c @@ -443,9 +443,9 @@ static inline int handle_lcd_special_code(struct charlcd *lcd) shift ^= 4; if (*esc >= '0' && *esc <= '9') { value |= (*esc - '0') << shift; - } else if (*esc >= 'A' && *esc <= 'Z') { + } else if (*esc >= 'A' && *esc <= 'F') { value |= (*esc - 'A' + 10) << shift; - } else if (*esc >= 'a' && *esc <= 'z') { + } else if (*esc >= 'a' && *esc <= 'f') { value |= (*esc - 'a' + 10) << shift; } else { esc++; -- cgit v1.2.3