diff options
-rw-r--r-- | ChangeLog | 12 | ||||
-rw-r--r-- | channels/chan_sip.c | 2 |
2 files changed, 13 insertions, 1 deletions
@@ -2,6 +2,18 @@ * Asterisk 1.6.1.19-rc2 Released +2010-04-13 [r257208] Tilghman Lesher <tlesher@digium.com + + Also unref the pvt when we delete the provisional keepalive job. + + (closes issue #16774) + Reported by: kowalma + Patches: + 20100315__issue16774.diff.txt uploaded by tilghman (license 14) + Tested by: falves11, jamicque + + Review: https://reviewboard.asterisk.org/r/591/ + 2010-04-05 Leif Madsen <lmadsen@digium.com> * Asterisk 1.6.1.19-rc1 Released diff --git a/channels/chan_sip.c b/channels/chan_sip.c index fbef8abe1..1b6d4e3e7 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -5667,7 +5667,7 @@ static int sip_hangup(struct ast_channel *ast) } } else { /* Incoming call, not up */ const char *res; - AST_SCHED_DEL(sched, p->provisional_keepalive_sched_id); + AST_SCHED_DEL_UNREF(sched, p->provisional_keepalive_sched_id, dialog_unref(p, "when you delete the provisional_keepalive_sched_id, you should dec the refcount for the stored dialog ptr")); if (p->hangupcause && (res = hangup_cause2sip(p->hangupcause))) transmit_response_reliable(p, res, &p->initreq); else |