From 421edacc061e1a0a3be420735a735c7df20b518e Mon Sep 17 00:00:00 2001 From: Brian West Date: Mon, 14 Nov 2016 11:11:51 -0600 Subject: [PATCH] FS-9729 dont segfault if config file is misisng --- src/switch_msrp.c | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/src/switch_msrp.c b/src/switch_msrp.c index 72ae763488..1630de613b 100644 --- a/src/switch_msrp.c +++ b/src/switch_msrp.c @@ -152,6 +152,13 @@ static switch_status_t load_config() switch_xml_t cfg, xml = NULL, settings, param; switch_status_t status = SWITCH_STATUS_SUCCESS; + globals.cert = switch_core_sprintf(globals.pool, "%s%swss.pem", SWITCH_GLOBAL_dirs.certs_dir, SWITCH_PATH_SEPARATOR); + globals.key = globals.cert; + + if ( switch_file_exists(globals.key, globals.pool) != SWITCH_STATUS_SUCCESS ) { + switch_core_gen_certs(globals.key); + } + if (!(xml = switch_xml_open_cfg(cf, &cfg, NULL))) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Open of %s failed\n", cf); status = SWITCH_STATUS_FALSE; @@ -181,18 +188,6 @@ static switch_status_t load_config() } } - if (!globals.cert) { - globals.cert = switch_core_sprintf(globals.pool, "%s%swss.pem", SWITCH_GLOBAL_dirs.certs_dir, SWITCH_PATH_SEPARATOR); - } - - if (!globals.key) { - globals.key = globals.cert; - } - - if ( switch_file_exists(globals.key, globals.pool) != SWITCH_STATUS_SUCCESS ) { - switch_core_gen_certs(globals.key); - } - switch_xml_free(xml); return status;