[Bug fortran/104554] ICE in check_assumed_size_reference, at fortran/resolve.cc:1650

2023-02-16 Thread anlauf at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104554

anlauf at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |12.3
 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #6 from anlauf at gcc dot gnu.org ---
Fixed on mainline for gcc-13, and on 12-branch.
Given comment#2 this might be ok and not worth backporting further.

[Bug fortran/104554] ICE in check_assumed_size_reference, at fortran/resolve.cc:1650

2023-02-16 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104554

--- Comment #5 from CVS Commits  ---
The releases/gcc-12 branch has been updated by Harald Anlauf
:

https://gcc.gnu.org/g:e2c6bc6bb5628bb51b56d1da3f9907ae45a3a01b

commit r12-9179-ge2c6bc6bb5628bb51b56d1da3f9907ae45a3a01b
Author: Steve Kargl 
Date:   Wed Feb 15 22:20:22 2023 +0100

Fortran: error recovery on invalid assumed size reference [PR104554]

gcc/fortran/ChangeLog:

PR fortran/104554
* resolve.cc (check_assumed_size_reference): Avoid NULL pointer
dereference.

gcc/testsuite/ChangeLog:

PR fortran/104554
* gfortran.dg/pr104554.f90: New test.

(cherry picked from commit a418129273725fd02e881e6fb5e0877287a1356c)

[Bug fortran/104554] ICE in check_assumed_size_reference, at fortran/resolve.cc:1650

2023-02-15 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104554

--- Comment #4 from CVS Commits  ---
The master branch has been updated by Harald Anlauf :

https://gcc.gnu.org/g:a418129273725fd02e881e6fb5e0877287a1356c

commit r13-6066-ga418129273725fd02e881e6fb5e0877287a1356c
Author: Steve Kargl 
Date:   Wed Feb 15 22:20:22 2023 +0100

Fortran: error recovery on invalid assumed size reference [PR104554]

gcc/fortran/ChangeLog:

PR fortran/104554
* resolve.cc (check_assumed_size_reference): Avoid NULL pointer
dereference.

gcc/testsuite/ChangeLog:

PR fortran/104554
* gfortran.dg/pr104554.f90: New test.

[Bug fortran/104554] ICE in check_assumed_size_reference, at fortran/resolve.cc:1650

2023-02-15 Thread anlauf at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104554

anlauf at gcc dot gnu.org changed:

   What|Removed |Added

   Assignee|unassigned at gcc dot gnu.org  |anlauf at gcc dot 
gnu.org
 Status|NEW |ASSIGNED
 CC||anlauf at gcc dot gnu.org

--- Comment #3 from anlauf at gcc dot gnu.org ---
Will commit Steve's patch as obvious.

[Bug fortran/104554] ICE in check_assumed_size_reference, at fortran/resolve.cc:1650

2022-02-24 Thread marxin at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104554

Martin Liška  changed:

   What|Removed |Added

 CC||marxin at gcc dot gnu.org,
   ||pault at gcc dot gnu.org

--- Comment #2 from Martin Liška  ---
I think it started with r12-570-ga2c593009fef1564.

[Bug fortran/104554] ICE in check_assumed_size_reference, at fortran/resolve.cc:1650

2022-02-15 Thread kargl at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104554

kargl at gcc dot gnu.org changed:

   What|Removed |Added

 CC||kargl at gcc dot gnu.org
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2022-02-15
   Priority|P3  |P4
 Ever confirmed|0   |1

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

diff --git a/gcc/fortran/resolve.cc b/gcc/fortran/resolve.cc
index 835a4783718..51162455cbb 100644
--- a/gcc/fortran/resolve.cc
+++ b/gcc/fortran/resolve.cc
@@ -1647,7 +1647,9 @@ check_assumed_size_reference (gfc_symbol *sym, gfc_expr
*e)

   /* FIXME: The comparison "e->ref->u.ar.type == AR_FULL" is wrong.
  What should it be?  */
-  if (e->ref && (e->ref->u.ar.end[e->ref->u.ar.as->rank - 1] == NULL)
+  if (e->ref
+  && e->ref->u.ar.as
+  && (e->ref->u.ar.end[e->ref->u.ar.as->rank - 1] == NULL)
  && (e->ref->u.ar.as->type == AS_ASSUMED_SIZE)
   && (e->ref->u.ar.type == AR_FULL))
 {