- fix
[oweals/gnunet.git] / src / peerinfo / peerinfo_api.c
index 75d312f841db059afedfc0fac279615cb75392c8..175397c785321799766be174318819477bbb9acb 100644 (file)
@@ -523,14 +523,15 @@ peerinfo_handler (void *cls, const struct GNUNET_MessageHeader *msg)
     /* normal end of list of peers, signal end, process next pending request */
     LOG (GNUNET_ERROR_TYPE_DEBUG,
          "Received end of list of peers from `%s' service\n", "PEERINFO");
-    GNUNET_PEERINFO_iterate_cancel (ic);   
+    GNUNET_PEERINFO_iterate_cancel (ic);
     trigger_transmit (h);
-    if (GNUNET_NO == h->in_receive)
+    if ( (GNUNET_NO == h->in_receive) &&
+        (NULL != h->ic_head) )
     {
       h->in_receive = GNUNET_YES;
       GNUNET_CLIENT_receive (h->client, &peerinfo_handler, h,
-                            GNUNET_TIME_absolute_get_remaining (ic->timeout));
-    }
+                            GNUNET_TIME_absolute_get_remaining (h->ic_head->timeout));
+    }    
     if (NULL != cb)
       cb (cb_cls, NULL, NULL, NULL);
     return;