On Tue, Oct 2, 2018 at 10:55 AM Phillip Wood <phillip.w...@talktalk.net> wrote:
>
> From: Phillip Wood <phillip.w...@dunelm.org.uk>
>
> Free the hashmap items as well as the hashmap itself. This was found
> with asan.
>
> Signed-off-by: Phillip Wood <phillip.w...@dunelm.org.uk>
> ---
>  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

Reply via email to