summaryrefslogtreecommitdiffstats
path: root/sys/dev/twa
diff options
context:
space:
mode:
authorsam <sam@FreeBSD.org>2005-03-27 00:29:37 +0000
committersam <sam@FreeBSD.org>2005-03-27 00:29:37 +0000
commit9b9e1d2727975d72f9ec1a7f048cf43153aebea8 (patch)
tree5fa0df67467a2be5ac382fa926ab5215fc5a8089 /sys/dev/twa
parent0bf78b5eff186d5d8c58403d8b9b1227ae6f1463 (diff)
downloadFreeBSD-src-9b9e1d2727975d72f9ec1a7f048cf43153aebea8.zip
FreeBSD-src-9b9e1d2727975d72f9ec1a7f048cf43153aebea8.tar.gz
check copyin+copyout return values when processing TWA_IOCTL_GET_LOCK
Noticed by: Coverity Prevent analysis tool
Diffstat (limited to 'sys/dev/twa')
-rw-r--r--sys/dev/twa/twa.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/sys/dev/twa/twa.c b/sys/dev/twa/twa.c
index d14a968..eeddc6b 100644
--- a/sys/dev/twa/twa.c
+++ b/sys/dev/twa/twa.c
@@ -831,8 +831,9 @@ fw_passthru_done:
cur_time = time_second - (tz_minuteswest * 60) -
(wall_cmos_clock ? adjkerntz : 0);
- copyin(user_buf->pdata, &twa_lock,
- sizeof(struct twa_lock_packet));
+ if ((error = copyin(user_buf->pdata, &twa_lock,
+ sizeof(struct twa_lock_packet))) != 0)
+ break;
s = splcam();
if ((sc->twa_ioctl_lock.lock == TWA_LOCK_FREE) ||
(twa_lock.force_flag) ||
@@ -850,8 +851,9 @@ fw_passthru_done:
TWA_ERROR_IOCTL_LOCK_ALREADY_HELD;
}
splx(s);
- copyout(&twa_lock, user_buf->pdata,
- sizeof(struct twa_lock_packet));
+ if ((error = copyout(&twa_lock, user_buf->pdata,
+ sizeof(struct twa_lock_packet))) != 0)
+ twa_printf(sc, "get_lock: Could not copyout to lock packet. error = %x\n", error);
break;
}
OpenPOWER on IntegriCloud