[quagga-dev 11235] [PATCH 1/2] ospfd: fix a reference counting issue introduced by commit 4de8bf0011

Christian Franke chris at opensourcerouting.org
Mon Apr 28 10:04:58 BST 2014


Commit 4de8bf0011 added a return statement to a loop iterating over a
route_table. That loop uses route_top/route_next.

As commit 4de8bf0011 failed to add a route_node_unlock before the
return statement, a reference is leaked when this codepath is taken.

Signed-off-by: Christian Franke <chris at opensourcerouting.org>
---
 ospfd/ospf_lsa.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/ospfd/ospf_lsa.c b/ospfd/ospf_lsa.c
index 109a120..270c1ea 100644
--- a/ospfd/ospf_lsa.c
+++ b/ospfd/ospf_lsa.c
@@ -2856,6 +2856,7 @@ ospf_maxage_lsa_remover (struct thread *thread)
         if (thread_should_yield (thread))
           {
             OSPF_TIMER_ON (ospf->t_maxage, ospf_maxage_lsa_remover, 0);
+            route_unlock_node(rn); /* route_top/route_next */
             return 0;
           }
           
-- 
1.8.4.rc3





More information about the Quagga-dev mailing list