Skip to content
Snippets Groups Projects
Commit 39fada4d authored by Walter Doekes's avatar Walter Doekes
Browse files

chan_sip: Unref outbound proxy structure on dialog/pvt destruction.

Make sure outbound proxy refs are always unreffed on dialog destruction.

Review: https://reviewboard.asterisk.org/r/4016/
........

Merged revisions 423800 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

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

Merged revisions 423802 from http://svn.asterisk.org/svn/asterisk/branches/12
........

Merged revisions 423803 from http://svn.asterisk.org/svn/asterisk/branches/13


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@423804 65c4cc65-6c06-0410-ace0-fbb531ad65f3
parent a89964a5
Branches
Tags
No related merge requests found
...@@ -4391,7 +4391,7 @@ int __sip_ack(struct sip_pvt *p, uint32_t seqno, int resp, int sipmethod) ...@@ -4391,7 +4391,7 @@ int __sip_ack(struct sip_pvt *p, uint32_t seqno, int resp, int sipmethod)
If obforcing is set, we will keep the outbound proxy during the whole If obforcing is set, we will keep the outbound proxy during the whole
dialog, regardless of what the SIP rfc says dialog, regardless of what the SIP rfc says
*/ */
if (p->outboundproxy && !p->outboundproxy->force){ if (p->outboundproxy && !p->outboundproxy->force) {
ref_proxy(p, NULL); ref_proxy(p, NULL);
} }
   
...@@ -6460,6 +6460,10 @@ void __sip_destroy(struct sip_pvt *p, int lockowner, int lockdialoglist) ...@@ -6460,6 +6460,10 @@ void __sip_destroy(struct sip_pvt *p, int lockowner, int lockdialoglist)
p->options = NULL; p->options = NULL;
} }
   
if (p->outboundproxy) {
ref_proxy(p, NULL);
}
if (p->notify) { if (p->notify) {
ast_variables_destroy(p->notify->headers); ast_variables_destroy(p->notify->headers);
ast_free(p->notify->content); ast_free(p->notify->content);
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment