DragonFlyBSD Kernel Audit
DF-2514 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/dev/disk/sbp/sbp.c b/sys/dev/disk/sbp/sbp.c
--- a/sys/dev/disk/sbp/sbp.c
+++ b/sys/dev/disk/sbp/sbp.c
@@ -2367,8 +2367,8 @@
 #endif
 
 		ccg = &ccb->ccg;
-		if (ccg->block_size == 0) {
-			kprintf("sbp_action1: block_size is 0.\n");
+		if (ccg->block_size == 0 || ccg->block_size > (1024L * 1024L)) {
+			kprintf("sbp_action1: invalid block_size %u\n", ccg->block_size);
 			ccb->ccb_h.status = CAM_REQ_INVALID;
 			xpt_done(ccb);
 			break;