diff options
author | Tom Goff <thomas.goff@boeing.com> | 2009-12-01 21:12:38 +0300 |
---|---|---|
committer | Denis Ovsienko <infrastation@yandex.ru> | 2009-12-01 21:12:38 +0300 |
commit | 16c1c4872b29bb22c0ff77bd1ef1018c63ca25fa (patch) | |
tree | 06813f6d1b703649757f3eedf829e7afddfe5c42 /ospf6d | |
parent | 9964fcfc2282c8f3468b3b7355c5dea3089f0f14 (diff) |
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.
Diffstat (limited to 'ospf6d')
-rw-r--r-- | ospf6d/ospf6_lsdb.c | 3 |
1 files changed, 3 insertions, 0 deletions
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++; } |