diff options
author | sam <sam@FreeBSD.org> | 2005-03-27 00:29:37 +0000 |
---|---|---|
committer | sam <sam@FreeBSD.org> | 2005-03-27 00:29:37 +0000 |
commit | 9b9e1d2727975d72f9ec1a7f048cf43153aebea8 (patch) | |
tree | 5fa0df67467a2be5ac382fa926ab5215fc5a8089 /sys/dev/twa | |
parent | 0bf78b5eff186d5d8c58403d8b9b1227ae6f1463 (diff) | |
download | FreeBSD-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.c | 10 |
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; } |