From 2afd7a09a76d5d62a4efbcb03fa8bd35c8ce5ed1 Mon Sep 17 00:00:00 2001
From: Sean Bright <sean@malleable.com>
Date: Fri, 5 Dec 2008 02:47:54 +0000
Subject: [PATCH] Check the return value of fread/fwrite so the compiler
 doesn't complain.  Only a problem when IMAP_STORAGE is enabled.

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

diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c
index 65a17c0d89..ba8a7ab69d 100644
--- a/apps/app_voicemail.c
+++ b/apps/app_voicemail.c
@@ -1784,7 +1784,12 @@ static int imap_store_file(char *dir, char *mailboxuser, char *mailboxcontext, i
 			*(vmu->email) = '\0';
 		return -1;
 	}
-	fread(buf, len, 1, p);
+	if (fread(buf, len, 1, p) < len) {
+		if (ferror(p)) {
+			ast_log(LOG_ERROR, "Short read while reading in mail file.\n");
+			return -1;
+		}
+	}
 	((char *)buf)[len] = '\0';
 	INIT(&str, mail_string, buf, len);
 	ret = init_mailstream(vms, NEW_FOLDER);
@@ -2131,7 +2136,11 @@ static void write_file(char *filename, char *buffer, unsigned long len)
 	FILE *output;
 
 	output = fopen (filename, "w");
-	fwrite (buffer, len, 1, output);
+	if (fwrite(buffer, len, 1, output) < len) {
+		if (ferror(output)) {
+			ast_log(LOG_ERROR, "Short write while writing e-mail body.\n");
+		}
+	}
 	fclose (output);
 }
 
-- 
GitLab