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

[PATCH] reading $GIT_DIR/info/graft - skip comments correctly.

From
Junio C Hamano <junkio@cox.net>
Date
Apr 16, 2006, 21:26 UTC
Message-ID
<7v64l9qkjd.fsf@assigned-by-dhcp.cox.net>
In-Reply-To
<20060416123535.GT12638@nowhere.earth>
Noticed by Yann Dirson.
Signed-off-by: Junio C Hamano <junkio@cox.net>
---
  Yann Dirson <ydirson@altern.org> writes:
  > While looking at allowing empty lines in grafts files, I discovered
  > that comments had already been implemented.  However, current
  > git-read-tree segfaults when there is a comment line in info/grafts:
  >
  > dwitch@gandelf:/export/work/yann/git/git$ cat .git/info/grafts 
  > c118c026e44f02c3dbad00d924285eef2340f700
  > # foo
  > dwitch@gandelf:/export/work/yann/git/git$ git-read-tree master
  > Segmentation fault
  Thanks for noticing.
 commit.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)
5bc4ce589646faf72c7a77a5d32d9496ccc8d456
diff --git a/commit.c b/commit.c
index ca25574..05c4c92 100644
--- a/commit.c
+++ b/commit.c
@@ -161,7 +161,7 @@ struct commit_graft *read_graft_line(cha
 	if (buf[len-1] == '\n')
 		buf[--len] = 0;
 	if (buf[0] == '#')
-		return 0;
+		return NULL;
 	if ((len + 1) % 41) {
 	bad_graft_data:
 		error("bad graft data: %s", buf);
@@ -192,6 +192,8 @@ int read_graft_file(const char *graft_fi
 		/* The format is just "Commit Parent1 Parent2 ...\n" */
 		int len = strlen(buf);
 		struct commit_graft *graft = read_graft_line(buf, len);
+		if (!graft)
+			continue;
 		if (register_commit_graft(graft, 1))
 			error("duplicate graft data: %s", buf);
 	}
-- 
1.3.0.rc4.g4024
Previous: Yann Dirson
Message 2 of 2 in “[BUG] comments in grafts file broken in current master”
  1. Yann DirsonApr 16, 2006
  2. reading $GIT_DIR/info/graft - skip comments correctly.Junio C Hamano, Apr 16, 2006

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.