From: Martin Koegler Date: Mon, 18 Feb 2008 20:48:03 GMT Subject: [PATCH 12/12] check return value from parse_commit Message-ID: <12033676844141-git-send-email-mkoegler@auto.tuwien.ac.at> In-Reply-To: <12033676841015-git-send-email-mkoegler@auto.tuwien.ac.at> Signed-off-by: Martin Koegler --- commit.c | 3 +-- shallow.c | 3 ++- upload-pack.c | 3 ++- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/commit.c b/commit.c index 5d57450..22ce776 100644 --- a/commit.c +++ b/commit.c @@ -387,8 +387,7 @@ struct commit *pop_most_recent_commit(struct commit_list **list, while (parents) { struct commit *commit = parents->item; - parse_commit(commit); - if (!(commit->object.flags & mark)) { + if (!parse_commit(commit) && !(commit->object.flags & mark)) { commit->object.flags |= mark; insert_by_date(commit, list); } diff --git a/shallow.c b/shallow.c index 212e62b..4d90eda 100644 --- a/shallow.c +++ b/shallow.c @@ -70,7 +70,8 @@ struct commit_list *get_shallow_commits(struct object_array *heads, int depth, cur_depth = *(int *)commit->util; } } - parse_commit(commit); + if (parse_commit(commit)) + die("invalid commit"); commit->object.flags |= not_shallow_flag; cur_depth++; for (p = commit->parents, commit = NULL; p; p = p->next) { diff --git a/upload-pack.c b/upload-pack.c index 53676ee..20d5462 100644 --- a/upload-pack.c +++ b/upload-pack.c @@ -534,7 +534,8 @@ static void receive_needs(void) /* make sure the real parents are parsed */ unregister_shallow(object->sha1); object->parsed = 0; - parse_commit((struct commit *)object); + if (parse_commit((struct commit *)object)) + die("invalid commit"); parents = ((struct commit *)object)->parents; while (parents) { add_object_array(&parents->item->object, -- 1.5.4.1.g96b77