re PR fortran/54462 (Another "segmentation fault" after an error in COMMON statement after r190853)

2012-09-05  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54462
        * symbol.c (gfc_undo_symbols): Avoid NULL pointer dereference.

From-SVN: r190989
This commit is contained in:
Tobias Burnus 2012-09-05 18:40:48 +02:00 committed by Tobias Burnus
parent 7e7d75c136
commit 04529aba93
2 changed files with 11 additions and 4 deletions

View File

@ -1,3 +1,8 @@
2012-09-05 Tobias Burnus <burnus@net-b.de>
PR fortran/54462
* symbol.c (gfc_undo_symbols): Avoid NULL pointer dereference.
2012-09-04 Janus Weil <janus@gcc.gnu.org>
PR fortran/54435

View File

@ -2919,10 +2919,12 @@ gfc_undo_symbols (void)
gfc_symtree st, *st0;
st0 = find_common_symtree (p->ns->common_root,
p->common_block);
st.name = st0->name;
gfc_delete_bbt (&p->ns->common_root, &st, compare_symtree);
free (st0);
if (st0)
{
st.name = st0->name;
gfc_delete_bbt (&p->ns->common_root, &st, compare_symtree);
free (st0);
}
}
if (p->common_block->head == p)