On Sat, Mar 18, 2017 at 10:12:07AM -0700, Junio C Hamano wrote:
> >> - argv_array_push(&proc.args, hook);
> >> for (cmd = commands; cmd; cmd = cmd->next) {
> >> if (cmd->error_string || cmd->did_not_exist)
> >> continue;
> >> + if (!proc.args.argc)
> >> + argv_array_push(&proc.args, hook);
> >> argv_array_push(&proc.args, cmd->ref_name);
> >> }
> >> + if (!proc.args.argc)
> >> + return;
> >
> > It looks at first like the result leaks, because you have to realize
> > that the push will modify proc.args.argc.
>
> Hmph, I needed to read the original twice to imagine how a paranoid
> person can fear leaks. The return condition says "if args array is
> empty, just return" and the thing being empty is an enough indication
> to think nothing is leaking, at least for me.
Yeah, I think I just read it funny the first time. I'm OK with it as-is.
-Peff