2005-10-23 Paul Jakma <paul.jakma@sun.com>
* ospf_apiserver.c: (ospf_apiserver_term) This function should
not have side-effects (eg segv) if no apiserver instances are
active, ie be robust.
diff --git a/ospfd/ospf_apiserver.c b/ospfd/ospf_apiserver.c
index 784716b..577419d 100644
--- a/ospfd/ospf_apiserver.c
+++ b/ospfd/ospf_apiserver.c
@@ -189,11 +189,13 @@
* Free all client instances. ospf_apiserver_free removes the node
* from the list, so we examine the head of the list anew each time.
*/
- while ( (apiserv = listgetdata (listhead (apiserver_list))) != NULL)
+ while ( apiserver_list &&
+ (apiserv = listgetdata (listhead (apiserver_list))) != NULL)
ospf_apiserver_free (apiserv);
/* Free client list itself */
- list_delete (apiserver_list);
+ if (apiserver_list)
+ list_delete (apiserver_list);
/* Free wildcard list */
/* XXX */