From 16c1c4872b29bb22c0ff77bd1ef1018c63ca25fa Mon Sep 17 00:00:00 2001 From: Tom Goff Date: Tue, 1 Dec 2009 21:12:38 +0300 Subject: ospf6d: fix LSA locking in ospf6_new_ls_id() * ospf6_lsdb.c: (ospf6_new_ls_id) Unlock the current LSA when breaking out of the ospf6_lsdb_*_head() / ospf6_lsdb_*_next() loop early. No explicit unlocking is needed when all LSAs are looped through because ospf6_lsdb_*_next() manages everything in that case. --- ospf6d/ospf6_lsdb.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'ospf6d') diff --git a/ospf6d/ospf6_lsdb.c b/ospf6d/ospf6_lsdb.c index b839d16e..ea387e3d 100644 --- a/ospf6d/ospf6_lsdb.c +++ b/ospf6d/ospf6_lsdb.c @@ -553,7 +553,10 @@ ospf6_new_ls_id (u_int16_t type, u_int32_t adv_router, if (ntohl (lsa->header->id) < id) continue; if (ntohl (lsa->header->id) > id) + { + ospf6_lsa_unlock (lsa); break; + } id++; } -- cgit v1.2.1