From ca890bae34b8c33a8f911bff94cd261e91a259cf Mon Sep 17 00:00:00 2001
From: Mark Michelson <mmichelson@digium.com>
Date: Fri, 24 Aug 2007 15:53:36 +0000
Subject: [PATCH] Merged revisions 80750 via svnmerge from
 https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r80750 | mmichelson | 2007-08-24 10:51:03 -0500 (Fri, 24 Aug 2007) | 3 lines

Fix a possible crash in IMAP voicemail.


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@80751 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 apps/app_voicemail.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c
index 43750ed6c6..6c3d1e5311 100644
--- a/apps/app_voicemail.c
+++ b/apps/app_voicemail.c
@@ -4650,7 +4650,7 @@ static int play_message(struct ast_channel *chan, struct ast_vm_user *vmu, struc
 	mail_fetchstructure (vms->mailstream,vms->msgArray[vms->curmsg],&body);
 	
 	/* We have the body, now we extract the file name of the first attachment. */
-	if (body->nested.part->next && body->nested.part->next->body.parameter->value) {
+	if (body->nested.part && body->nested.part->next && body->nested.part->next->body.parameter->value) {
 		attachedfilefmt = ast_strdupa(body->nested.part->next->body.parameter->value);
 	} else {
 		ast_log(LOG_ERROR, "There is no file attached to this IMAP message.\n");
@@ -5049,7 +5049,7 @@ static int imap_retrieve_file (char *dir, int msgnum, char *mailbox, char *conte
 	for (i = 0; i < vms_p->mailstream->nmsgs; i++) {
 		mail_fetchstructure(vms_p->mailstream, i + 1, &body);
 		/* We have the body, now we extract the file name of the first attachment. */
-		if (body->nested.part->next && body->nested.part->next->body.parameter->value) {
+		if (body->nested.part && body->nested.part->next && body->nested.part->next->body.parameter->value) {
 			attachment = ast_strdupa(body->nested.part->next->body.parameter->value);
 		} else {
 			ast_log(LOG_ERROR, "There is no file attached to this IMAP message.\n");
-- 
GitLab