summaryrefslogtreecommitdiff
path: root/diff.c
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2005-06-12 17:23:15 -0700
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-06-12 20:29:31 -0700
commitdc7090efbc8280e482a6b2dc7419e525cbc3c5d7 (patch)
treef481f10db8f32aa27f69bb0a9965088c92194444 /diff.c
parent206de27efac383cecc3d0f938e220dc359be36c1 (diff)
downloadgit-dc7090efbc8280e482a6b2dc7419e525cbc3c5d7.tar.gz
[PATCH] Re-Fix SIGSEGV on unmerged files in git-diff-files -p
When an unmerged path was fed via diff_unmerged() into diffcore, it eventually called run_diff() with "one" and "two" parameters with NULL, but run_diff() was not written carefully enough to notice this situation. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'diff.c')
-rw-r--r--diff.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/diff.c b/diff.c
index 046d9a3929..dd1c0b6d55 100644
--- a/diff.c
+++ b/diff.c
@@ -555,6 +555,7 @@ static void run_diff(const char *name,
{
const char *pgm = external_diff();
if (!pgm &&
+ one && two &&
DIFF_FILE_VALID(one) && DIFF_FILE_VALID(two) &&
(S_IFMT & one->mode) != (S_IFMT & two->mode)) {
/* a filepair that changes between file and symlink