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... */