https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103475

kargl at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |kargl at gcc dot gnu.org
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2021-11-29
     Ever confirmed|0                           |1
           Priority|P3                          |P4

--- Comment #1 from kargl at gcc dot gnu.org ---
Classic NULL pointer dereference.

diff --git a/gcc/fortran/primary.c b/gcc/fortran/primary.c
index d873264a08e..0cb783dfc66 100644
--- a/gcc/fortran/primary.c
+++ b/gcc/fortran/primary.c
@@ -2777,7 +2777,7 @@ gfc_expr_attr (gfc_expr *e)
        {
          gfc_symbol *sym = e->value.function.esym->result;
          attr = sym->attr;
-         if (sym->ts.type == BT_CLASS)
+         if (sym->ts.type == BT_CLASS && CLASS_DATA (sym))
            {
              attr.dimension = CLASS_DATA (sym)->attr.dimension;
              attr.pointer = CLASS_DATA (sym)->attr.class_pointer;

Reply via email to