fixing fun bug
authorChristian Grothoff <christian@grothoff.org>
Thu, 19 Aug 2010 13:13:45 +0000 (13:13 +0000)
committerChristian Grothoff <christian@grothoff.org>
Thu, 19 Aug 2010 13:13:45 +0000 (13:13 +0000)
src/util/common_allocation.c
src/util/connection.c

index 21c4690bf23412c193524a77d6467ca321934e58..92cbc974773ad3154bfdca3f9af7233af335527f 100644 (file)
@@ -116,11 +116,7 @@ GNUNET_xmalloc_unchecked_ (size_t size, const char *filename, int linenumber)
  */
 void *
 GNUNET_xrealloc_ (void *ptr,
-#ifndef W32_MEM_LIMIT
-                  const size_t n,
-#else
                   size_t n,
-#endif
                   const char *filename, int linenumber)
 {
 #ifdef W32_MEM_LIMIT
index eb4fe99c2a12f3ee0a7249d1c5d7c2d350d0e7cf..9e789eb589421d4b75bba068c32357ee58cfc77d 100644 (file)
@@ -1504,6 +1504,13 @@ transmit_ready (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
       return;                   /* connect failed for good, we're finished */
     }
   GNUNET_assert (sock->write_buffer_off >= sock->write_buffer_pos);
+  if ( (sock->nth.notify_ready != NULL) &&
+       (sock->write_buffer_size < sock->nth.notify_size) )
+    {
+      sock->write_buffer = GNUNET_realloc(sock->write_buffer, 
+                                         sock->nth.notify_size);
+      sock->write_buffer_size = sock->nth.notify_size;
+    }    
   process_notify (sock);
   have = sock->write_buffer_off - sock->write_buffer_pos;
   if (have == 0)
@@ -1592,12 +1599,6 @@ GNUNET_CONNECTION_notify_transmit_ready (struct GNUNET_CONNECTION_Handle
     return NULL;
   GNUNET_assert (notify != NULL);
   GNUNET_assert (size < GNUNET_SERVER_MAX_MESSAGE_SIZE);
-  if (sock->write_buffer_size < size)
-    {
-      sock->write_buffer = GNUNET_realloc(sock->write_buffer, size);
-      sock->write_buffer_size = size;
-    }
-  GNUNET_assert (sock->write_buffer_size >= size);
   GNUNET_assert (sock->write_buffer_off <= sock->write_buffer_size);
   GNUNET_assert (sock->write_buffer_pos <= sock->write_buffer_size);
   GNUNET_assert (sock->write_buffer_pos <= sock->write_buffer_off);