]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Prevent Undefined Capath Crash
authorJoshua Elson <joshelson@gmail.com>
Thu, 4 May 2017 22:28:55 +0000 (18:28 -0400)
committerJoshua Elson <joshelson@gmail.com>
Tue, 9 May 2017 13:44:31 +0000 (07:44 -0600)
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

main/manager.c

index 0ea6bfae457d1e0fdaaa5682f52aedfb57cc5294..6f57f056edc8f35f89b47da25744861a0a75a9a8 100644 (file)
@@ -8723,6 +8723,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);
 
@@ -8823,6 +8827,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)