mirror of git://gcc.gnu.org/git/gcc.git
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
This commit is contained in:
parent
2236746bbb
commit
870c7fa03a
|
|
@ -1,3 +1,9 @@
|
||||||
|
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>
|
2014-05-12 Janne Blomqvist <jb@gcc.gnu.org>
|
||||||
|
|
||||||
PR libfortran/61035
|
PR libfortran/61035
|
||||||
|
|
|
||||||
|
|
@ -412,7 +412,9 @@ raw_close (unix_stream * s)
|
||||||
{
|
{
|
||||||
int retval;
|
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 != STDERR_FILENO
|
||||||
&& s->fd != STDIN_FILENO)
|
&& s->fd != STDIN_FILENO)
|
||||||
retval = close (s->fd);
|
retval = close (s->fd);
|
||||||
|
|
@ -1003,7 +1005,15 @@ fd_to_stream (int fd, bool unformatted)
|
||||||
|
|
||||||
/* Get the current length of the file. */
|
/* 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_dev = statbuf.st_dev;
|
||||||
s->st_ino = statbuf.st_ino;
|
s->st_ino = statbuf.st_ino;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue