diff options
author | Kinsey Moore <kmoore@digium.com> | 2013-08-22 19:52:59 +0000 |
---|---|---|
committer | Kinsey Moore <kmoore@digium.com> | 2013-08-22 19:52:59 +0000 |
commit | 5ad4030ef02d19ec10b29f08d42e7bd168dd6aa5 (patch) | |
tree | f696155f46f74efc1b9e7ac792f60c51e706cf8e /main/cel.c | |
parent | 00baddb9065b528c6d7d503e754a915da1ac10d1 (diff) |
Fix crash when getting CEL config
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@397461 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'main/cel.c')
-rw-r--r-- | main/cel.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/main/cel.c b/main/cel.c index ca0496c0f..1b2dc3914 100644 --- a/main/cel.c +++ b/main/cel.c @@ -1512,7 +1512,7 @@ struct ast_cel_general_config *ast_cel_get_config(void) { RAII_VAR(struct cel_config *, mod_cfg, ao2_global_obj_ref(cel_configs), ao2_cleanup); - if (!mod_cfg->general) { + if (!mod_cfg || !mod_cfg->general) { return NULL; } @@ -1525,9 +1525,11 @@ void ast_cel_set_config(struct ast_cel_general_config *config) RAII_VAR(struct cel_config *, mod_cfg, ao2_global_obj_ref(cel_configs), ao2_cleanup); RAII_VAR(struct ast_cel_general_config *, cleanup_config, mod_cfg->general, ao2_cleanup); - mod_cfg->general = config; - if (mod_cfg->general) { - ao2_ref(mod_cfg->general, +1); + if (mod_cfg) { + mod_cfg->general = config; + if (mod_cfg->general) { + ao2_ref(mod_cfg->general, +1); + } } } |