[Home]

Summary:ASTERISK-14315: [patch] Using CHANNEL function from ZOMBIE channel stops Asterisk
Reporter:Olivier Krief (okrief)Labels:
Date Opened:2009-06-15 07:28:19Date Closed:2009-06-17 14:49:05
Priority:CriticalRegression?No
Status:Closed/CompleteComponents:Channels/General
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:( 0) chan_sip.diff
Description:In extension.ael :
context mylocal [
_ZXXX => {
       &std-exten2(${CALLERID(num)},${EXTEN});
};

macro std-exten2 (caller,callee) {
       Dial(SIP/${callee});
       return;

       catch h {
       NoOp(Channel is ${CHANNEL});
//        NoOp(Peer is ${CHANNEL(peername)});
       }
};

Removing comment make Asterisk exit when channel name is ending with <ZOMBIE> (after a SIP REFER, for instance).
Maybe CHANNEL function shouldn't be called at all from a ZOMBIE channel but it shouldn't exit this way.
Comments:By: Leif Madsen (lmadsen) 2009-06-15 15:31:29

Per Russell: acf_channel_read() in chan_sip.c needs to check for a NULL sip_pvt pointer, and return -1 if so

By: David Brooks (dbrooks) 2009-06-16 13:53:41

checking for NULL pointer. can you test this patch, okrief?

By: Olivier Krief (okrief) 2009-06-16 15:21:32

I'll try it ASAP and report here.

By: David Brooks (dbrooks) 2009-06-17 12:34:50

sorry okrief, that last patch contained a typo.. I deleted it and uploaded a new version. please use this one instead. thanks!

By: Digium Subversion (svnbot) 2009-06-17 13:45:50

Repository: asterisk
Revision: 201380

U   branches/1.4/channels/chan_sip.c

------------------------------------------------------------------------
r201380 | dbrooks | 2009-06-17 13:45:50 -0500 (Wed, 17 Jun 2009) | 9 lines

Checks for NULL sip_pvt pointer in chan_sip.c->acf_channel_read()

Zombie channels could be passed, and chan_sip.c wasn't checking for it.
Could crash Asterisk. Now checking for NULL pointer.

(closes issue ASTERISK-14315)
Reported by: okrief
Tested by: dbrooks

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=201380

By: Digium Subversion (svnbot) 2009-06-17 14:15:08

Repository: asterisk
Revision: 201381

_U  trunk/
U   trunk/channels/chan_sip.c

------------------------------------------------------------------------
r201381 | dbrooks | 2009-06-17 14:15:08 -0500 (Wed, 17 Jun 2009) | 16 lines

Merged revisions 201380 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
 r201380 | dbrooks | 2009-06-17 13:45:50 -0500 (Wed, 17 Jun 2009) | 9 lines
 
 Checks for NULL sip_pvt pointer in chan_sip.c->acf_channel_read()
 
 Zombie channels could be passed, and chan_sip.c wasn't checking for it.
 Could crash Asterisk. Now checking for NULL pointer.
 
 (closes issue ASTERISK-14315)
 Reported by: okrief
 Tested by: dbrooks
........

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=201381

By: Digium Subversion (svnbot) 2009-06-17 14:35:24

Repository: asterisk
Revision: 201443

_U  branches/1.6.0/
U   branches/1.6.0/channels/chan_sip.c

------------------------------------------------------------------------
r201443 | dbrooks | 2009-06-17 14:35:24 -0500 (Wed, 17 Jun 2009) | 23 lines

Merged revisions 201381 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
 r201381 | dbrooks | 2009-06-17 14:15:07 -0500 (Wed, 17 Jun 2009) | 16 lines
 
 Merged revisions 201380 via svnmerge from
 https://origsvn.digium.com/svn/asterisk/branches/1.4
 
 ........
   r201380 | dbrooks | 2009-06-17 13:45:50 -0500 (Wed, 17 Jun 2009) | 9 lines
   
   Checks for NULL sip_pvt pointer in chan_sip.c->acf_channel_read()
   
   Zombie channels could be passed, and chan_sip.c wasn't checking for it.
   Could crash Asterisk. Now checking for NULL pointer.
   
   (closes issue ASTERISK-14315)
   Reported by: okrief
   Tested by: dbrooks
 ........
................

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=201443

By: Digium Subversion (svnbot) 2009-06-17 14:39:30

Repository: asterisk
Revision: 201444

_U  branches/1.6.1/
U   branches/1.6.1/channels/chan_sip.c

------------------------------------------------------------------------
r201444 | dbrooks | 2009-06-17 14:39:29 -0500 (Wed, 17 Jun 2009) | 23 lines

Merged revisions 201381 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
 r201381 | dbrooks | 2009-06-17 14:15:07 -0500 (Wed, 17 Jun 2009) | 16 lines
 
 Merged revisions 201380 via svnmerge from
 https://origsvn.digium.com/svn/asterisk/branches/1.4
 
 ........
   r201380 | dbrooks | 2009-06-17 13:45:50 -0500 (Wed, 17 Jun 2009) | 9 lines
   
   Checks for NULL sip_pvt pointer in chan_sip.c->acf_channel_read()
   
   Zombie channels could be passed, and chan_sip.c wasn't checking for it.
   Could crash Asterisk. Now checking for NULL pointer.
   
   (closes issue ASTERISK-14315)
   Reported by: okrief
   Tested by: dbrooks
 ........
................

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=201444

By: Digium Subversion (svnbot) 2009-06-17 14:49:05

Repository: asterisk
Revision: 201446

_U  branches/1.6.2/
U   branches/1.6.2/channels/chan_sip.c

------------------------------------------------------------------------
r201446 | dbrooks | 2009-06-17 14:49:04 -0500 (Wed, 17 Jun 2009) | 23 lines

Merged revisions 201381 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
 r201381 | dbrooks | 2009-06-17 14:15:07 -0500 (Wed, 17 Jun 2009) | 16 lines
 
 Merged revisions 201380 via svnmerge from
 https://origsvn.digium.com/svn/asterisk/branches/1.4
 
 ........
   r201380 | dbrooks | 2009-06-17 13:45:50 -0500 (Wed, 17 Jun 2009) | 9 lines
   
   Checks for NULL sip_pvt pointer in chan_sip.c->acf_channel_read()
   
   Zombie channels could be passed, and chan_sip.c wasn't checking for it.
   Could crash Asterisk. Now checking for NULL pointer.
   
   (closes issue ASTERISK-14315)
   Reported by: okrief
   Tested by: dbrooks
 ........
................

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=201446