Le 06/10/2026 à 1:29 PM, ygkat a écrit :
From: Yeonggi Kim <[email protected]>Hi, Since 20ec1de214 (3.2-dev12), a CLI command line of exactly tune.bufsize bytes, including its final LF, is executed and then followed by endless "Unknown command" errors. b_tail() wraps when the line fills its chunk, so the last command is never detected. 40cca6d20 ("Don't read a command or payload line into a full buffer") covers the payload side of the same full-chunk case. - 1/2 computes the end of the line from the head of the chunk and its amount of data instead, and has a one-line reproducer. - 2/2 adds reg-tests/cli/cmdline_full_buffer.vtc. The test fails without 1/2 and passes with it on master 313dae2, 3.4.6, 3.3.16 and 3.2.25. Passing b_getdelim() one byte less than the room again, as before 20ec1de214, would avoid the loop but reject these lines, accepted since 3.2, as too big. Both should be backported as far as 3.2. Thanks, Yeonggi Kim Yeonggi Kim (2): BUG/MEDIUM: cli: fix the last command detection on a full command line REGTESTS: cli: test a command line of exactly tune.bufsize bytes reg-tests/cli/cmdline_full_buffer.vtc | 53 +++++++++++++++++++++++++++ src/cli.c | 8 +++- 2 files changed, 60 insertions(+), 1 deletion(-) create mode 100644 reg-tests/cli/cmdline_full_buffer.vtc
Thanks ! now merged. Just a quick note, for next contributions, try to add the reg-tests in the patch fixing the bug. This simplify a bit the backports.
-- Christopher Faulet

