summaryrefslogtreecommitdiff
path: root/commit.h
diff options
context:
space:
mode:
authorJeff King <peff@peff.net>2013-10-24 08:52:36 (GMT)
committerJunio C Hamano <gitster@pobox.com>2013-10-24 22:43:50 (GMT)
commit7059dccc6c60a872a314b19ac17702065a71d6bd (patch)
tree7fd82703079885e1adb864e8a8f185fdc6b45c8e /commit.h
parente230c568c4b9a991e3175e5f65171a566fd8e39c (diff)
downloadgit-7059dccc6c60a872a314b19ac17702065a71d6bd.zip
git-7059dccc6c60a872a314b19ac17702065a71d6bd.tar.gz
git-7059dccc6c60a872a314b19ac17702065a71d6bd.tar.bz2
log_tree_diff: die when we fail to parse a commit
We currently call parse_commit and then assume we can dereference the resulting "tree" struct field. If parsing failed, however, that field is NULL and we end up segfaulting. Instead of a segfault, let's print an error message and die a little more gracefully. Note that this should never happen in practice, but may happen in a corrupt repository. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'commit.h')
-rw-r--r--commit.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/commit.h b/commit.h
index d912a9d..a3645da 100644
--- a/commit.h
+++ b/commit.h
@@ -49,6 +49,7 @@ struct commit *lookup_commit_or_die(const unsigned char *sha1, const char *ref_n
int parse_commit_buffer(struct commit *item, const void *buffer, unsigned long size);
int parse_commit(struct commit *item);
+void parse_commit_or_die(struct commit *item);
/* Find beginning and length of commit subject. */
int find_commit_subject(const char *commit_buffer, const char **subject);