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
This commit is contained in:
parent
3dd0df7f13
commit
7b7034ea9a
2 changed files with 14 additions and 2 deletions
|
@ -1,3 +1,9 @@
|
|||
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
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* 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))
|
||||
{
|
||||
|
|
Loading…
Add table
Reference in a new issue