Commit 870c7fa0 by Janne Blomqvist

PR 61187 Fix use of uninitialized memory.

2014-05-16  Janne Blomqvist  <jb@gcc.gnu.org>

	PR libfortran/61187
	* io/unix.c (raw_close): Check if s->fd is -1.
	(fd_to_stream): Check return value of fstat(), handle error.

From-SVN: r210527
parent 2236746b
2014-05-16 Janne Blomqvist <jb@gcc.gnu.org>
PR libfortran/61187
* io/unix.c (raw_close): Check if s->fd is -1.
(fd_to_stream): Check return value of fstat(), handle error.
2014-05-12 Janne Blomqvist <jb@gcc.gnu.org>
PR libfortran/61035
......
......@@ -412,7 +412,9 @@ raw_close (unix_stream * s)
{
int retval;
if (s->fd != STDOUT_FILENO
if (s->fd == -1)
retval = -1;
else if (s->fd != STDOUT_FILENO
&& s->fd != STDERR_FILENO
&& s->fd != STDIN_FILENO)
retval = close (s->fd);
......@@ -1003,7 +1005,15 @@ fd_to_stream (int fd, bool unformatted)
/* Get the current length of the file. */
fstat (fd, &statbuf);
if (fstat (fd, &statbuf) == -1)
{
s->st_dev = s->st_ino = -1;
s->file_length = 0;
if (errno == EBADF)
s->fd = -1;
raw_init (s);
return (stream *) s;
}
s->st_dev = statbuf.st_dev;
s->st_ino = statbuf.st_ino;
......
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