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