]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-9729 dont segfault if config file is misisng
authorBrian West <brian@freeswitch.org>
Mon, 14 Nov 2016 17:11:51 +0000 (11:11 -0600)
committerBrian West <brian@freeswitch.org>
Mon, 14 Nov 2016 17:11:59 +0000 (11:11 -0600)
src/switch_msrp.c

index 72ae76348850216710de12bcf259e1aa2bd98bd0..1630de613b912e267aeb6b504b55575f6f40086d 100644 (file)
@@ -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;