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

Loading…
Cancel
Save