Summary: | ASTERISK-14315: [patch] Using CHANNEL function from ZOMBIE channel stops Asterisk | ||
Reporter: | Olivier Krief (okrief) | Labels: | |
Date Opened: | 2009-06-15 07:28:19 | Date Closed: | 2009-06-17 14:49:05 |
Priority: | Critical | Regression? | No |
Status: | Closed/Complete | Components: | 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 |