diff options
author | Robert Abel <rabel@robertabel.eu> | 2018-02-10 02:50:10 +0300 |
---|---|---|
committer | Miguel Ojeda <miguel.ojeda.sandonis@gmail.com> | 2018-04-12 20:02:44 +0300 |
commit | 2e8c04f75731bbd968fa77e94ed856f2dcf53ae6 (patch) | |
tree | 5e9f186448e00459b39e4068a1022132c070ea84 | |
parent | 99b9b4909c72e06b46e2fdf083c96b585cb84adb (diff) | |
download | linux-2e8c04f75731bbd968fa77e94ed856f2dcf53ae6.tar.xz |
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 <rabel@robertabel.eu>
Acked-by: Willy Tarreau <w@1wt.eu>
Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>
-rw-r--r-- | drivers/auxdisplay/charlcd.c | 4 |
1 files 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++; |