diff options
Diffstat (limited to 'libio/fileno.c')
-rw-r--r-- | libio/fileno.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/libio/fileno.c b/libio/fileno.c index 7ff93e6a81..92334f1564 100644 --- a/libio/fileno.c +++ b/libio/fileno.c @@ -32,8 +32,11 @@ fileno (fp) { CHECK_FILE (fp, EOF); - if (!(fp->_flags & _IO_IS_FILEBUF)) - return EOF; + if (!(fp->_flags & _IO_IS_FILEBUF) || _IO_fileno (fp) < 0) + { + __set_errno (EBADF); + return -1; + } return _IO_fileno (fp); } |