Index: main/config_options.c =================================================================== --- main/config_options.c (revision 370340) +++ main/config_options.c (working copy) @@ -606,10 +606,12 @@ if (!(type->internal->regex = build_regex(type->category))) { internal_type_destroy(type); + return -1; } if (!(type->internal->opts = aco_option_container_alloc())) { internal_type_destroy(type); + return -1; } return 0; Index: apps/confbridge/conf_config_parser.c =================================================================== --- apps/confbridge/conf_config_parser.c (revision 370340) +++ apps/confbridge/conf_config_parser.c (working copy) @@ -1255,11 +1255,8 @@ { if (!reload) { if (aco_info_init(&cfg_info)) { - goto error; + return -1; } - if (ast_cli_register_multiple(cli_confbridge_parser, ARRAY_LEN(cli_confbridge_parser))) { - goto error; - } } /* User options */ @@ -1307,7 +1304,15 @@ /* Menu options */ aco_option_register_custom(&cfg_info, "^[0-9A-D*#]+$", ACO_REGEX, menu_types, NULL, menu_option_handler, 0); - return aco_process_config(&cfg_info, reload) == ACO_PROCESS_ERROR; + if (aco_process_config(&cfg_info, reload) == ACO_PROCESS_ERROR) { + goto error; + } + + if (!reload && ast_cli_register_multiple(cli_confbridge_parser, ARRAY_LEN(cli_confbridge_parser))) { + goto error; + } + + return 0; error: conf_destroy_config(); return -1; @@ -1380,6 +1385,10 @@ struct func_confbridge_data *b_data = NULL; RAII_VAR(struct confbridge_cfg *, cfg, ao2_global_obj_ref(cfg_handle), ao2_cleanup); + if (!cfg) { + return NULL; + } + if (chan) { ast_channel_lock(chan); if ((datastore = ast_channel_datastore_find(chan, &confbridge_datastore, NULL))) { Index: apps/app_confbridge.c =================================================================== --- apps/app_confbridge.c (revision 370340) +++ apps/app_confbridge.c (working copy) @@ -2866,7 +2866,8 @@ res |= ast_manager_register_xml("ConfbridgeStopRecord", EVENT_FLAG_CALL, action_confbridgestoprecord); res |= ast_manager_register_xml("ConfbridgeSetSingleVideoSrc", EVENT_FLAG_CALL, action_confbridgesetsinglevideosrc); - conf_load_config(0); + res |= conf_load_config(0); + return res; }