[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