DragonFlyBSD Kernel Audit
DF-1463 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/dev/raid/dpt/dpt_scsi.c b/sys/dev/raid/dpt/dpt_scsi.c
--- a/sys/dev/raid/dpt/dpt_scsi.c
+++ b/sys/dev/raid/dpt/dpt_scsi.c
@@ -1022,6 +1022,11 @@
 		 *     get this information from the card.
 		 */
 		ccg = &ccb->ccg;
+		if (ccg->block_size == 0) {
+			ccb->ccb_h.status = CAM_REQ_CMP_ERR;
+			xpt_done(ccb);
+			break;
+		}
 		size_mb = ccg->volume_size
 			/ ((1024L * 1024L) / ccg->block_size);
 		extended = 1;