diff options
Diffstat (limited to 'usr/src/boot/lib/libstand/read.c')
| -rw-r--r-- | usr/src/boot/lib/libstand/read.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/usr/src/boot/lib/libstand/read.c b/usr/src/boot/lib/libstand/read.c index 41e94a4f8b..ebbc082705 100644 --- a/usr/src/boot/lib/libstand/read.c +++ b/usr/src/boot/lib/libstand/read.c @@ -68,10 +68,11 @@ ssize_t read(int fd, void *dest, size_t bcount) { - struct open_file *f = &files[fd]; + struct open_file *f; size_t resid; - if ((unsigned)fd >= SOPEN_MAX || !(f->f_flags & F_READ)) { + f = fd2open_file(fd); + if (f == NULL || !(f->f_flags & F_READ)) { errno = EBADF; return (-1); } |
