summaryrefslogtreecommitdiff
path: root/usr/src/boot/lib/libstand/write.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/boot/lib/libstand/write.c')
-rw-r--r--usr/src/boot/lib/libstand/write.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/usr/src/boot/lib/libstand/write.c b/usr/src/boot/lib/libstand/write.c
index 86bc162fe5..3edab25428 100644
--- a/usr/src/boot/lib/libstand/write.c
+++ b/usr/src/boot/lib/libstand/write.c
@@ -68,10 +68,11 @@
ssize_t
write(int fd, const 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_WRITE)) {
+ f = fd2open_file(fd);
+ if (f == NULL || !(f->f_flags & F_WRITE)) {
errno = EBADF;
return (-1);
}