DragonFlyBSD Kernel Audit
DF-1350 / fix.diff
← back to finding ↓ download raw
diff --git a/dev/disk/amd/amd.c b/dev/disk/amd/amd.c
--- a/dev/disk/amd/amd.c
+++ b/dev/disk/amd/amd.c
@@ -680,6 +680,11 @@
 		int     extended;
 
 		ccg = &pccb->ccg;
+		if (ccg->block_size == 0) {
+			xpt_print(pccb->ccb_h.path, "zero block_size\n");
+			ccg->ccb_h.status = CAM_REQ_INVALID;
+			break;
+		}
 		size_mb = ccg->volume_size/((1024L * 1024L)/ccg->block_size);
 		extended = (amd->eepromBuf[EE_MODE2] & GREATER_1G) != 0;