diff --git a/lib/libzpool/kernel.c b/lib/libzpool/kernel.c index a451026999c5..f291d8ebeeac 100644 --- a/lib/libzpool/kernel.c +++ b/lib/libzpool/kernel.c @@ -966,8 +966,9 @@ kobj_read_file(struct _buf *file, char *buf, unsigned size, unsigned off) { ssize_t resid; - vn_rdwr(UIO_READ, (vnode_t *)file->_fd, buf, size, (offset_t)off, - UIO_SYSSPACE, 0, 0, 0, &resid); + if (vn_rdwr(UIO_READ, (vnode_t *)file->_fd, buf, size, (offset_t)off, + UIO_SYSSPACE, 0, 0, 0, &resid) != 0) + return (-1); return (size - resid); }