From af93453190c2fbb207c8541df33314160816985f Mon Sep 17 00:00:00 2001 From: nicm Date: Wed, 14 Jun 2017 07:42:41 +0000 Subject: [PATCH] Don't overwrite error message when it is available in cmd_string_parse. Reported by Jimi Damon in GitHub issue 975. --- cmd-string.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/cmd-string.c b/cmd-string.c index 822d35b5..9c8f10c1 100644 --- a/cmd-string.c +++ b/cmd-string.c @@ -159,21 +159,19 @@ cmd_string_parse(const char *s, const char *file, u_int line, char **cause) char **argv; *cause = NULL; - if (cmd_string_split(s, &argc, &argv) != 0) - goto error; + if (cmd_string_split(s, &argc, &argv) != 0) { + xasprintf(cause, "invalid or unknown command: %s", s); + return (NULL); + } if (argc != 0) { cmdlist = cmd_list_parse(argc, argv, file, line, cause); if (cmdlist == NULL) { cmd_free_argv(argc, argv); - goto error; + return (NULL); } } cmd_free_argv(argc, argv); return (cmdlist); - -error: - xasprintf(cause, "invalid or unknown command: %s", s); - return (NULL); } static void