From: Jeff King <p...@peff.net> We free the tree buffer during traversal to save memory. However, we do not reset the "parsed" flag, which leaves a landmine for the next person to use the tree. When they call parse_tree it will do nothing, and they will segfault when they try to access the buffer.
This hasn't mattered until now because most rev-list traversals would exit the program immediately afterwards, but the bitmap writer wants to access the trees twice. --- list-objects.c | 1 + 1 file changed, 1 insertion(+) diff --git a/list-objects.c b/list-objects.c index 3dd4a96..1251180 100644 --- a/list-objects.c +++ b/list-objects.c @@ -125,6 +125,7 @@ static void process_tree(struct rev_info *revs, strbuf_setlen(base, baselen); free(tree->buffer); tree->buffer = NULL; + tree->object.parsed = 0; } static void mark_edge_parents_uninteresting(struct commit *commit, -- 184.108.40.206 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html