From: Andreas Gruenbacher Date: Mon, 18 Jan 2010 21:37:38 +0000 (+0100) Subject: builtin-apply.c: fix the --- and +++ header filename consistency check X-Git-Tag: v1.7.0-rc0~52^2 X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=da915939fd7523cd145ba280cc974d46aa792331;p=git.git builtin-apply.c: fix the --- and +++ header filename consistency check gitdiff_verify_name() only did a filename prefix check because of an off-by-one error. Signed-off-by: Andreas Gruenbacher Signed-off-by: Junio C Hamano --- diff --git a/builtin-apply.c b/builtin-apply.c index 36e2f9dda..8ca86f66c 100644 --- a/builtin-apply.c +++ b/builtin-apply.c @@ -686,7 +686,7 @@ static char *gitdiff_verify_name(const char *line, int isnull, char *orig_name, if (isnull) die("git apply: bad git-diff - expected /dev/null, got %s on line %d", name, linenr); another = find_name(line, NULL, p_value, TERM_TAB); - if (!another || memcmp(another, name, len)) + if (!another || memcmp(another, name, len + 1)) die("git apply: bad git-diff - inconsistent %s filename on line %d", oldnew, linenr); free(another); return orig_name; diff --git a/t/t4133-apply-filenames.sh b/t/t4133-apply-filenames.sh new file mode 100755 index 000000000..34218071b --- /dev/null +++ b/t/t4133-apply-filenames.sh @@ -0,0 +1,38 @@ +#!/bin/sh +# +# Copyright (c) 2010 Andreas Gruenbacher +# + +test_description='git apply filename consistency check' + +. ./test-lib.sh + +test_expect_success setup ' + cat > bad1.patch < bad2.patch <err + grep "inconsistent new filename" err + test_must_fail git apply bad2.patch 2>err + grep "inconsistent old filename" err +' + +test_done