bughunting with assertions
authorChristian Grothoff <christian@grothoff.org>
Mon, 16 Aug 2010 13:55:25 +0000 (13:55 +0000)
committerChristian Grothoff <christian@grothoff.org>
Mon, 16 Aug 2010 13:55:25 +0000 (13:55 +0000)
src/util/connection.c

index cfe7fee9b20fe1f3a7f514a63b5900daae585aea..eb4fe99c2a12f3ee0a7249d1c5d7c2d350d0e7cf 100644 (file)
@@ -1328,7 +1328,7 @@ process_notify (struct GNUNET_CONNECTION_Handle *sock)
   used = sock->write_buffer_off - sock->write_buffer_pos;
   avail = sock->write_buffer_size - used;
   size = sock->nth.notify_size;
-  if (sock->nth.notify_size > avail)
+  if (size > avail)
     return GNUNET_NO;
   sock->nth.notify_ready = NULL;
   if (sock->write_buffer_size - sock->write_buffer_off < size)
@@ -1339,10 +1339,12 @@ process_notify (struct GNUNET_CONNECTION_Handle *sock)
       sock->write_buffer_off -= sock->write_buffer_pos;
       sock->write_buffer_pos = 0;
     }
-  GNUNET_assert (sock->write_buffer_size - sock->write_buffer_off >= size);
+  avail = sock->write_buffer_size - sock->write_buffer_off;
+  GNUNET_assert (avail >= size);
   size = notify (sock->nth.notify_ready_cls,
-                 sock->write_buffer_size - sock->write_buffer_off,
+                 avail,
                  &sock->write_buffer[sock->write_buffer_off]);
+  GNUNET_assert (size <= avail);
   sock->write_buffer_off += size;
   return GNUNET_YES;
 }