]> git.puffer.fish Git - mirror/frr.git/commitdiff
ospf6d: fix LSA locking in ospf6_new_ls_id()
authorTom Goff <thomas.goff@boeing.com>
Tue, 1 Dec 2009 18:12:38 +0000 (21:12 +0300)
committerDenis Ovsienko <infrastation@yandex.ru>
Tue, 1 Dec 2009 18:12:38 +0000 (21:12 +0300)
* 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

index b839d16eea0983133a15ed43d66437a060525d4b..ea387e3d050a4d8bf2c144be5d4161c3a5c283b4 100644 (file)
@@ -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++;
     }