On Tue, Oct 2, 2018 at 10:55 AM Phillip Wood <phillip.wood@xxxxxxxxxxxx> wrote: > > From: Phillip Wood <phillip.wood@xxxxxxxxxxxxx> > > Free the hashmap items as well as the hashmap itself. This was found > with asan. > > Signed-off-by: Phillip Wood <phillip.wood@xxxxxxxxxxxxx> > --- > diff.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/diff.c b/diff.c > index 4464feacf8..94cc1b5592 100644 > --- a/diff.c > +++ b/diff.c > @@ -5770,8 +5770,8 @@ static void diff_flush_patch_all_file_pairs(struct diff_options *o) > if (o->color_moved == COLOR_MOVED_ZEBRA_DIM) > dim_moved_lines(o); > > - hashmap_free(&add_lines, 0); > - hashmap_free(&del_lines, 0); > + hashmap_free(&add_lines, 1); > + hashmap_free(&del_lines, 1); And this is sufficient as the entries themselves are moved_entry, which only contain pointers (to o->emitted_symbols), which are freed later. There is nothing in there that needs extra free-ing. Thanks, Stefan