summaryrefslogtreecommitdiff
path: root/channels
diff options
context:
space:
mode:
authorCorey Farrell <git@cfware.com>2015-03-19 09:44:03 +0000
committerCorey Farrell <git@cfware.com>2015-03-19 09:44:03 +0000
commit7fddae99dd8f3f77245a5d9811734259a5f9e138 (patch)
treefea274539a6d6313e2a8d02f7de012c8e0803303 /channels
parentdba0f1ad678c5a058d86b9d896899a76f90c55b7 (diff)
chan_sip: Fix dialog reference leaked to scheduler for reinvite_timeout.
Release the scheduler reference to the dialog for reinvite timeout during dialog_unlink_all. ASTERISK-24876 #close Reported by: Corey Farrell Review: https://reviewboard.asterisk.org/r/4491/ ........ Merged revisions 433112 from http://svn.asterisk.org/svn/asterisk/branches/11 git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/13@433113 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels')
-rw-r--r--channels/chan_sip.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 9826f42a3..83d6716f2 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -3336,6 +3336,10 @@ void dialog_unlink_all(struct sip_pvt *dialog)
AST_SCHED_DEL_UNREF(sched, dialog->initid, dialog_unref(dialog, "when you delete the initid sched, you should dec the refcount for the stored dialog ptr"));
+ if (dialog->reinviteid > -1) {
+ AST_SCHED_DEL_UNREF(sched, dialog->reinviteid, dialog_unref(dialog, "clear ref for reinvite_timeout"));
+ }
+
if (dialog->autokillid > -1) {
AST_SCHED_DEL_UNREF(sched, dialog->autokillid, dialog_unref(dialog, "when you delete the autokillid sched, you should dec the refcount for the stored dialog ptr"));
}