sigh -- while the patch is correct -- the patch message clearly isn't.

I'll resubmit in a moment.

Lou

On 2/4/2016 9:23 PM, Lou Berger wrote:
>     Signed-off-by: Lou Berger <[email protected]>
> ---
>  bgpd/bgp_attr.c  | 20 ++++++++++++++++----
>  bgpd/bgp_route.c |  3 +++
>  2 files changed, 19 insertions(+), 4 deletions(-)
>
> diff --git a/bgpd/bgp_attr.c b/bgpd/bgp_attr.c
> index 731d704..3e6089f 100644
> --- a/bgpd/bgp_attr.c
> +++ b/bgpd/bgp_attr.c
> @@ -832,9 +832,15 @@ void
>  bgp_attr_flush (struct attr *attr)
>  {
>    if (attr->aspath && ! attr->aspath->refcnt)
> -    aspath_free (attr->aspath);
> +    {
> +      aspath_free (attr->aspath);
> +      attr->aspath = NULL;
> +    }
>    if (attr->community && ! attr->community->refcnt)
> -    community_free (attr->community);
> +    {
> +      community_free (attr->community);
> +      attr->community = NULL;
> +    }
>    if (attr->extra)
>      {
>        struct attr_extra *attre = attr->extra;
> @@ -842,9 +848,15 @@ bgp_attr_flush (struct attr *attr)
>        if (attre->ecommunity && ! attre->ecommunity->refcnt)
>          ecommunity_free (&attre->ecommunity);
>        if (attre->cluster && ! attre->cluster->refcnt)
> -        cluster_free (attre->cluster);
> +        {
> +          cluster_free (attre->cluster);
> +          attre->cluster = NULL;
> +        }
>        if (attre->transit && ! attre->transit->refcnt)
> -        transit_free (attre->transit);
> +        {
> +          transit_free (attre->transit);
> +          attre->transit = NULL;
> +        }
>        encap_free(attre->encap_subtlvs);
>        attre->encap_subtlvs = NULL;
>      }
> diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c
> index 50b951c..f3b7ca2 100644
> --- a/bgpd/bgp_route.c
> +++ b/bgpd/bgp_route.c
> @@ -2105,6 +2105,9 @@ bgp_update_main (struct peer *peer, struct prefix *p, 
> struct attr *attr,
>    const char *reason;
>    char buf[SU_ADDRSTRLEN];
>  
> +  memset (&new_attr, 0, sizeof(struct attr));
> +  memset (&new_extra, 0, sizeof(struct attr_extra));
> +
>    bgp = peer->bgp;
>    rn = bgp_afi_node_get (bgp->rib[afi][safi], afi, safi, p, prd);
>    



_______________________________________________
Quagga-dev mailing list
[email protected]
https://lists.quagga.net/mailman/listinfo/quagga-dev

Reply via email to