git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 1/7] revert: fix off by one read when searching the end of a commit subject

From
Christian Couder <chriscool@tuxfamily.org>
Date
Jul 22, 2010, 13:18 UTC
Message-ID
<20100722131836.2148.57468.chriscool@tuxfamily.org>
In-Reply-To
<20100722131141.2148.63850.chriscool@tuxfamily.org>

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>
---
 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 8b9d829..3092233 100644
--- a/builtin/revert.c
+++ b/builtin/revert.c
@@ -131,7 +131,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 e51e505..c10b28c 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
 	}
-- 
1.7.2.rc3.267.g400b3
Previous: Christian CouderNext: Jonathan Nieder
Message 2 of 12 in “find commit subject refactoring”
  1. 0/7 find commit subject refactoringChristian Couder, Jul 22, 2010
  2. 1/7 revert: fix off by one read when searching the end of a commit subjectChristian Couder, Jul 22, 2010
  3. Jonathan NiederJul 22, 2010
  4. 2/7 revert: refactor code to find commit subject in find_commit_subject()Christian Couder, Jul 22, 2010
  5. Peter BaumannJul 22, 2010
  6. Christian CouderJul 23, 2010
  7. 3/7 revert: rename subject related variables in get_message()Christian Couder, Jul 22, 2010
  8. 4/7 commit: move find_commit_subject() into commit.{h,c}Christian Couder, Jul 22, 2010
  9. 5/7 bisect: use find_commit_subject() instead of custom codeChristian Couder, Jul 22, 2010
  10. 6/7 merge-recursive: use find_commit_subject() instead of custom codeChristian Couder, Jul 22, 2010
  11. 7/7 blame: use find_commit_subject() instead of custom codeChristian Couder, Jul 22, 2010
  12. Junio C HamanoJul 22, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.