read_header is only ever called when all data has been read

This means setting everything back to 0 is the correct approach
This commit is contained in:
Roger A. Light
2025-11-28 00:49:48 +00:00
parent 58c34669a5
commit f7852e5be4
+3 -1
View File
@@ -365,7 +365,9 @@ static int read_header(struct mosquitto *mosq, ssize_t (*func_read)(struct mosqu
{
ssize_t read_length;
read_length = func_read(mosq, &mosq->in_packet.packet_buffer[mosq->in_packet.packet_buffer_pos], mosq->in_packet.packet_buffer_size-mosq->in_packet.packet_buffer_pos);
mosq->in_packet.packet_buffer_pos = 0;
mosq->in_packet.packet_buffer_to_process = 0;
read_length = func_read(mosq, mosq->in_packet.packet_buffer, mosq->in_packet.packet_buffer_size);
if(read_length > 0){
mosq->in_packet.packet_buffer_to_process = (uint16_t)read_length;
#ifdef WITH_BROKER