On Wed, May 13, 2020 at 6:53 PM Dumitru Ceara <[email protected]> wrote:

> On 5/13/20 2:56 PM, Ilya Maximets wrote:
> > 'sset_array' allocates new array that must be freed by the caller:
> >
> >  640 bytes in 40 blocks are definitely lost in loss record 73 of 74
> >     at 0x483980B: malloc (vg_replace_malloc.c:309)
> >     by 0x4B4B94: xmalloc (util.c:138)
> >     by 0x4AEA03: sset_array (sset.c:344)
> >     by 0x424210: ovn_update_ipv6_prefix (ovn-northd.c:2726)
> >     by 0x424210: ovnnb_db_run (ovn-northd.c:11148)
> >     by 0x424210: ovn_db_run (ovn-northd.c:11692)
> >     by 0x408C78: main (ovn-northd.c:12055)
> >
> > 'sset' used here to store only one string, so it's not really needed.
> > Removing the 'ipv6_prefix_set' to simplify the code and avoid memory
> > leak.  New variable introduced to avoid casting issues with sparse
> > and -Wcast-align.
> >
> > Fixes: 5c1d2d230773 ("northd: Add logical flows for dhcpv6 pfd parsing")
> > Signed-off-by: Ilya Maximets <[email protected]>
> > ---
> >  northd/ovn-northd.c | 8 ++------
> >  1 file changed, 2 insertions(+), 6 deletions(-)
> >
> > diff --git a/northd/ovn-northd.c b/northd/ovn-northd.c
> > index b25152d74..aebc72152 100644
> > --- a/northd/ovn-northd.c
> > +++ b/northd/ovn-northd.c
> > @@ -2721,12 +2721,8 @@ ovn_update_ipv6_prefix(struct hmap *ports)
> >              continue;
> >          }
> >
> > -        struct sset ipv6_prefix_set =
> SSET_INITIALIZER(&ipv6_prefix_set);
> > -        sset_add(&ipv6_prefix_set, prefix);
> > -        nbrec_logical_router_port_set_ipv6_prefix(op->nbrp,
> > -
> sset_array(&ipv6_prefix_set),
> > -
> sset_count(&ipv6_prefix_set));
> > -        sset_destroy(&ipv6_prefix_set);
> > +        const char *prefix_ptr = prefix;
> > +        nbrec_logical_router_port_set_ipv6_prefix(op->nbrp,
> &prefix_ptr, 1);
> >      }
> >  }
> >
> >
>
> Looks good to me, thanks!
>
> Acked-by: Dumitru Ceara <[email protected]>
>

Thanks Ilya and Dumitru. I applied this patch to master.

Numan



>
> _______________________________________________
> dev mailing list
> [email protected]
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>
>
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to