]> granicus.if.org Git - neomutt/commitdiff
Do some sanity checking when reading attachment. This fix should
authorThomas Roessler <roessler@does-not-exist.org>
Tue, 10 Nov 1998 20:25:18 +0000 (20:25 +0000)
committerThomas Roessler <roessler@does-not-exist.org>
Tue, 10 Nov 1998 20:25:18 +0000 (20:25 +0000)
catch bad attachments.

parse.c

diff --git a/parse.c b/parse.c
index d6da5c66d89f8d41fe27605e1cd3eebe62886633..017ebfc36ee68cc75a7f825860b7d2d79ca4826a 100644 (file)
--- a/parse.c
+++ b/parse.c
@@ -517,6 +517,17 @@ BODY *mutt_parse_multipart (FILE *fp, const char *boundary, long end_off, int di
       else if (buffer[2 + blen] == 0)
       {
        new = mutt_read_mime_header (fp, digest);
+       
+       /*
+        * Consistency checking - catch
+        * bad attachment end boundaries
+        */
+       
+       if(new->offset > end_off)
+       {
+         mutt_free_body(&new);
+         break;
+       }
        if (head)
        {
          last->next = new;