summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkevlo <kevlo@FreeBSD.org>2012-11-13 05:58:52 +0000
committerkevlo <kevlo@FreeBSD.org>2012-11-13 05:58:52 +0000
commitfd88f8a30c0bcae350bd63fa322dcf46b5f9c181 (patch)
treeaf5a443bb73d005cc0ec01efea194de05fd78b48
parent8af97236b44c01761e1294025653d7f19dac7dd9 (diff)
downloadFreeBSD-src-fd88f8a30c0bcae350bd63fa322dcf46b5f9c181.zip
FreeBSD-src-fd88f8a30c0bcae350bd63fa322dcf46b5f9c181.tar.gz
Check the return value of uiomove(9).
-rw-r--r--sys/dev/iicbus/iic.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/dev/iicbus/iic.c b/sys/dev/iicbus/iic.c
index d251555..55084e9 100644
--- a/sys/dev/iicbus/iic.c
+++ b/sys/dev/iicbus/iic.c
@@ -221,7 +221,11 @@ iicwrite(struct cdev *dev, struct uio * uio, int ioflag)
}
count = min(uio->uio_resid, BUFSIZE);
- uiomove(sc->sc_buffer, count, uio);
+ error = uiomove(sc->sc_buffer, count, uio);
+ if (error) {
+ IIC_UNLOCK(sc);
+ return (error);
+ }
error = iicbus_block_write(device_get_parent(iicdev), sc->sc_addr,
sc->sc_buffer, count, &sent);
OpenPOWER on IntegriCloud