diff options
author | David Lamparter <equinox@diac24.net> | 2012-04-28 22:37:20 +0200 |
---|---|---|
committer | David Lamparter <equinox@diac24.net> | 2012-04-28 22:37:20 +0200 |
commit | fac3c2453a06bce773a3f4ae6834f5f9a317b88c (patch) | |
tree | 00b1e95d9fc2d148d1731967ccd104af3f7615c6 | |
parent | 27f689793a25a66cf62561ac1d1302e01983a805 (diff) |
bgpd: fix up multipath merge breakage
the BGP multipath code was developed against a pre-f6f434b Quagga where
bgp_attr_unintern and ecommunity_free took single-star pointers. They
now take double-star pointers.
* bgpd/bgp_mpath.c: fix up bgp_attr_unintern & ecommunity_free calls.
Signed-off-by: David Lamparter <equinox@diac24.net>
-rw-r--r-- | bgpd/bgp_mpath.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/bgpd/bgp_mpath.c b/bgpd/bgp_mpath.c index d07830d1..aa657d83 100644 --- a/bgpd/bgp_mpath.c +++ b/bgpd/bgp_mpath.c @@ -230,7 +230,7 @@ bgp_info_mpath_free (struct bgp_info_mpath **mpath) if (mpath && *mpath) { if ((*mpath)->mp_attr) - bgp_attr_unintern ((*mpath)->mp_attr); + bgp_attr_unintern (&(*mpath)->mp_attr); XFREE (MTYPE_BGP_MPATH_INFO, *mpath); *mpath = NULL; } @@ -605,7 +605,7 @@ bgp_info_mpath_aggregate_update (struct bgp_info *new_best, if (old_best && (old_best != new_best) && (old_attr = bgp_info_mpath_attr (old_best))) { - bgp_attr_unintern (old_attr); + bgp_attr_unintern (&old_attr); bgp_info_mpath_attr_set (old_best, NULL); } @@ -616,7 +616,7 @@ bgp_info_mpath_aggregate_update (struct bgp_info *new_best, { if ((new_attr = bgp_info_mpath_attr (new_best))) { - bgp_attr_unintern (new_attr); + bgp_attr_unintern (&new_attr); bgp_info_mpath_attr_set (new_best, NULL); SET_FLAG (new_best->flags, BGP_INFO_ATTR_CHANGED); } @@ -692,7 +692,7 @@ bgp_info_mpath_aggregate_update (struct bgp_info *new_best, { ecommerge = ecommunity_merge (ecomm, ae->ecommunity); ecomm = ecommunity_uniq_sort (ecommerge); - ecommunity_free (ecommerge); + ecommunity_free (&ecommerge); } else ecomm = ecommunity_dup (ae->ecommunity); @@ -728,10 +728,10 @@ bgp_info_mpath_aggregate_update (struct bgp_info *new_best, if (new_attr != bgp_info_mpath_attr (new_best)) { if ((old_attr = bgp_info_mpath_attr (new_best))) - bgp_attr_unintern (old_attr); + bgp_attr_unintern (&old_attr); bgp_info_mpath_attr_set (new_best, new_attr); SET_FLAG (new_best->flags, BGP_INFO_ATTR_CHANGED); } else - bgp_attr_unintern (new_attr); + bgp_attr_unintern (&new_attr); } |