[PATCH] ICF: fix memory leak

Richard Biener richard.guenther@gmail.com
Tue Feb 9 17:37:40 GMT 2021


On Tue, Feb 9, 2021 at 6:17 PM Martin Liška <mliska@suse.cz> wrote:
>
> The following fixes a memory leak.
>
> Patch can bootstrap on x86_64-linux-gnu and survives regression tests.
>
> Ready to be installed?

OK.

> Thanks,
> Martin
>
> gcc/ChangeLog:
>
>         PR ipa/99003
>         * ipa-icf.c (sem_item::add_reference): Fix memory leak when
>         a reference exists.
> ---
>   gcc/ipa-icf.c | 7 +++++--
>   1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/gcc/ipa-icf.c b/gcc/ipa-icf.c
> index 435f567d72e..687ad8d45b7 100644
> --- a/gcc/ipa-icf.c
> +++ b/gcc/ipa-icf.c
> @@ -165,8 +165,11 @@ sem_item::add_reference (ref_map *refs,
>     unsigned index = reference_count++;
>     bool existed;
>
> -  vec<sem_item *> &v
> -    = refs->get_or_insert (new sem_usage_pair (target, index), &existed);
> +  sem_usage_pair *pair = new sem_usage_pair (target, index);
> +  vec<sem_item *> &v = refs->get_or_insert (pair, &existed);
> +  if (existed)
> +    delete pair;
> +
>     v.safe_push (this);
>     bitmap_set_bit (target->usage_index_bitmap, index);
>     refs_set.add (target->node);
> --
> 2.30.0
>


More information about the Gcc-patches mailing list