Christian message size assertion
authorNathan S. Evans <evans@in.tum.de>
Tue, 16 Mar 2010 11:56:00 +0000 (11:56 +0000)
committerNathan S. Evans <evans@in.tum.de>
Tue, 16 Mar 2010 11:56:00 +0000 (11:56 +0000)
src/core/core_api.c

index e03971e100599a790bac02e38dd434bd0591f2c9..4672c7843ee6b4157c91069ba6794359659c16e6 100644 (file)
@@ -854,6 +854,11 @@ produce_send (void *cls, size_t size, void *buf)
       return 0;
     }
   GNUNET_assert (dt >= sizeof (struct GNUNET_MessageHeader));
+  if (dt + sizeof (struct SendMessage) >= GNUNET_SERVER_MAX_MESSAGE_SIZE)
+    {
+      GNUNET_break (0);
+      return 0;
+    }
   sm->header.size = htons (dt + sizeof (struct SendMessage));
   GNUNET_assert (dt + sizeof (struct SendMessage) <= size);
   return dt + sizeof (struct SendMessage);