From 42f7b4fba1bc396607ba5159f8233c9e65e95d23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20van=20Dorst?= Date: Fri, 14 Aug 2026 22:06:19 +0200 Subject: [PATCH] Fix parse_isolate(), ensure spaces between arguments --- cmd_parser.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/cmd_parser.c b/cmd_parser.c index 2a78936..59fca82 100644 --- a/cmd_parser.c +++ b/cmd_parser.c @@ -529,7 +529,7 @@ err: void parse_isolate(void) { - __xdata uint16_t members = 0; + uint16_t members = 0; if (cmd_words_len < 3) goto err; @@ -555,7 +555,7 @@ void parse_isolate(void) members >>= 1; } return; - } + } if (cmd_compare(2, "off")) { for (uint8_t i = machine.min_port; i < machine.max_port; i++) @@ -567,7 +567,10 @@ void parse_isolate(void) uint8_t w = 2; while (w < cmd_words_len) { - if (cmd_parse_port(cmd_words_b[w++], false) == 0) + uint8_t idx = cmd_words_b[w++]; + uint8_t ret = cmd_parse_port(idx, false); + idx += ret; + if (ret == 0 || !cmd_is_space_or_null(idx)) goto err; uint8_t port = atoi_results_u8; members |= ((uint16_t)1) << port;