addiional checks
authorMatthias Wachs <wachs@net.in.tum.de>
Thu, 14 Jul 2011 12:27:17 +0000 (12:27 +0000)
committerMatthias Wachs <wachs@net.in.tum.de>
Thu, 14 Jul 2011 12:27:17 +0000 (12:27 +0000)
src/transport/plugin_transport_tcp.c

index 168a2b344920fc6ae6c96fb62c63a383266bb057..6ad6f979ef287cb753c8a8f89e2f849dd6af4fe0 100644 (file)
@@ -1113,6 +1113,7 @@ tcp_plugin_send (void *cls,
                                     target,
                                     NULL, 
                                    GNUNET_YES);
+          GNUNET_assert (session != NULL);
 
           /* create new message entry */
           pm = GNUNET_malloc (sizeof (struct PendingMessage) + msgbuf_size);
@@ -1189,9 +1190,18 @@ tcp_plugin_send (void *cls,
              addrlen);
       session->connect_alen = addrlen;
     }
+  else  /* session != NULL */
+    {
+      /* check if session is valid */
+      struct Session * ses = plugin->sessions;
+      while ((ses != NULL) && (ses != session))
+        ses = ses->next;
+      GNUNET_assert (ses != NULL);
+    }
   GNUNET_assert (session != NULL);
   GNUNET_assert (session->client != NULL);
 
+
   GNUNET_SERVER_client_set_timeout(session->client, GNUNET_CONSTANTS_IDLE_CONNECTION_TIMEOUT);
   GNUNET_STATISTICS_update (plugin->env->stats,
                            gettext_noop ("# bytes currently in TCP buffers"),