Re: [RESEND PATCH v3 1/2] cli: Correct several bugs in cli_getch()

+Tom Rini
Hi,
On Tue, 28 Mar 2023 at 08:04, Simon Glass sjg@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@chromium.org Reported-by: Heinrich Schuchardt xypron.glpk@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
participants (1)
-
Simon Glass