[asterisk-commits] kmoore: branch 1.8 r331517 - /branches/1.8/channels/chan_sip.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Wed Aug 10 17:23:16 CDT 2011
Author: kmoore
Date: Wed Aug 10 17:23:08 2011
New Revision: 331517
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=331517
Log:
SIP Notify via AMI or CLI leaks SIP PVTs
Any SIP notify sent via AMI or CLI leaks a SIP PVT with ref count +2. Removing
the additional ref just before the invite and adding an unref following it
corrects the issue as seen via REF_DEBUG. The unref existed in a distant
revision and it appears as though the wrong ref operation was removed.
(closes issue ASTERISK-18091)
Review: https://reviewboard.asterisk.org/r/1332/
Modified:
branches/1.8/channels/chan_sip.c
Modified: branches/1.8/channels/chan_sip.c
URL: http://svnview.digium.com/svn/asterisk/branches/1.8/channels/chan_sip.c?view=diff&rev=331517&r1=331516&r2=331517
==============================================================================
--- branches/1.8/channels/chan_sip.c (original)
+++ branches/1.8/channels/chan_sip.c Wed Aug 10 17:23:08 2011
@@ -12460,9 +12460,9 @@
}
}
- dialog_ref(p, "bump the count of p, which transmit_sip_request will decrement.");
sip_scheddestroy(p, SIP_TRANS_TIMEOUT);
transmit_invite(p, SIP_NOTIFY, 0, 2, NULL);
+ dialog_unref(p, "bump down the count of p since we're done with it.");
astman_send_ack(s, m, "Notify Sent");
ast_variables_destroy(vars);
@@ -18453,9 +18453,9 @@
/* Recalculate our side, and recalculate Call ID */
ast_cli(a->fd, "Sending NOTIFY of type '%s' to '%s'\n", a->argv[2], a->argv[i]);
- dialog_ref(p, "bump the count of p, which transmit_sip_request will decrement.");
sip_scheddestroy(p, SIP_TRANS_TIMEOUT);
transmit_invite(p, SIP_NOTIFY, 0, 2, NULL);
+ dialog_unref(p, "bump down the count of p since we're done with it.");
}
return CLI_SUCCESS;
More information about the asterisk-commits
mailing list