From 05477f77d35465e7cf9573c51f9b005c7d1dddc3 Mon Sep 17 00:00:00 2001 From: irungentoo Date: Sat, 21 Sep 2013 22:57:28 -0400 Subject: [PATCH] Fixed bug. --- toxcore/Lossless_UDP.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/toxcore/Lossless_UDP.c b/toxcore/Lossless_UDP.c index fe22f869..25d38b8d 100644 --- a/toxcore/Lossless_UDP.c +++ b/toxcore/Lossless_UDP.c @@ -535,10 +535,13 @@ int write_packet(Lossless_UDP *ludp, int connection_id, uint8_t *data, uint32_t Connection *connection = &tox_array_get(&ludp->connections, connection_id, Connection); + if (connection->status == 0) + return 0; + if (length > MAX_DATA_SIZE || length == 0 || sendqueue(ludp, connection_id) >= MAX_QUEUE_NUM) return 0; - if (sendqueue(ludp, connection_id) >= connection->sendbuffer_length) { + if (sendqueue(ludp, connection_id) >= connection->sendbuffer_length && connection->sendbuffer_length != 0) { uint32_t newlen = connection->sendbuffer_length = resize_queue(&connection->sendbuffer, connection->sendbuffer_length, connection->sendbuffer_length * 2, connection->successful_sent, connection->sendbuff_packetnum); @@ -550,9 +553,6 @@ int write_packet(Lossless_UDP *ludp, int connection_id, uint8_t *data, uint32_t } - if (connection->status == 0) - return 0; - uint32_t index = connection->sendbuff_packetnum % connection->sendbuffer_length; memcpy(connection->sendbuffer[index].data, data, length); connection->sendbuffer[index].size = length;