DragonFlyBSD Kernel Audit
DF-1871 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/dev/disk/iscsi/initiator/iscsi_subr.c b/sys/dev/disk/iscsi/initiator/iscsi_subr.c
--- a/sys/dev/disk/iscsi/initiator/iscsi_subr.c
+++ b/sys/dev/disk/iscsi/initiator/iscsi_subr.c
@@ -507,6 +507,8 @@
      if(csio->cdb_len > sizeof(cmd->cdb))
 	  xdebug("guevalt! %d > %ld", csio->cdb_len, (long)sizeof(cmd->cdb));
 
+     if(csio->cdb_len > sizeof(cmd->cdb))
+	  goto invalid;
      memcpy(cmd->cdb,
 	    ccb_h->flags & CAM_CDB_POINTER? csio->cdb_io.cdb_ptr: csio->cdb_io.cdb_bytes,
 	    csio->cdb_len);