diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 15a9e30baa..9e0338ca37 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -2945,6 +2945,9 @@ static void *dialog_unlink_all(struct sip_pvt *dialog, int lockowner, int lockdi dialog->packets = dialog->packets->next; AST_SCHED_DEL(sched, cp->retransid); dialog_unref(cp->owner, "remove all current packets in this dialog, and the pointer to the dialog too as part of __sip_destroy"); + if (cp->data) { + ast_free(cp->data); + } ast_free(cp); }