On Tue, Jul 09, 2013 at 09:00:20AM -0700, Junio C Hamano wrote:
> >>> + 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.
> Heh, you fooled me. cmd_name_rev() uses the usual parse-options
> machinery that updates args.argv. Dashed options that were
> consumed will not remain in args.argv and argv_array_clear() will
> not have a chance to free them, and besides, args.argc and args.argv
> will be out of sync and wreaks havoc in argv_array_clear().
Ick, yeah, I forgot about that. Let's just leave it as a leak, then. We
are exiting immediately afterwards, anyway.
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html