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/ChangeLog b/ospfd/ChangeLog
index a446125..72412d7 100644
--- a/ospfd/ChangeLog
+++ b/ospfd/ChangeLog
@@ -1,5 +1,8 @@
 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.
 	* ospf_vty.c: (show_ip_ospf) fix display of SPF timer if it
 	  has not yet been run.
 
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  */