Jeff King <peff@xxxxxxxx> writes: > On Fri, Apr 25, 2014 at 03:50:26PM -0700, Junio C Hamano wrote: > >> * jk/external-diff-use-argv-array (2014-04-21) 6 commits >> (merged to 'next' on 2014-04-22 at e6d92d7) >> + run_external_diff: refactor cmdline setup logic >> + run_external_diff: hoist common bits out of conditional >> + run_external_diff: drop fflush(NULL) >> + run_external_diff: clean up error handling >> + run_external_diff: use an argv_array for the environment >> + run_external_diff: use an argv_array for the command line >> >> Code clean-up. >> >> Will keep in 'next' for the remainder of the cycle. > > The first one does fix a possible stack overflow (albeit of one NULL, > not arbitrary content, so I don't think it's exploitable). We may want > to do: > > diff --git a/diff.c b/diff.c > index 54d5308..a03744b 100644 > --- a/diff.c > +++ b/diff.c > @@ -2894,7 +2894,7 @@ static void run_external_diff(const char *pgm, > int complete_rewrite, > struct diff_options *o) > { > - const char *spawn_arg[10]; > + const char *spawn_arg[11]; > int retval; > const char **arg = &spawn_arg[0]; > struct diff_queue_struct *q = &diff_queued_diff; > > as a fix for maint/2.0.0 in the interim. I can write a commit message > for that if you're interested. I think we should merge the first one (and possibly the second one, too) as-is for 2.0 instead. No change can possibly be more trivially correct than these two ;-) -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html