summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bgpd/bgp_updgrp_adv.c5
-rw-r--r--bgpd/bgp_vty.c4
-rw-r--r--lib/routemap.c6
3 files changed, 12 insertions, 3 deletions
diff --git a/bgpd/bgp_updgrp_adv.c b/bgpd/bgp_updgrp_adv.c
index a95a11b620..8a3f4567ca 100644
--- a/bgpd/bgp_updgrp_adv.c
+++ b/bgpd/bgp_updgrp_adv.c
@@ -573,8 +573,9 @@ subgroup_clear_table (struct update_subgroup *subgrp)
SUBGRP_FOREACH_ADJ_SAFE (subgrp, aout, taout)
{
- bgp_adj_out_remove_subgroup (aout->rn, aout, subgrp);
- bgp_unlock_node (aout->rn);
+ struct bgp_node *rn = aout->rn;
+ bgp_adj_out_remove_subgroup (rn, aout, subgrp);
+ bgp_unlock_node (rn);
}
}
diff --git a/bgpd/bgp_vty.c b/bgpd/bgp_vty.c
index 5dafac1e06..b0d96150a8 100644
--- a/bgpd/bgp_vty.c
+++ b/bgpd/bgp_vty.c
@@ -10317,6 +10317,10 @@ bgp_show_summary (struct vty *vty, struct bgp *bgp, int afi, int safi,
if (peer->afc[afi][safi])
{
+ memset(dn_flag, '\0', sizeof(dn_flag));
+ if (peer_dynamic_neighbor(peer))
+ dn_flag[0] = '*';
+
if (peer->hostname && bgp_flag_check(bgp, BGP_FLAG_SHOW_HOSTNAME))
sprintf(neighbor_buf, "%s%s(%s) ", dn_flag, peer->hostname, peer->host);
else
diff --git a/lib/routemap.c b/lib/routemap.c
index 7b07499533..ace4961f72 100644
--- a/lib/routemap.c
+++ b/lib/routemap.c
@@ -1845,9 +1845,13 @@ route_map_finish (void)
}
for (i = 1; i < ROUTE_MAP_DEP_MAX; i++)
- hash_free(route_map_dep_hash[i]);
+ {
+ hash_free(route_map_dep_hash[i]);
+ route_map_dep_hash[i] = NULL;
+ }
hash_free (route_map_master_hash);
+ route_map_master_hash = NULL;
}
/* Initialization of route map vector. */