Commit 7b7034ea by Jerry DeLisle

re PR libfortran/25697 (libfortran - Segmentation fault/ Bad Address on unformatted read)

2006-01-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/25697
	* io/transfer.c (us_read): Detect end of file condition from previous
	operations and bail out (no need to pre-position).

From-SVN: r109870
parent 3dd0df7f
2006-01-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/25697
* io/transfer.c (us_read): Detect end of file condition from previous
operations and bail out (no need to pre-position).
2006-01-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/25631
* io/transfer.c (formatted_transfer_scalar): Adjust pending_spaces and
skips so that TL works correctly when no bytes_used yet.
......
/* Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
/* Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
Contributed by Andy Vaught
Namelist transfer functions contributed by Paul Thomas
......@@ -1219,11 +1219,17 @@ us_read (st_parameter_dt *dtp)
int n;
gfc_offset i;
if (dtp->u.p.current_unit->endfile == AT_ENDFILE)
return;
n = sizeof (gfc_offset);
p = salloc_r (dtp->u.p.current_unit->s, &n);
if (n == 0)
return; /* end of file */
{
dtp->u.p.current_unit->endfile = AT_ENDFILE;
return; /* end of file */
}
if (p == NULL || n != sizeof (gfc_offset))
{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment