DragonFlyBSD Kernel Audit
DF-1191 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/dev/raid/ciss/ciss.c b/sys/dev/raid/ciss/ciss.c
--- a/sys/dev/raid/ciss/ciss.c
+++ b/sys/dev/raid/ciss/ciss.c
@@ -3246,7 +3246,8 @@
 	debug(0, "SCSI_STATUS_CHECK_COND  sense size %d  resid %d\n",
 	      ce->sense_length, ce->residual_count);
 	bzero(&csio->sense_data, SSD_FULL_SIZE);
-	bcopy(&ce->sense_info[0], &csio->sense_data, ce->sense_length);
+	bcopy(&ce->sense_info[0], &csio->sense_data,
+	    imin(ce->sense_length, imin(SSD_FULL_SIZE, csio->sense_len)));
 	if (csio->sense_len > ce->sense_length)
 		csio->sense_resid = csio->sense_len - ce->sense_length;
 	else