+ {
+ GNUNET_break (0);
+ reconnect (ic->h);
+ if (ic->timeout_task != GNUNET_SCHEDULER_NO_TASK)
+ GNUNET_SCHEDULER_cancel (ic->timeout_task);
+ if (ic->callback != NULL)
+ ic->callback (ic->callback_cls, NULL, NULL,
+ _("Received invalid message from `PEERINFO' service.\n"));
+ GNUNET_free (ic);
+ return;
+ }
+ im = (const struct InfoMessage *) msg;
+ GNUNET_break (0 == ntohl (im->reserved));
+ hello = NULL;
+ if (ms > sizeof (struct InfoMessage) + sizeof (struct GNUNET_MessageHeader))
+ {
+ hello = (const struct GNUNET_HELLO_Message *) &im[1];
+ if (ms != sizeof (struct InfoMessage) + GNUNET_HELLO_size (hello))