diff --git a/src/mod/applications/mod_conference/mod_conference.c b/src/mod/applications/mod_conference/mod_conference.c index 4e46bcf985..d41ee34c9f 100644 --- a/src/mod/applications/mod_conference/mod_conference.c +++ b/src/mod/applications/mod_conference/mod_conference.c @@ -3022,6 +3022,14 @@ static switch_status_t conf_api_sub_transfer(conference_obj_t *conference, switc if ((profiles = switch_xml_child(cfg, "profiles"))) { xml_cfg.profile = switch_xml_find_child(profiles, "profile", "name", profile_name); } + + if (!xml_cfg.profile) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Cannot find profile: %s\n", profile_name); + switch_xml_free(cxml); + cxml = NULL; + goto done; + } + xml_cfg.controls = switch_xml_child(cfg, "caller-controls"); #ifdef OPTION_IVR_MENU_SUPPORT xml_cfg.menus = switch_xml_child(cfg, "menus"); @@ -3662,6 +3670,13 @@ static void conference_function(switch_core_session_t *session, char *data) xml_cfg.profile = switch_xml_find_child(profiles, "profile", "name", profile_name); } + if (!xml_cfg.profile) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Cannot find profile: %s\n", profile_name); + switch_xml_free(cxml); + cxml = NULL; + goto done; + } + xml_cfg.controls = switch_xml_child(cfg, "caller-controls"); #ifdef OPTION_IVR_MENU_SUPPORT xml_cfg.menus = switch_xml_child(cfg, "menus");