Re: [PATCH 3/4] describe: use argv-array
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jul 9, 2013, 14:55 UTC
- Message-ID
- <7vip0jwzou.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <20130709045151.GE27903@sigill.intra.peff.net>
Jeff King <peff@peff.net> writes:
Show 19 quoted lines
> On Sun, Jul 07, 2013 at 03:33:43PM -0700, Junio C Hamano wrote: > >> + argv_array_init(&args); >> + argv_array_push(&args, "name-rev"); >> + argv_array_push(&args, "--name-only"); >> + argv_array_push(&args, "--no-undefined"); >> [...] >> - memcpy(args + i, argv, argc * sizeof(char *)); >> - args[i + argc] = NULL; >> - return cmd_name_rev(i + argc, args, prefix); >> + return cmd_name_rev(args.argc, args.argv, prefix); > > This leaks the memory allocated by "args". The original did, too, and it > is probably not that big a deal (we exit right after anyway). The fix > would be something like: > > rc = cmd_name_rev(args.argc, args.argv, prefix); > argv_array_clear(&args); > return rc;
Yes; this was meant as a straight rewrite and I did not bother, but I should have cleaned it up as I meant to build on top.
Will amend, even though I do not think we need to build anything on top.