fix a place where code returns without unlocking the vm users list and various

places where code returns without destroying loaded configuration


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@33785 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1.4
Russell Bryant 19 years ago
parent 7c491057db
commit 50dff0e818

@ -6452,6 +6452,8 @@ static int load_config(void)
}
} else {
free(z);
AST_LIST_UNLOCK(&users);
ast_config_destroy(cfg);
return -1;
}
var = var->next;
@ -6706,8 +6708,10 @@ static int advanced_options(struct ast_channel *chan, struct ast_vm_user *vmu, s
return 0;
}
if (!(origtime = ast_variable_retrieve(msg_cfg, "message", "origtime")))
if (!(origtime = ast_variable_retrieve(msg_cfg, "message", "origtime"))) {
ast_config_destroy(msg_cfg);
return 0;
}
cid = ast_variable_retrieve(msg_cfg, "message", "callerid");
@ -6715,6 +6719,8 @@ static int advanced_options(struct ast_channel *chan, struct ast_vm_user *vmu, s
if (!strncasecmp("macro",context,5)) /* Macro names in contexts are useless for our needs */
context = ast_variable_retrieve(msg_cfg, "message","macrocontext");
ast_config_destroy(msg_cfg);
switch (option) {
case 3:
if (!res)
@ -6852,8 +6858,6 @@ static int advanced_options(struct ast_channel *chan, struct ast_vm_user *vmu, s
break;
}
ast_config_destroy(msg_cfg);
if (!res) {
make_file(vms->fn, sizeof(vms->fn), vms->curdir, msg);
vms->heard[msg] = 1;

Loading…
Cancel
Save