http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55469



--- Comment #3 from Tobias Burnus <burnus at gcc dot gnu.org> 2012-11-26 
10:23:54 UTC ---

Didn't help. The following should work. The crucial part is "free_line". At a

glance free_saved(dtp) (here and in comment 2) seems also to be sensible, but

one should read through the file to check that it is indeed correct - and to

find other places where free_line is missing.



--- a/libgfortran/io/list_read.c

+++ b/libgfortran/io/list_read.c

@@ -1757,8 +1757,9 @@ read_real (st_parameter_dt *dtp, void * dest, int length)

  bad_real:



+  free_line (dtp);

+  free_saved (dtp);

   if (nml_bad_return (dtp, c))

     return;



-  free_saved (dtp);

   if (c == EOF)

     {

Reply via email to