]> Kevux Git Server - rit/commitdiff
revert: fix off by one read when searching the end of a commit subject
authorChristian Couder <chriscool@tuxfamily.org>
Thu, 22 Jul 2010 13:18:29 +0000 (15:18 +0200)
committerJunio C Hamano <gitster@pobox.com>
Fri, 23 Jul 2010 23:08:14 +0000 (16:08 -0700)
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>
builtin/revert.c
t/t3505-cherry-pick-empty.sh

index 7d68ef7..c170715 100644 (file)
@@ -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;
index e51e505..c10b28c 100755 (executable)
@@ -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