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;