From: Junio C Hamano Date: Mon, 20 Oct 2014 19:23:45 +0000 (-0700) Subject: Merge branch 'rs/receive-pack-argv-leak-fix' X-Git-Tag: v2.2.0-rc0~38 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/b67588d018441d1485378a7d9b460401ba8b76a5?ds=inline;hp=--cc Merge branch 'rs/receive-pack-argv-leak-fix' * rs/receive-pack-argv-leak-fix: receive-pack: plug minor memory leak in unpack() --- b67588d018441d1485378a7d9b460401ba8b76a5 diff --cc builtin/receive-pack.c index f2f6c67359,886eb70323..6420680bdd --- a/builtin/receive-pack.c +++ b/builtin/receive-pack.c @@@ -1253,16 -932,17 +1252,16 @@@ static const char *unpack(int err_fd, s if (si->nr_ours || si->nr_theirs) { alt_shallow_file = setup_temporary_shallow(si->shallow); - argv_array_pushl(&av, "--shallow-file", alt_shallow_file, NULL); + argv_array_push(&child.args, "--shallow-file"); + argv_array_push(&child.args, alt_shallow_file); } - memset(&child, 0, sizeof(child)); if (ntohl(hdr.hdr_entries) < unpack_limit) { - argv_array_pushl(&av, "unpack-objects", hdr_arg, NULL); + argv_array_pushl(&child.args, "unpack-objects", hdr_arg, NULL); if (quiet) - argv_array_push(&av, "-q"); + argv_array_push(&child.args, "-q"); if (fsck_objects) - argv_array_push(&av, "--strict"); - child.argv = av.argv; + argv_array_push(&child.args, "--strict"); child.no_stdout = 1; child.err = err_fd; child.git_cmd = 1;