BUGFIX: Handling incomplete buffers was totally wrong

This commit is contained in:
Johannes Schriewer 2018-07-30 22:03:33 +02:00
parent 7bb1aee889
commit 82ea7853e8

View file

@ -111,8 +111,8 @@ static void _reader(MQTTHandle *handle) {
// Not complete recv buffer was consumed, so we have more than one packet in there // Not complete recv buffer was consumed, so we have more than one packet in there
size_t remaining = max_receive_buffer_size - buffer->position; size_t remaining = max_receive_buffer_size - buffer->position;
memmove(read_buffer, read_buffer + buffer->position, remaining); memmove(read_buffer, read_buffer + buffer->position, remaining);
offset -= remaining; offset -= buffer->position;
num_bytes -= remaining; num_bytes -= buffer->position;
free(buffer); free(buffer);
} else { } else {
// buffer consumed completely, read another chunk // buffer consumed completely, read another chunk