Bugfix: Memory leak on reconnect if there were QoS or SubAck packets in queue
This commit is contained in:
parent
65f8dd49eb
commit
e260a906f8
1 changed files with 19 additions and 0 deletions
|
@ -63,6 +63,25 @@ void clear_packet_queue(MQTTHandle *handle) {
|
||||||
MQTTCallbackQueueItem *current = item;
|
MQTTCallbackQueueItem *current = item;
|
||||||
item = item->next;
|
item = item->next;
|
||||||
|
|
||||||
|
// free stuff inside
|
||||||
|
switch (current->type) {
|
||||||
|
case PacketTypePubRel: {
|
||||||
|
PublishPayload *payload = (PublishPayload *)current->context;
|
||||||
|
free(payload->topic);
|
||||||
|
free(payload->message);
|
||||||
|
free(payload);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case PacketTypePubAck:
|
||||||
|
case PacketTypePubComp:
|
||||||
|
case PacketTypeSubAck:
|
||||||
|
free(current->context);
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
free(current);
|
free(current);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue