DragonFlyBSD Kernel Audit
DF-1683 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/dev/raid/hptmv/ioctl.c b/sys/dev/raid/hptmv/ioctl.c
--- a/sys/dev/raid/hptmv/ioctl.c
+++ b/sys/dev/raid/hptmv/ioctl.c
@@ -335,6 +335,9 @@
 				/*
 				 * GUI always use /proc/scsi/hptmv/0, so the _vbus_p param will be
 				 * wrong for second controller.
 				 */
+				if (lpInBuffer == NULL || nInBufferSize < sizeof(DEVICEID)) {
+					return -1;
+				}
 				switch(dwIoControlCode) {
 				case HPT_IOCTL_CREATE_ARRAY:
 					pVDev = ID_TO_VDEV(((PCREATE_ARRAY_PARAMS)lpInBuffer)->Members[0]); break;