From 35005081b67f38ccf13066548f79af09fa011ac0 Mon Sep 17 00:00:00 2001 From: biglyderv Date: Mon, 24 Mar 2025 23:59:28 -0400 Subject: [PATCH] fix length segfault --- src/command.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/command.c b/src/command.c index c983385..5a90cd9 100644 --- a/src/command.c +++ b/src/command.c @@ -61,17 +61,19 @@ int get_command(char *command, char *command_re, char **sort_tmp) { if (!get_out) break; } + + if (command[0] == ';') { + command++; + } + int cl = strlen(command); - if (cl == 0) return 0; + if (cl < 2) return 0; command[cl - 1] = '\0'; for (int i = 0; i < cl - 1; i++) { command[i] = tolower(command[i]); - if ((i == 0 || i == cl - 1) && command[i] == ';') { - command[i] = ' '; - } } sort_tmp[0] = command; @@ -79,7 +81,7 @@ int get_command(char *command, char *command_re, char **sort_tmp) { for (int i = 1; i < MAX_COMBO_LENGTH; i++) { combos = i; sort_tmp[i] = strstr(sort_tmp[i - 1], ";"); - if (sort_tmp[i] == 0) + if (sort_tmp[i] == 0 || sort_tmp[i] == sort_tmp[i-1]) break; if (strlen(sort_tmp[i]) < 2) { sort_tmp[i][0] = '\0';