- begin work on enhanced multipart receiving
[oweals/gnunet.git] / src / mesh / gnunet-service-mesh_channel.c
index bf1a127c5d8fc1080b80e582812d66fecbc4fdff..3b12eb832dc03133991aecfa7a68f6b94e0fe29b 100644 (file)
@@ -1877,7 +1877,7 @@ GMCH_handle_data (struct MeshChannel *ch,
 
   if (NULL == c)
   {
-    GNUNET_break (0);
+    GNUNET_break (GNUNET_NO != ch->destroy);
     return;
   }
 
@@ -2301,7 +2301,7 @@ GMCH_send_prebuilt_message (const struct GNUNET_MessageHeader *message,
       {
         /* BCK ACK (going FWD) is just a response for a SYNACK, don't keep*/
         fire_and_forget (message, ch, GNUNET_YES);
-        break;
+        return;
       }
       /* fall-trough */
     case GNUNET_MESSAGE_TYPE_MESH_DATA_ACK:
@@ -2324,6 +2324,13 @@ GMCH_send_prebuilt_message (const struct GNUNET_MessageHeader *message,
       }
       chq->tq = GMT_send_prebuilt_message (message, ch->t, GNUNET_YES,
                                            &ch_message_sent, chq);
+      if (NULL == chq->tq)
+      {
+        GNUNET_break (0);
+        GNUNET_free (chq);
+        chq = NULL;
+        return;
+      }
       chq->rel->uniq = chq;
       break;