diff options
author | Christian Couder <chriscool@tuxfamily.org> | 2010-07-22 15:18:29 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2010-07-23 16:08:14 -0700 |
commit | 2c048a3038fd4d94e150fbc1dfd2242325ca7db6 (patch) | |
tree | 18711aab4aa9fc19a4cff3c39bde1801b033e172 | |
parent | 971ecbd1f8d1468951274d01103f80dd7d32d110 (diff) | |
download | git-2c048a3038fd4d94e150fbc1dfd2242325ca7db6.tar.gz |
revert: fix off by one read when searching the end of a commit subject
A test case is added but the problem can only be seen when running
the test case with --valgrind.
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Acked-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | builtin/revert.c | 2 | ||||
-rwxr-xr-x | t/t3505-cherry-pick-empty.sh | 20 |
2 files changed, 20 insertions, 2 deletions
diff --git a/builtin/revert.c b/builtin/revert.c index 7d68ef714e..c170715ba8 100644 --- a/builtin/revert.c +++ b/builtin/revert.c @@ -127,7 +127,7 @@ static int get_message(const char *raw_message, struct commit_message *out) p++; if (*p) { p += 2; - for (eol = p + 1; *eol && *eol != '\n'; eol++) + for (eol = p; *eol && *eol != '\n'; eol++) ; /* do nothing */ } else eol = p; diff --git a/t/t3505-cherry-pick-empty.sh b/t/t3505-cherry-pick-empty.sh index e51e505a9f..c10b28cf57 100755 --- a/t/t3505-cherry-pick-empty.sh +++ b/t/t3505-cherry-pick-empty.sh @@ -13,12 +13,30 @@ test_expect_success setup ' git checkout -b empty-branch && test_tick && - git commit --allow-empty -m "empty" + git commit --allow-empty -m "empty" && + + echo third >> file1 && + git add file1 && + test_tick && + git commit --allow-empty-message -m "" ' test_expect_success 'cherry-pick an empty commit' ' git checkout master && { + git cherry-pick empty-branch^ + test "$?" = 1 + } +' + +test_expect_success 'index lockfile was removed' ' + + test ! -f .git/index.lock + +' + +test_expect_success 'cherry-pick a commit with an empty message' ' + git checkout master && { git cherry-pick empty-branch test "$?" = 1 } |