args_make_commands_now needs to take an extra reference to the returned

command list since it will be freed already.
pull/2851/head
nicm 2021-08-23 17:05:43 +00:00
parent 210e71edf3
commit 841ce74b43
1 changed files with 4 additions and 2 deletions

View File

@ -127,7 +127,7 @@ args_parse(const struct args_parse *parse, struct args_value *values,
u_int count)
{
struct args *args;
u_int i;
u_int i;
struct args_value *value, *new;
u_char flag, argument;
const char *found, *string, *s;
@ -497,11 +497,13 @@ args_make_commands_now(struct cmd *self, struct cmdq_item *item, u_int idx)
state = args_make_commands_prepare(self, item, idx, NULL, 0, 0);
cmdlist = args_make_commands(state, 0, NULL, &error);
args_make_commands_free(state);
if (cmdlist == NULL) {
cmdq_error(item, "%s", error);
free(error);
}
else
cmdlist->references++;
args_make_commands_free(state);
return (cmdlist);
}