On Fri, Sep 24, 2021 at 08:10:10AM +0200, René Scharfe wrote: > Unusable entries of a damaged pack file are recorded in the oidset > bad_objects. Release it when we're done with the pack. > > This doesn't affect intact packs because an empty oidset requires > no allocation. Good catch. I wondered if this was related to your recent 09ef66179b (packfile: use oidset for bad objects, 2021-09-11), but we'd have just leaked the manual array before then. > diff --git a/packfile.c b/packfile.c > index 0e92bd7bd2..89402cfc69 100644 > --- a/packfile.c > +++ b/packfile.c > @@ -339,6 +339,7 @@ void close_pack(struct packed_git *p) > close_pack_fd(p); > close_pack_index(p); > close_pack_revindex(p); > + oidset_clear(&p->bad_objects); > } Looks obviously correct. -Peff