Fix crash when getting CEL config

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@397461 65c4cc65-6c06-0410-ace0-fbb531ad65f3
changes/78/78/1
Kinsey Moore 12 years ago
parent 00baddb906
commit 5ad4030ef0

@ -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); 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; return NULL;
} }
@ -1525,10 +1525,12 @@ 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 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); RAII_VAR(struct ast_cel_general_config *, cleanup_config, mod_cfg->general, ao2_cleanup);
if (mod_cfg) {
mod_cfg->general = config; mod_cfg->general = config;
if (mod_cfg->general) { if (mod_cfg->general) {
ao2_ref(mod_cfg->general, +1); ao2_ref(mod_cfg->general, +1);
} }
}
} }
int ast_cel_backend_unregister(const char *name) int ast_cel_backend_unregister(const char *name)

Loading…
Cancel
Save