mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-05 01:14:48 +00:00
*: remove null check before XFREE
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
This commit is contained in:
parent
1383ff9c51
commit
0a22ddfbb1
@ -255,8 +255,7 @@ void bgp_sync_delete(struct peer *peer)
|
||||
safi_t safi;
|
||||
|
||||
FOREACH_AFI_SAFI (afi, safi) {
|
||||
if (peer->sync[afi][safi])
|
||||
XFREE(MTYPE_BGP_SYNCHRONISE, peer->sync[afi][safi]);
|
||||
XFREE(MTYPE_BGP_SYNCHRONISE, peer->sync[afi][safi]);
|
||||
peer->sync[afi][safi] = NULL;
|
||||
}
|
||||
}
|
||||
|
@ -309,8 +309,7 @@ void aspath_free(struct aspath *aspath)
|
||||
return;
|
||||
if (aspath->segments)
|
||||
assegment_free_all(aspath->segments);
|
||||
if (aspath->str)
|
||||
XFREE(MTYPE_AS_STR, aspath->str);
|
||||
XFREE(MTYPE_AS_STR, aspath->str);
|
||||
|
||||
if (aspath->json) {
|
||||
json_object_free(aspath->json);
|
||||
@ -620,8 +619,7 @@ static void aspath_make_str_count(struct aspath *as, bool make_json)
|
||||
|
||||
void aspath_str_update(struct aspath *as, bool make_json)
|
||||
{
|
||||
if (as->str)
|
||||
XFREE(MTYPE_AS_STR, as->str);
|
||||
XFREE(MTYPE_AS_STR, as->str);
|
||||
|
||||
if (as->json) {
|
||||
json_object_free(as->json);
|
||||
|
@ -158,8 +158,7 @@ static bool cluster_hash_cmp(const void *p1, const void *p2)
|
||||
|
||||
static void cluster_free(struct cluster_list *cluster)
|
||||
{
|
||||
if (cluster->list)
|
||||
XFREE(MTYPE_CLUSTER_VAL, cluster->list);
|
||||
XFREE(MTYPE_CLUSTER_VAL, cluster->list);
|
||||
XFREE(MTYPE_CLUSTER, cluster);
|
||||
}
|
||||
|
||||
@ -400,8 +399,7 @@ static struct hash *transit_hash;
|
||||
|
||||
static void transit_free(struct transit *transit)
|
||||
{
|
||||
if (transit->val)
|
||||
XFREE(MTYPE_TRANSIT_VAL, transit->val);
|
||||
XFREE(MTYPE_TRANSIT_VAL, transit->val);
|
||||
XFREE(MTYPE_TRANSIT, transit);
|
||||
}
|
||||
|
||||
|
@ -100,16 +100,14 @@ static void community_entry_free(struct community_entry *entry)
|
||||
case EXTCOMMUNITY_LIST_STANDARD:
|
||||
/* In case of standard extcommunity-list, configuration string
|
||||
is made by ecommunity_ecom2str(). */
|
||||
if (entry->config)
|
||||
XFREE(MTYPE_ECOMMUNITY_STR, entry->config);
|
||||
XFREE(MTYPE_ECOMMUNITY_STR, entry->config);
|
||||
if (entry->u.ecom)
|
||||
ecommunity_free(&entry->u.ecom);
|
||||
break;
|
||||
case COMMUNITY_LIST_EXPANDED:
|
||||
case EXTCOMMUNITY_LIST_EXPANDED:
|
||||
case LARGE_COMMUNITY_LIST_EXPANDED:
|
||||
if (entry->config)
|
||||
XFREE(MTYPE_COMMUNITY_LIST_CONFIG, entry->config);
|
||||
XFREE(MTYPE_COMMUNITY_LIST_CONFIG, entry->config);
|
||||
if (entry->reg)
|
||||
bgp_regex_free(entry->reg);
|
||||
default:
|
||||
@ -127,8 +125,7 @@ static struct community_list *community_list_new(void)
|
||||
/* Free community-list. */
|
||||
static void community_list_free(struct community_list *list)
|
||||
{
|
||||
if (list->name)
|
||||
XFREE(MTYPE_COMMUNITY_LIST_NAME, list->name);
|
||||
XFREE(MTYPE_COMMUNITY_LIST_NAME, list->name);
|
||||
XFREE(MTYPE_COMMUNITY_LIST, list);
|
||||
}
|
||||
|
||||
|
@ -41,10 +41,8 @@ static struct community *community_new(void)
|
||||
/* Free communities value. */
|
||||
void community_free(struct community **com)
|
||||
{
|
||||
if ((*com)->val)
|
||||
XFREE(MTYPE_COMMUNITY_VAL, (*com)->val);
|
||||
if ((*com)->str)
|
||||
XFREE(MTYPE_COMMUNITY_STR, (*com)->str);
|
||||
XFREE(MTYPE_COMMUNITY_VAL, (*com)->val);
|
||||
XFREE(MTYPE_COMMUNITY_STR, (*com)->str);
|
||||
|
||||
if ((*com)->json) {
|
||||
json_object_free((*com)->json);
|
||||
|
@ -60,10 +60,8 @@ void ecommunity_strfree(char **s)
|
||||
/* Allocate ecommunities. */
|
||||
void ecommunity_free(struct ecommunity **ecom)
|
||||
{
|
||||
if ((*ecom)->val)
|
||||
XFREE(MTYPE_ECOMMUNITY_VAL, (*ecom)->val);
|
||||
if ((*ecom)->str)
|
||||
XFREE(MTYPE_ECOMMUNITY_STR, (*ecom)->str);
|
||||
XFREE(MTYPE_ECOMMUNITY_VAL, (*ecom)->val);
|
||||
XFREE(MTYPE_ECOMMUNITY_STR, (*ecom)->str);
|
||||
XFREE(MTYPE_ECOMMUNITY, *ecom);
|
||||
}
|
||||
|
||||
|
@ -401,8 +401,7 @@ void bgp_encap_type_vxlan_to_tlv(
|
||||
|
||||
if (bet == NULL || !bet->vnid)
|
||||
return;
|
||||
if (attr->encap_subtlvs)
|
||||
XFREE(MTYPE_ENCAP_TLV, attr->encap_subtlvs);
|
||||
XFREE(MTYPE_ENCAP_TLV, attr->encap_subtlvs);
|
||||
tlv = XCALLOC(MTYPE_ENCAP_TLV,
|
||||
sizeof(struct bgp_attr_encap_subtlv) + 12);
|
||||
tlv->type = 1; /* encapsulation type */
|
||||
|
@ -95,8 +95,7 @@ static void as_filter_free(struct as_filter *asfilter)
|
||||
{
|
||||
if (asfilter->reg)
|
||||
bgp_regex_free(asfilter->reg);
|
||||
if (asfilter->reg_str)
|
||||
XFREE(MTYPE_AS_FILTER_STR, asfilter->reg_str);
|
||||
XFREE(MTYPE_AS_FILTER_STR, asfilter->reg_str);
|
||||
XFREE(MTYPE_AS_FILTER, asfilter);
|
||||
}
|
||||
|
||||
@ -338,8 +337,7 @@ static void as_list_filter_delete(struct as_list *aslist,
|
||||
/* Run hook function. */
|
||||
if (as_list_master.delete_hook)
|
||||
(*as_list_master.delete_hook)(name);
|
||||
if (name)
|
||||
XFREE(MTYPE_AS_STR, name);
|
||||
XFREE(MTYPE_AS_STR, name);
|
||||
}
|
||||
|
||||
static int as_filter_match(struct as_filter *asfilter, struct aspath *aspath)
|
||||
|
@ -180,14 +180,12 @@ static void lp_cbq_item_free(struct work_queue *wq, void *data)
|
||||
|
||||
static void lp_lcb_free(void *goner)
|
||||
{
|
||||
if (goner)
|
||||
XFREE(MTYPE_BGP_LABEL_CB, goner);
|
||||
XFREE(MTYPE_BGP_LABEL_CB, goner);
|
||||
}
|
||||
|
||||
static void lp_chunk_free(void *goner)
|
||||
{
|
||||
if (goner)
|
||||
XFREE(MTYPE_BGP_LABEL_CHUNK, goner);
|
||||
XFREE(MTYPE_BGP_LABEL_CHUNK, goner);
|
||||
}
|
||||
|
||||
void bgp_lp_init(struct thread_master *master, struct labelpool *pool)
|
||||
|
@ -45,10 +45,8 @@ static struct lcommunity *lcommunity_new(void)
|
||||
/* Allocate lcommunities. */
|
||||
void lcommunity_free(struct lcommunity **lcom)
|
||||
{
|
||||
if ((*lcom)->val)
|
||||
XFREE(MTYPE_LCOMMUNITY_VAL, (*lcom)->val);
|
||||
if ((*lcom)->str)
|
||||
XFREE(MTYPE_LCOMMUNITY_STR, (*lcom)->str);
|
||||
XFREE(MTYPE_LCOMMUNITY_VAL, (*lcom)->val);
|
||||
XFREE(MTYPE_LCOMMUNITY_STR, (*lcom)->str);
|
||||
XFREE(MTYPE_LCOMMUNITY, *lcom);
|
||||
}
|
||||
|
||||
|
@ -155,8 +155,7 @@ int str2prefix_rd(const char *str, struct prefix_rd *prd)
|
||||
out:
|
||||
if (s)
|
||||
stream_free(s);
|
||||
if (half)
|
||||
XFREE(MTYPE_TMP, half);
|
||||
XFREE(MTYPE_TMP, half);
|
||||
return lret;
|
||||
}
|
||||
|
||||
|
@ -4464,12 +4464,10 @@ static struct bgp_static *bgp_static_new(void)
|
||||
|
||||
static void bgp_static_free(struct bgp_static *bgp_static)
|
||||
{
|
||||
if (bgp_static->rmap.name)
|
||||
XFREE(MTYPE_ROUTE_MAP_NAME, bgp_static->rmap.name);
|
||||
XFREE(MTYPE_ROUTE_MAP_NAME, bgp_static->rmap.name);
|
||||
route_map_counter_decrement(bgp_static->rmap.map);
|
||||
|
||||
if (bgp_static->eth_s_id)
|
||||
XFREE(MTYPE_ATTR, bgp_static->eth_s_id);
|
||||
XFREE(MTYPE_ATTR, bgp_static->eth_s_id);
|
||||
XFREE(MTYPE_BGP_STATIC, bgp_static);
|
||||
}
|
||||
|
||||
@ -5029,9 +5027,8 @@ static int bgp_static_set(struct vty *vty, const char *negate,
|
||||
bgp_static->backdoor = backdoor;
|
||||
|
||||
if (rmap) {
|
||||
if (bgp_static->rmap.name)
|
||||
XFREE(MTYPE_ROUTE_MAP_NAME,
|
||||
bgp_static->rmap.name);
|
||||
XFREE(MTYPE_ROUTE_MAP_NAME,
|
||||
bgp_static->rmap.name);
|
||||
route_map_counter_decrement(
|
||||
bgp_static->rmap.map);
|
||||
bgp_static->rmap.name =
|
||||
@ -5041,9 +5038,8 @@ static int bgp_static_set(struct vty *vty, const char *negate,
|
||||
route_map_counter_increment(
|
||||
bgp_static->rmap.map);
|
||||
} else {
|
||||
if (bgp_static->rmap.name)
|
||||
XFREE(MTYPE_ROUTE_MAP_NAME,
|
||||
bgp_static->rmap.name);
|
||||
XFREE(MTYPE_ROUTE_MAP_NAME,
|
||||
bgp_static->rmap.name);
|
||||
route_map_counter_decrement(
|
||||
bgp_static->rmap.map);
|
||||
bgp_static->rmap.name = NULL;
|
||||
@ -5061,9 +5057,8 @@ static int bgp_static_set(struct vty *vty, const char *negate,
|
||||
bgp_static->label_index = label_index;
|
||||
|
||||
if (rmap) {
|
||||
if (bgp_static->rmap.name)
|
||||
XFREE(MTYPE_ROUTE_MAP_NAME,
|
||||
bgp_static->rmap.name);
|
||||
XFREE(MTYPE_ROUTE_MAP_NAME,
|
||||
bgp_static->rmap.name);
|
||||
route_map_counter_decrement(
|
||||
bgp_static->rmap.map);
|
||||
bgp_static->rmap.name =
|
||||
@ -5347,9 +5342,7 @@ int bgp_static_set_safi(afi_t afi, safi_t safi, struct vty *vty,
|
||||
bgp_static->prd = prd;
|
||||
|
||||
if (rmap_str) {
|
||||
if (bgp_static->rmap.name)
|
||||
XFREE(MTYPE_ROUTE_MAP_NAME,
|
||||
bgp_static->rmap.name);
|
||||
XFREE(MTYPE_ROUTE_MAP_NAME, bgp_static->rmap.name);
|
||||
route_map_counter_decrement(bgp_static->rmap.map);
|
||||
bgp_static->rmap.name =
|
||||
XSTRDUP(MTYPE_ROUTE_MAP_NAME, rmap_str);
|
||||
@ -5456,15 +5449,13 @@ static int bgp_table_map_set(struct vty *vty, afi_t afi, safi_t safi,
|
||||
|
||||
rmap = &bgp->table_map[afi][safi];
|
||||
if (rmap_name) {
|
||||
if (rmap->name)
|
||||
XFREE(MTYPE_ROUTE_MAP_NAME, rmap->name);
|
||||
XFREE(MTYPE_ROUTE_MAP_NAME, rmap->name);
|
||||
route_map_counter_decrement(rmap->map);
|
||||
rmap->name = XSTRDUP(MTYPE_ROUTE_MAP_NAME, rmap_name);
|
||||
rmap->map = route_map_lookup_by_name(rmap_name);
|
||||
route_map_counter_increment(rmap->map);
|
||||
} else {
|
||||
if (rmap->name)
|
||||
XFREE(MTYPE_ROUTE_MAP_NAME, rmap->name);
|
||||
XFREE(MTYPE_ROUTE_MAP_NAME, rmap->name);
|
||||
route_map_counter_decrement(rmap->map);
|
||||
rmap->name = NULL;
|
||||
rmap->map = NULL;
|
||||
@ -5483,8 +5474,7 @@ static int bgp_table_map_unset(struct vty *vty, afi_t afi, safi_t safi,
|
||||
struct bgp_rmap *rmap;
|
||||
|
||||
rmap = &bgp->table_map[afi][safi];
|
||||
if (rmap->name)
|
||||
XFREE(MTYPE_ROUTE_MAP_NAME, rmap->name);
|
||||
XFREE(MTYPE_ROUTE_MAP_NAME, rmap->name);
|
||||
route_map_counter_decrement(rmap->map);
|
||||
rmap->name = NULL;
|
||||
rmap->map = NULL;
|
||||
@ -11254,8 +11244,7 @@ static int bgp_distance_unset(struct vty *vty, const char *distance_str,
|
||||
return CMD_WARNING_CONFIG_FAILED;
|
||||
}
|
||||
|
||||
if (bdistance->access_list)
|
||||
XFREE(MTYPE_AS_LIST, bdistance->access_list);
|
||||
XFREE(MTYPE_AS_LIST, bdistance->access_list);
|
||||
bgp_distance_free(bdistance);
|
||||
|
||||
bgp_node_set_bgp_path_info(rn, NULL);
|
||||
@ -11842,10 +11831,8 @@ static void bgp_config_write_network_evpn(struct vty *vty, struct bgp *bgp,
|
||||
decode_label(&bgp_static->label), esi, buf2,
|
||||
macrouter);
|
||||
|
||||
if (macrouter)
|
||||
XFREE(MTYPE_TMP, macrouter);
|
||||
if (esi)
|
||||
XFREE(MTYPE_TMP, esi);
|
||||
XFREE(MTYPE_TMP, macrouter);
|
||||
XFREE(MTYPE_TMP, esi);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -322,8 +322,7 @@ static void route_match_peer_free(void *rule)
|
||||
{
|
||||
struct bgp_match_peer_compiled *pc = rule;
|
||||
|
||||
if (pc->interface)
|
||||
XFREE(MTYPE_ROUTE_MAP_COMPILED, pc->interface);
|
||||
XFREE(MTYPE_ROUTE_MAP_COMPILED, pc->interface);
|
||||
|
||||
XFREE(MTYPE_ROUTE_MAP_COMPILED, rule);
|
||||
}
|
||||
@ -1548,8 +1547,7 @@ static void route_set_ip_nexthop_free(void *rule)
|
||||
{
|
||||
struct rmap_ip_nexthop_set *rins = rule;
|
||||
|
||||
if (rins->address)
|
||||
XFREE(MTYPE_ROUTE_MAP_COMPILED, rins->address);
|
||||
XFREE(MTYPE_ROUTE_MAP_COMPILED, rins->address);
|
||||
|
||||
XFREE(MTYPE_ROUTE_MAP_COMPILED, rins);
|
||||
}
|
||||
@ -3098,10 +3096,8 @@ static int bgp_route_match_delete(struct vty *vty, const char *command,
|
||||
break;
|
||||
}
|
||||
|
||||
if (dep_name)
|
||||
XFREE(MTYPE_ROUTE_MAP_RULE, dep_name);
|
||||
if (rmap_name)
|
||||
XFREE(MTYPE_ROUTE_MAP_NAME, rmap_name);
|
||||
XFREE(MTYPE_ROUTE_MAP_RULE, dep_name);
|
||||
XFREE(MTYPE_ROUTE_MAP_NAME, rmap_name);
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
@ -110,8 +110,7 @@ static void sync_init(struct update_subgroup *subgrp)
|
||||
|
||||
static void sync_delete(struct update_subgroup *subgrp)
|
||||
{
|
||||
if (subgrp->sync)
|
||||
XFREE(MTYPE_BGP_SYNCHRONISE, subgrp->sync);
|
||||
XFREE(MTYPE_BGP_SYNCHRONISE, subgrp->sync);
|
||||
subgrp->sync = NULL;
|
||||
if (subgrp->hash)
|
||||
hash_free(subgrp->hash);
|
||||
@ -144,8 +143,7 @@ static void conf_copy(struct peer *dst, struct peer *src, afi_t afi,
|
||||
dst->v_routeadv = src->v_routeadv;
|
||||
dst->flags = src->flags;
|
||||
dst->af_flags[afi][safi] = src->af_flags[afi][safi];
|
||||
if (dst->host)
|
||||
XFREE(MTYPE_BGP_PEER_HOST, dst->host);
|
||||
XFREE(MTYPE_BGP_PEER_HOST, dst->host);
|
||||
|
||||
dst->host = XSTRDUP(MTYPE_BGP_PEER_HOST, src->host);
|
||||
dst->cap = src->cap;
|
||||
@ -208,27 +206,19 @@ static void conf_release(struct peer *src, afi_t afi, safi_t safi)
|
||||
|
||||
srcfilter = &src->filter[afi][safi];
|
||||
|
||||
if (src->default_rmap[afi][safi].name)
|
||||
XFREE(MTYPE_ROUTE_MAP_NAME, src->default_rmap[afi][safi].name);
|
||||
XFREE(MTYPE_ROUTE_MAP_NAME, src->default_rmap[afi][safi].name);
|
||||
|
||||
if (srcfilter->dlist[FILTER_OUT].name)
|
||||
XFREE(MTYPE_BGP_FILTER_NAME, srcfilter->dlist[FILTER_OUT].name);
|
||||
XFREE(MTYPE_BGP_FILTER_NAME, srcfilter->dlist[FILTER_OUT].name);
|
||||
|
||||
if (srcfilter->plist[FILTER_OUT].name)
|
||||
XFREE(MTYPE_BGP_FILTER_NAME, srcfilter->plist[FILTER_OUT].name);
|
||||
XFREE(MTYPE_BGP_FILTER_NAME, srcfilter->plist[FILTER_OUT].name);
|
||||
|
||||
if (srcfilter->aslist[FILTER_OUT].name)
|
||||
XFREE(MTYPE_BGP_FILTER_NAME,
|
||||
srcfilter->aslist[FILTER_OUT].name);
|
||||
XFREE(MTYPE_BGP_FILTER_NAME, srcfilter->aslist[FILTER_OUT].name);
|
||||
|
||||
if (srcfilter->map[RMAP_OUT].name)
|
||||
XFREE(MTYPE_BGP_FILTER_NAME, srcfilter->map[RMAP_OUT].name);
|
||||
XFREE(MTYPE_BGP_FILTER_NAME, srcfilter->map[RMAP_OUT].name);
|
||||
|
||||
if (srcfilter->usmap.name)
|
||||
XFREE(MTYPE_BGP_FILTER_NAME, srcfilter->usmap.name);
|
||||
XFREE(MTYPE_BGP_FILTER_NAME, srcfilter->usmap.name);
|
||||
|
||||
if (src->host)
|
||||
XFREE(MTYPE_BGP_PEER_HOST, src->host);
|
||||
XFREE(MTYPE_BGP_PEER_HOST, src->host);
|
||||
src->host = NULL;
|
||||
}
|
||||
|
||||
@ -741,12 +731,10 @@ static void update_group_delete(struct update_group *updgrp)
|
||||
hash_release(updgrp->bgp->update_groups[updgrp->afid], updgrp);
|
||||
conf_release(updgrp->conf, updgrp->afi, updgrp->safi);
|
||||
|
||||
if (updgrp->conf->host)
|
||||
XFREE(MTYPE_BGP_PEER_HOST, updgrp->conf->host);
|
||||
XFREE(MTYPE_BGP_PEER_HOST, updgrp->conf->host);
|
||||
updgrp->conf->host = NULL;
|
||||
|
||||
if (updgrp->conf->ifname)
|
||||
XFREE(MTYPE_BGP_PEER_IFNAME, updgrp->conf->ifname);
|
||||
XFREE(MTYPE_BGP_PEER_IFNAME, updgrp->conf->ifname);
|
||||
|
||||
XFREE(MTYPE_BGP_PEER, updgrp->conf);
|
||||
XFREE(MTYPE_BGP_UPDGRP, updgrp);
|
||||
|
@ -14456,8 +14456,7 @@ static int lcommunity_list_set_vty(struct vty *vty, int argc,
|
||||
|
||||
/* Free temporary community list string allocated by
|
||||
argv_concat(). */
|
||||
if (str)
|
||||
XFREE(MTYPE_TMP, str);
|
||||
XFREE(MTYPE_TMP, str);
|
||||
|
||||
if (ret < 0) {
|
||||
community_list_perror(vty, ret);
|
||||
@ -14508,8 +14507,7 @@ static int lcommunity_list_unset_vty(struct vty *vty, int argc,
|
||||
|
||||
/* Free temporary community list string allocated by
|
||||
argv_concat(). */
|
||||
if (str)
|
||||
XFREE(MTYPE_TMP, str);
|
||||
XFREE(MTYPE_TMP, str);
|
||||
|
||||
if (ret < 0) {
|
||||
community_list_perror(vty, ret);
|
||||
|
@ -1681,8 +1681,7 @@ int bgp_redistribute_rmap_set(struct bgp_redist *red, const char *name,
|
||||
if (red->rmap.name && (strcmp(red->rmap.name, name) == 0))
|
||||
return 0;
|
||||
|
||||
if (red->rmap.name)
|
||||
XFREE(MTYPE_ROUTE_MAP_NAME, red->rmap.name);
|
||||
XFREE(MTYPE_ROUTE_MAP_NAME, red->rmap.name);
|
||||
/* Decrement the count for existing routemap and
|
||||
* increment the count for new route map.
|
||||
*/
|
||||
@ -1795,8 +1794,7 @@ int bgp_redistribute_unset(struct bgp *bgp, afi_t afi, int type,
|
||||
bgp_redistribute_unreg(bgp, afi, type, instance);
|
||||
|
||||
/* Unset route-map. */
|
||||
if (red->rmap.name)
|
||||
XFREE(MTYPE_ROUTE_MAP_NAME, red->rmap.name);
|
||||
XFREE(MTYPE_ROUTE_MAP_NAME, red->rmap.name);
|
||||
route_map_counter_decrement(red->rmap.map);
|
||||
red->rmap.name = NULL;
|
||||
red->rmap.map = NULL;
|
||||
|
45
bgpd/bgpd.c
45
bgpd/bgpd.c
@ -1099,8 +1099,7 @@ static void peer_free(struct peer *peer)
|
||||
peer->update_if = NULL;
|
||||
}
|
||||
|
||||
if (peer->notify.data)
|
||||
XFREE(MTYPE_TMP, peer->notify.data);
|
||||
XFREE(MTYPE_TMP, peer->notify.data);
|
||||
memset(&peer->notify, 0, sizeof(struct bgp_notify));
|
||||
|
||||
if (peer->clear_node_queue)
|
||||
@ -1322,8 +1321,7 @@ void peer_xfer_config(struct peer *peer_dst, struct peer *peer_src)
|
||||
peer_dst->update_source =
|
||||
sockunion_dup(peer_src->update_source);
|
||||
} else if (peer_src->update_if) {
|
||||
if (peer_dst->update_if)
|
||||
XFREE(MTYPE_PEER_UPDATE_SOURCE, peer_dst->update_if);
|
||||
XFREE(MTYPE_PEER_UPDATE_SOURCE, peer_dst->update_if);
|
||||
if (peer_dst->update_source) {
|
||||
sockunion_free(peer_dst->update_source);
|
||||
peer_dst->update_source = NULL;
|
||||
@ -1333,8 +1331,7 @@ void peer_xfer_config(struct peer *peer_dst, struct peer *peer_src)
|
||||
}
|
||||
|
||||
if (peer_src->ifname) {
|
||||
if (peer_dst->ifname)
|
||||
XFREE(MTYPE_BGP_PEER_IFNAME, peer_dst->ifname);
|
||||
XFREE(MTYPE_BGP_PEER_IFNAME, peer_dst->ifname);
|
||||
|
||||
peer_dst->ifname =
|
||||
XSTRDUP(MTYPE_BGP_PEER_IFNAME, peer_src->ifname);
|
||||
@ -1541,14 +1538,12 @@ struct peer *peer_create(union sockunion *su, const char *conf_if,
|
||||
peer->su = *su;
|
||||
else
|
||||
bgp_peer_conf_if_to_su_update(peer);
|
||||
if (peer->host)
|
||||
XFREE(MTYPE_BGP_PEER_HOST, peer->host);
|
||||
XFREE(MTYPE_BGP_PEER_HOST, peer->host);
|
||||
peer->host = XSTRDUP(MTYPE_BGP_PEER_HOST, conf_if);
|
||||
} else if (su) {
|
||||
peer->su = *su;
|
||||
sockunion2str(su, buf, SU_ADDRSTRLEN);
|
||||
if (peer->host)
|
||||
XFREE(MTYPE_BGP_PEER_HOST, peer->host);
|
||||
XFREE(MTYPE_BGP_PEER_HOST, peer->host);
|
||||
peer->host = XSTRDUP(MTYPE_BGP_PEER_HOST, buf);
|
||||
}
|
||||
peer->local_as = local_as;
|
||||
@ -2416,8 +2411,7 @@ struct peer_group *peer_group_get(struct bgp *bgp, const char *name)
|
||||
|
||||
group = peer_group_new();
|
||||
group->bgp = bgp;
|
||||
if (group->name)
|
||||
XFREE(MTYPE_PEER_GROUP_HOST, group->name);
|
||||
XFREE(MTYPE_PEER_GROUP_HOST, group->name);
|
||||
group->name = XSTRDUP(MTYPE_PEER_GROUP_HOST, name);
|
||||
group->peer = list_new();
|
||||
for (afi = AFI_IP; afi < AFI_MAX; afi++)
|
||||
@ -2425,8 +2419,7 @@ struct peer_group *peer_group_get(struct bgp *bgp, const char *name)
|
||||
group->conf = peer_new(bgp);
|
||||
if (!bgp_flag_check(bgp, BGP_FLAG_NO_DEFAULT_IPV4))
|
||||
group->conf->afc[AFI_IP][SAFI_UNICAST] = 1;
|
||||
if (group->conf->host)
|
||||
XFREE(MTYPE_BGP_PEER_HOST, group->conf->host);
|
||||
XFREE(MTYPE_BGP_PEER_HOST, group->conf->host);
|
||||
group->conf->host = XSTRDUP(MTYPE_BGP_PEER_HOST, name);
|
||||
group->conf->group = group;
|
||||
group->conf->as = 0;
|
||||
@ -2886,8 +2879,7 @@ static struct bgp *bgp_create(as_t *as, const char *name,
|
||||
bgp->vrf_id = (inst_type == BGP_INSTANCE_TYPE_DEFAULT) ? VRF_DEFAULT
|
||||
: VRF_UNKNOWN;
|
||||
bgp->peer_self = peer_new(bgp);
|
||||
if (bgp->peer_self->host)
|
||||
XFREE(MTYPE_BGP_PEER_HOST, bgp->peer_self->host);
|
||||
XFREE(MTYPE_BGP_PEER_HOST, bgp->peer_self->host);
|
||||
bgp->peer_self->host =
|
||||
XSTRDUP(MTYPE_BGP_PEER_HOST, "Static announcement");
|
||||
if (bgp->peer_self->hostname != NULL) {
|
||||
@ -3404,8 +3396,7 @@ void bgp_free(struct bgp *bgp)
|
||||
if (bgp->rib[afi][safi])
|
||||
bgp_table_finish(&bgp->rib[afi][safi]);
|
||||
rmap = &bgp->table_map[afi][safi];
|
||||
if (rmap->name)
|
||||
XFREE(MTYPE_ROUTE_MAP_NAME, rmap->name);
|
||||
XFREE(MTYPE_ROUTE_MAP_NAME, rmap->name);
|
||||
}
|
||||
|
||||
bgp_scan_finish(bgp);
|
||||
@ -3435,10 +3426,8 @@ void bgp_free(struct bgp *bgp)
|
||||
ecommunity_free(&bgp->vpn_policy[afi].rtlist[dir]);
|
||||
}
|
||||
|
||||
if (bgp->name)
|
||||
XFREE(MTYPE_BGP, bgp->name);
|
||||
if (bgp->name_pretty)
|
||||
XFREE(MTYPE_BGP, bgp->name_pretty);
|
||||
XFREE(MTYPE_BGP, bgp->name);
|
||||
XFREE(MTYPE_BGP, bgp->name_pretty);
|
||||
|
||||
XFREE(MTYPE_BGP, bgp);
|
||||
}
|
||||
@ -4367,8 +4356,7 @@ int peer_ebgp_multihop_unset(struct peer *peer)
|
||||
/* Neighbor description. */
|
||||
int peer_description_set(struct peer *peer, const char *desc)
|
||||
{
|
||||
if (peer->desc)
|
||||
XFREE(MTYPE_PEER_DESC, peer->desc);
|
||||
XFREE(MTYPE_PEER_DESC, peer->desc);
|
||||
|
||||
peer->desc = XSTRDUP(MTYPE_PEER_DESC, desc);
|
||||
|
||||
@ -4377,8 +4365,7 @@ int peer_description_set(struct peer *peer, const char *desc)
|
||||
|
||||
int peer_description_unset(struct peer *peer)
|
||||
{
|
||||
if (peer->desc)
|
||||
XFREE(MTYPE_PEER_DESC, peer->desc);
|
||||
XFREE(MTYPE_PEER_DESC, peer->desc);
|
||||
|
||||
peer->desc = NULL;
|
||||
|
||||
@ -5124,15 +5111,13 @@ int peer_advertise_interval_unset(struct peer *peer)
|
||||
/* neighbor interface */
|
||||
void peer_interface_set(struct peer *peer, const char *str)
|
||||
{
|
||||
if (peer->ifname)
|
||||
XFREE(MTYPE_BGP_PEER_IFNAME, peer->ifname);
|
||||
XFREE(MTYPE_BGP_PEER_IFNAME, peer->ifname);
|
||||
peer->ifname = XSTRDUP(MTYPE_BGP_PEER_IFNAME, str);
|
||||
}
|
||||
|
||||
void peer_interface_unset(struct peer *peer)
|
||||
{
|
||||
if (peer->ifname)
|
||||
XFREE(MTYPE_BGP_PEER_IFNAME, peer->ifname);
|
||||
XFREE(MTYPE_BGP_PEER_IFNAME, peer->ifname);
|
||||
peer->ifname = NULL;
|
||||
}
|
||||
|
||||
|
@ -3457,8 +3457,7 @@ static void bgp_rfapi_delete_l2_group(struct vty *vty, /* NULL = no output */
|
||||
ecommunity_free(&rfg->rt_export_list);
|
||||
if (rfg->labels)
|
||||
list_delete(&rfg->labels);
|
||||
if (rfg->rfp_cfg)
|
||||
XFREE(MTYPE_RFAPI_RFP_GROUP_CFG, rfg->rfp_cfg);
|
||||
XFREE(MTYPE_RFAPI_RFP_GROUP_CFG, rfg->rfp_cfg);
|
||||
listnode_delete(bgp->rfapi_cfg->l2_groups, rfg);
|
||||
|
||||
rfapi_l2_group_del(rfg);
|
||||
@ -3878,8 +3877,7 @@ void bgp_rfapi_cfg_destroy(struct bgp *bgp, struct rfapi_cfg *h)
|
||||
ecommunity_free(&h->default_rt_export_list);
|
||||
if (h->default_rt_import_list)
|
||||
ecommunity_free(&h->default_rt_import_list);
|
||||
if (h->default_rfp_cfg)
|
||||
XFREE(MTYPE_RFAPI_RFP_GROUP_CFG, h->default_rfp_cfg);
|
||||
XFREE(MTYPE_RFAPI_RFP_GROUP_CFG, h->default_rfp_cfg);
|
||||
for (afi = AFI_IP; afi < AFI_MAX; afi++) {
|
||||
agg_table_finish(h->nve_groups_vn[afi]);
|
||||
agg_table_finish(h->nve_groups_un[afi]);
|
||||
|
@ -608,10 +608,8 @@ static void vnc_zebra_add_del_prefix(struct bgp *bgp,
|
||||
add);
|
||||
}
|
||||
|
||||
if (nhp_ary)
|
||||
XFREE(MTYPE_TMP, nhp_ary);
|
||||
if (nh_ary)
|
||||
XFREE(MTYPE_TMP, nh_ary);
|
||||
XFREE(MTYPE_TMP, nhp_ary);
|
||||
XFREE(MTYPE_TMP, nh_ary);
|
||||
}
|
||||
|
||||
void vnc_zebra_add_prefix(struct bgp *bgp,
|
||||
@ -789,10 +787,8 @@ static void vnc_zebra_add_del_group_afi(struct bgp *bgp,
|
||||
}
|
||||
}
|
||||
}
|
||||
if (nhp_ary)
|
||||
XFREE(MTYPE_TMP, nhp_ary);
|
||||
if (nh_ary)
|
||||
XFREE(MTYPE_TMP, nh_ary);
|
||||
XFREE(MTYPE_TMP, nhp_ary);
|
||||
XFREE(MTYPE_TMP, nh_ary);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -140,12 +140,9 @@ void isis_delete_adj(void *arg)
|
||||
/* remove from SPF trees */
|
||||
spftree_area_adj_del(adj->circuit->area, adj);
|
||||
|
||||
if (adj->area_addresses)
|
||||
XFREE(MTYPE_ISIS_ADJACENCY_INFO, adj->area_addresses);
|
||||
if (adj->ipv4_addresses)
|
||||
XFREE(MTYPE_ISIS_ADJACENCY_INFO, adj->ipv4_addresses);
|
||||
if (adj->ipv6_addresses)
|
||||
XFREE(MTYPE_ISIS_ADJACENCY_INFO, adj->ipv6_addresses);
|
||||
XFREE(MTYPE_ISIS_ADJACENCY_INFO, adj->area_addresses);
|
||||
XFREE(MTYPE_ISIS_ADJACENCY_INFO, adj->ipv4_addresses);
|
||||
XFREE(MTYPE_ISIS_ADJACENCY_INFO, adj->ipv6_addresses);
|
||||
|
||||
adj_mt_finish(adj);
|
||||
|
||||
|
@ -504,8 +504,7 @@ void isis_redist_area_finish(struct isis_area *area)
|
||||
redist = &area->redist_settings[protocol][type]
|
||||
[level];
|
||||
redist->redist = 0;
|
||||
if (redist->map_name)
|
||||
XFREE(MTYPE_ISIS, redist->map_name);
|
||||
XFREE(MTYPE_ISIS, redist->map_name);
|
||||
}
|
||||
route_table_finish(area->ext_reach[protocol][level]);
|
||||
}
|
||||
|
@ -3202,8 +3202,7 @@ void isis_tlvs_set_protocols_supported(struct isis_tlvs *tlvs,
|
||||
struct nlpids *nlpids)
|
||||
{
|
||||
tlvs->protocols_supported.count = nlpids->count;
|
||||
if (tlvs->protocols_supported.protocols)
|
||||
XFREE(MTYPE_ISIS_TLV, tlvs->protocols_supported.protocols);
|
||||
XFREE(MTYPE_ISIS_TLV, tlvs->protocols_supported.protocols);
|
||||
if (nlpids->count) {
|
||||
tlvs->protocols_supported.protocols =
|
||||
XCALLOC(MTYPE_ISIS_TLV, nlpids->count);
|
||||
|
@ -1277,8 +1277,7 @@ int cmd_execute(struct vty *vty, const char *cmd,
|
||||
|
||||
hook_call(cmd_execute_done, vty, cmd_exec);
|
||||
|
||||
if (cmd_out)
|
||||
XFREE(MTYPE_TMP, cmd_out);
|
||||
XFREE(MTYPE_TMP, cmd_out);
|
||||
|
||||
return ret;
|
||||
}
|
||||
@ -2408,8 +2407,7 @@ static int set_log_file(struct vty *vty, const char *fname, int loglevel)
|
||||
|
||||
ret = zlog_set_file(fullpath, loglevel);
|
||||
|
||||
if (p)
|
||||
XFREE(MTYPE_TMP, p);
|
||||
XFREE(MTYPE_TMP, p);
|
||||
|
||||
if (!ret) {
|
||||
if (vty)
|
||||
@ -2417,8 +2415,7 @@ static int set_log_file(struct vty *vty, const char *fname, int loglevel)
|
||||
return CMD_WARNING_CONFIG_FAILED;
|
||||
}
|
||||
|
||||
if (host.logfile)
|
||||
XFREE(MTYPE_HOST, host.logfile);
|
||||
XFREE(MTYPE_HOST, host.logfile);
|
||||
|
||||
host.logfile = XSTRDUP(MTYPE_HOST, fname);
|
||||
|
||||
@ -2487,8 +2484,7 @@ static void disable_log_file(void)
|
||||
{
|
||||
zlog_reset_file();
|
||||
|
||||
if (host.logfile)
|
||||
XFREE(MTYPE_HOST, host.logfile);
|
||||
XFREE(MTYPE_HOST, host.logfile);
|
||||
|
||||
host.logfile = NULL;
|
||||
}
|
||||
@ -2637,8 +2633,7 @@ int cmd_banner_motd_file(const char *file)
|
||||
return CMD_ERR_NO_FILE;
|
||||
in = strstr(rpath, SYSCONFDIR);
|
||||
if (in == rpath) {
|
||||
if (host.motdfile)
|
||||
XFREE(MTYPE_HOST, host.motdfile);
|
||||
XFREE(MTYPE_HOST, host.motdfile);
|
||||
host.motdfile = XSTRDUP(MTYPE_HOST, file);
|
||||
} else
|
||||
success = CMD_WARNING_CONFIG_FAILED;
|
||||
@ -2723,8 +2718,7 @@ DEFUN(find,
|
||||
/* Set config filename. Called from vty.c */
|
||||
void host_config_set(const char *filename)
|
||||
{
|
||||
if (host.config)
|
||||
XFREE(MTYPE_HOST, host.config);
|
||||
XFREE(MTYPE_HOST, host.config);
|
||||
host.config = XSTRDUP(MTYPE_HOST, filename);
|
||||
}
|
||||
|
||||
@ -2904,24 +2898,15 @@ void cmd_terminate(void)
|
||||
cmdvec = NULL;
|
||||
}
|
||||
|
||||
if (host.name)
|
||||
XFREE(MTYPE_HOST, host.name);
|
||||
if (host.domainname)
|
||||
XFREE(MTYPE_HOST, host.domainname);
|
||||
if (host.password)
|
||||
XFREE(MTYPE_HOST, host.password);
|
||||
if (host.password_encrypt)
|
||||
XFREE(MTYPE_HOST, host.password_encrypt);
|
||||
if (host.enable)
|
||||
XFREE(MTYPE_HOST, host.enable);
|
||||
if (host.enable_encrypt)
|
||||
XFREE(MTYPE_HOST, host.enable_encrypt);
|
||||
if (host.logfile)
|
||||
XFREE(MTYPE_HOST, host.logfile);
|
||||
if (host.motdfile)
|
||||
XFREE(MTYPE_HOST, host.motdfile);
|
||||
if (host.config)
|
||||
XFREE(MTYPE_HOST, host.config);
|
||||
XFREE(MTYPE_HOST, host.name);
|
||||
XFREE(MTYPE_HOST, host.domainname);
|
||||
XFREE(MTYPE_HOST, host.password);
|
||||
XFREE(MTYPE_HOST, host.password_encrypt);
|
||||
XFREE(MTYPE_HOST, host.enable);
|
||||
XFREE(MTYPE_HOST, host.enable_encrypt);
|
||||
XFREE(MTYPE_HOST, host.logfile);
|
||||
XFREE(MTYPE_HOST, host.motdfile);
|
||||
XFREE(MTYPE_HOST, host.config);
|
||||
|
||||
list_delete(&varhandlers);
|
||||
qobj_finish();
|
||||
|
@ -44,16 +44,15 @@ static void distribute_free(struct distribute *dist)
|
||||
{
|
||||
int i = 0;
|
||||
|
||||
if (dist->ifname)
|
||||
XFREE(MTYPE_DISTRIBUTE_IFNAME, dist->ifname);
|
||||
XFREE(MTYPE_DISTRIBUTE_IFNAME, dist->ifname);
|
||||
|
||||
for (i = 0; i < DISTRIBUTE_MAX; i++)
|
||||
if (dist->list[i])
|
||||
XFREE(MTYPE_DISTRIBUTE_NAME, dist->list[i]);
|
||||
for (i = 0; i < DISTRIBUTE_MAX; i++) {
|
||||
XFREE(MTYPE_DISTRIBUTE_NAME, dist->list[i]);
|
||||
}
|
||||
|
||||
for (i = 0; i < DISTRIBUTE_MAX; i++)
|
||||
if (dist->prefix[i])
|
||||
XFREE(MTYPE_DISTRIBUTE_NAME, dist->prefix[i]);
|
||||
for (i = 0; i < DISTRIBUTE_MAX; i++) {
|
||||
XFREE(MTYPE_DISTRIBUTE_NAME, dist->prefix[i]);
|
||||
}
|
||||
|
||||
XFREE(MTYPE_DISTRIBUTE, dist);
|
||||
}
|
||||
@ -83,8 +82,7 @@ struct distribute *distribute_lookup(struct distribute_ctx *ctx,
|
||||
|
||||
dist = hash_lookup(ctx->disthash, &key);
|
||||
|
||||
if (key.ifname)
|
||||
XFREE(MTYPE_DISTRIBUTE_IFNAME, key.ifname);
|
||||
XFREE(MTYPE_DISTRIBUTE_IFNAME, key.ifname);
|
||||
|
||||
return dist;
|
||||
}
|
||||
@ -128,8 +126,7 @@ static struct distribute *distribute_get(struct distribute_ctx *ctx,
|
||||
ret = hash_get(ctx->disthash, &key,
|
||||
(void *(*)(void *))distribute_hash_alloc);
|
||||
|
||||
if (key.ifname)
|
||||
XFREE(MTYPE_DISTRIBUTE_IFNAME, key.ifname);
|
||||
XFREE(MTYPE_DISTRIBUTE_IFNAME, key.ifname);
|
||||
|
||||
return ret;
|
||||
}
|
||||
@ -163,8 +160,7 @@ static void distribute_list_set(struct distribute_ctx *ctx,
|
||||
|
||||
dist = distribute_get(ctx, ifname);
|
||||
|
||||
if (dist->list[type])
|
||||
XFREE(MTYPE_DISTRIBUTE_NAME, dist->list[type]);
|
||||
XFREE(MTYPE_DISTRIBUTE_NAME, dist->list[type]);
|
||||
dist->list[type] = XSTRDUP(MTYPE_DISTRIBUTE_NAME, alist_name);
|
||||
|
||||
/* Apply this distribute-list to the interface. */
|
||||
@ -210,8 +206,7 @@ static void distribute_list_prefix_set(struct distribute_ctx *ctx,
|
||||
|
||||
dist = distribute_get(ctx, ifname);
|
||||
|
||||
if (dist->prefix[type])
|
||||
XFREE(MTYPE_DISTRIBUTE_NAME, dist->prefix[type]);
|
||||
XFREE(MTYPE_DISTRIBUTE_NAME, dist->prefix[type]);
|
||||
dist->prefix[type] = XSTRDUP(MTYPE_DISTRIBUTE_NAME, plist_name);
|
||||
|
||||
/* Apply this distribute-list to the interface. */
|
||||
|
@ -242,11 +242,9 @@ static void access_list_delete(struct access_list *access)
|
||||
else
|
||||
list->head = access->next;
|
||||
|
||||
if (access->name)
|
||||
XFREE(MTYPE_ACCESS_LIST_STR, access->name);
|
||||
XFREE(MTYPE_ACCESS_LIST_STR, access->name);
|
||||
|
||||
if (access->remark)
|
||||
XFREE(MTYPE_TMP, access->remark);
|
||||
XFREE(MTYPE_TMP, access->remark);
|
||||
|
||||
access_list_free(access);
|
||||
}
|
||||
|
@ -110,8 +110,7 @@ void frr_pthread_destroy(struct frr_pthread *fpt)
|
||||
pthread_mutex_destroy(&fpt->mtx);
|
||||
pthread_mutex_destroy(fpt->running_cond_mtx);
|
||||
pthread_cond_destroy(fpt->running_cond);
|
||||
if (fpt->name)
|
||||
XFREE(MTYPE_FRR_PTHREAD, fpt->name);
|
||||
XFREE(MTYPE_FRR_PTHREAD, fpt->name);
|
||||
XFREE(MTYPE_PTHREAD_PRIM, fpt->running_cond_mtx);
|
||||
XFREE(MTYPE_PTHREAD_PRIM, fpt->running_cond);
|
||||
XFREE(MTYPE_FRR_PTHREAD, fpt);
|
||||
|
@ -322,8 +322,7 @@ void hash_free(struct hash *hash)
|
||||
}
|
||||
pthread_mutex_unlock(&_hashes_mtx);
|
||||
|
||||
if (hash->name)
|
||||
XFREE(MTYPE_HASH, hash->name);
|
||||
XFREE(MTYPE_HASH, hash->name);
|
||||
|
||||
XFREE(MTYPE_HASH_INDEX, hash->index);
|
||||
XFREE(MTYPE_HASH, hash);
|
||||
|
12
lib/if.c
12
lib/if.c
@ -234,8 +234,7 @@ void if_delete(struct interface *ifp)
|
||||
|
||||
if_link_params_free(ifp);
|
||||
|
||||
if (ifp->desc)
|
||||
XFREE(MTYPE_TMP, ifp->desc);
|
||||
XFREE(MTYPE_TMP, ifp->desc);
|
||||
|
||||
XFREE(MTYPE_IF, ifp);
|
||||
}
|
||||
@ -708,8 +707,7 @@ void connected_free(struct connected *connected)
|
||||
if (connected->destination)
|
||||
prefix_free(connected->destination);
|
||||
|
||||
if (connected->label)
|
||||
XFREE(MTYPE_CONNECTED_LABEL, connected->label);
|
||||
XFREE(MTYPE_CONNECTED_LABEL, connected->label);
|
||||
|
||||
XFREE(MTYPE_CONNECTED, connected);
|
||||
}
|
||||
@ -1349,8 +1347,7 @@ static int lib_interface_description_modify(enum nb_event event,
|
||||
return NB_OK;
|
||||
|
||||
ifp = yang_dnode_get_entry(dnode, true);
|
||||
if (ifp->desc)
|
||||
XFREE(MTYPE_TMP, ifp->desc);
|
||||
XFREE(MTYPE_TMP, ifp->desc);
|
||||
description = yang_dnode_get_string(dnode, NULL);
|
||||
ifp->desc = XSTRDUP(MTYPE_TMP, description);
|
||||
|
||||
@ -1366,8 +1363,7 @@ static int lib_interface_description_delete(enum nb_event event,
|
||||
return NB_OK;
|
||||
|
||||
ifp = yang_dnode_get_entry(dnode, true);
|
||||
if (ifp->desc)
|
||||
XFREE(MTYPE_TMP, ifp->desc);
|
||||
XFREE(MTYPE_TMP, ifp->desc);
|
||||
|
||||
return NB_OK;
|
||||
}
|
||||
|
@ -46,13 +46,10 @@ static struct if_rmap *if_rmap_new(void)
|
||||
|
||||
static void if_rmap_free(struct if_rmap *if_rmap)
|
||||
{
|
||||
if (if_rmap->ifname)
|
||||
XFREE(MTYPE_IF_RMAP_NAME, if_rmap->ifname);
|
||||
XFREE(MTYPE_IF_RMAP_NAME, if_rmap->ifname);
|
||||
|
||||
if (if_rmap->routemap[IF_RMAP_IN])
|
||||
XFREE(MTYPE_IF_RMAP_NAME, if_rmap->routemap[IF_RMAP_IN]);
|
||||
if (if_rmap->routemap[IF_RMAP_OUT])
|
||||
XFREE(MTYPE_IF_RMAP_NAME, if_rmap->routemap[IF_RMAP_OUT]);
|
||||
XFREE(MTYPE_IF_RMAP_NAME, if_rmap->routemap[IF_RMAP_IN]);
|
||||
XFREE(MTYPE_IF_RMAP_NAME, if_rmap->routemap[IF_RMAP_OUT]);
|
||||
|
||||
XFREE(MTYPE_IF_RMAP, if_rmap);
|
||||
}
|
||||
@ -67,8 +64,7 @@ struct if_rmap *if_rmap_lookup(const char *ifname)
|
||||
|
||||
if_rmap = hash_lookup(ifrmaphash, &key);
|
||||
|
||||
if (key.ifname)
|
||||
XFREE(MTYPE_IF_RMAP_NAME, key.ifname);
|
||||
XFREE(MTYPE_IF_RMAP_NAME, key.ifname);
|
||||
|
||||
return if_rmap;
|
||||
}
|
||||
@ -104,8 +100,7 @@ static struct if_rmap *if_rmap_get(const char *ifname)
|
||||
|
||||
ret = hash_get(ifrmaphash, &key, if_rmap_hash_alloc);
|
||||
|
||||
if (key.ifname)
|
||||
XFREE(MTYPE_IF_RMAP_NAME, key.ifname);
|
||||
XFREE(MTYPE_IF_RMAP_NAME, key.ifname);
|
||||
|
||||
return ret;
|
||||
}
|
||||
@ -133,16 +128,12 @@ static struct if_rmap *if_rmap_set(const char *ifname, enum if_rmap_type type,
|
||||
if_rmap = if_rmap_get(ifname);
|
||||
|
||||
if (type == IF_RMAP_IN) {
|
||||
if (if_rmap->routemap[IF_RMAP_IN])
|
||||
XFREE(MTYPE_IF_RMAP_NAME,
|
||||
if_rmap->routemap[IF_RMAP_IN]);
|
||||
XFREE(MTYPE_IF_RMAP_NAME, if_rmap->routemap[IF_RMAP_IN]);
|
||||
if_rmap->routemap[IF_RMAP_IN] =
|
||||
XSTRDUP(MTYPE_IF_RMAP_NAME, routemap_name);
|
||||
}
|
||||
if (type == IF_RMAP_OUT) {
|
||||
if (if_rmap->routemap[IF_RMAP_OUT])
|
||||
XFREE(MTYPE_IF_RMAP_NAME,
|
||||
if_rmap->routemap[IF_RMAP_OUT]);
|
||||
XFREE(MTYPE_IF_RMAP_NAME, if_rmap->routemap[IF_RMAP_OUT]);
|
||||
if_rmap->routemap[IF_RMAP_OUT] =
|
||||
XSTRDUP(MTYPE_IF_RMAP_NAME, routemap_name);
|
||||
}
|
||||
|
@ -116,8 +116,7 @@ static struct keychain *keychain_get(const char *name)
|
||||
|
||||
static void keychain_delete(struct keychain *keychain)
|
||||
{
|
||||
if (keychain->name)
|
||||
XFREE(MTYPE_KEYCHAIN, keychain->name);
|
||||
XFREE(MTYPE_KEYCHAIN, keychain->name);
|
||||
|
||||
list_delete(&keychain->key);
|
||||
listnode_delete(keychain_list, keychain);
|
||||
@ -217,8 +216,7 @@ static void key_delete(struct keychain *keychain, struct key *key)
|
||||
{
|
||||
listnode_delete(keychain->key, key);
|
||||
|
||||
if (key->string)
|
||||
XFREE(MTYPE_KEY, key->string);
|
||||
XFREE(MTYPE_KEY, key->string);
|
||||
key_free(key);
|
||||
}
|
||||
|
||||
|
@ -851,8 +851,7 @@ void closezlog(void)
|
||||
if (zl->fp != NULL)
|
||||
fclose(zl->fp);
|
||||
|
||||
if (zl->filename != NULL)
|
||||
XFREE(MTYPE_ZLOG, zl->filename);
|
||||
XFREE(MTYPE_ZLOG, zl->filename);
|
||||
|
||||
XFREE(MTYPE_ZLOG, zl);
|
||||
zlog_default = NULL;
|
||||
@ -911,8 +910,7 @@ int zlog_reset_file(void)
|
||||
logfile_fd = -1;
|
||||
zl->maxlvl[ZLOG_DEST_FILE] = ZLOG_DISABLED;
|
||||
|
||||
if (zl->filename)
|
||||
XFREE(MTYPE_ZLOG, zl->filename);
|
||||
XFREE(MTYPE_ZLOG, zl->filename);
|
||||
zl->filename = NULL;
|
||||
|
||||
pthread_mutex_unlock(&loglock);
|
||||
|
@ -141,8 +141,7 @@ struct frrmod_runtime *frrmod_load(const char *spec, const char *dir, char *err,
|
||||
return rtinfo;
|
||||
|
||||
out_fail:
|
||||
if (rtinfo->load_args)
|
||||
XFREE(MTYPE_MODULE_LOADARGS, rtinfo->load_args);
|
||||
XFREE(MTYPE_MODULE_LOADARGS, rtinfo->load_args);
|
||||
XFREE(MTYPE_MODULE_LOADNAME, rtinfo->load_name);
|
||||
return NULL;
|
||||
}
|
||||
|
@ -344,8 +344,7 @@ void ns_delete(struct ns *ns)
|
||||
// if_terminate (&ns->iflist);
|
||||
|
||||
RB_REMOVE(ns_head, &ns_tree, ns);
|
||||
if (ns->name)
|
||||
XFREE(MTYPE_NS_NAME, ns->name);
|
||||
XFREE(MTYPE_NS_NAME, ns->name);
|
||||
|
||||
XFREE(MTYPE_NS, ns);
|
||||
}
|
||||
|
@ -205,11 +205,9 @@ static int nhgl_cmp(struct nexthop_hold *nh1, struct nexthop_hold *nh2)
|
||||
|
||||
static void nhgl_delete(struct nexthop_hold *nh)
|
||||
{
|
||||
if (nh->intf)
|
||||
XFREE(MTYPE_TMP, nh->intf);
|
||||
XFREE(MTYPE_TMP, nh->intf);
|
||||
|
||||
if (nh->nhvrf_name)
|
||||
XFREE(MTYPE_TMP, nh->nhvrf_name);
|
||||
XFREE(MTYPE_TMP, nh->nhvrf_name);
|
||||
|
||||
XFREE(MTYPE_TMP, nh);
|
||||
}
|
||||
|
@ -326,8 +326,7 @@ static void prefix_list_delete(struct prefix_list *plist)
|
||||
else
|
||||
list->head = plist->next;
|
||||
|
||||
if (plist->desc)
|
||||
XFREE(MTYPE_TMP, plist->desc);
|
||||
XFREE(MTYPE_TMP, plist->desc);
|
||||
|
||||
/* Make sure master's recent changed prefix-list information is
|
||||
cleared. */
|
||||
@ -338,8 +337,7 @@ static void prefix_list_delete(struct prefix_list *plist)
|
||||
if (master->delete_hook)
|
||||
(*master->delete_hook)(plist);
|
||||
|
||||
if (plist->name)
|
||||
XFREE(MTYPE_MPREFIX_LIST_STR, plist->name);
|
||||
XFREE(MTYPE_MPREFIX_LIST_STR, plist->name);
|
||||
|
||||
XFREE(MTYPE_PREFIX_LIST_TRIE, plist->trie);
|
||||
|
||||
|
@ -944,8 +944,7 @@ int str2prefix_eth(const char *str, struct prefix_eth *p)
|
||||
ret = 1;
|
||||
|
||||
done:
|
||||
if (cp)
|
||||
XFREE(MTYPE_TMP, cp);
|
||||
XFREE(MTYPE_TMP, cp);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
@ -538,10 +538,8 @@ int generic_match_delete(struct vty *vty, struct route_map_index *index,
|
||||
break;
|
||||
}
|
||||
|
||||
if (dep_name)
|
||||
XFREE(MTYPE_ROUTE_MAP_RULE, dep_name);
|
||||
if (rmap_name)
|
||||
XFREE(MTYPE_ROUTE_MAP_NAME, rmap_name);
|
||||
XFREE(MTYPE_ROUTE_MAP_RULE, dep_name);
|
||||
XFREE(MTYPE_ROUTE_MAP_NAME, rmap_name);
|
||||
|
||||
return retval;
|
||||
}
|
||||
@ -1075,8 +1073,7 @@ static void route_map_index_delete(struct route_map_index *index, int notify)
|
||||
index->map->head = index->next;
|
||||
|
||||
/* Free 'char *nextrm' if not NULL */
|
||||
if (index->nextrm)
|
||||
XFREE(MTYPE_ROUTE_MAP_NAME, index->nextrm);
|
||||
XFREE(MTYPE_ROUTE_MAP_NAME, index->nextrm);
|
||||
|
||||
/* Execute event hook. */
|
||||
if (route_map_master.event_hook && notify) {
|
||||
@ -1231,8 +1228,7 @@ static void route_map_rule_delete(struct route_map_rule_list *list,
|
||||
if (rule->cmd->func_free)
|
||||
(*rule->cmd->func_free)(rule->value);
|
||||
|
||||
if (rule->rule_str)
|
||||
XFREE(MTYPE_ROUTE_MAP_RULE_STR, rule->rule_str);
|
||||
XFREE(MTYPE_ROUTE_MAP_RULE_STR, rule->rule_str);
|
||||
|
||||
if (rule->next)
|
||||
rule->next->prev = rule->prev;
|
||||
@ -1779,8 +1775,7 @@ static int route_map_dep_update(struct hash *dephash, const char *dep_name,
|
||||
}
|
||||
|
||||
ret_map_name = (char *)hash_release(dep->dep_rmap_hash, rname);
|
||||
if (ret_map_name)
|
||||
XFREE(MTYPE_ROUTE_MAP_NAME, ret_map_name);
|
||||
XFREE(MTYPE_ROUTE_MAP_NAME, ret_map_name);
|
||||
|
||||
if (!dep->dep_rmap_hash->count) {
|
||||
dep = hash_release(dephash, dname);
|
||||
|
@ -482,8 +482,7 @@ void thread_master_set_name(struct thread_master *master, const char *name)
|
||||
{
|
||||
pthread_mutex_lock(&master->mtx);
|
||||
{
|
||||
if (master->name)
|
||||
XFREE(MTYPE_THREAD_MASTER, master->name);
|
||||
XFREE(MTYPE_THREAD_MASTER, master->name);
|
||||
master->name = XSTRDUP(MTYPE_THREAD_MASTER, name);
|
||||
}
|
||||
pthread_mutex_unlock(&master->mtx);
|
||||
@ -647,8 +646,7 @@ void thread_master_free(struct thread_master *m)
|
||||
hash_free(m->cpu_record);
|
||||
m->cpu_record = NULL;
|
||||
|
||||
if (m->name)
|
||||
XFREE(MTYPE_THREAD_MASTER, m->name);
|
||||
XFREE(MTYPE_THREAD_MASTER, m->name);
|
||||
XFREE(MTYPE_THREAD_MASTER, m->handler.pfds);
|
||||
XFREE(MTYPE_THREAD_MASTER, m->handler.copy);
|
||||
XFREE(MTYPE_THREAD_MASTER, m);
|
||||
|
21
lib/vty.c
21
lib/vty.c
@ -974,8 +974,7 @@ static void vty_complete_command(struct vty *vty)
|
||||
default:
|
||||
break;
|
||||
}
|
||||
if (matched)
|
||||
XFREE(MTYPE_TMP, matched);
|
||||
XFREE(MTYPE_TMP, matched);
|
||||
}
|
||||
|
||||
static void vty_describe_fold(struct vty *vty, int cmd_width,
|
||||
@ -1169,8 +1168,7 @@ static void vty_hist_add(struct vty *vty)
|
||||
}
|
||||
|
||||
/* Insert history entry. */
|
||||
if (vty->hist[vty->hindex])
|
||||
XFREE(MTYPE_VTY_HIST, vty->hist[vty->hindex]);
|
||||
XFREE(MTYPE_VTY_HIST, vty->hist[vty->hindex]);
|
||||
vty->hist[vty->hindex] = XSTRDUP(MTYPE_VTY_HIST, vty->buf);
|
||||
|
||||
/* History index rotation. */
|
||||
@ -2232,9 +2230,9 @@ void vty_close(struct vty *vty)
|
||||
buffer_free(vty->lbuf);
|
||||
|
||||
/* Free command history. */
|
||||
for (i = 0; i < VTY_MAXHIST; i++)
|
||||
if (vty->hist[i])
|
||||
XFREE(MTYPE_VTY_HIST, vty->hist[i]);
|
||||
for (i = 0; i < VTY_MAXHIST; i++) {
|
||||
XFREE(MTYPE_VTY_HIST, vty->hist[i]);
|
||||
}
|
||||
|
||||
/* Unset vector. */
|
||||
if (vty->fd != -1)
|
||||
@ -2255,8 +2253,7 @@ void vty_close(struct vty *vty)
|
||||
if (vty->fd == STDIN_FILENO)
|
||||
was_stdio = true;
|
||||
|
||||
if (vty->buf)
|
||||
XFREE(MTYPE_VTY, vty->buf);
|
||||
XFREE(MTYPE_VTY, vty->buf);
|
||||
|
||||
if (vty->error) {
|
||||
vty->error->del = vty_error_delete;
|
||||
@ -2546,8 +2543,7 @@ bool vty_read_config(struct nb_config *config, const char *config_file,
|
||||
host_config_set(fullpath);
|
||||
|
||||
tmp_free_and_out:
|
||||
if (tmp)
|
||||
XFREE(MTYPE_TMP, tmp);
|
||||
XFREE(MTYPE_TMP, tmp);
|
||||
|
||||
return read_success;
|
||||
}
|
||||
@ -3163,8 +3159,7 @@ void vty_init(struct thread_master *master_thread)
|
||||
|
||||
void vty_terminate(void)
|
||||
{
|
||||
if (vty_cwd)
|
||||
XFREE(MTYPE_TMP, vty_cwd);
|
||||
XFREE(MTYPE_TMP, vty_cwd);
|
||||
|
||||
if (vtyvec && Vvty_serv_thread) {
|
||||
vty_reset();
|
||||
|
@ -1505,10 +1505,8 @@ int ospf6_iobuf_size(unsigned int size)
|
||||
recvnew = XMALLOC(MTYPE_OSPF6_MESSAGE, size);
|
||||
sendnew = XMALLOC(MTYPE_OSPF6_MESSAGE, size);
|
||||
|
||||
if (recvbuf)
|
||||
XFREE(MTYPE_OSPF6_MESSAGE, recvbuf);
|
||||
if (sendbuf)
|
||||
XFREE(MTYPE_OSPF6_MESSAGE, sendbuf);
|
||||
XFREE(MTYPE_OSPF6_MESSAGE, recvbuf);
|
||||
XFREE(MTYPE_OSPF6_MESSAGE, sendbuf);
|
||||
recvbuf = recvnew;
|
||||
sendbuf = sendnew;
|
||||
iobuflen = size;
|
||||
|
@ -174,8 +174,7 @@ struct ospf6_nexthop *ospf6_nexthop_create(void)
|
||||
|
||||
void ospf6_nexthop_delete(struct ospf6_nexthop *nh)
|
||||
{
|
||||
if (nh)
|
||||
XFREE(MTYPE_OSPF6_NEXTHOP, nh);
|
||||
XFREE(MTYPE_OSPF6_NEXTHOP, nh);
|
||||
}
|
||||
|
||||
void ospf6_clear_nexthops(struct list *nh_list)
|
||||
|
@ -71,8 +71,7 @@ static int pbr_map_sequence_compare(const struct pbr_map_sequence *pbrms1,
|
||||
|
||||
static void pbr_map_sequence_delete(struct pbr_map_sequence *pbrms)
|
||||
{
|
||||
if (pbrms->internal_nhg_name)
|
||||
XFREE(MTYPE_TMP, pbrms->internal_nhg_name);
|
||||
XFREE(MTYPE_TMP, pbrms->internal_nhg_name);
|
||||
|
||||
XFREE(MTYPE_PBR_MAP_SEQNO, pbrms);
|
||||
}
|
||||
|
@ -5159,16 +5159,14 @@ static int pim_cmd_spt_switchover(struct pim_instance *pim,
|
||||
|
||||
switch (pim->spt.switchover) {
|
||||
case PIM_SPT_IMMEDIATE:
|
||||
if (pim->spt.plist)
|
||||
XFREE(MTYPE_PIM_SPT_PLIST_NAME, pim->spt.plist);
|
||||
XFREE(MTYPE_PIM_SPT_PLIST_NAME, pim->spt.plist);
|
||||
|
||||
pim_upstream_add_lhr_star_pimreg(pim);
|
||||
break;
|
||||
case PIM_SPT_INFINITY:
|
||||
pim_upstream_remove_lhr_star_pimreg(pim, plist);
|
||||
|
||||
if (pim->spt.plist)
|
||||
XFREE(MTYPE_PIM_SPT_PLIST_NAME, pim->spt.plist);
|
||||
XFREE(MTYPE_PIM_SPT_PLIST_NAME, pim->spt.plist);
|
||||
|
||||
if (plist)
|
||||
pim->spt.plist =
|
||||
|
@ -208,8 +208,7 @@ void pim_if_delete(struct interface *ifp)
|
||||
list_delete(&pim_ifp->upstream_switch_list);
|
||||
list_delete(&pim_ifp->sec_addr_list);
|
||||
|
||||
if (pim_ifp->boundary_oil_plist)
|
||||
XFREE(MTYPE_PIM_INTERFACE, pim_ifp->boundary_oil_plist);
|
||||
XFREE(MTYPE_PIM_INTERFACE, pim_ifp->boundary_oil_plist);
|
||||
|
||||
while (!RB_EMPTY(pim_ifchannel_rb, &pim_ifp->ifchannel_rb)) {
|
||||
ch = RB_ROOT(pim_ifchannel_rb, &pim_ifp->ifchannel_rb);
|
||||
|
@ -1256,8 +1256,7 @@ static void pim_msdp_mg_free(struct pim_instance *pim)
|
||||
if (PIM_DEBUG_MSDP_EVENTS) {
|
||||
zlog_debug("MSDP mesh-group %s deleted", mg->mesh_group_name);
|
||||
}
|
||||
if (mg->mesh_group_name)
|
||||
XFREE(MTYPE_PIM_MSDP_MG_NAME, mg->mesh_group_name);
|
||||
XFREE(MTYPE_PIM_MSDP_MG_NAME, mg->mesh_group_name);
|
||||
|
||||
if (mg->mbr_list)
|
||||
list_delete(&mg->mbr_list);
|
||||
|
@ -65,8 +65,7 @@ void pim_rp_list_hash_clean(void *data)
|
||||
|
||||
static void pim_rp_info_free(struct rp_info *rp_info)
|
||||
{
|
||||
if (rp_info->plist)
|
||||
XFREE(MTYPE_PIM_FILTER_NAME, rp_info->plist);
|
||||
XFREE(MTYPE_PIM_FILTER_NAME, rp_info->plist);
|
||||
|
||||
XFREE(MTYPE_PIM_RP, rp_info);
|
||||
}
|
||||
|
@ -151,8 +151,7 @@ void pim_ssm_terminate(struct pim_ssm *ssm)
|
||||
if (!ssm)
|
||||
return;
|
||||
|
||||
if (ssm->plist_name)
|
||||
XFREE(MTYPE_PIM_FILTER_NAME, ssm->plist_name);
|
||||
XFREE(MTYPE_PIM_FILTER_NAME, ssm->plist_name);
|
||||
|
||||
XFREE(MTYPE_PIM_SSM_INFO, ssm);
|
||||
}
|
||||
|
@ -510,11 +510,9 @@ static void rip_interface_reset(struct rip_interface *ri)
|
||||
ri->ri_receive = yang_get_default_enum("%s/version-receive", RIP_IFACE);
|
||||
ri->v2_broadcast = yang_get_default_bool("%s/v2-broadcast", RIP_IFACE);
|
||||
|
||||
if (ri->auth_str)
|
||||
XFREE(MTYPE_RIP_INTERFACE_STRING, ri->auth_str);
|
||||
XFREE(MTYPE_RIP_INTERFACE_STRING, ri->auth_str);
|
||||
|
||||
if (ri->key_chain)
|
||||
XFREE(MTYPE_RIP_INTERFACE_STRING, ri->key_chain);
|
||||
XFREE(MTYPE_RIP_INTERFACE_STRING, ri->key_chain);
|
||||
|
||||
ri->list[RIP_FILTER_IN] = NULL;
|
||||
ri->list[RIP_FILTER_OUT] = NULL;
|
||||
|
@ -937,8 +937,7 @@ lib_interface_rip_authentication_password_modify(enum nb_event event,
|
||||
|
||||
ifp = yang_dnode_get_entry(dnode, true);
|
||||
ri = ifp->info;
|
||||
if (ri->auth_str)
|
||||
XFREE(MTYPE_RIP_INTERFACE_STRING, ri->auth_str);
|
||||
XFREE(MTYPE_RIP_INTERFACE_STRING, ri->auth_str);
|
||||
ri->auth_str = XSTRDUP(MTYPE_RIP_INTERFACE_STRING,
|
||||
yang_dnode_get_string(dnode, NULL));
|
||||
|
||||
@ -978,8 +977,7 @@ lib_interface_rip_authentication_key_chain_modify(enum nb_event event,
|
||||
|
||||
ifp = yang_dnode_get_entry(dnode, true);
|
||||
ri = ifp->info;
|
||||
if (ri->key_chain)
|
||||
XFREE(MTYPE_RIP_INTERFACE_STRING, ri->key_chain);
|
||||
XFREE(MTYPE_RIP_INTERFACE_STRING, ri->key_chain);
|
||||
ri->key_chain = XSTRDUP(MTYPE_RIP_INTERFACE_STRING,
|
||||
yang_dnode_get_string(dnode, NULL));
|
||||
|
||||
|
@ -104,30 +104,18 @@ static int static_list_compare_helper(const char *s1, const char *s2)
|
||||
|
||||
static void static_list_delete(struct static_hold_route *shr)
|
||||
{
|
||||
if (shr->vrf_name)
|
||||
XFREE(MTYPE_STATIC_ROUTE, shr->vrf_name);
|
||||
if (shr->nhvrf_name)
|
||||
XFREE(MTYPE_STATIC_ROUTE, shr->nhvrf_name);
|
||||
if (shr->dest_str)
|
||||
XFREE(MTYPE_STATIC_ROUTE, shr->dest_str);
|
||||
if (shr->mask_str)
|
||||
XFREE(MTYPE_STATIC_ROUTE, shr->mask_str);
|
||||
if (shr->src_str)
|
||||
XFREE(MTYPE_STATIC_ROUTE, shr->src_str);
|
||||
if (shr->gate_str)
|
||||
XFREE(MTYPE_STATIC_ROUTE, shr->gate_str);
|
||||
if (shr->ifname)
|
||||
XFREE(MTYPE_STATIC_ROUTE, shr->ifname);
|
||||
if (shr->flag_str)
|
||||
XFREE(MTYPE_STATIC_ROUTE, shr->flag_str);
|
||||
if (shr->tag_str)
|
||||
XFREE(MTYPE_STATIC_ROUTE, shr->tag_str);
|
||||
if (shr->distance_str)
|
||||
XFREE(MTYPE_STATIC_ROUTE, shr->distance_str);
|
||||
if (shr->label_str)
|
||||
XFREE(MTYPE_STATIC_ROUTE, shr->label_str);
|
||||
if (shr->table_str)
|
||||
XFREE(MTYPE_STATIC_ROUTE, shr->table_str);
|
||||
XFREE(MTYPE_STATIC_ROUTE, shr->vrf_name);
|
||||
XFREE(MTYPE_STATIC_ROUTE, shr->nhvrf_name);
|
||||
XFREE(MTYPE_STATIC_ROUTE, shr->dest_str);
|
||||
XFREE(MTYPE_STATIC_ROUTE, shr->mask_str);
|
||||
XFREE(MTYPE_STATIC_ROUTE, shr->src_str);
|
||||
XFREE(MTYPE_STATIC_ROUTE, shr->gate_str);
|
||||
XFREE(MTYPE_STATIC_ROUTE, shr->ifname);
|
||||
XFREE(MTYPE_STATIC_ROUTE, shr->flag_str);
|
||||
XFREE(MTYPE_STATIC_ROUTE, shr->tag_str);
|
||||
XFREE(MTYPE_STATIC_ROUTE, shr->distance_str);
|
||||
XFREE(MTYPE_STATIC_ROUTE, shr->label_str);
|
||||
XFREE(MTYPE_STATIC_ROUTE, shr->table_str);
|
||||
|
||||
XFREE(MTYPE_STATIC_ROUTE, shr);
|
||||
}
|
||||
|
@ -74,8 +74,7 @@ static int config_cmp(struct config *c1, struct config *c2)
|
||||
static void config_del(struct config *config)
|
||||
{
|
||||
list_delete(&config->line);
|
||||
if (config->name)
|
||||
XFREE(MTYPE_VTYSH_CONFIG_LINE, config->name);
|
||||
XFREE(MTYPE_VTYSH_CONFIG_LINE, config->name);
|
||||
XFREE(MTYPE_VTYSH_CONFIG, config);
|
||||
}
|
||||
|
||||
|
@ -1192,8 +1192,7 @@ int netlink_link_change(struct nlmsghdr *h, ns_id_t ns_id, int startup)
|
||||
ifp = if_lookup_by_name_per_ns(zns, name);
|
||||
|
||||
if (ifp) {
|
||||
if (ifp->desc)
|
||||
XFREE(MTYPE_TMP, ifp->desc);
|
||||
XFREE(MTYPE_TMP, ifp->desc);
|
||||
if (desc)
|
||||
ifp->desc = XSTRDUP(MTYPE_TMP, desc);
|
||||
}
|
||||
|
@ -249,8 +249,7 @@ static int lsp_install(struct zebra_vrf *zvrf, mpls_label_t label,
|
||||
lsp->ile.in_label, lsp->flags);
|
||||
|
||||
lsp = hash_release(lsp_table, &lsp->ile);
|
||||
if (lsp)
|
||||
XFREE(MTYPE_LSP, lsp);
|
||||
XFREE(MTYPE_LSP, lsp);
|
||||
}
|
||||
|
||||
return 0;
|
||||
@ -313,8 +312,7 @@ static int lsp_uninstall(struct zebra_vrf *zvrf, mpls_label_t label)
|
||||
lsp->ile.in_label, lsp->flags);
|
||||
|
||||
lsp = hash_release(lsp_table, &lsp->ile);
|
||||
if (lsp)
|
||||
XFREE(MTYPE_LSP, lsp);
|
||||
XFREE(MTYPE_LSP, lsp);
|
||||
}
|
||||
|
||||
return 0;
|
||||
@ -1048,8 +1046,7 @@ static void lsp_processq_del(struct work_queue *wq, void *data)
|
||||
lsp->ile.in_label, lsp->flags);
|
||||
|
||||
lsp = hash_release(lsp_table, &lsp->ile);
|
||||
if (lsp)
|
||||
XFREE(MTYPE_LSP, lsp);
|
||||
XFREE(MTYPE_LSP, lsp);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1335,8 +1332,7 @@ static int mpls_lsp_uninstall_all(struct hash *lsp_table, zebra_lsp_t *lsp,
|
||||
lsp->ile.in_label, lsp->flags);
|
||||
|
||||
lsp = hash_release(lsp_table, &lsp->ile);
|
||||
if (lsp)
|
||||
XFREE(MTYPE_LSP, lsp);
|
||||
XFREE(MTYPE_LSP, lsp);
|
||||
}
|
||||
|
||||
return 0;
|
||||
@ -1659,8 +1655,7 @@ static int snhlfe_del(zebra_snhlfe_t *snhlfe)
|
||||
slsp->snhlfe_list = snhlfe->next;
|
||||
|
||||
snhlfe->prev = snhlfe->next = NULL;
|
||||
if (snhlfe->ifname)
|
||||
XFREE(MTYPE_SNHLFE_IFNAME, snhlfe->ifname);
|
||||
XFREE(MTYPE_SNHLFE_IFNAME, snhlfe->ifname);
|
||||
XFREE(MTYPE_SNHLFE, snhlfe);
|
||||
|
||||
return 0;
|
||||
@ -2539,8 +2534,7 @@ int mpls_lsp_uninstall(struct zebra_vrf *zvrf, enum lsp_types_t type,
|
||||
lsp->ile.in_label, lsp->flags);
|
||||
|
||||
lsp = hash_release(lsp_table, &lsp->ile);
|
||||
if (lsp)
|
||||
XFREE(MTYPE_LSP, lsp);
|
||||
XFREE(MTYPE_LSP, lsp);
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
@ -2784,8 +2778,7 @@ int zebra_mpls_static_lsp_del(struct zebra_vrf *zvrf, mpls_label_t in_label,
|
||||
* above. */
|
||||
if (!slsp->snhlfe_list) {
|
||||
slsp = hash_release(slsp_table, &tmp_ile);
|
||||
if (slsp)
|
||||
XFREE(MTYPE_SLSP, slsp);
|
||||
XFREE(MTYPE_SLSP, slsp);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
@ -127,10 +127,8 @@ static int zebra_route_match_delete(struct vty *vty, const char *command,
|
||||
break;
|
||||
}
|
||||
|
||||
if (dep_name)
|
||||
XFREE(MTYPE_ROUTE_MAP_RULE, dep_name);
|
||||
if (rmap_name)
|
||||
XFREE(MTYPE_ROUTE_MAP_NAME, rmap_name);
|
||||
XFREE(MTYPE_ROUTE_MAP_RULE, dep_name);
|
||||
XFREE(MTYPE_ROUTE_MAP_NAME, rmap_name);
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
@ -351,8 +351,7 @@ void zebra_rtable_node_cleanup(struct route_table *table,
|
||||
rib_unlink(node, re);
|
||||
}
|
||||
|
||||
if (node->info)
|
||||
XFREE(MTYPE_RIB_DEST, node->info);
|
||||
XFREE(MTYPE_RIB_DEST, node->info);
|
||||
}
|
||||
|
||||
static void zebra_rnhtable_node_cleanup(struct route_table *table,
|
||||
|
@ -2215,8 +2215,7 @@ static int zvni_neigh_del(zebra_vni_t *zvni, zebra_neigh_t *n)
|
||||
|
||||
/* Free the VNI hash entry and allocated memory. */
|
||||
tmp_n = hash_release(zvni->neigh_table, n);
|
||||
if (tmp_n)
|
||||
XFREE(MTYPE_NEIGH, tmp_n);
|
||||
XFREE(MTYPE_NEIGH, tmp_n);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@ -3311,8 +3310,7 @@ static int zvni_mac_del(zebra_vni_t *zvni, zebra_mac_t *mac)
|
||||
|
||||
/* Free the VNI hash entry and allocated memory. */
|
||||
tmp_mac = hash_release(zvni->mac_table, mac);
|
||||
if (tmp_mac)
|
||||
XFREE(MTYPE_MAC, tmp_mac);
|
||||
XFREE(MTYPE_MAC, tmp_mac);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@ -3864,8 +3862,7 @@ static int zvni_del(zebra_vni_t *zvni)
|
||||
|
||||
/* Free the VNI hash entry and allocated memory. */
|
||||
tmp_zvni = hash_release(zvrf->vni_table, zvni);
|
||||
if (tmp_zvni)
|
||||
XFREE(MTYPE_ZVNI, tmp_zvni);
|
||||
XFREE(MTYPE_ZVNI, tmp_zvni);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@ -4301,8 +4298,7 @@ static int zl3vni_rmac_del(zebra_l3vni_t *zl3vni, zebra_mac_t *zrmac)
|
||||
}
|
||||
|
||||
tmp_rmac = hash_release(zl3vni->rmac_table, zrmac);
|
||||
if (tmp_rmac)
|
||||
XFREE(MTYPE_MAC, tmp_rmac);
|
||||
XFREE(MTYPE_MAC, tmp_rmac);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@ -4478,8 +4474,7 @@ static int zl3vni_nh_del(zebra_l3vni_t *zl3vni, zebra_neigh_t *n)
|
||||
}
|
||||
|
||||
tmp_n = hash_release(zl3vni->nh_table, n);
|
||||
if (tmp_n)
|
||||
XFREE(MTYPE_NEIGH, tmp_n);
|
||||
XFREE(MTYPE_NEIGH, tmp_n);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@ -4711,8 +4706,7 @@ static int zl3vni_del(zebra_l3vni_t *zl3vni)
|
||||
|
||||
/* Free the VNI hash entry and allocated memory. */
|
||||
tmp_zl3vni = hash_release(zrouter.l3vni_table, zl3vni);
|
||||
if (tmp_zl3vni)
|
||||
XFREE(MTYPE_ZL3VNI, tmp_zl3vni);
|
||||
XFREE(MTYPE_ZL3VNI, tmp_zl3vni);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user