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

anlauf at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever confirmed|0                           |1
   Last reconfirmed|                            |2022-11-07
                 CC|                            |anlauf at gcc dot gnu.org

--- Comment #1 from anlauf at gcc dot gnu.org ---
Another NULL pointer dereference.  Potential fix:

diff --git a/gcc/fortran/resolve.cc b/gcc/fortran/resolve.cc
index 9202e2f10ad..5ff1cd070ac 100644
--- a/gcc/fortran/resolve.cc
+++ b/gcc/fortran/resolve.cc
@@ -17218,6 +17218,7 @@ resolve_equivalence (gfc_equiv *eq)
            "statement at %L with different type objects";
       if ((object ==2
           && last_eq_type == SEQ_MIXED
+          && last_where
           && !gfc_notify_std (GFC_STD_GNU, msg, first_sym->name, last_where))
          || (eq_type == SEQ_MIXED
              && !gfc_notify_std (GFC_STD_GNU, msg, sym->name, &e->where)))
@@ -17227,6 +17228,7 @@ resolve_equivalence (gfc_equiv *eq)
            "statement at %L with objects of different type";
       if ((object ==2
           && last_eq_type == SEQ_NONDEFAULT
+          && last_where
           && !gfc_notify_std (GFC_STD_GNU, msg, first_sym->name, last_where))
          || (eq_type == SEQ_NONDEFAULT
              && !gfc_notify_std (GFC_STD_GNU, msg, sym->name, &e->where)))

Reply via email to