From 6a4502ec9abe43b973813ed5ce3f6b71e58a0c52 Mon Sep 17 00:00:00 2001 From: Thomas Roessler Date: Wed, 21 Jun 2000 06:53:30 +0000 Subject: [PATCH] Fix a file descriptor leak in sendlib.c. --- postpone.c | 4 ++-- sendlib.c | 24 ++++++++++++------------ 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/postpone.c b/postpone.c index 69597f34..cdbb803a 100644 --- a/postpone.c +++ b/postpone.c @@ -535,7 +535,7 @@ int mutt_prepare_template (FILE *fp, CONTEXT *ctx, HEADER *newhdr, HEADER *hdr, } safe_free ((void **) &newhdr->env->message_id); - safe_free ((void **) &newhdr->env->mail_followup_to); + safe_free ((void **) &newhdr->env->mail_followup_to); /* really? */ #ifdef HAVE_PGP /* decrypt pgp/mime encoded messages */ @@ -623,7 +623,7 @@ int mutt_prepare_template (FILE *fp, CONTEXT *ctx, HEADER *newhdr, HEADER *hdr, if (mutt_is_text_type (b->type, b->subtype)) b->noconv = 1; - + mutt_stamp_attachment (b); mutt_free_body (&b->parts); diff --git a/sendlib.c b/sendlib.c index c91ed34a..9226b4aa 100644 --- a/sendlib.c +++ b/sendlib.c @@ -847,8 +847,10 @@ CONTENT *mutt_get_content_info (const char *fname, BODY *b) { CONTENT *info; CONTENT_STATE state; - FILE *fp; + FILE *fp = NULL; char *fromcode, *tocode; + char buffer[100]; + size_t r; if(b && !fname) fname = b->filename; @@ -871,22 +873,20 @@ CONTENT *mutt_get_content_info (const char *fname, BODY *b) { if (!chs) mutt_set_parameter ("charset", tocode, &b->parameter); - free (fromcode); - free (tocode); + safe_free (&fromcode); + safe_free (&tocode); + safe_fclose (&fp); return info; } } - { - char buffer[100]; - size_t r; - - rewind (fp); - while ((r = fread (buffer, 1, sizeof(buffer), fp))) - update_content_info (info, &state, buffer, r); - update_content_info (info, &state, 0, 0); - } + rewind (fp); + while ((r = fread (buffer, 1, sizeof(buffer), fp))) + update_content_info (info, &state, buffer, r); + update_content_info (info, &state, 0, 0); + safe_fclose (&fp); + if (b != NULL && b->type == TYPETEXT && (!b->noconv)) mutt_set_parameter ("charset", info->hibin ? "unknown-8bit" : "us-ascii", -- 2.40.0