]> git.proxmox.com Git - mirror_frr.git/commitdiff
bgpd: fix aspath memleak on error in vnc_direct_bgp_add_nve
authorIgor Ryzhov <iryzhov@nfware.com>
Wed, 9 Feb 2022 22:23:41 +0000 (01:23 +0300)
committerIgor Ryzhov <iryzhov@nfware.com>
Wed, 9 Feb 2022 22:23:41 +0000 (01:23 +0300)
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 <iryzhov@nfware.com>
bgpd/rfapi/vnc_export_bgp.c

index 8dfa9bba97475185c5bf8901d352e9661d9bb88f..67c43a867122fb667ce9821ef991c3e8aa69cc28 100644 (file)
@@ -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
                         */