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

kargl at gcc dot gnu.org changed:

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

--- Comment #1 from kargl at gcc dot gnu.org ---
Avoid NULL pointer dereference.  Not regression tested.

diff --git a/gcc/fortran/primary.c b/gcc/fortran/primary.c
index d0610d02ebd..7633e77909f 100644
--- a/gcc/fortran/primary.c
+++ b/gcc/fortran/primary.c
@@ -2407,11 +2407,15 @@ gfc_match_varspec (gfc_expr *primary, int equiv_flag,
bool sub_flag,
        component = NULL;

       if (intrinsic && !inquiry)
-       {
-         gfc_error ("%qs at %C is not an inquiry reference to an intrinsic "
-                    "type component %qs", name, previous->name);
+       {
+         if (previous)
+           gfc_error ("%qs at %C is not an inquiry reference to an intrinsic "
+                       "type component %qs", name, previous->name);
+         else
+           gfc_error ("%qs at %C is not an inquiry reference to an intrinsic "
+                       "type component", name);
          return MATCH_ERROR;
-       }
+       }
       else if (component == NULL && !inquiry)
        return MATCH_ERROR;

Reply via email to