aboutsummaryrefslogtreecommitdiffstats
path: root/apps/app_voicemail.c
diff options
context:
space:
mode:
authorseanbright <seanbright@f38db490-d61c-443f-a65b-d21fe96a405b>2008-12-05 02:51:48 +0000
committerseanbright <seanbright@f38db490-d61c-443f-a65b-d21fe96a405b>2008-12-05 02:51:48 +0000
commit38d176af5c7aec926f33c476f1313b65c6c8a5a5 (patch)
tree0f47eb2e664190b1863945b94f31982e9b757588 /apps/app_voicemail.c
parent53ba75ca63a4b6ea80c5d1db801794e630efaf51 (diff)
Merged revisions 161147 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk ........ r161147 | seanbright | 2008-12-04 21:47:54 -0500 (Thu, 04 Dec 2008) | 3 lines Check the return value of fread/fwrite so the compiler doesn't complain. Only a problem when IMAP_STORAGE is enabled. ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@161148 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'apps/app_voicemail.c')
-rw-r--r--apps/app_voicemail.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c
index 50acc066d..f44ecc49b 100644
--- a/apps/app_voicemail.c
+++ b/apps/app_voicemail.c
@@ -1419,7 +1419,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);
init_mailstream(vms, NEW_FOLDER);
@@ -1840,7 +1845,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);
}