mqtt_outbox: fixed outbox_destroy() to correctly delete all queued messages

Closes https://github.com/espressif/esp-idf/issues/4643
Closes IDFGH-2558
Closes https://github.com/espressif/esp-mqtt/issues/148
Closes IDFGH-2599
Closes https://github.com/espressif/esp-mqtt/issues/147
Closes IDFGH-2598
This commit is contained in:
David Cermak
2020-01-17 14:13:59 +01:00
parent 3a47e3abae
commit f7941e29be

View File

@ -199,7 +199,12 @@ esp_err_t outbox_cleanup(outbox_handle_t outbox, int max_size)
void outbox_destroy(outbox_handle_t outbox)
{
outbox_cleanup(outbox, 0);
outbox_item_handle_t item, tmp;
STAILQ_FOREACH_SAFE(item, outbox, next, tmp) {
STAILQ_REMOVE(outbox, item, outbox_item, next);
free(item->buffer);
free(item);
}
free(outbox);
}