Junio C Hamano <gitster@xxxxxxxxx> writes: > I noticed that nobody releases the resource held by this new oidset. > Shouldn't we do so in revision.c:release_revisions()? It seems that linux-leaks CI job noticed the same. https://github.com/git/git/actions/runs/6633599458/job/18021612518#step:5:2949 I wonder if the following is sufficient? revision.c | 2 ++ 1 file changed, 2 insertions(+) diff --git c/revision.c w/revision.c index 724a116401..7a67ff74dc 100644 --- c/revision.c +++ w/revision.c @@ -3136,6 +3136,8 @@ void release_revisions(struct rev_info *revs) clear_decoration(&revs->merge_simplification, free); clear_decoration(&revs->treesame, free); line_log_free(revs); + if (revs->do_not_die_on_missing_objects) + oidset_clear(&revs->missing_objects); } static void add_child(struct rev_info *revs, struct commit *parent, struct commit *child)