mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-05 20:20:07 +00:00
Avoid initializing routines if the authentication fails. Fixes a crash (RR) issue.
(closes issue #14508) Reported by: tiziano Patches: 20090221_2_wrongmailbox.diff.txt uploaded by tiziano (license 377) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@193955 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -7441,6 +7441,10 @@ static int vm_execmain(struct ast_channel *chan, void *data)
|
||||
/* If ADSI is supported, setup login screen */
|
||||
adsi_begin(chan, &useadsi);
|
||||
|
||||
if (!valid) {
|
||||
goto out;
|
||||
}
|
||||
|
||||
#ifdef IMAP_STORAGE
|
||||
pthread_once(&ts_vmstate.once, ts_vmstate.key_init);
|
||||
pthread_setspecific(ts_vmstate.key, &vms);
|
||||
@@ -7452,9 +7456,6 @@ static int vm_execmain(struct ast_channel *chan, void *data)
|
||||
vmstate_insert(&vms);
|
||||
init_vm_state(&vms);
|
||||
#endif
|
||||
if (!valid)
|
||||
goto out;
|
||||
|
||||
if (!(vms.deleted = ast_calloc(vmu->maxmsg, sizeof(int)))) {
|
||||
/* TODO: Handle memory allocation failure */
|
||||
}
|
||||
@@ -7869,7 +7870,9 @@ out:
|
||||
}
|
||||
/* before we delete the state, we should copy pertinent info
|
||||
* back to the persistent model */
|
||||
vmstate_delete(&vms);
|
||||
if (vmu) {
|
||||
vmstate_delete(&vms);
|
||||
}
|
||||
#endif
|
||||
if (vmu)
|
||||
free_user(vmu);
|
||||
|
Reference in New Issue
Block a user