]> granicus.if.org Git - neomutt/commitdiff
fix: resource leak - CID 76985
authorRichard Russon <rich@flatcap.org>
Thu, 16 Feb 2017 12:40:21 +0000 (12:40 +0000)
committerRichard Russon <rich@flatcap.org>
Mon, 20 Feb 2017 16:31:03 +0000 (16:31 +0000)
sendlib.c

index ad3cd30b55d8a853dddd2adfa43ee0d012731812..8c297051af5c28b29ea8758043b4dc54157b157e 100644 (file)
--- a/sendlib.c
+++ b/sendlib.c
@@ -1798,11 +1798,18 @@ static int write_one_header (FILE *fp, int pfxw, int max, int wraplen,
                 "max width = %d <= %d\n",
                 NONULL(pfx), valbuf, max, wraplen);
     if (pfx && *pfx)
+    {
       if (fputs (pfx, fp) == EOF)
+      {
+        FREE (&valbuf);
        return -1;
+      }
+    }
+
     if (!(t = strchr (valbuf, ':')))
     {
       mutt_debug (1, "mwoh: warning: header not in 'key: value' format!\n");
+      FREE (&valbuf);
       return 0;
     }
     if (print_val (fp, pfx, valbuf, flags, mutt_strlen (pfx)) < 0)
@@ -1842,7 +1849,10 @@ static int write_one_header (FILE *fp, int pfxw, int max, int wraplen,
     mutt_debug (4, "mwoh: buf[%s%s] too long, max width = %d > %d\n",
                 NONULL(pfx), valbuf, max, wraplen);
     if (fold_one_header (fp, tagbuf, valbuf, pfx, wraplen, flags) < 0)
+    {
+      FREE (&valbuf);
       return -1;
+    }
     FREE (&tagbuf);
     FREE (&valbuf);
   }