Re: [PATCH 1/3] dir: fix leak of parent_hashmap and recursive_hashmap
- From
Elijah Newren <newren@gmail.com>
- Date
- Aug 17, 2020, 16:57 UTC
- Message-ID
- <CABPp-BFBcMaPTvxE_PYqpHzo5zUG=Lv7Y+Oq2yCRYxRTgRQgLA@mail.gmail.com>
- In-Reply-To
- <20200816084328.GA1221900@coredump.intra.peff.net>
On Sun, Aug 16, 2020 at 1:43 AM Jeff King <peff@peff.net> wrote:
Show 15 quoted lines
>
> On Sun, Aug 16, 2020 at 06:59:09AM +0000, Elijah Newren via GitGitGadget wrote:
>
> > From: Elijah Newren <newren@gmail.com>
> >
> > Commit 96cc8ab531 ("sparse-checkout: use hashmaps for cone patterns",
> > 2019-11-21) added a parent_hashmap and recursive_hashmap to each struct
> > pattern_list and initialized these in add_patterns_from_buffer() but did
> > not make sure to add necessary code to clear_pattern_list() to free
> > these new structures. Call hashmap_free_() on each to plug this memory
> > leak.
>
> Beat you to it. :)
>
> See: https://lore.kernel.org/git/20200814111049.GA4101811@coredump.intra.peff.net/Doh! However, you do need to take care to free the hash table in addition to the hash entries, or you'll still have a leak (I actually made the same mistake)... I'll add those comments on your patch, though.