[asterisk-commits] coreyfarrell: branch 11 r419441 - in /branches/11: ./ channels/chan_sip.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Thu Jul 24 12:56:55 CDT 2014
Author: coreyfarrell
Date: Thu Jul 24 12:56:51 2014
New Revision: 419441
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=419441
Log:
chan_sip: sip_subscribe_mwi_destroy should not call sip_destroy
sip_subscribe_mwi_destroy calls sip_destroy on the reference counted
mwi->call. This results in the fields of mwi->call being freed, but
mwi->call itself it leaked. If other code is still using mwi->call
it can cause problems. This change uses dialog_unref instead, to
balance the ref provided by sip_alloc().
ASTERISK-24087 #close
Reported by: Corey Farrell
Review: https://reviewboard.asterisk.org/r/3834/
........
Merged revisions 419440 from http://svn.asterisk.org/svn/asterisk/branches/1.8
Modified:
branches/11/ (props changed)
branches/11/channels/chan_sip.c
Propchange: branches/11/
------------------------------------------------------------------------------
Binary property 'branch-1.8-merged' - no diff available.
Modified: branches/11/channels/chan_sip.c
URL: http://svnview.digium.com/svn/asterisk/branches/11/channels/chan_sip.c?view=diff&rev=419441&r1=419440&r2=419441
==============================================================================
--- branches/11/channels/chan_sip.c (original)
+++ branches/11/channels/chan_sip.c Thu Jul 24 12:56:51 2014
@@ -6450,9 +6450,9 @@
{
if (mwi->call) {
mwi->call->mwi = NULL;
- sip_destroy(mwi->call);
- }
-
+ mwi->call = dialog_unref(mwi->call, "sip_subscription_mwi destruction");
+ }
+
AST_SCHED_DEL(sched, mwi->resub);
ast_string_field_free_memory(mwi);
ast_free(mwi);
More information about the asterisk-commits
mailing list