]> git.puffer.fish Git - matthieu/frr.git/commitdiff
bgpd: avoid possible memleak
authoranlan_cs <vic.lan@pica8.com>
Tue, 1 Nov 2022 02:09:15 +0000 (22:09 -0400)
committeranlan_cs <vic.lan@pica8.com>
Thu, 3 Nov 2022 13:21:14 +0000 (21:21 +0800)
In the case of without ':' in `ecom_str`, memleak on this `ecom_str` will
occur. Just free `ecom_str` for this case.

Signed-off-by: anlan_cs <vic.lan@pica8.com>
bgpd/bgp_evpn_vty.c

index c0ad72dc3389de27f9e895b48ebff539f6b135f9..7dbfdc60d45a68f70efe99f5e49faafe265c2171 100644 (file)
@@ -6639,9 +6639,10 @@ void bgp_config_write_evpn_info(struct vty *vty, struct bgp *bgp, afi_t afi,
                                char *vni_str = NULL;
 
                                vni_str = strchr(ecom_str, ':');
-
-                               if (!vni_str)
-                                       continue; /* This should never happen */
+                               if (!vni_str) {
+                                       XFREE(MTYPE_ECOMMUNITY_STR, ecom_str);
+                                       continue;
+                               }
 
                                /* Move pointer to vni */
                                vni_str += 1;