From: Tilghman Lesher Date: Tue, 12 May 2009 20:42:17 +0000 (+0000) Subject: Merged revisions 193956 via svnmerge from X-Git-Tag: 1.6.1.3-rc1~248 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ebc0516d9b29c464c232d297c221e7548e2176dd;p=thirdparty%2Fasterisk.git Merged revisions 193956 via svnmerge from https://origsvn.digium.com/svn/asterisk/trunk ................ r193956 | tilghman | 2009-05-12 15:40:22 -0500 (Tue, 12 May 2009) | 13 lines Merged revisions 193955 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r193955 | tilghman | 2009-05-12 15:39:21 -0500 (Tue, 12 May 2009) | 6 lines 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.6.1@193958 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c index 4d62c658fd..286530a064 100644 --- a/apps/app_voicemail.c +++ b/apps/app_voicemail.c @@ -8893,6 +8893,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); @@ -8904,9 +8908,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)))) { ast_log(AST_LOG_ERROR, "Could not allocate memory for deleted message storage!\n"); cmd = ast_play_and_wait(chan, "an-error-has-occured"); @@ -9458,7 +9459,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);