From: Jeff King Date: Sun, 20 Apr 2014 01:35:00 GMT Subject: Re: [PATCH 1/6] run_external_diff: use an argv_array for the command line Message-ID: <20140420013500.GB10531@sigill.intra.peff.net> In-Reply-To: On Sun, Apr 20, 2014 at 02:09:49AM +0400, Max L wrote: > One more note: at this moment the problem is slightly deeper. This > array is next passed to the execvp function, which now falls with > EFAULT on two my machines (both faced this problem after upgrading to > ubuntu 14.04, everything 'worked' fine before, looks like now execvp > checks input more strictly). This leads to non-working 'git difftool'. Interesting. We're overwriting whatever is after spawn_arg on the stack, so I'd expect the fork/exec to work, but the function to complain while popping the stack frame (though I couldn't get it to do so). I wonder if some kind of stack protection is kicking in, and the NULL doesn't get written or something. Either way, we should definitely address it. -Peff