[Bug fortran/106986] [10/11/12/13 Regression] ICE in simplify_findloc_nodim, at fortran/simplify.cc:5675

anlauf at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Sep 20 19:03:10 GMT 2022


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

anlauf at gcc dot gnu.org changed:

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

--- Comment #1 from anlauf at gcc dot gnu.org ---
Confirmed.

Obvious NULL pointer dereference, fixed by:

diff --git a/gcc/fortran/simplify.cc b/gcc/fortran/simplify.cc
index 140c17721a7..5883689066d 100644
--- a/gcc/fortran/simplify.cc
+++ b/gcc/fortran/simplify.cc
@@ -5895,6 +5899,7 @@ gfc_simplify_findloc (gfc_expr *array, gfc_expr *value,
gfc_expr *dim,
   bool back_val = false;

   if (!is_constant_array_expr (array)
+      || array->shape == NULL
       || !gfc_is_constant_expr (dim))
     return NULL;


More information about the Gcc-bugs mailing list