Code

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 7d68ef714eee5011d82952ca1829016c90827f61..c170715ba8fa49be40e4111bb02fa3f46e92fc8a 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 e51e505a9fb902ec7d4cedfa32052f03a04e612e..c10b28cf5731705b437793a58f5acd6c605ad579 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