[asterisk-dev] [Code Review] 3386: Dialplan functions: Fix NULL channel safety issues

Mark Michelson reviewboard at asterisk.org
Tue Mar 25 17:58:38 CDT 2014


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/3386/#review11374
-----------------------------------------------------------

Ship it!


Ship It!

- Mark Michelson


On March 25, 2014, 7:13 p.m., Corey Farrell wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/3386/
> -----------------------------------------------------------
> 
> (Updated March 25, 2014, 7:13 p.m.)
> 
> 
> Review request for Asterisk Developers.
> 
> 
> Bugs: ASTERISK-23391
>     https://issues.asterisk.org/jira/browse/ASTERISK-23391
> 
> 
> Repository: Asterisk
> 
> 
> Description
> -------
> 
> This is the Asterisk 12 version of fixes for dialplan functions handling of NULL channel.  The patch for trunk is identical to 12.  Patches for 1.8 and 11 are smaller, those patches are posted to JIRA.  I can post separate reviews for 1.8 and 11 if anyone asks.
> 
> Looking to the future, I think it would be better to add a 3rd bit-field to 'struct ast_custom_function' to allow_global, have pbx.c check if channel is NULL.  This would be cleaner with functions using RAII or SCOPED_CHANNELLOCK (main/features_config.c), and remove the check from a large number of functions.
> 
> 
> Diffs
> -----
> 
>   /branches/12/res/res_xmpp.c 410669 
>   /branches/12/res/res_pjsip_header_funcs.c 410669 
>   /branches/12/res/res_mutestream.c 410669 
>   /branches/12/res/res_jabber.c 410669 
>   /branches/12/res/res_calendar.c 410669 
>   /branches/12/main/message.c 410669 
>   /branches/12/main/features_config.c 410669 
>   /branches/12/funcs/func_volume.c 410669 
>   /branches/12/funcs/func_strings.c 410669 
>   /branches/12/funcs/func_speex.c 410669 
>   /branches/12/funcs/func_pitchshift.c 410669 
>   /branches/12/funcs/func_odbc.c 410669 
>   /branches/12/funcs/func_math.c 410669 
>   /branches/12/funcs/func_jitterbuffer.c 410669 
>   /branches/12/funcs/func_groupcount.c 410669 
>   /branches/12/funcs/func_global.c 410669 
>   /branches/12/funcs/func_frame_trace.c 410669 
>   /branches/12/funcs/func_dialplan.c 410669 
>   /branches/12/funcs/func_channel.c 410669 
>   /branches/12/funcs/func_cdr.c 410669 
>   /branches/12/funcs/func_callerid.c 410669 
>   /branches/12/funcs/func_callcompletion.c 410669 
>   /branches/12/funcs/func_blacklist.c 410669 
>   /branches/12/channels/pjsip/dialplan_functions.c 410669 
>   /branches/12/channels/chan_sip.c 410669 
>   /branches/12/channels/chan_iax2.c 410669 
>   /branches/12/apps/confbridge/conf_config_parser.c 410669 
>   /branches/12/apps/app_voicemail.c 410669 
>   /branches/12/apps/app_stack.c 410669 
>   /branches/12/apps/app_speech_utils.c 410669 
>   /branches/12/apps/app_jack.c 410669 
> 
> Diff: https://reviewboard.asterisk.org/r/3386/diff/
> 
> 
> Testing
> -------
> 
> Compiled, visually inspected.
> 
> I cannot compile app_jack due to dependencies, all other changed files compiled with devmode.
> 
> 
> Thanks,
> 
> Corey Farrell
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20140325/0e39940e/attachment.html>


More information about the asterisk-dev mailing list