PR fortran/95104 - Segfault on a legal WAIT statement
The initial commit for this PR uncovered a latent issue with unit locking in the Fortran run-time library. Add check for valid unit. 2020-05-28 Harald Anlauf <anlauf@gmx.de> libgfortran/ PR libfortran/95104 * io/unit.c (unlock_unit): Guard by check for NULL pointer.
This commit is contained in:
parent
7b599b9f9a
commit
6ce3d791df
@ -767,9 +767,12 @@ close_unit_1 (gfc_unit *u, int locked)
|
||||
void
|
||||
unlock_unit (gfc_unit *u)
|
||||
{
|
||||
NOTE ("unlock_unit = %d", u->unit_number);
|
||||
UNLOCK (&u->lock);
|
||||
NOTE ("unlock_unit done");
|
||||
if (u)
|
||||
{
|
||||
NOTE ("unlock_unit = %d", u->unit_number);
|
||||
UNLOCK (&u->lock);
|
||||
NOTE ("unlock_unit done");
|
||||
}
|
||||
}
|
||||
|
||||
/* close_unit()-- Close a unit. The stream is closed, and any memory
|
||||
|
Loading…
Reference in New Issue
Block a user