Merge "[PATCH] Init - make sure the last parameter to execve is NULL"
This commit is contained in:
commit
1a15cb7e90
1 changed files with 9 additions and 1 deletions
|
@ -800,6 +800,7 @@ static void parse_line_action(struct parse_state* state, int nargs, char **args)
|
|||
struct action *act = state->context;
|
||||
int (*func)(int nargs, char **args);
|
||||
int kw, n;
|
||||
int alloc_size = 0;
|
||||
|
||||
if (nargs == 0) {
|
||||
return;
|
||||
|
@ -817,7 +818,14 @@ static void parse_line_action(struct parse_state* state, int nargs, char **args)
|
|||
n > 2 ? "arguments" : "argument");
|
||||
return;
|
||||
}
|
||||
cmd = malloc(sizeof(*cmd) + sizeof(char*) * nargs);
|
||||
alloc_size = sizeof(*cmd) + sizeof(char*) * (nargs + 1);
|
||||
cmd = malloc(alloc_size);
|
||||
if (!cmd) {
|
||||
parse_error(state, "malloc failed\n");
|
||||
return;
|
||||
}
|
||||
|
||||
memset((char *)cmd, 0, alloc_size);
|
||||
cmd->func = kw_func(kw);
|
||||
cmd->nargs = nargs;
|
||||
memcpy(cmd->args, args, sizeof(char*) * nargs);
|
||||
|
|
Loading…
Reference in a new issue