codesonar fixes
authorNathan S. Evans <evans@in.tum.de>
Fri, 2 Jul 2010 16:03:08 +0000 (16:03 +0000)
committerNathan S. Evans <evans@in.tum.de>
Fri, 2 Jul 2010 16:03:08 +0000 (16:03 +0000)
src/dv/dv.h
src/dv/dv_api.c
src/dv/gnunet-service-dv.c

index bb63bc004ebccb753e74a1665c1da921f1cdcd8a..cc335b2e6efa91f2875453af724afd32b9e737c8 100644 (file)
@@ -64,7 +64,7 @@ struct GNUNET_DV_MessageReceived
   struct GNUNET_PeerIdentity sender;
 
   /**
-   * The message that was sent
+   * The length of the message that was sent (appended to this end of struct)
    */
   uint32_t msg_len;
 
@@ -73,11 +73,6 @@ struct GNUNET_DV_MessageReceived
    */
   uint32_t distance;
 
-  /**
-   * Length of the sender address, appended to end of this message
-   */
-  uint32_t sender_address_len;
-
 };
 
 
index e5713cdda697be6ed9a7e9743e91f8f0c408c007..d9aef03c86f85b00cc62c7f789f1e4ddb15ee4f2 100644 (file)
@@ -367,9 +367,8 @@ void handle_message_receipt (void *cls,
 
     received_msg = (struct GNUNET_DV_MessageReceived *)msg;
     packed_msg_len = ntohl(received_msg->msg_len);
-    sender_address_len = ntohl(received_msg->sender_address_len);
-
-    GNUNET_assert(ntohs(msg->size) == (sizeof(struct GNUNET_DV_MessageReceived) + packed_msg_len + sender_address_len));
+    sender_address_len = ntohs(msg->size) - packed_msg_len - sizeof(struct GNUNET_DV_MessageReceived);
+    GNUNET_assert(sender_address_len > 0);
     sender_address = GNUNET_malloc(sender_address_len);
     memcpy(sender_address, &received_msg[1], sender_address_len);
     packed_msg_start = (char *)&received_msg[1];
index 4bb6555d3a41a5c4d9ae37d984a7ee0ba8ba7894..84dc849659913c971b9ee91dfe760926f2490fa6 100644 (file)
@@ -814,7 +814,6 @@ void send_to_plugin(const struct GNUNET_PeerIdentity * sender,
   received_msg = GNUNET_malloc(size);
   received_msg->header.size = htons(size);
   received_msg->header.type = htons(GNUNET_MESSAGE_TYPE_TRANSPORT_DV_RECEIVE);
-  received_msg->sender_address_len = htonl(sender_address_len);
   received_msg->distance = htonl(cost);
   received_msg->msg_len = htonl(message_size);
   /* Set the sender in this message to be the original sender! */