am: simplify building "show" argument list

Build the string array av during initialization, without any magic
numbers or heap allocations.  Not duplicating the result of oid_to_hex()
is safe because run_command_v_opt() duplicates all arguments already.
(It would even be safe if it didn't, but that's a different story.)

Signed-off-by: René Scharfe <l.s.r@web.de>
Signed-off-by: Taylor Blau <me@ttaylorr.com>
This commit is contained in:
René Scharfe 2022-10-30 12:46:11 +01:00 committed by Taylor Blau
parent 53c4be3fd8
commit 75c92a0540

View file

@ -2187,14 +2187,11 @@ static int show_patch(struct am_state *state, enum show_patch_type sub_mode)
int len;
if (!is_null_oid(&state->orig_commit)) {
const char *av[4] = { "show", NULL, "--", NULL };
char *new_oid_str;
int ret;
const char *av[] = {
"show", oid_to_hex(&state->orig_commit), "--", NULL
};
av[1] = new_oid_str = xstrdup(oid_to_hex(&state->orig_commit));
ret = run_command_v_opt(av, RUN_GIT_CMD);
free(new_oid_str);
return ret;
return run_command_v_opt(av, RUN_GIT_CMD);
}
switch (sub_mode) {