2005-05-19 Paul Jakma <paul@dishone.st>
* bgp_fsm.c: (bgp_stop) use sockunion_free, not XFREE..
* bgp_network.c: (bgp_getsockname) ditto
* bgp_routemap.c: (route_match_peer) ditto, als use a ret value and
remove one sockunion_free.
* bgpd.c: (peer_delete) ditto
diff --git a/bgpd/bgp_routemap.c b/bgpd/bgp_routemap.c
index 060c68c..a9de457 100644
--- a/bgpd/bgp_routemap.c
+++ b/bgpd/bgp_routemap.c
@@ -124,19 +124,19 @@
su2 = sockunion_str2su ("0.0.0.0");
if ( sockunion_same (su, su2) )
{
+ int ret;
if ( CHECK_FLAG (peer->rmap_type, PEER_RMAP_TYPE_NETWORK) ||
CHECK_FLAG (peer->rmap_type, PEER_RMAP_TYPE_REDISTRIBUTE) ||
CHECK_FLAG (peer->rmap_type, PEER_RMAP_TYPE_DEFAULT))
- {
- XFREE (MTYPE_SOCKUNION, su2);
-
- return RMAP_MATCH;
- }
+ ret = RMAP_MATCH;
else
- return RMAP_NOMATCH;
+ ret = RMAP_NOMATCH;
+
+ sockunion_free (su2);
+ return ret;
}
- XFREE (MTYPE_SOCKUNION, su2);
-
+ sockunion_free (su2);
+
if (! CHECK_FLAG (peer->sflags, PEER_STATUS_GROUP))
{
if (sockunion_same (su, &peer->su))