From 2d6a79062a8bd394acc2ab8630ac6f8d3afc609c Mon Sep 17 00:00:00 2001 From: josch Date: Wed, 17 Sep 2014 21:33:19 +0200 Subject: [PATCH] fix segfault when line only contains newline --- console.c | 6 ++++++ main.c | 4 +++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/console.c b/console.c index c026db2..40e8698 100644 --- a/console.c +++ b/console.c @@ -134,6 +134,12 @@ _execute_shell_command(mfshell_t *mfshell,char *command) // FIXME: handle non-zero return value of wordexp retval = wordexp(command, &p, WRDE_SHOWERR | WRDE_UNDEF); + if (p.we_wordc < 1) + return 0; + + if (p.we_wordv[0] == NULL) + return 0; + // TODO: handle retval retval = _execute(mfshell, p.we_wordc, p.we_wordv); diff --git a/main.c b/main.c index 08814a4..d04fe58 100644 --- a/main.c +++ b/main.c @@ -200,7 +200,9 @@ mfshell_run(mfshell_t *mfshell) if (retval == -1) { exit(1); } - string_chomp(cmd); + + if (cmd[strlen(cmd)-1] == '\n') + cmd[strlen(cmd)-1] = '\0'; printf("\n\r");