summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorMark Michelson <mmichelson@digium.com>2007-12-06 21:03:15 +0000
committerMark Michelson <mmichelson@digium.com>2007-12-06 21:03:15 +0000
commite797cd04dce7f2ab51fc82f967e77ba8daffa0ad (patch)
treec960f59ba544f47551e660225369af89fc1b077d /apps
parent700cd10397598b82765adac5b8839447dfec2873 (diff)
Handle allocation failure of the heard and deleted arrays of the vm_state.
(closes issue #11408, reported and patched by jaroth) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@91579 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'apps')
-rw-r--r--apps/app_voicemail.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c
index 774272e2b..259c55e91 100644
--- a/apps/app_voicemail.c
+++ b/apps/app_voicemail.c
@@ -6947,10 +6947,14 @@ static int vm_execmain(struct ast_channel *chan, void *data)
goto out;
if (!(vms.deleted = ast_calloc(vmu->maxmsg, sizeof(int)))) {
- /* TODO: Handle memory allocation failure */
+ ast_log(LOG_ERROR, "Could not allocate memory for deleted message storage!\n");
+ cmd = ast_play_and_wait(chan, "an-error-has-occured");
+ return -1;
}
if (!(vms.heard = ast_calloc(vmu->maxmsg, sizeof(int)))) {
- /* TODO: Handle memory allocation failure */
+ ast_log(LOG_ERROR, "Could not allocate memory for heard message storage!\n");
+ cmd = ast_play_and_wait(chan, "an-error-has-occured");
+ return -1;
}
/* Set language from config to override channel language */