DF-1871 / fix.diff
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); |