re PR libfortran/27575 (gfortran - does not generate error when trying to read too much data)

2006-05-16  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/27575
	* io/transfer.c (read_block):  Add check for end file condition.
	(read_block_direct): Add check for end file condition.

From-SVN: r113837
This commit is contained in:
Jerry DeLisle 2006-05-17 00:36:53 +00:00
parent de1f8a0d82
commit cacf2b9638
2 changed files with 20 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2006-05-16 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/27575
* io/transfer.c (read_block): Add check for end file condition.
(read_block_direct): Add check for end file condition.
2006-05-05 Francois-Xavier Coudert <coudert@clipper.ens.fr>
PR libfortran/26985

View File

@ -272,6 +272,13 @@ read_block (st_parameter_dt *dtp, int *length)
}
}
if (dtp->u.p.current_unit->bytes_left == 0)
{
dtp->u.p.current_unit->endfile = AT_ENDFILE;
generate_error (&dtp->common, ERROR_END, NULL);
return;
}
*length = dtp->u.p.current_unit->bytes_left;
}
@ -328,6 +335,13 @@ read_block_direct (st_parameter_dt *dtp, void *buf, size_t *nbytes)
}
}
if (dtp->u.p.current_unit->bytes_left == 0)
{
dtp->u.p.current_unit->endfile = AT_ENDFILE;
generate_error (&dtp->common, ERROR_END, NULL);
return;
}
*nbytes = dtp->u.p.current_unit->bytes_left;
}