aboutsummaryrefslogtreecommitdiffstats
path: root/commit.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2019-05-09 00:37:25 +0900
committerJunio C Hamano <gitster@pobox.com>2019-05-09 00:37:25 +0900
commitea2dab1abbf14bfa7dd5299c9bb86d0f70aae019 (patch)
tree053b83263d2b4c5d5ab6b0b51a9dcfdb864808bf /commit.c
parent0b179f3175d1a152b1d22ce8352efda34b258ce2 (diff)
parent97dd512af7ce4afb4f638ef73b4770921c8ca3aa (diff)
downloadgit-ea2dab1abbf14bfa7dd5299c9bb86d0f70aae019.tar.gz
Merge branch 'tb/unexpected'
Code tightening against a "wrong" object appearing where an object of a different type is expected, instead of blindly assuming that the connection between objects are correctly made. * tb/unexpected: rev-list: detect broken root trees rev-list: let traversal die when --missing is not in use get_commit_tree(): return NULL for broken tree list-objects.c: handle unexpected non-tree entries list-objects.c: handle unexpected non-blob entries t: introduce tests for unexpected object types t: move 'hex2oct' into test-lib-functions.sh
Diffstat (limited to 'commit.c')
-rw-r--r--commit.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/commit.c b/commit.c
index a9e74647dc..8fa1883c61 100644
--- a/commit.c
+++ b/commit.c
@@ -351,10 +351,10 @@ struct tree *repo_get_commit_tree(struct repository *r,
if (commit->maybe_tree || !commit->object.parsed)
return commit->maybe_tree;
- if (commit->graph_pos == COMMIT_NOT_FROM_GRAPH)
- BUG("commit has NULL tree, but was not loaded from commit-graph");
+ if (commit->graph_pos != COMMIT_NOT_FROM_GRAPH)
+ return get_commit_tree_in_graph(r, commit);
- return get_commit_tree_in_graph(r, commit);
+ return NULL;
}
struct object_id *get_commit_tree_oid(const struct commit *commit)