From 2c048a3038fd4d94e150fbc1dfd2242325ca7db6 Mon Sep 17 00:00:00 2001 From: Christian Couder Date: Thu, 22 Jul 2010 15:18:29 +0200 Subject: [PATCH] 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 Acked-by: Jonathan Nieder Signed-off-by: Junio C Hamano --- builtin/revert.c | 2 +- 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 7d68ef714..c170715ba 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 e51e505a9..c10b28cf5 100755 --- a/t/t3505-cherry-pick-empty.sh +++ b/t/t3505-cherry-pick-empty.sh @@ -13,11 +13,29 @@ 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 -- 2.30.2