From: Igor Ryzhov Date: Wed, 9 Feb 2022 22:23:41 +0000 (+0300) Subject: bgpd: fix aspath memleak on error in vnc_direct_bgp_add_nve X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=refs%2Fpull%2F10554%2Fhead;p=mirror%2Ffrr.git bgpd: fix aspath memleak on error in vnc_direct_bgp_add_nve bgp_attr_default_set creates a new empty aspath. If family error happens, this aspath is not freed. Move attr initialization after we checked the family. Signed-off-by: Igor Ryzhov (cherry picked from commit 606c3f9fb2e164ea3f2fe87b46f99c4be44104bc) --- diff --git a/bgpd/rfapi/vnc_export_bgp.c b/bgpd/rfapi/vnc_export_bgp.c index 68dc5a4f60..534ddcc64b 100644 --- a/bgpd/rfapi/vnc_export_bgp.c +++ b/bgpd/rfapi/vnc_export_bgp.c @@ -972,9 +972,6 @@ void vnc_direct_bgp_add_nve(struct bgp *bgp, struct rfapi_descriptor *rfd) import_table = rfg->rfapi_import_table; - bgp_attr_default_set(&attr, BGP_ORIGIN_INCOMPLETE); - /* TBD set some configured med, see add_vnc_route() */ - if (afi == AFI_IP || afi == AFI_IP6) { rt = import_table->imported_vpn[afi]; } else { @@ -983,6 +980,9 @@ void vnc_direct_bgp_add_nve(struct bgp *bgp, struct rfapi_descriptor *rfd) return; } + bgp_attr_default_set(&attr, BGP_ORIGIN_INCOMPLETE); + /* TBD set some configured med, see add_vnc_route() */ + /* * Walk the NVE-Group's VNC Import table */