summaryrefslogtreecommitdiff
path: root/main/manager.c
diff options
context:
space:
mode:
authorJoshua Elson <joshelson@gmail.com>2017-05-04 18:28:55 -0400
committerJoshua Elson <joshelson@gmail.com>2017-05-09 09:22:00 -0500
commit10a4439ac93e1610cd138ec080f3230de0ae58fc (patch)
treecd5424f9fe882fb582c08f9f19fe3857cf2369fa /main/manager.c
parent3dae4279be4f61f16473d3e5ea9d45d1f8462eda (diff)
Prevent Undefined Capath Crash
It is possible to initialize a valid config without a capath or cafile definition. This will cause a crash on a reload. This fix ensures capath is always allocated. ASTERISK-26983 #close Change-Id: I63ff715d9d9023427543a5b8a4ba7b0d82533c12
Diffstat (limited to 'main/manager.c')
-rw-r--r--main/manager.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/main/manager.c b/main/manager.c
index c1d73dce7..c592fbd37 100644
--- a/main/manager.c
+++ b/main/manager.c
@@ -8736,6 +8736,10 @@ static void manager_shutdown(void)
ami_tls_cfg.pvtfile = NULL;
ast_free(ami_tls_cfg.cipher);
ami_tls_cfg.cipher = NULL;
+ ast_free(ami_tls_cfg.cafile);
+ ami_tls_cfg.cafile = NULL;
+ ast_free(ami_tls_cfg.capath);
+ ami_tls_cfg.capath = NULL;
ao2_global_obj_release(mgr_sessions);
@@ -8836,6 +8840,10 @@ static void manager_set_defaults(void)
ami_tls_cfg.pvtfile = ast_strdup("");
ast_free(ami_tls_cfg.cipher);
ami_tls_cfg.cipher = ast_strdup("");
+ ast_free(ami_tls_cfg.cafile);
+ ami_tls_cfg.cafile = ast_strdup("");
+ ast_free(ami_tls_cfg.capath);
+ ami_tls_cfg.capath = ast_strdup("");
}
static int __init_manager(int reload, int by_external_config)