DragonFlyBSD Kernel Audit
DF-1289 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/dev/raid/mly/mly.c b/sys/dev/raid/mly/mly.c
--- a/sys/dev/raid/mly/mly.c
+++ b/sys/dev/raid/mly/mly.c
@@ -2354,7 +2354,8 @@
 	debug(1, "SCSI_STATUS_CHECK_COND  sense %d  resid %d", mc->mc_sense, mc->mc_resid);
 	csio->ccb_h.status = CAM_SCSI_STATUS_ERROR;
 	bzero(&csio->sense_data, SSD_FULL_SIZE);
-	bcopy(mc->mc_packet, &csio->sense_data, mc->mc_sense);
+	bcopy(mc->mc_packet, &csio->sense_data,
+	      min(mc->mc_sense, SSD_FULL_SIZE));
 	csio->sense_len = mc->mc_sense;
 	csio->ccb_h.status |= CAM_AUTOSNS_VALID;
 	csio->resid = mc->mc_resid;	/* XXX this is a signed value... */