kobj_read_file: Return -1 on vn_rdwr() error
LLVM's static analyzer showed that we could subtract using an uninitialized value on an error from vn_rdwr(). The correct behavior is to return -1 on an error, so lets do that instead. Signed-off-by: Richard Yao <ryao@gentoo.org> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes #4104
This commit is contained in:
parent
ee42b3d6c3
commit
957dc93242
|
@ -997,8 +997,9 @@ kobj_read_file(struct _buf *file, char *buf, unsigned size, unsigned off)
|
||||||
{
|
{
|
||||||
ssize_t resid;
|
ssize_t resid;
|
||||||
|
|
||||||
vn_rdwr(UIO_READ, (vnode_t *)file->_fd, buf, size, (offset_t)off,
|
if (vn_rdwr(UIO_READ, (vnode_t *)file->_fd, buf, size, (offset_t)off,
|
||||||
UIO_SYSSPACE, 0, 0, 0, &resid);
|
UIO_SYSSPACE, 0, 0, 0, &resid) != 0)
|
||||||
|
return (-1);
|
||||||
|
|
||||||
return (size - resid);
|
return (size - resid);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue