From 49c43082a3bf4f810bee3bf456e8b17b71c7a305 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20van=20Dorst?= Date: Sat, 18 Apr 2026 00:10:32 +0200 Subject: [PATCH] parse_mirror() make use of cmd_words_len, refactor small parts --- cmd_parser.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/cmd_parser.c b/cmd_parser.c index acae573..c1a4e90 100644 --- a/cmd_parser.c +++ b/cmd_parser.c @@ -554,18 +554,19 @@ void parse_mirror(void) return; } - if (!isnumber(cmd_buffer[cmd_words_b[1]])) { - print_string("Port missing: mirror [port][t/r]...\n"); + if (cmd_words_len < 2 || !isnumber(cmd_buffer[cmd_words_b[1]])) { + print_string("Port/command missing: mirror [status/off/ [port][t/r]]...\n"); return; } mirroring_port = cmd_buffer[cmd_words_b[1]] - '1'; if (isnumber(cmd_buffer[cmd_words_b[1] + 1])) mirroring_port = (mirroring_port + 1) * 10 + cmd_buffer[cmd_words_b[1] + 1] - '1'; - mirroring_port = machine.phys_to_log_port[mirroring_port]; + mirroring_port = machine.phys_to_log_port[mirroring_port]; + uint8_t w = 2; - while (cmd_words_b[w] > 0) { + while (w < cmd_words_len) { uint8_t port; if (isnumber(cmd_buffer[cmd_words_b[w]])) { port = cmd_buffer[cmd_words_b[w]] - '1';