2004-09-24 Paul Jakma <paul@dishone.st>

* ospf_apiserver.{c,h}: (ospf_apiserver_term) loops calling
          ospf_apiserver_free, which deletes referenced nodes from
          apiserver_list, fixed.
This commit is contained in:
paul 2004-09-24 08:23:24 +00:00
parent a257068354
commit 1603c06ba3
2 changed files with 5 additions and 3 deletions

View File

@ -5,6 +5,8 @@
fixups.
(ospf_apiserver_unregister_opaque_type) fix listnode_delete of
referenced node in loop.
(ospf_apiserver_term) loops calling ospf_apiserver_free, which
deletes referenced nodes from apiserver_list, fixed.
* ospf_interface.h: lists typedef removal cleanup.
* ospf_opaque.{c,h}: lists typedef removal cleanup. update some list
loops to LIST_LOOP. miscellaneous style and indent fixups.

View File

@ -180,7 +180,7 @@ out:
void
ospf_apiserver_term (void)
{
struct listnode *node;
struct listnode *node, *nnode;
struct ospf_apiserver *apiserv;
/* Unregister wildcard [0/0] type */
@ -188,7 +188,7 @@ ospf_apiserver_term (void)
0 /* all opaque types */);
/* Free all client instances */
LIST_LOOP (apiserver_list, apiserv, node)
while ( (node = listhead (apiserver_list)) != NULL)
ospf_apiserver_free (apiserv);
/* Free client list itself */
@ -1177,7 +1177,7 @@ ospf_apiserver_notify_ready_type11 (struct ospf_apiserver *apiserv)
/* Can type 11 be originated? */
if (!ospf_apiserver_is_ready_type11 (ospf))
goto out;;
goto out;
/* Check for registered opaque type 11 types */
LIST_LOOP (apiserv->opaque_types, r, node)