Re: [PATCH 1/3] auxdisplay: charlcd: fix hex literal ranges for graphics command

From: Miguel Ojeda
Date: Sat Feb 10 2018 - 04:41:57 EST


On Sat, Feb 10, 2018 at 10:20 AM, Willy Tarreau <w@xxxxxx> wrote:
> Hi Miguel,
>
> On Sat, Feb 10, 2018 at 09:58:44AM +0100, Miguel Ojeda wrote:
>> On Sat, Feb 10, 2018 at 12:50 AM, Robert Abel <rabel@xxxxxxxxxxxxx> wrote:
>> > 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@xxxxxxxxxxxxx>
>> > ---
>> > 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 642afd88870b..324d02f9f1c5 100644
>> > --- a/drivers/auxdisplay/charlcd.c
>> > +++ b/drivers/auxdisplay/charlcd.c
>> > @@ -441,9 +441,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') {
>>
>> Willy, Geert: this seems obvious, but do you know if the broader range
>> was intended for some reason?
>
> No, I think it was simply a brain fart from me 14 years ago, as I can
> find it as well in the original 0.9.0 patch for kernel 2.4!
>
> Ack from me on this patch.

Thanks Willy for the quick answer! Then:

Compile-tested.

Signed-off-by: Miguel Ojeda <miguel.ojeda.sandonis@xxxxxxxxx>

>
> Willy