[PATCH] reading $GIT_DIR/info/graft - skip comments correctly.
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:42:23
Subsystem:
the rest · Maintainer:
Linus Torvalds
Noticed by Yann Dirson. Signed-off-by: Junio C Hamano <redacted> --- Yann Dirson [off-list ref] 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