summaryrefslogtreecommitdiff
path: root/usr/src/boot/lib/libstand/read.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/boot/lib/libstand/read.c')
-rw-r--r--usr/src/boot/lib/libstand/read.c5
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);
}