aboutsummaryrefslogtreecommitdiff
path: root/libsylph/procmime.c
diff options
context:
space:
mode:
authorhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2006-09-13 07:25:19 +0000
committerhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2006-09-13 07:25:19 +0000
commitb826872206f83b70591ae8f445e7f531b2d5ef58 (patch)
tree716a46c99b3b9f9b91ae6e9f9c514386902636df /libsylph/procmime.c
parentc9865e35f9eaca97abb9369c888535cf007838b4 (diff)
procmime.c: add more error checking.
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@1157 ee746299-78ed-0310-b773-934348b2243d
Diffstat (limited to 'libsylph/procmime.c')
-rw-r--r--libsylph/procmime.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/libsylph/procmime.c b/libsylph/procmime.c
index 81e5829a..f9dba9d1 100644
--- a/libsylph/procmime.c
+++ b/libsylph/procmime.c
@@ -989,7 +989,11 @@ gint procmime_get_part_fp(const gchar *outfile, FILE *infp, MimeInfo *mimeinfo)
while (fgets(buf, sizeof(buf), infp) != NULL)
if (buf[0] == '\r' || buf[0] == '\n') break;
- procmime_decode_content(outfp, infp, mimeinfo);
+ if (procmime_decode_content(outfp, infp, mimeinfo) == NULL) {
+ fclose(outfp);
+ g_unlink(outfile);
+ return -1;
+ }
if (fclose(outfp) == EOF) {
FILE_OP_ERROR(outfile, "fclose");