ospfd: fix a reference counting issue introduced by commit 4de8bf0011
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@opensourcerouting.org>
Acked-by: Feng Lu <lu.feng@6wind.com>
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
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 @@
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;
}