summaryrefslogtreecommitdiff
path: root/bgpd/bgp_routemap.c
diff options
context:
space:
mode:
Diffstat (limited to 'bgpd/bgp_routemap.c')
-rw-r--r--bgpd/bgp_routemap.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/bgpd/bgp_routemap.c b/bgpd/bgp_routemap.c
index 060c68c0..a9de457d 100644
--- a/bgpd/bgp_routemap.c
+++ b/bgpd/bgp_routemap.c
@@ -124,19 +124,19 @@ route_match_peer (void *rule, struct prefix *prefix, route_map_object_t type,
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))