summaryrefslogtreecommitdiff
path: root/main/cel.c
diff options
context:
space:
mode:
authorKinsey Moore <kmoore@digium.com>2013-08-22 19:52:59 +0000
committerKinsey Moore <kmoore@digium.com>2013-08-22 19:52:59 +0000
commit5ad4030ef02d19ec10b29f08d42e7bd168dd6aa5 (patch)
treef696155f46f74efc1b9e7ac792f60c51e706cf8e /main/cel.c
parent00baddb9065b528c6d7d503e754a915da1ac10d1 (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.c10
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);
+ }
}
}