diff options
author | Harald Anlauf <anlauf@gmx.de> | 2020-07-02 20:48:16 +0200 |
---|---|---|
committer | Harald Anlauf <anlauf@gmx.de> | 2020-07-02 20:48:16 +0200 |
commit | b88744905a46be44ffa3c57d46080f601ae832b8 (patch) | |
tree | fd62b1c2cf23187e8ee85af5ca08282716a35638 /gcc/fortran/resolve.c | |
parent | d9fb6f2b4f1321b059807ff6073156f07d9d376b (diff) | |
download | gcc-b88744905a46be44ffa3c57d46080f601ae832b8.zip gcc-b88744905a46be44ffa3c57d46080f601ae832b8.tar.gz gcc-b88744905a46be44ffa3c57d46080f601ae832b8.tar.bz2 |
PR fortran/93423 - ICE on invalid with argument list for module procedure
When recovering from an error, a NULL pointer dereference could occur.
Check for that situation and punt.
gcc/fortran/
PR fortran/93423
* resolve.c (resolve_symbol): Avoid NULL pointer dereference.
Diffstat (limited to 'gcc/fortran/resolve.c')
-rw-r--r-- | gcc/fortran/resolve.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c index 1952b53..5cc9f72 100644 --- a/gcc/fortran/resolve.c +++ b/gcc/fortran/resolve.c @@ -15918,7 +15918,7 @@ resolve_symbol (gfc_symbol *sym) if (formal) { sym->formal_ns = formal->sym->ns; - if (sym->ns != formal->sym->ns) + if (sym->formal_ns && sym->ns != formal->sym->ns) sym->formal_ns->refs++; } } |