DragonFlyBSD Kernel Audit
DF-2536 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/dev/disk/mpt/mpt_cam.c b/sys/dev/disk/mpt/mpt_cam.c
--- a/sys/dev/disk/mpt/mpt_cam.c
+++ b/sys/dev/disk/mpt/mpt_cam.c
@@ -3139,6 +3139,8 @@
 		ccb->ccb_h.status |= CAM_AUTOSNS_VALID;
 
 		sense_returned = le32toh(scsi_io_reply->SenseCount);
+		if (sense_returned > MPT_SENSE_SIZE)
+			sense_returned = MPT_SENSE_SIZE;
 		if (sense_returned < ccb->csio.sense_len)
 			ccb->csio.sense_resid = ccb->csio.sense_len -
 						sense_returned;