re PR libfortran/68987 (double free or corruption in _gfortran_st_write_done when...
authorJerry DeLisle <jvdelisle@gcc.gnu.org>
Tue, 29 Dec 2015 05:17:42 +0000 (05:17 +0000)
committerJerry DeLisle <jvdelisle@gcc.gnu.org>
Tue, 29 Dec 2015 05:17:42 +0000 (05:17 +0000)
2015-12-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libfortran/68987
io/format.c (format_error): Remove unneeded memory cleanup.

From-SVN: r231989

libgfortran/ChangeLog
libgfortran/io/format.c

index 2aca878cd770dcc239b01ad061b198131e00c0f4..438537c998e8cf82b80e7f386e0470a6601f37e2 100644 (file)
@@ -1,6 +1,11 @@
+2015-12-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR libfortran/68987
+       io/format.c (format_error): Remove unneeded memory cleanup.
+
 2015-12-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
 
-       PR libfortran/pr68867
+       PR libfortran/68867
        * io/write.c (set_fnode_default): For kind=16, set the decimal precision
        depending on the platform binary precision, 106 or 113.
 
index 2068af7eb849397fffded4403b2348227c6114be..fc7785e1eb80a1cfe2f2fe46ee691e5c465a0c27 100644 (file)
@@ -1180,26 +1180,6 @@ format_error (st_parameter_dt *dtp, const fnode *f, const char *message)
   *p++ = '^';
   *p = '\0';
 
-  /* Cleanup any left over memory allocations before calling generate
-     error.  */
-  if (is_internal_unit (dtp))
-    {
-      if (dtp->format != NULL)
-       {
-         free (dtp->format);
-         dtp->format = NULL;
-       }
-
-      /* Leave these alone if IOSTAT was given because execution will
-        return from generate error in those cases.  */
-      if (!(dtp->common.flags & IOPARM_HAS_IOSTAT))
-       {
-         free (dtp->u.p.fmt);
-         free_format_hash_table (dtp->u.p.current_unit);
-         free_internal_unit (dtp);
-       }
-    }
-
   generate_error (&dtp->common, LIBERROR_FORMAT, buffer);
 }