*: remove null check before XFREE

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
This commit is contained in:
Quentin Young 2019-02-25 20:18:13 +00:00
parent 1383ff9c51
commit 0a22ddfbb1
56 changed files with 191 additions and 374 deletions

View File

@ -255,8 +255,7 @@ void bgp_sync_delete(struct peer *peer)
safi_t safi; safi_t safi;
FOREACH_AFI_SAFI (afi, 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; peer->sync[afi][safi] = NULL;
} }
} }

View File

@ -309,8 +309,7 @@ void aspath_free(struct aspath *aspath)
return; return;
if (aspath->segments) if (aspath->segments)
assegment_free_all(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) { if (aspath->json) {
json_object_free(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) 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) { if (as->json) {
json_object_free(as->json); json_object_free(as->json);

View File

@ -158,8 +158,7 @@ static bool cluster_hash_cmp(const void *p1, const void *p2)
static void cluster_free(struct cluster_list *cluster) 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); XFREE(MTYPE_CLUSTER, cluster);
} }
@ -400,8 +399,7 @@ static struct hash *transit_hash;
static void transit_free(struct transit *transit) 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); XFREE(MTYPE_TRANSIT, transit);
} }

View File

@ -100,16 +100,14 @@ static void community_entry_free(struct community_entry *entry)
case EXTCOMMUNITY_LIST_STANDARD: case EXTCOMMUNITY_LIST_STANDARD:
/* In case of standard extcommunity-list, configuration string /* In case of standard extcommunity-list, configuration string
is made by ecommunity_ecom2str(). */ is made by ecommunity_ecom2str(). */
if (entry->config) XFREE(MTYPE_ECOMMUNITY_STR, entry->config);
XFREE(MTYPE_ECOMMUNITY_STR, entry->config);
if (entry->u.ecom) if (entry->u.ecom)
ecommunity_free(&entry->u.ecom); ecommunity_free(&entry->u.ecom);
break; break;
case COMMUNITY_LIST_EXPANDED: case COMMUNITY_LIST_EXPANDED:
case EXTCOMMUNITY_LIST_EXPANDED: case EXTCOMMUNITY_LIST_EXPANDED:
case LARGE_COMMUNITY_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) if (entry->reg)
bgp_regex_free(entry->reg); bgp_regex_free(entry->reg);
default: default:
@ -127,8 +125,7 @@ static struct community_list *community_list_new(void)
/* Free community-list. */ /* Free community-list. */
static void community_list_free(struct community_list *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); XFREE(MTYPE_COMMUNITY_LIST, list);
} }

View File

@ -41,10 +41,8 @@ static struct community *community_new(void)
/* Free communities value. */ /* Free communities value. */
void community_free(struct community **com) void community_free(struct community **com)
{ {
if ((*com)->val) XFREE(MTYPE_COMMUNITY_VAL, (*com)->val);
XFREE(MTYPE_COMMUNITY_VAL, (*com)->val); XFREE(MTYPE_COMMUNITY_STR, (*com)->str);
if ((*com)->str)
XFREE(MTYPE_COMMUNITY_STR, (*com)->str);
if ((*com)->json) { if ((*com)->json) {
json_object_free((*com)->json); json_object_free((*com)->json);

View File

@ -60,10 +60,8 @@ void ecommunity_strfree(char **s)
/* Allocate ecommunities. */ /* Allocate ecommunities. */
void ecommunity_free(struct ecommunity **ecom) void ecommunity_free(struct ecommunity **ecom)
{ {
if ((*ecom)->val) XFREE(MTYPE_ECOMMUNITY_VAL, (*ecom)->val);
XFREE(MTYPE_ECOMMUNITY_VAL, (*ecom)->val); XFREE(MTYPE_ECOMMUNITY_STR, (*ecom)->str);
if ((*ecom)->str)
XFREE(MTYPE_ECOMMUNITY_STR, (*ecom)->str);
XFREE(MTYPE_ECOMMUNITY, *ecom); XFREE(MTYPE_ECOMMUNITY, *ecom);
} }

View File

@ -401,8 +401,7 @@ void bgp_encap_type_vxlan_to_tlv(
if (bet == NULL || !bet->vnid) if (bet == NULL || !bet->vnid)
return; return;
if (attr->encap_subtlvs) XFREE(MTYPE_ENCAP_TLV, attr->encap_subtlvs);
XFREE(MTYPE_ENCAP_TLV, attr->encap_subtlvs);
tlv = XCALLOC(MTYPE_ENCAP_TLV, tlv = XCALLOC(MTYPE_ENCAP_TLV,
sizeof(struct bgp_attr_encap_subtlv) + 12); sizeof(struct bgp_attr_encap_subtlv) + 12);
tlv->type = 1; /* encapsulation type */ tlv->type = 1; /* encapsulation type */

View File

@ -95,8 +95,7 @@ static void as_filter_free(struct as_filter *asfilter)
{ {
if (asfilter->reg) if (asfilter->reg)
bgp_regex_free(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); XFREE(MTYPE_AS_FILTER, asfilter);
} }
@ -338,8 +337,7 @@ static void as_list_filter_delete(struct as_list *aslist,
/* Run hook function. */ /* Run hook function. */
if (as_list_master.delete_hook) if (as_list_master.delete_hook)
(*as_list_master.delete_hook)(name); (*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) static int as_filter_match(struct as_filter *asfilter, struct aspath *aspath)

View File

@ -180,14 +180,12 @@ static void lp_cbq_item_free(struct work_queue *wq, void *data)
static void lp_lcb_free(void *goner) 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) 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) void bgp_lp_init(struct thread_master *master, struct labelpool *pool)

View File

@ -45,10 +45,8 @@ static struct lcommunity *lcommunity_new(void)
/* Allocate lcommunities. */ /* Allocate lcommunities. */
void lcommunity_free(struct lcommunity **lcom) void lcommunity_free(struct lcommunity **lcom)
{ {
if ((*lcom)->val) XFREE(MTYPE_LCOMMUNITY_VAL, (*lcom)->val);
XFREE(MTYPE_LCOMMUNITY_VAL, (*lcom)->val); XFREE(MTYPE_LCOMMUNITY_STR, (*lcom)->str);
if ((*lcom)->str)
XFREE(MTYPE_LCOMMUNITY_STR, (*lcom)->str);
XFREE(MTYPE_LCOMMUNITY, *lcom); XFREE(MTYPE_LCOMMUNITY, *lcom);
} }

View File

@ -155,8 +155,7 @@ int str2prefix_rd(const char *str, struct prefix_rd *prd)
out: out:
if (s) if (s)
stream_free(s); stream_free(s);
if (half) XFREE(MTYPE_TMP, half);
XFREE(MTYPE_TMP, half);
return lret; return lret;
} }

View File

@ -4464,12 +4464,10 @@ static struct bgp_static *bgp_static_new(void)
static void bgp_static_free(struct bgp_static *bgp_static) 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); 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); 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; bgp_static->backdoor = backdoor;
if (rmap) { if (rmap) {
if (bgp_static->rmap.name) XFREE(MTYPE_ROUTE_MAP_NAME,
XFREE(MTYPE_ROUTE_MAP_NAME, bgp_static->rmap.name);
bgp_static->rmap.name);
route_map_counter_decrement( route_map_counter_decrement(
bgp_static->rmap.map); bgp_static->rmap.map);
bgp_static->rmap.name = bgp_static->rmap.name =
@ -5041,9 +5038,8 @@ static int bgp_static_set(struct vty *vty, const char *negate,
route_map_counter_increment( route_map_counter_increment(
bgp_static->rmap.map); bgp_static->rmap.map);
} else { } else {
if (bgp_static->rmap.name) XFREE(MTYPE_ROUTE_MAP_NAME,
XFREE(MTYPE_ROUTE_MAP_NAME, bgp_static->rmap.name);
bgp_static->rmap.name);
route_map_counter_decrement( route_map_counter_decrement(
bgp_static->rmap.map); bgp_static->rmap.map);
bgp_static->rmap.name = NULL; 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; bgp_static->label_index = label_index;
if (rmap) { if (rmap) {
if (bgp_static->rmap.name) XFREE(MTYPE_ROUTE_MAP_NAME,
XFREE(MTYPE_ROUTE_MAP_NAME, bgp_static->rmap.name);
bgp_static->rmap.name);
route_map_counter_decrement( route_map_counter_decrement(
bgp_static->rmap.map); bgp_static->rmap.map);
bgp_static->rmap.name = 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; bgp_static->prd = prd;
if (rmap_str) { 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); route_map_counter_decrement(bgp_static->rmap.map);
bgp_static->rmap.name = bgp_static->rmap.name =
XSTRDUP(MTYPE_ROUTE_MAP_NAME, rmap_str); 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]; rmap = &bgp->table_map[afi][safi];
if (rmap_name) { 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); route_map_counter_decrement(rmap->map);
rmap->name = XSTRDUP(MTYPE_ROUTE_MAP_NAME, rmap_name); rmap->name = XSTRDUP(MTYPE_ROUTE_MAP_NAME, rmap_name);
rmap->map = route_map_lookup_by_name(rmap_name); rmap->map = route_map_lookup_by_name(rmap_name);
route_map_counter_increment(rmap->map); route_map_counter_increment(rmap->map);
} else { } else {
if (rmap->name) XFREE(MTYPE_ROUTE_MAP_NAME, rmap->name);
XFREE(MTYPE_ROUTE_MAP_NAME, rmap->name);
route_map_counter_decrement(rmap->map); route_map_counter_decrement(rmap->map);
rmap->name = NULL; rmap->name = NULL;
rmap->map = 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; struct bgp_rmap *rmap;
rmap = &bgp->table_map[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);
route_map_counter_decrement(rmap->map); route_map_counter_decrement(rmap->map);
rmap->name = NULL; rmap->name = NULL;
rmap->map = 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; 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_distance_free(bdistance);
bgp_node_set_bgp_path_info(rn, NULL); 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, decode_label(&bgp_static->label), esi, buf2,
macrouter); macrouter);
if (macrouter) XFREE(MTYPE_TMP, macrouter);
XFREE(MTYPE_TMP, macrouter); XFREE(MTYPE_TMP, esi);
if (esi)
XFREE(MTYPE_TMP, esi);
} }
} }
} }

View File

@ -322,8 +322,7 @@ static void route_match_peer_free(void *rule)
{ {
struct bgp_match_peer_compiled *pc = 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); 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; 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); XFREE(MTYPE_ROUTE_MAP_COMPILED, rins);
} }
@ -3098,10 +3096,8 @@ static int bgp_route_match_delete(struct vty *vty, const char *command,
break; break;
} }
if (dep_name) XFREE(MTYPE_ROUTE_MAP_RULE, dep_name);
XFREE(MTYPE_ROUTE_MAP_RULE, dep_name); XFREE(MTYPE_ROUTE_MAP_NAME, rmap_name);
if (rmap_name)
XFREE(MTYPE_ROUTE_MAP_NAME, rmap_name);
return retval; return retval;
} }

View File

@ -110,8 +110,7 @@ static void sync_init(struct update_subgroup *subgrp)
static void sync_delete(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; subgrp->sync = NULL;
if (subgrp->hash) if (subgrp->hash)
hash_free(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->v_routeadv = src->v_routeadv;
dst->flags = src->flags; dst->flags = src->flags;
dst->af_flags[afi][safi] = src->af_flags[afi][safi]; 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->host = XSTRDUP(MTYPE_BGP_PEER_HOST, src->host);
dst->cap = src->cap; 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]; 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; 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); hash_release(updgrp->bgp->update_groups[updgrp->afid], updgrp);
conf_release(updgrp->conf, updgrp->afi, updgrp->safi); 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; 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_PEER, updgrp->conf);
XFREE(MTYPE_BGP_UPDGRP, updgrp); XFREE(MTYPE_BGP_UPDGRP, updgrp);

View File

@ -14456,8 +14456,7 @@ static int lcommunity_list_set_vty(struct vty *vty, int argc,
/* Free temporary community list string allocated by /* Free temporary community list string allocated by
argv_concat(). */ argv_concat(). */
if (str) XFREE(MTYPE_TMP, str);
XFREE(MTYPE_TMP, str);
if (ret < 0) { if (ret < 0) {
community_list_perror(vty, ret); 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 /* Free temporary community list string allocated by
argv_concat(). */ argv_concat(). */
if (str) XFREE(MTYPE_TMP, str);
XFREE(MTYPE_TMP, str);
if (ret < 0) { if (ret < 0) {
community_list_perror(vty, ret); community_list_perror(vty, ret);

View File

@ -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)) if (red->rmap.name && (strcmp(red->rmap.name, name) == 0))
return 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 /* Decrement the count for existing routemap and
* increment the count for new route map. * 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); bgp_redistribute_unreg(bgp, afi, type, instance);
/* Unset route-map. */ /* 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); route_map_counter_decrement(red->rmap.map);
red->rmap.name = NULL; red->rmap.name = NULL;
red->rmap.map = NULL; red->rmap.map = NULL;

View File

@ -1099,8 +1099,7 @@ static void peer_free(struct peer *peer)
peer->update_if = NULL; 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)); memset(&peer->notify, 0, sizeof(struct bgp_notify));
if (peer->clear_node_queue) 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 = peer_dst->update_source =
sockunion_dup(peer_src->update_source); sockunion_dup(peer_src->update_source);
} else if (peer_src->update_if) { } 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) { if (peer_dst->update_source) {
sockunion_free(peer_dst->update_source); sockunion_free(peer_dst->update_source);
peer_dst->update_source = NULL; 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_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 = peer_dst->ifname =
XSTRDUP(MTYPE_BGP_PEER_IFNAME, peer_src->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; peer->su = *su;
else else
bgp_peer_conf_if_to_su_update(peer); 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); peer->host = XSTRDUP(MTYPE_BGP_PEER_HOST, conf_if);
} else if (su) { } else if (su) {
peer->su = *su; peer->su = *su;
sockunion2str(su, buf, SU_ADDRSTRLEN); 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->host = XSTRDUP(MTYPE_BGP_PEER_HOST, buf);
} }
peer->local_as = local_as; 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 = peer_group_new();
group->bgp = bgp; 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->name = XSTRDUP(MTYPE_PEER_GROUP_HOST, name);
group->peer = list_new(); group->peer = list_new();
for (afi = AFI_IP; afi < AFI_MAX; afi++) 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); group->conf = peer_new(bgp);
if (!bgp_flag_check(bgp, BGP_FLAG_NO_DEFAULT_IPV4)) if (!bgp_flag_check(bgp, BGP_FLAG_NO_DEFAULT_IPV4))
group->conf->afc[AFI_IP][SAFI_UNICAST] = 1; 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->host = XSTRDUP(MTYPE_BGP_PEER_HOST, name);
group->conf->group = group; group->conf->group = group;
group->conf->as = 0; 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 bgp->vrf_id = (inst_type == BGP_INSTANCE_TYPE_DEFAULT) ? VRF_DEFAULT
: VRF_UNKNOWN; : VRF_UNKNOWN;
bgp->peer_self = peer_new(bgp); 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 = bgp->peer_self->host =
XSTRDUP(MTYPE_BGP_PEER_HOST, "Static announcement"); XSTRDUP(MTYPE_BGP_PEER_HOST, "Static announcement");
if (bgp->peer_self->hostname != NULL) { if (bgp->peer_self->hostname != NULL) {
@ -3404,8 +3396,7 @@ void bgp_free(struct bgp *bgp)
if (bgp->rib[afi][safi]) if (bgp->rib[afi][safi])
bgp_table_finish(&bgp->rib[afi][safi]); bgp_table_finish(&bgp->rib[afi][safi]);
rmap = &bgp->table_map[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); bgp_scan_finish(bgp);
@ -3435,10 +3426,8 @@ void bgp_free(struct bgp *bgp)
ecommunity_free(&bgp->vpn_policy[afi].rtlist[dir]); ecommunity_free(&bgp->vpn_policy[afi].rtlist[dir]);
} }
if (bgp->name) XFREE(MTYPE_BGP, bgp->name);
XFREE(MTYPE_BGP, bgp->name); XFREE(MTYPE_BGP, bgp->name_pretty);
if (bgp->name_pretty)
XFREE(MTYPE_BGP, bgp->name_pretty);
XFREE(MTYPE_BGP, bgp); XFREE(MTYPE_BGP, bgp);
} }
@ -4367,8 +4356,7 @@ int peer_ebgp_multihop_unset(struct peer *peer)
/* Neighbor description. */ /* Neighbor description. */
int peer_description_set(struct peer *peer, const char *desc) 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); 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) 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; peer->desc = NULL;
@ -5124,15 +5111,13 @@ int peer_advertise_interval_unset(struct peer *peer)
/* neighbor interface */ /* neighbor interface */
void peer_interface_set(struct peer *peer, const char *str) 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); peer->ifname = XSTRDUP(MTYPE_BGP_PEER_IFNAME, str);
} }
void peer_interface_unset(struct peer *peer) 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; peer->ifname = NULL;
} }

View File

@ -3457,8 +3457,7 @@ static void bgp_rfapi_delete_l2_group(struct vty *vty, /* NULL = no output */
ecommunity_free(&rfg->rt_export_list); ecommunity_free(&rfg->rt_export_list);
if (rfg->labels) if (rfg->labels)
list_delete(&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); listnode_delete(bgp->rfapi_cfg->l2_groups, rfg);
rfapi_l2_group_del(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); ecommunity_free(&h->default_rt_export_list);
if (h->default_rt_import_list) if (h->default_rt_import_list)
ecommunity_free(&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++) { for (afi = AFI_IP; afi < AFI_MAX; afi++) {
agg_table_finish(h->nve_groups_vn[afi]); agg_table_finish(h->nve_groups_vn[afi]);
agg_table_finish(h->nve_groups_un[afi]); agg_table_finish(h->nve_groups_un[afi]);

View File

@ -608,10 +608,8 @@ static void vnc_zebra_add_del_prefix(struct bgp *bgp,
add); add);
} }
if (nhp_ary) XFREE(MTYPE_TMP, nhp_ary);
XFREE(MTYPE_TMP, nhp_ary); XFREE(MTYPE_TMP, nh_ary);
if (nh_ary)
XFREE(MTYPE_TMP, nh_ary);
} }
void vnc_zebra_add_prefix(struct bgp *bgp, 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);
XFREE(MTYPE_TMP, nhp_ary); XFREE(MTYPE_TMP, nh_ary);
if (nh_ary)
XFREE(MTYPE_TMP, nh_ary);
} }
} }

View File

@ -140,12 +140,9 @@ void isis_delete_adj(void *arg)
/* remove from SPF trees */ /* remove from SPF trees */
spftree_area_adj_del(adj->circuit->area, adj); spftree_area_adj_del(adj->circuit->area, adj);
if (adj->area_addresses) XFREE(MTYPE_ISIS_ADJACENCY_INFO, adj->area_addresses);
XFREE(MTYPE_ISIS_ADJACENCY_INFO, adj->area_addresses); XFREE(MTYPE_ISIS_ADJACENCY_INFO, adj->ipv4_addresses);
if (adj->ipv4_addresses) XFREE(MTYPE_ISIS_ADJACENCY_INFO, adj->ipv6_addresses);
XFREE(MTYPE_ISIS_ADJACENCY_INFO, adj->ipv4_addresses);
if (adj->ipv6_addresses)
XFREE(MTYPE_ISIS_ADJACENCY_INFO, adj->ipv6_addresses);
adj_mt_finish(adj); adj_mt_finish(adj);

View File

@ -504,8 +504,7 @@ void isis_redist_area_finish(struct isis_area *area)
redist = &area->redist_settings[protocol][type] redist = &area->redist_settings[protocol][type]
[level]; [level];
redist->redist = 0; 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]); route_table_finish(area->ext_reach[protocol][level]);
} }

View File

@ -3202,8 +3202,7 @@ void isis_tlvs_set_protocols_supported(struct isis_tlvs *tlvs,
struct nlpids *nlpids) struct nlpids *nlpids)
{ {
tlvs->protocols_supported.count = nlpids->count; 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) { if (nlpids->count) {
tlvs->protocols_supported.protocols = tlvs->protocols_supported.protocols =
XCALLOC(MTYPE_ISIS_TLV, nlpids->count); XCALLOC(MTYPE_ISIS_TLV, nlpids->count);

View File

@ -1277,8 +1277,7 @@ int cmd_execute(struct vty *vty, const char *cmd,
hook_call(cmd_execute_done, vty, cmd_exec); hook_call(cmd_execute_done, vty, cmd_exec);
if (cmd_out) XFREE(MTYPE_TMP, cmd_out);
XFREE(MTYPE_TMP, cmd_out);
return ret; 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); ret = zlog_set_file(fullpath, loglevel);
if (p) XFREE(MTYPE_TMP, p);
XFREE(MTYPE_TMP, p);
if (!ret) { if (!ret) {
if (vty) if (vty)
@ -2417,8 +2415,7 @@ static int set_log_file(struct vty *vty, const char *fname, int loglevel)
return CMD_WARNING_CONFIG_FAILED; return CMD_WARNING_CONFIG_FAILED;
} }
if (host.logfile) XFREE(MTYPE_HOST, host.logfile);
XFREE(MTYPE_HOST, host.logfile);
host.logfile = XSTRDUP(MTYPE_HOST, fname); host.logfile = XSTRDUP(MTYPE_HOST, fname);
@ -2487,8 +2484,7 @@ static void disable_log_file(void)
{ {
zlog_reset_file(); zlog_reset_file();
if (host.logfile) XFREE(MTYPE_HOST, host.logfile);
XFREE(MTYPE_HOST, host.logfile);
host.logfile = NULL; host.logfile = NULL;
} }
@ -2637,8 +2633,7 @@ int cmd_banner_motd_file(const char *file)
return CMD_ERR_NO_FILE; return CMD_ERR_NO_FILE;
in = strstr(rpath, SYSCONFDIR); in = strstr(rpath, SYSCONFDIR);
if (in == rpath) { if (in == rpath) {
if (host.motdfile) XFREE(MTYPE_HOST, host.motdfile);
XFREE(MTYPE_HOST, host.motdfile);
host.motdfile = XSTRDUP(MTYPE_HOST, file); host.motdfile = XSTRDUP(MTYPE_HOST, file);
} else } else
success = CMD_WARNING_CONFIG_FAILED; success = CMD_WARNING_CONFIG_FAILED;
@ -2723,8 +2718,7 @@ DEFUN(find,
/* Set config filename. Called from vty.c */ /* Set config filename. Called from vty.c */
void host_config_set(const char *filename) 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); host.config = XSTRDUP(MTYPE_HOST, filename);
} }
@ -2904,24 +2898,15 @@ void cmd_terminate(void)
cmdvec = NULL; cmdvec = NULL;
} }
if (host.name) XFREE(MTYPE_HOST, host.name);
XFREE(MTYPE_HOST, host.name); XFREE(MTYPE_HOST, host.domainname);
if (host.domainname) XFREE(MTYPE_HOST, host.password);
XFREE(MTYPE_HOST, host.domainname); XFREE(MTYPE_HOST, host.password_encrypt);
if (host.password) XFREE(MTYPE_HOST, host.enable);
XFREE(MTYPE_HOST, host.password); XFREE(MTYPE_HOST, host.enable_encrypt);
if (host.password_encrypt) XFREE(MTYPE_HOST, host.logfile);
XFREE(MTYPE_HOST, host.password_encrypt); XFREE(MTYPE_HOST, host.motdfile);
if (host.enable) XFREE(MTYPE_HOST, host.config);
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);
list_delete(&varhandlers); list_delete(&varhandlers);
qobj_finish(); qobj_finish();

View File

@ -44,16 +44,15 @@ static void distribute_free(struct distribute *dist)
{ {
int i = 0; 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++) for (i = 0; i < DISTRIBUTE_MAX; i++) {
if (dist->list[i]) XFREE(MTYPE_DISTRIBUTE_NAME, dist->list[i]);
XFREE(MTYPE_DISTRIBUTE_NAME, dist->list[i]); }
for (i = 0; i < DISTRIBUTE_MAX; i++) for (i = 0; i < DISTRIBUTE_MAX; i++) {
if (dist->prefix[i]) XFREE(MTYPE_DISTRIBUTE_NAME, dist->prefix[i]);
XFREE(MTYPE_DISTRIBUTE_NAME, dist->prefix[i]); }
XFREE(MTYPE_DISTRIBUTE, dist); XFREE(MTYPE_DISTRIBUTE, dist);
} }
@ -83,8 +82,7 @@ struct distribute *distribute_lookup(struct distribute_ctx *ctx,
dist = hash_lookup(ctx->disthash, &key); dist = hash_lookup(ctx->disthash, &key);
if (key.ifname) XFREE(MTYPE_DISTRIBUTE_IFNAME, key.ifname);
XFREE(MTYPE_DISTRIBUTE_IFNAME, key.ifname);
return dist; return dist;
} }
@ -128,8 +126,7 @@ static struct distribute *distribute_get(struct distribute_ctx *ctx,
ret = hash_get(ctx->disthash, &key, ret = hash_get(ctx->disthash, &key,
(void *(*)(void *))distribute_hash_alloc); (void *(*)(void *))distribute_hash_alloc);
if (key.ifname) XFREE(MTYPE_DISTRIBUTE_IFNAME, key.ifname);
XFREE(MTYPE_DISTRIBUTE_IFNAME, key.ifname);
return ret; return ret;
} }
@ -163,8 +160,7 @@ static void distribute_list_set(struct distribute_ctx *ctx,
dist = distribute_get(ctx, ifname); 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); dist->list[type] = XSTRDUP(MTYPE_DISTRIBUTE_NAME, alist_name);
/* Apply this distribute-list to the interface. */ /* 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); 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); dist->prefix[type] = XSTRDUP(MTYPE_DISTRIBUTE_NAME, plist_name);
/* Apply this distribute-list to the interface. */ /* Apply this distribute-list to the interface. */

View File

@ -242,11 +242,9 @@ static void access_list_delete(struct access_list *access)
else else
list->head = access->next; 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); access_list_free(access);
} }

View File

@ -110,8 +110,7 @@ void frr_pthread_destroy(struct frr_pthread *fpt)
pthread_mutex_destroy(&fpt->mtx); pthread_mutex_destroy(&fpt->mtx);
pthread_mutex_destroy(fpt->running_cond_mtx); pthread_mutex_destroy(fpt->running_cond_mtx);
pthread_cond_destroy(fpt->running_cond); 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_mtx);
XFREE(MTYPE_PTHREAD_PRIM, fpt->running_cond); XFREE(MTYPE_PTHREAD_PRIM, fpt->running_cond);
XFREE(MTYPE_FRR_PTHREAD, fpt); XFREE(MTYPE_FRR_PTHREAD, fpt);

View File

@ -322,8 +322,7 @@ void hash_free(struct hash *hash)
} }
pthread_mutex_unlock(&_hashes_mtx); 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_INDEX, hash->index);
XFREE(MTYPE_HASH, hash); XFREE(MTYPE_HASH, hash);

View File

@ -234,8 +234,7 @@ void if_delete(struct interface *ifp)
if_link_params_free(ifp); if_link_params_free(ifp);
if (ifp->desc) XFREE(MTYPE_TMP, ifp->desc);
XFREE(MTYPE_TMP, ifp->desc);
XFREE(MTYPE_IF, ifp); XFREE(MTYPE_IF, ifp);
} }
@ -708,8 +707,7 @@ void connected_free(struct connected *connected)
if (connected->destination) if (connected->destination)
prefix_free(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); XFREE(MTYPE_CONNECTED, connected);
} }
@ -1349,8 +1347,7 @@ static int lib_interface_description_modify(enum nb_event event,
return NB_OK; return NB_OK;
ifp = yang_dnode_get_entry(dnode, true); 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); description = yang_dnode_get_string(dnode, NULL);
ifp->desc = XSTRDUP(MTYPE_TMP, description); ifp->desc = XSTRDUP(MTYPE_TMP, description);
@ -1366,8 +1363,7 @@ static int lib_interface_description_delete(enum nb_event event,
return NB_OK; return NB_OK;
ifp = yang_dnode_get_entry(dnode, true); ifp = yang_dnode_get_entry(dnode, true);
if (ifp->desc) XFREE(MTYPE_TMP, ifp->desc);
XFREE(MTYPE_TMP, ifp->desc);
return NB_OK; return NB_OK;
} }

View File

@ -46,13 +46,10 @@ static struct if_rmap *if_rmap_new(void)
static void if_rmap_free(struct if_rmap *if_rmap) 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]);
XFREE(MTYPE_IF_RMAP_NAME, if_rmap->routemap[IF_RMAP_IN]); XFREE(MTYPE_IF_RMAP_NAME, if_rmap->routemap[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, if_rmap); 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_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; 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); 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; 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_rmap = if_rmap_get(ifname);
if (type == IF_RMAP_IN) { 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] = if_rmap->routemap[IF_RMAP_IN] =
XSTRDUP(MTYPE_IF_RMAP_NAME, routemap_name); XSTRDUP(MTYPE_IF_RMAP_NAME, routemap_name);
} }
if (type == IF_RMAP_OUT) { 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] = if_rmap->routemap[IF_RMAP_OUT] =
XSTRDUP(MTYPE_IF_RMAP_NAME, routemap_name); XSTRDUP(MTYPE_IF_RMAP_NAME, routemap_name);
} }

View File

@ -116,8 +116,7 @@ static struct keychain *keychain_get(const char *name)
static void keychain_delete(struct keychain *keychain) static void keychain_delete(struct keychain *keychain)
{ {
if (keychain->name) XFREE(MTYPE_KEYCHAIN, keychain->name);
XFREE(MTYPE_KEYCHAIN, keychain->name);
list_delete(&keychain->key); list_delete(&keychain->key);
listnode_delete(keychain_list, keychain); listnode_delete(keychain_list, keychain);
@ -217,8 +216,7 @@ static void key_delete(struct keychain *keychain, struct key *key)
{ {
listnode_delete(keychain->key, key); listnode_delete(keychain->key, key);
if (key->string) XFREE(MTYPE_KEY, key->string);
XFREE(MTYPE_KEY, key->string);
key_free(key); key_free(key);
} }

View File

@ -851,8 +851,7 @@ void closezlog(void)
if (zl->fp != NULL) if (zl->fp != NULL)
fclose(zl->fp); fclose(zl->fp);
if (zl->filename != NULL) XFREE(MTYPE_ZLOG, zl->filename);
XFREE(MTYPE_ZLOG, zl->filename);
XFREE(MTYPE_ZLOG, zl); XFREE(MTYPE_ZLOG, zl);
zlog_default = NULL; zlog_default = NULL;
@ -911,8 +910,7 @@ int zlog_reset_file(void)
logfile_fd = -1; logfile_fd = -1;
zl->maxlvl[ZLOG_DEST_FILE] = ZLOG_DISABLED; zl->maxlvl[ZLOG_DEST_FILE] = ZLOG_DISABLED;
if (zl->filename) XFREE(MTYPE_ZLOG, zl->filename);
XFREE(MTYPE_ZLOG, zl->filename);
zl->filename = NULL; zl->filename = NULL;
pthread_mutex_unlock(&loglock); pthread_mutex_unlock(&loglock);

View File

@ -141,8 +141,7 @@ struct frrmod_runtime *frrmod_load(const char *spec, const char *dir, char *err,
return rtinfo; return rtinfo;
out_fail: 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); XFREE(MTYPE_MODULE_LOADNAME, rtinfo->load_name);
return NULL; return NULL;
} }

View File

@ -344,8 +344,7 @@ void ns_delete(struct ns *ns)
// if_terminate (&ns->iflist); // if_terminate (&ns->iflist);
RB_REMOVE(ns_head, &ns_tree, ns); 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); XFREE(MTYPE_NS, ns);
} }

View File

@ -205,11 +205,9 @@ static int nhgl_cmp(struct nexthop_hold *nh1, struct nexthop_hold *nh2)
static void nhgl_delete(struct nexthop_hold *nh) 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); XFREE(MTYPE_TMP, nh);
} }

View File

@ -326,8 +326,7 @@ static void prefix_list_delete(struct prefix_list *plist)
else else
list->head = plist->next; 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 /* Make sure master's recent changed prefix-list information is
cleared. */ cleared. */
@ -338,8 +337,7 @@ static void prefix_list_delete(struct prefix_list *plist)
if (master->delete_hook) if (master->delete_hook)
(*master->delete_hook)(plist); (*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); XFREE(MTYPE_PREFIX_LIST_TRIE, plist->trie);

View File

@ -944,8 +944,7 @@ int str2prefix_eth(const char *str, struct prefix_eth *p)
ret = 1; ret = 1;
done: done:
if (cp) XFREE(MTYPE_TMP, cp);
XFREE(MTYPE_TMP, cp);
return ret; return ret;
} }

View File

@ -538,10 +538,8 @@ int generic_match_delete(struct vty *vty, struct route_map_index *index,
break; break;
} }
if (dep_name) XFREE(MTYPE_ROUTE_MAP_RULE, dep_name);
XFREE(MTYPE_ROUTE_MAP_RULE, dep_name); XFREE(MTYPE_ROUTE_MAP_NAME, rmap_name);
if (rmap_name)
XFREE(MTYPE_ROUTE_MAP_NAME, rmap_name);
return retval; return retval;
} }
@ -1075,8 +1073,7 @@ static void route_map_index_delete(struct route_map_index *index, int notify)
index->map->head = index->next; index->map->head = index->next;
/* Free 'char *nextrm' if not NULL */ /* 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. */ /* Execute event hook. */
if (route_map_master.event_hook && notify) { 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) if (rule->cmd->func_free)
(*rule->cmd->func_free)(rule->value); (*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) if (rule->next)
rule->next->prev = rule->prev; 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); 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) { if (!dep->dep_rmap_hash->count) {
dep = hash_release(dephash, dname); dep = hash_release(dephash, dname);

View File

@ -482,8 +482,7 @@ void thread_master_set_name(struct thread_master *master, const char *name)
{ {
pthread_mutex_lock(&master->mtx); 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); master->name = XSTRDUP(MTYPE_THREAD_MASTER, name);
} }
pthread_mutex_unlock(&master->mtx); pthread_mutex_unlock(&master->mtx);
@ -647,8 +646,7 @@ void thread_master_free(struct thread_master *m)
hash_free(m->cpu_record); hash_free(m->cpu_record);
m->cpu_record = NULL; 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.pfds);
XFREE(MTYPE_THREAD_MASTER, m->handler.copy); XFREE(MTYPE_THREAD_MASTER, m->handler.copy);
XFREE(MTYPE_THREAD_MASTER, m); XFREE(MTYPE_THREAD_MASTER, m);

View File

@ -974,8 +974,7 @@ static void vty_complete_command(struct vty *vty)
default: default:
break; break;
} }
if (matched) XFREE(MTYPE_TMP, matched);
XFREE(MTYPE_TMP, matched);
} }
static void vty_describe_fold(struct vty *vty, int cmd_width, 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. */ /* 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); vty->hist[vty->hindex] = XSTRDUP(MTYPE_VTY_HIST, vty->buf);
/* History index rotation. */ /* History index rotation. */
@ -2232,9 +2230,9 @@ void vty_close(struct vty *vty)
buffer_free(vty->lbuf); buffer_free(vty->lbuf);
/* Free command history. */ /* Free command history. */
for (i = 0; i < VTY_MAXHIST; i++) for (i = 0; i < VTY_MAXHIST; i++) {
if (vty->hist[i]) XFREE(MTYPE_VTY_HIST, vty->hist[i]);
XFREE(MTYPE_VTY_HIST, vty->hist[i]); }
/* Unset vector. */ /* Unset vector. */
if (vty->fd != -1) if (vty->fd != -1)
@ -2255,8 +2253,7 @@ void vty_close(struct vty *vty)
if (vty->fd == STDIN_FILENO) if (vty->fd == STDIN_FILENO)
was_stdio = true; was_stdio = true;
if (vty->buf) XFREE(MTYPE_VTY, vty->buf);
XFREE(MTYPE_VTY, vty->buf);
if (vty->error) { if (vty->error) {
vty->error->del = vty_error_delete; 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); host_config_set(fullpath);
tmp_free_and_out: tmp_free_and_out:
if (tmp) XFREE(MTYPE_TMP, tmp);
XFREE(MTYPE_TMP, tmp);
return read_success; return read_success;
} }
@ -3163,8 +3159,7 @@ void vty_init(struct thread_master *master_thread)
void vty_terminate(void) void vty_terminate(void)
{ {
if (vty_cwd) XFREE(MTYPE_TMP, vty_cwd);
XFREE(MTYPE_TMP, vty_cwd);
if (vtyvec && Vvty_serv_thread) { if (vtyvec && Vvty_serv_thread) {
vty_reset(); vty_reset();

View File

@ -1505,10 +1505,8 @@ int ospf6_iobuf_size(unsigned int size)
recvnew = XMALLOC(MTYPE_OSPF6_MESSAGE, size); recvnew = XMALLOC(MTYPE_OSPF6_MESSAGE, size);
sendnew = XMALLOC(MTYPE_OSPF6_MESSAGE, size); sendnew = XMALLOC(MTYPE_OSPF6_MESSAGE, size);
if (recvbuf) XFREE(MTYPE_OSPF6_MESSAGE, recvbuf);
XFREE(MTYPE_OSPF6_MESSAGE, recvbuf); XFREE(MTYPE_OSPF6_MESSAGE, sendbuf);
if (sendbuf)
XFREE(MTYPE_OSPF6_MESSAGE, sendbuf);
recvbuf = recvnew; recvbuf = recvnew;
sendbuf = sendnew; sendbuf = sendnew;
iobuflen = size; iobuflen = size;

View File

@ -174,8 +174,7 @@ struct ospf6_nexthop *ospf6_nexthop_create(void)
void ospf6_nexthop_delete(struct ospf6_nexthop *nh) 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) void ospf6_clear_nexthops(struct list *nh_list)

View File

@ -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) 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); XFREE(MTYPE_PBR_MAP_SEQNO, pbrms);
} }

View File

@ -5159,16 +5159,14 @@ static int pim_cmd_spt_switchover(struct pim_instance *pim,
switch (pim->spt.switchover) { switch (pim->spt.switchover) {
case PIM_SPT_IMMEDIATE: 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); pim_upstream_add_lhr_star_pimreg(pim);
break; break;
case PIM_SPT_INFINITY: case PIM_SPT_INFINITY:
pim_upstream_remove_lhr_star_pimreg(pim, plist); 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) if (plist)
pim->spt.plist = pim->spt.plist =

View File

@ -208,8 +208,7 @@ void pim_if_delete(struct interface *ifp)
list_delete(&pim_ifp->upstream_switch_list); list_delete(&pim_ifp->upstream_switch_list);
list_delete(&pim_ifp->sec_addr_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)) { while (!RB_EMPTY(pim_ifchannel_rb, &pim_ifp->ifchannel_rb)) {
ch = RB_ROOT(pim_ifchannel_rb, &pim_ifp->ifchannel_rb); ch = RB_ROOT(pim_ifchannel_rb, &pim_ifp->ifchannel_rb);

View File

@ -1256,8 +1256,7 @@ static void pim_msdp_mg_free(struct pim_instance *pim)
if (PIM_DEBUG_MSDP_EVENTS) { if (PIM_DEBUG_MSDP_EVENTS) {
zlog_debug("MSDP mesh-group %s deleted", mg->mesh_group_name); 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) if (mg->mbr_list)
list_delete(&mg->mbr_list); list_delete(&mg->mbr_list);

View File

@ -65,8 +65,7 @@ void pim_rp_list_hash_clean(void *data)
static void pim_rp_info_free(struct rp_info *rp_info) 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); XFREE(MTYPE_PIM_RP, rp_info);
} }

View File

@ -151,8 +151,7 @@ void pim_ssm_terminate(struct pim_ssm *ssm)
if (!ssm) if (!ssm)
return; 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); XFREE(MTYPE_PIM_SSM_INFO, ssm);
} }

View File

@ -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->ri_receive = yang_get_default_enum("%s/version-receive", RIP_IFACE);
ri->v2_broadcast = yang_get_default_bool("%s/v2-broadcast", 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_IN] = NULL;
ri->list[RIP_FILTER_OUT] = NULL; ri->list[RIP_FILTER_OUT] = NULL;

View File

@ -937,8 +937,7 @@ lib_interface_rip_authentication_password_modify(enum nb_event event,
ifp = yang_dnode_get_entry(dnode, true); ifp = yang_dnode_get_entry(dnode, true);
ri = ifp->info; 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, ri->auth_str = XSTRDUP(MTYPE_RIP_INTERFACE_STRING,
yang_dnode_get_string(dnode, NULL)); 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); ifp = yang_dnode_get_entry(dnode, true);
ri = ifp->info; 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, ri->key_chain = XSTRDUP(MTYPE_RIP_INTERFACE_STRING,
yang_dnode_get_string(dnode, NULL)); yang_dnode_get_string(dnode, NULL));

View File

@ -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) static void static_list_delete(struct static_hold_route *shr)
{ {
if (shr->vrf_name) XFREE(MTYPE_STATIC_ROUTE, shr->vrf_name);
XFREE(MTYPE_STATIC_ROUTE, shr->vrf_name); XFREE(MTYPE_STATIC_ROUTE, shr->nhvrf_name);
if (shr->nhvrf_name) XFREE(MTYPE_STATIC_ROUTE, shr->dest_str);
XFREE(MTYPE_STATIC_ROUTE, shr->nhvrf_name); XFREE(MTYPE_STATIC_ROUTE, shr->mask_str);
if (shr->dest_str) XFREE(MTYPE_STATIC_ROUTE, shr->src_str);
XFREE(MTYPE_STATIC_ROUTE, shr->dest_str); XFREE(MTYPE_STATIC_ROUTE, shr->gate_str);
if (shr->mask_str) XFREE(MTYPE_STATIC_ROUTE, shr->ifname);
XFREE(MTYPE_STATIC_ROUTE, shr->mask_str); XFREE(MTYPE_STATIC_ROUTE, shr->flag_str);
if (shr->src_str) XFREE(MTYPE_STATIC_ROUTE, shr->tag_str);
XFREE(MTYPE_STATIC_ROUTE, shr->src_str); XFREE(MTYPE_STATIC_ROUTE, shr->distance_str);
if (shr->gate_str) XFREE(MTYPE_STATIC_ROUTE, shr->label_str);
XFREE(MTYPE_STATIC_ROUTE, shr->gate_str); XFREE(MTYPE_STATIC_ROUTE, shr->table_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); XFREE(MTYPE_STATIC_ROUTE, shr);
} }

View File

@ -74,8 +74,7 @@ static int config_cmp(struct config *c1, struct config *c2)
static void config_del(struct config *config) static void config_del(struct config *config)
{ {
list_delete(&config->line); 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); XFREE(MTYPE_VTYSH_CONFIG, config);
} }

View File

@ -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); ifp = if_lookup_by_name_per_ns(zns, name);
if (ifp) { if (ifp) {
if (ifp->desc) XFREE(MTYPE_TMP, ifp->desc);
XFREE(MTYPE_TMP, ifp->desc);
if (desc) if (desc)
ifp->desc = XSTRDUP(MTYPE_TMP, desc); ifp->desc = XSTRDUP(MTYPE_TMP, desc);
} }

View File

@ -249,8 +249,7 @@ static int lsp_install(struct zebra_vrf *zvrf, mpls_label_t label,
lsp->ile.in_label, lsp->flags); lsp->ile.in_label, lsp->flags);
lsp = hash_release(lsp_table, &lsp->ile); lsp = hash_release(lsp_table, &lsp->ile);
if (lsp) XFREE(MTYPE_LSP, lsp);
XFREE(MTYPE_LSP, lsp);
} }
return 0; 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->ile.in_label, lsp->flags);
lsp = hash_release(lsp_table, &lsp->ile); lsp = hash_release(lsp_table, &lsp->ile);
if (lsp) XFREE(MTYPE_LSP, lsp);
XFREE(MTYPE_LSP, lsp);
} }
return 0; return 0;
@ -1048,8 +1046,7 @@ static void lsp_processq_del(struct work_queue *wq, void *data)
lsp->ile.in_label, lsp->flags); lsp->ile.in_label, lsp->flags);
lsp = hash_release(lsp_table, &lsp->ile); 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->ile.in_label, lsp->flags);
lsp = hash_release(lsp_table, &lsp->ile); lsp = hash_release(lsp_table, &lsp->ile);
if (lsp) XFREE(MTYPE_LSP, lsp);
XFREE(MTYPE_LSP, lsp);
} }
return 0; return 0;
@ -1659,8 +1655,7 @@ static int snhlfe_del(zebra_snhlfe_t *snhlfe)
slsp->snhlfe_list = snhlfe->next; slsp->snhlfe_list = snhlfe->next;
snhlfe->prev = snhlfe->next = NULL; snhlfe->prev = snhlfe->next = NULL;
if (snhlfe->ifname) XFREE(MTYPE_SNHLFE_IFNAME, snhlfe->ifname);
XFREE(MTYPE_SNHLFE_IFNAME, snhlfe->ifname);
XFREE(MTYPE_SNHLFE, snhlfe); XFREE(MTYPE_SNHLFE, snhlfe);
return 0; 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->ile.in_label, lsp->flags);
lsp = hash_release(lsp_table, &lsp->ile); lsp = hash_release(lsp_table, &lsp->ile);
if (lsp) XFREE(MTYPE_LSP, lsp);
XFREE(MTYPE_LSP, lsp);
} }
} }
return 0; return 0;
@ -2784,8 +2778,7 @@ int zebra_mpls_static_lsp_del(struct zebra_vrf *zvrf, mpls_label_t in_label,
* above. */ * above. */
if (!slsp->snhlfe_list) { if (!slsp->snhlfe_list) {
slsp = hash_release(slsp_table, &tmp_ile); slsp = hash_release(slsp_table, &tmp_ile);
if (slsp) XFREE(MTYPE_SLSP, slsp);
XFREE(MTYPE_SLSP, slsp);
} }
return 0; return 0;

View File

@ -127,10 +127,8 @@ static int zebra_route_match_delete(struct vty *vty, const char *command,
break; break;
} }
if (dep_name) XFREE(MTYPE_ROUTE_MAP_RULE, dep_name);
XFREE(MTYPE_ROUTE_MAP_RULE, dep_name); XFREE(MTYPE_ROUTE_MAP_NAME, rmap_name);
if (rmap_name)
XFREE(MTYPE_ROUTE_MAP_NAME, rmap_name);
return retval; return retval;
} }

View File

@ -351,8 +351,7 @@ void zebra_rtable_node_cleanup(struct route_table *table,
rib_unlink(node, re); 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, static void zebra_rnhtable_node_cleanup(struct route_table *table,

View File

@ -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. */ /* Free the VNI hash entry and allocated memory. */
tmp_n = hash_release(zvni->neigh_table, n); tmp_n = hash_release(zvni->neigh_table, n);
if (tmp_n) XFREE(MTYPE_NEIGH, tmp_n);
XFREE(MTYPE_NEIGH, tmp_n);
return 0; 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. */ /* Free the VNI hash entry and allocated memory. */
tmp_mac = hash_release(zvni->mac_table, mac); tmp_mac = hash_release(zvni->mac_table, mac);
if (tmp_mac) XFREE(MTYPE_MAC, tmp_mac);
XFREE(MTYPE_MAC, tmp_mac);
return 0; return 0;
} }
@ -3864,8 +3862,7 @@ static int zvni_del(zebra_vni_t *zvni)
/* Free the VNI hash entry and allocated memory. */ /* Free the VNI hash entry and allocated memory. */
tmp_zvni = hash_release(zvrf->vni_table, zvni); tmp_zvni = hash_release(zvrf->vni_table, zvni);
if (tmp_zvni) XFREE(MTYPE_ZVNI, tmp_zvni);
XFREE(MTYPE_ZVNI, tmp_zvni);
return 0; 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); tmp_rmac = hash_release(zl3vni->rmac_table, zrmac);
if (tmp_rmac) XFREE(MTYPE_MAC, tmp_rmac);
XFREE(MTYPE_MAC, tmp_rmac);
return 0; 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); tmp_n = hash_release(zl3vni->nh_table, n);
if (tmp_n) XFREE(MTYPE_NEIGH, tmp_n);
XFREE(MTYPE_NEIGH, tmp_n);
return 0; return 0;
} }
@ -4711,8 +4706,7 @@ static int zl3vni_del(zebra_l3vni_t *zl3vni)
/* Free the VNI hash entry and allocated memory. */ /* Free the VNI hash entry and allocated memory. */
tmp_zl3vni = hash_release(zrouter.l3vni_table, zl3vni); tmp_zl3vni = hash_release(zrouter.l3vni_table, zl3vni);
if (tmp_zl3vni) XFREE(MTYPE_ZL3VNI, tmp_zl3vni);
XFREE(MTYPE_ZL3VNI, tmp_zl3vni);
return 0; return 0;
} }