This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug fortran/45432] gfortran.dg/allocate_alloc_opt_9.f90: Segfault due to invalid FREE



------- Comment #1 from janus at gcc dot gnu dot org  2010-08-27 19:40 -------
This should fix it (it was some kind of double-free problem):


Index: gcc/fortran/match.c
===================================================================
--- gcc/fortran/match.c (revision 163594)
+++ gcc/fortran/match.c (working copy)
@@ -2955,6 +2955,7 @@ alloc_opt_list:
            }

          stat = tmp;
+         tmp = NULL;
          saw_stat = true;

          if (gfc_check_do_variable (stat->symtree))
@@ -2981,6 +2982,7 @@ alloc_opt_list:
            }

          errmsg = tmp;
+         tmp = NULL;
          saw_errmsg = true;

          if (gfc_match_char (',') == MATCH_YES)
@@ -3019,6 +3021,7 @@ alloc_opt_list:
             }

          source = tmp;
+         tmp = NULL;
          saw_source = true;

          if (gfc_match_char (',') == MATCH_YES)
@@ -3050,6 +3053,7 @@ alloc_opt_list:
            }

          mold = tmp;
+         tmp = NULL;
          saw_mold = true;
          mold->mold = 1;



-- 

janus at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |janus at gcc dot gnu dot org
                   |dot org                     |
             Status|UNCONFIRMED                 |ASSIGNED
     Ever Confirmed|0                           |1
   Last reconfirmed|0000-00-00 00:00:00         |2010-08-27 19:40:17
               date|                            |


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]