From 606c3f9fb2e164ea3f2fe87b46f99c4be44104bc Mon Sep 17 00:00:00 2001 From: Igor Ryzhov Date: Thu, 10 Feb 2022 01:23:41 +0300 Subject: [PATCH] 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 --- bgpd/rfapi/vnc_export_bgp.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bgpd/rfapi/vnc_export_bgp.c b/bgpd/rfapi/vnc_export_bgp.c index 8dfa9bba9..67c43a867 100644 --- a/bgpd/rfapi/vnc_export_bgp.c +++ b/bgpd/rfapi/vnc_export_bgp.c @@ -975,9 +975,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 { @@ -986,6 +983,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 */