On Sun, Aug 16, 2020 at 1:43 AM Jeff King <peff@xxxxxxxx> wrote: > > On Sun, Aug 16, 2020 at 06:59:09AM +0000, Elijah Newren via GitGitGadget wrote: > > > From: Elijah Newren <newren@xxxxxxxxx> > > > > 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@xxxxxxxxxxxxxxxxxxxxxxx/ 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.