[asterisk-commits] coreyfarrell: branch 12 r419442 - in /branches/12: ./ channels/chan_sip.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Thu Jul 24 12:57:49 CDT 2014


Author: coreyfarrell
Date: Thu Jul 24 12:57:46 2014
New Revision: 419442

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=419442
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
........

Merged revisions 419441 from http://svn.asterisk.org/svn/asterisk/branches/11

Modified:
    branches/12/   (props changed)
    branches/12/channels/chan_sip.c

Propchange: branches/12/
------------------------------------------------------------------------------
Binary property 'branch-11-merged' - no diff available.

Modified: branches/12/channels/chan_sip.c
URL: http://svnview.digium.com/svn/asterisk/branches/12/channels/chan_sip.c?view=diff&rev=419442&r1=419441&r2=419442
==============================================================================
--- branches/12/channels/chan_sip.c (original)
+++ branches/12/channels/chan_sip.c Thu Jul 24 12:57:46 2014
@@ -6575,7 +6575,7 @@
 {
 	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);




More information about the asterisk-commits mailing list