Re: [RESEND PATCH v3 2/2] cli: Correct handling of invalid escape sequences in cread_line()

Heinrich Schuchardt xypron.glpk at gmx.de
Thu Mar 30 07:56:42 CEST 2023



Am 29. März 2023 22:02:11 MESZ schrieb Simon Glass <sjg at chromium.org>:
>Hi Heinrich,
>
>On Wed, 29 Mar 2023 at 05:43, Heinrich Schuchardt <xypron.glpk at gmx.de> wrote:
>>
>> On 3/27/23 21:34, Simon Glass wrote:
>> > The second call to cli_ch_process() is in the wrong place, meaning that
>> > the one of the characters of an invalid escape sequence is swallowed
>> > instead of being returned.
>> >
>> > Fix the bug and add a test to cover this.
>> >
>> > This behaviour matches that of the code before cli_getch() was
>> > introduced. This was verified on the commit before b08e9d4b66 i.e.:
>> >
>> >     7d850f85aad ("sandbox: Enable mmc command and legacy images")
>> >
>> > Signed-off-by: Simon Glass <sjg at chromium.org>
>> > Reported-by: Heinrich Schuchardt <xypron.glpk at gmx.de>
>> > ---
>>
>> Thanks for the fix. Some strange behavior still remains like
>> <SHIFT><CTRL><F4> giving '6S' on the command line. But at least no error
>> code.
>
>Yes, this matches the previous behaviour, which has existed a long
>time. We could easily suppress echoing of unknown escape sequence.
>Should we suppress them being entered also, so that U-Boot ignores
>them? I'm really not sure. There was a reverted patch[1] which
>indicates that this is not trivial to figure out.

We already have code in lib/efi_loader/efi_condole.c that supports many more escape sequences. We should deduplicate the code.

Best regards

Heinrich

>
>Regards,
>Simon
>
>[1] d2e64d29c44d cli_readline: Only insert printable chars


More information about the U-Boot mailing list