From: Carmine Scarpitta Date: Sat, 29 Oct 2022 15:23:59 +0000 (+0200) Subject: bgpd: Do not set chunk pointer to NULL after free X-Git-Tag: base_8.5~288^2~1 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=a1d5e05fb30075edbdbfbf0ea3a2200dbf77acf2;p=mirror%2Ffrr.git bgpd: Do not set chunk pointer to NULL after free `srv6_locator_chunk_free()` takes care of freeing the memory allocated for a `struct srv6_locator_chunk` and setting the `struct srv6_locator_chunk` pointer to NULL. It is not necessary to explicitly set the pointer to NULL after invoking `srv6_locator_chunk_free()`. Signed-off-by: Carmine Scarpitta --- diff --git a/bgpd/bgp_mplsvpn.c b/bgpd/bgp_mplsvpn.c index ad4221d134..97c040e2ee 100644 --- a/bgpd/bgp_mplsvpn.c +++ b/bgpd/bgp_mplsvpn.c @@ -892,7 +892,6 @@ void delete_vrf_tovpn_sid_per_af(struct bgp *bgp_vpn, struct bgp *bgp_vrf, return; srv6_locator_chunk_free(&bgp_vrf->vpn_policy[afi].tovpn_sid_locator); - bgp_vrf->vpn_policy[afi].tovpn_sid_locator = NULL; if (bgp_vrf->vpn_policy[afi].tovpn_sid) { sid_unregister(bgp_vrf, bgp_vrf->vpn_policy[afi].tovpn_sid); @@ -920,7 +919,6 @@ void delete_vrf_tovpn_sid_per_vrf(struct bgp *bgp_vpn, struct bgp *bgp_vrf) return; srv6_locator_chunk_free(&bgp_vrf->tovpn_sid_locator); - bgp_vrf->tovpn_sid_locator = NULL; if (bgp_vrf->tovpn_sid) { sid_unregister(bgp_vrf, bgp_vrf->tovpn_sid); diff --git a/bgpd/bgp_vty.c b/bgpd/bgp_vty.c index 09f4fada80..8c3f2bf9b7 100644 --- a/bgpd/bgp_vty.c +++ b/bgpd/bgp_vty.c @@ -347,20 +347,16 @@ static int bgp_srv6_locator_unset(struct bgp *bgp) /* refresh vpnv4 tovpn_sid_locator */ tovpn_sid_locator = bgp_vrf->vpn_policy[AFI_IP].tovpn_sid_locator; - if (tovpn_sid_locator) { + if (tovpn_sid_locator) srv6_locator_chunk_free( &bgp_vrf->vpn_policy[AFI_IP].tovpn_sid_locator); - bgp_vrf->vpn_policy[AFI_IP].tovpn_sid_locator = NULL; - } /* refresh vpnv6 tovpn_sid_locator */ tovpn_sid_locator = bgp_vrf->vpn_policy[AFI_IP6].tovpn_sid_locator; - if (tovpn_sid_locator) { + if (tovpn_sid_locator) srv6_locator_chunk_free(&bgp_vrf->vpn_policy[AFI_IP6] .tovpn_sid_locator); - bgp_vrf->vpn_policy[AFI_IP6].tovpn_sid_locator = NULL; - } /* refresh per-vrf tovpn_sid_locator */ srv6_locator_chunk_free(&bgp_vrf->tovpn_sid_locator); diff --git a/bgpd/bgp_zebra.c b/bgpd/bgp_zebra.c index f6c0863241..efdc81a145 100644 --- a/bgpd/bgp_zebra.c +++ b/bgpd/bgp_zebra.c @@ -3343,13 +3343,10 @@ static int bgp_zebra_process_srv6_locator_delete(ZAPI_CALLBACK_ARGS) tmp_prefi.prefixlen = IPV6_MAX_BITLEN; tmp_prefi.prefix = tovpn_sid_locator->prefix.prefix; if (prefix_match((struct prefix *)&loc.prefix, - (struct prefix *)&tmp_prefi)) { + (struct prefix *)&tmp_prefi)) srv6_locator_chunk_free( &bgp_vrf->vpn_policy[AFI_IP] .tovpn_sid_locator); - bgp_vrf->vpn_policy[AFI_IP].tovpn_sid_locator = - NULL; - } } /* refresh vpnv6 tovpn_sid_locator */ @@ -3360,13 +3357,10 @@ static int bgp_zebra_process_srv6_locator_delete(ZAPI_CALLBACK_ARGS) tmp_prefi.prefixlen = IPV6_MAX_BITLEN; tmp_prefi.prefix = tovpn_sid_locator->prefix.prefix; if (prefix_match((struct prefix *)&loc.prefix, - (struct prefix *)&tmp_prefi)) { + (struct prefix *)&tmp_prefi)) srv6_locator_chunk_free( &bgp_vrf->vpn_policy[AFI_IP6] .tovpn_sid_locator); - bgp_vrf->vpn_policy[AFI_IP6].tovpn_sid_locator = - NULL; - } } /* refresh per-vrf tovpn_sid_locator */