[asterisk-commits] oej: branch 1.4 r47843 - in /branches/1.4: ./
channels/chan_sip.c
asterisk-commits at lists.digium.com
asterisk-commits at lists.digium.com
Mon Nov 20 04:29:19 MST 2006
Author: oej
Date: Mon Nov 20 05:29:19 2006
New Revision: 47843
URL: http://svn.digium.com/view/asterisk?view=rev&rev=47843
Log:
Make sure we destroy scheduled items and not use them ever again after destruction (rizzo)
Modified:
branches/1.4/ (props changed)
branches/1.4/channels/chan_sip.c
Propchange: branches/1.4/
------------------------------------------------------------------------------
Binary property 'branch-1.2-merged' - no diff available.
Modified: branches/1.4/channels/chan_sip.c
URL: http://svn.digium.com/view/asterisk/branches/1.4/channels/chan_sip.c?view=diff&rev=47843&r1=47842&r2=47843
==============================================================================
--- branches/1.4/channels/chan_sip.c (original)
+++ branches/1.4/channels/chan_sip.c Mon Nov 20 05:29:19 2006
@@ -2038,6 +2038,7 @@
if (sipdebug && option_debug > 3)
ast_log(LOG_DEBUG, "** SIP TIMER: Cancelling retransmit of packet (reply received) Retransid #%d\n", cur->retransid);
ast_sched_del(sched, cur->retransid);
+ cur->retransid = -1;
}
free(cur);
break;
@@ -2080,8 +2081,8 @@
if (option_debug > 3 && sipdebug)
ast_log(LOG_DEBUG, "*** SIP TIMER: Cancelling retransmission #%d - %s (got response)\n", cur->retransid, sip_methods[sipmethod].text);
ast_sched_del(sched, cur->retransid);
+ cur->retransid = -1;
}
- cur->retransid = -1;
res = 0;
break;
}
@@ -2330,6 +2331,7 @@
}
if (peer->expire > -1)
ast_sched_del(sched, peer->expire);
+
if (peer->pokeexpire > -1)
ast_sched_del(sched, peer->pokeexpire);
register_peer_exten(peer, FALSE);
@@ -7717,8 +7719,10 @@
else
peer->username[0] = '\0';
- if (peer->expire > -1)
+ if (peer->expire > -1) {
ast_sched_del(sched, peer->expire);
+ peer->expire = -1;
+ }
if (expiry > max_expiry)
expiry = max_expiry;
if (expiry < min_expiry)
@@ -11783,6 +11787,7 @@
if (global_regattempts_max)
p->registry->regattempts = global_regattempts_max+1;
ast_sched_del(sched, r->timeout);
+ r->timeout = -1;
ast_set_flag(&p->flags[0], SIP_NEEDDESTROY);
break;
case 404: /* Not found */
@@ -11792,6 +11797,7 @@
ast_set_flag(&p->flags[0], SIP_NEEDDESTROY);
r->call = NULL;
ast_sched_del(sched, r->timeout);
+ r->timeout = -1;
break;
case 407: /* Proxy auth */
if ((p->authtries == MAX_AUTHTRIES) || do_register_auth(p, req, "Proxy-Authenticate", "Proxy-Authorization")) {
@@ -11806,6 +11812,7 @@
ast_set_flag(&p->flags[0], SIP_NEEDDESTROY);
r->call = NULL;
ast_sched_del(sched, r->timeout);
+ r->timeout = -1;
break;
case 200: /* 200 OK */
if (!r) {
More information about the asterisk-commits
mailing list