Commit 3c1a776b authored by Marcin Spiewak's avatar Marcin Spiewak Committed by Tomasz Zawadzki
Browse files

lib/scsi: fixed potential out-of-bonds read



This patch fixes issue detected by Coverity scan.
The spdk_scsi_task_names table is accessed using
'task->function' as an index. Earlier check allows the
'task->function' to be equal to
SPDK_COUNTOF(spdk_scsi_task_names), while
the table can only be accessed using indexes from
0..(SPDK_COUNTOF()-1) range.
The 'if' statement needs to be modified to reject index
equal to SPDK_COUNTOF(spdk_scsi_task_names)

Change-Id: I569ea530cee3721a085ddd8c7f90dd7761d644be
Signed-off-by: default avatarMarcin Spiewak <marcin.spiewak@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/20932


Reviewed-by: default avatarKonrad Sztyber <konrad.sztyber@intel.com>
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarJim Harris <jim.harris@samsung.com>
Community-CI: Mellanox Build Bot
parent 8f243d69
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -147,7 +147,7 @@ _scsi_lun_execute_mgmt_task(struct spdk_scsi_lun *lun)
		return;
	}

	if (task->function <= SPDK_COUNTOF(spdk_scsi_task_names)) {
	if (task->function < SPDK_COUNTOF(spdk_scsi_task_names)) {
		scsi_tn = spdk_scsi_task_names[task->function];
	}