0001834157
menu_template_handler wasn't properly accounting for the fact that it might be called both during a load/reload (which isn't really valid but not prevented) and by a dialplan function. In both cases it was attempting to use the "pending" config which wasn't valid in the latter case. aco_process_config is also partly to blame because it wasn't properly cleaning "pending" up when a reload was done and no changes were made. Both of these contributed to a crash if CONFBRIDGE(menu,template) was called in a dialplan after a reload. * aco_process_config now sets info->internal->pending to NULL after it unrefs it although this isn't strictly necessary in the context of this fix. * menu_template_handler now uses the "current" config and silently ignores any attempt to be called as a result of someone uses the "template" parameter in the conf file. Luckily there's no other place in the codebase where aco_pending_config is used outside of aco_process_config. ASTERISK-25506 #close Reported-by: Frederic LE FOLL Change-Id: Ib349a17d3d088f092480b19addd7122fcaac21a7 |
||
---|---|---|
.. | ||
include | ||
conf_chan_announce.c | ||
conf_chan_record.c | ||
conf_config_parser.c | ||
conf_state.c | ||
conf_state_empty.c | ||
conf_state_inactive.c | ||
conf_state_multi.c | ||
conf_state_multi_marked.c | ||
conf_state_single.c | ||
conf_state_single_marked.c | ||
confbridge_manager.c |