[RESEND PATCH v3 1/2] cli: Correct several bugs in cli_getch()
Simon Glass
sjg at chromium.org
Mon Mar 27 21:08:40 CEST 2023
+Tom Rini
Hi,
On Tue, 28 Mar 2023 at 08:04, Simon Glass <sjg at chromium.org> wrote:
>
> This function does not behave as expected when unknown escape sequences
> are sent to it:
>
> - it fails to store (and thus echo) the last character of the invalid
> sequence
> - it fails to set esc_len to 0 when it finishes emitting the invalid
> sequence, meaning that the following character will appear to be part
> of a new escape sequence
> - it processes the first character of the rejected sequence as a valid
> character, just starting the sequence all over again
>
> The last two bugs conspire to produce an "impossible condition #876"
> message which is the main symptom of this behaviour.
>
> Fix these bugs and add a test to verify the behaviour.
>
> Signed-off-by: Simon Glass <sjg at chromium.org>
> Reported-by: Heinrich Schuchardt <xypron.glpk at gmx.de>
> ---
>
> (no changes since v1)
>
> common/cli_getch.c | 5 +++--
> test/common/Makefile | 1 +
> test/common/cread.c | 48 ++++++++++++++++++++++++++++++++++++++++++++
> 3 files changed, 52 insertions(+), 2 deletions(-)
> create mode 100644 test/common/cread.c
I would like to get this series into the release since it fixes an annoying bug.
We can talk about changes of behaviour after that.
Regards,
Simon
More information about the U-Boot
mailing list