From: Jorge Boncompte [DTI2] Date: Mon, 7 May 2012 16:53:00 +0000 (+0000) Subject: bgpd: cleanup bgp_attr_unintern() X-Git-Tag: frr-2.0-rc1~1817 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=1a2fd7078f943e2207ee0f1b0dafdcd2d9c81925;p=mirror%2Ffrr.git bgpd: cleanup bgp_attr_unintern() Signed-off-by: Jorge Boncompte [DTI2] Signed-off-by: David Lamparter --- diff --git a/bgpd/bgp_attr.c b/bgpd/bgp_attr.c index bb21fe19dd..974978210e 100644 --- a/bgpd/bgp_attr.c +++ b/bgpd/bgp_attr.c @@ -652,30 +652,31 @@ bgp_attr_unintern_sub (struct attr *attr) /* Free bgp attribute and aspath. */ void -bgp_attr_unintern (struct attr **attr) +bgp_attr_unintern (struct attr **pattr) { + struct attr *attr = *pattr; struct attr *ret; struct attr tmp; /* Decrement attribute reference. */ - (*attr)->refcnt--; + attr->refcnt--; - tmp = *(*attr); + tmp = *attr; - if ((*attr)->extra) + if (attr->extra) { tmp.extra = bgp_attr_extra_new (); - memcpy (tmp.extra, (*attr)->extra, sizeof (struct attr_extra)); + memcpy (tmp.extra, attr->extra, sizeof (struct attr_extra)); } /* If reference becomes zero then free attribute object. */ - if ((*attr)->refcnt == 0) - { - ret = hash_release (attrhash, *attr); + if (attr->refcnt == 0) + { + ret = hash_release (attrhash, attr); assert (ret != NULL); - bgp_attr_extra_free (*attr); - XFREE (MTYPE_ATTR, *attr); - *attr = NULL; + bgp_attr_extra_free (attr); + XFREE (MTYPE_ATTR, attr); + *pattr = NULL; } bgp_attr_unintern_sub (&tmp);