]> granicus.if.org Git - mutt/commitdiff
- buffy.c (test_last_status_new): Fix memory leak. Envelope
authorAndrew W. Nosenko <awn@bcs.zp.ua>
Tue, 18 Mar 2003 14:51:52 +0000 (14:51 +0000)
committerAndrew W. Nosenko <awn@bcs.zp.ua>
Tue, 18 Mar 2003 14:51:52 +0000 (14:51 +0000)
  structure allocated by mutt_read_rfc822_header() was never
  deallocated.

- parse.c (mutt_read_rfc822_header): Comment added about needing
  deallocate envelope structure returned by
  mutt_read_rfc822_header().

buffy.c
parse.c

diff --git a/buffy.c b/buffy.c
index 4b33b2b2b0bd0810f4f183fb08039f73a5f40446..43ba56fad3e17e032bcc2022ba8e0592218f76f1 100644 (file)
--- a/buffy.c
+++ b/buffy.c
@@ -95,15 +95,18 @@ int fseek_last_message (FILE * f)
 int test_last_status_new (FILE * f)
 {
   HEADER *hdr;
+  ENVELOPE* tmp_envelope;
   int result = 0;
 
   if (fseek_last_message (f) == -1)
     return (0);
 
   hdr = mutt_new_header ();
-  mutt_read_rfc822_header (f, hdr, 0, 0);
+  tmp_envelope = mutt_read_rfc822_header (f, hdr, 0, 0);
   if (!(hdr->read || hdr->old))
     result = 1;
+
+  mutt_free_envelope(&tmp_envelope);
   mutt_free_header (&hdr);
 
   return result;
diff --git a/parse.c b/parse.c
index 13b8ed573618f66fa6d01bad87659d86ec135fab..78e4dd73258f260e78410b14b896d76e37c3a223 100644 (file)
--- a/parse.c
+++ b/parse.c
@@ -1254,6 +1254,8 @@ int mutt_parse_rfc822_line (ENVELOPE *e, HEADER *hdr, char *line, char *p, short
  *             $weed option, honor the header weed list for user headers.
  *             Used for recall-message.
  * 
+ * Returns:     newly allocated envelope structure.  You should free it by
+ *              mutt_free_envelope() when envelope stay unneeded.
  */
 ENVELOPE *mutt_read_rfc822_header (FILE *f, HEADER *hdr, short user_hdrs,
                                   short weed)