diff options
Diffstat (limited to 'src/util/connection.c')
-rw-r--r-- | src/util/connection.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/util/connection.c b/src/util/connection.c index cfe7fee9b..eb4fe99c2 100644 --- a/src/util/connection.c +++ b/src/util/connection.c | |||
@@ -1328,7 +1328,7 @@ process_notify (struct GNUNET_CONNECTION_Handle *sock) | |||
1328 | used = sock->write_buffer_off - sock->write_buffer_pos; | 1328 | used = sock->write_buffer_off - sock->write_buffer_pos; |
1329 | avail = sock->write_buffer_size - used; | 1329 | avail = sock->write_buffer_size - used; |
1330 | size = sock->nth.notify_size; | 1330 | size = sock->nth.notify_size; |
1331 | if (sock->nth.notify_size > avail) | 1331 | if (size > avail) |
1332 | return GNUNET_NO; | 1332 | return GNUNET_NO; |
1333 | sock->nth.notify_ready = NULL; | 1333 | sock->nth.notify_ready = NULL; |
1334 | if (sock->write_buffer_size - sock->write_buffer_off < size) | 1334 | if (sock->write_buffer_size - sock->write_buffer_off < size) |
@@ -1339,10 +1339,12 @@ process_notify (struct GNUNET_CONNECTION_Handle *sock) | |||
1339 | sock->write_buffer_off -= sock->write_buffer_pos; | 1339 | sock->write_buffer_off -= sock->write_buffer_pos; |
1340 | sock->write_buffer_pos = 0; | 1340 | sock->write_buffer_pos = 0; |
1341 | } | 1341 | } |
1342 | GNUNET_assert (sock->write_buffer_size - sock->write_buffer_off >= size); | 1342 | avail = sock->write_buffer_size - sock->write_buffer_off; |
1343 | GNUNET_assert (avail >= size); | ||
1343 | size = notify (sock->nth.notify_ready_cls, | 1344 | size = notify (sock->nth.notify_ready_cls, |
1344 | sock->write_buffer_size - sock->write_buffer_off, | 1345 | avail, |
1345 | &sock->write_buffer[sock->write_buffer_off]); | 1346 | &sock->write_buffer[sock->write_buffer_off]); |
1347 | GNUNET_assert (size <= avail); | ||
1346 | sock->write_buffer_off += size; | 1348 | sock->write_buffer_off += size; |
1347 | return GNUNET_YES; | 1349 | return GNUNET_YES; |
1348 | } | 1350 | } |