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;
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue