From e797cd04dce7f2ab51fc82f967e77ba8daffa0ad Mon Sep 17 00:00:00 2001
From: Mark Michelson <mmichelson@digium.com>
Date: Thu, 6 Dec 2007 21:03:15 +0000
Subject: [PATCH] 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
---
 apps/app_voicemail.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c
index 774272e2b5..259c55e917 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 */
-- 
GitLab