]> git.proxmox.com Git - mirror_frr.git/commitdiff
bgpd: Cleanup double read of free'd data
authorDonald Sharp <sharpd@cumulusnetworks.com>
Fri, 16 Dec 2016 01:41:47 +0000 (20:41 -0500)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Fri, 16 Dec 2016 02:00:03 +0000 (21:00 -0500)
Valgrind found this issue.  This cleans it
up from happening.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
bgpd/bgp_updgrp_adv.c

index a95a11b620d4d85251b766a5ce5f16e79600a1dc..8a3f4567caf3d1e120c7b514886f1e99a303f8e5 100644 (file)
@@ -573,8 +573,9 @@ subgroup_clear_table (struct update_subgroup *subgrp)
 
   SUBGRP_FOREACH_ADJ_SAFE (subgrp, aout, taout)
   {
-    bgp_adj_out_remove_subgroup (aout->rn, aout, subgrp);
-    bgp_unlock_node (aout->rn);
+    struct bgp_node *rn = aout->rn;
+    bgp_adj_out_remove_subgroup (rn, aout, subgrp);
+    bgp_unlock_node (rn);
   }
 }