This bug happens in dash too
(I assume it's "pungets" counter not being reset on errors):

---------- Forwarded message ---------
From: Sergey Zakharchenko <[email protected]>
Date: Thu, Oct 29, 2020 at 8:00 AM
Subject: Busybox ash buffering-related issue in error handling
To: Denys Vlasenko <[email protected]>

It appears that, in the interactive shell, the
input buffer has 1 last character remaining after some syntax errors
are handled. The next command is interpreted with that character
prepended, e.g.:

$ ;l
ash: syntax error: unexpected ";"
$ s
[ls output]

Expected output for reference:

$ ;l
sh: 1: Syntax error: ";" unexpected
$ s
sh: 1: s: not found

Similarly, an input of ;# makes the next command be treated as a
comment and not executed.

I'm observing this on x86-64 112453acf24520b4655f9f36da41d8ac591b1a60,
with default options, but it's the same on earlier versions with
different options and a different platform so it's not new.

Best regards,

--
Sergey Zakharchenko
Digital Loggers, Inc.

Reply via email to