summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorszymonh <[email protected]>2021-09-27 21:11:44 +0200
committerszymonh <[email protected]>2021-09-27 21:11:44 +0200
commitdb862ae72501a726cb70571395725a1938c6dcc1 (patch)
tree48e99939e5e839ad4ee10af7d7984553cb85cf7e /src
parent32bdf3b79d27ed9f0851440df35b6a72bcd8bff8 (diff)
Assure msc device block size is not zero
Diffstat (limited to 'src')
-rw-r--r--src/class/msc/msc_device.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/class/msc/msc_device.c b/src/class/msc/msc_device.c
index 0fd592129..b65abe979 100644
--- a/src/class/msc/msc_device.c
+++ b/src/class/msc/msc_device.c
@@ -1,4 +1,4 @@
-/*
+/*
* The MIT License (MIT)
*
* Copyright (c) 2019 Ha Thach (tinyusb.org)
@@ -187,6 +187,11 @@ uint8_t rdwr10_validate_cmd(msc_cbw_t const* cbw)
TU_LOG(MSC_DEBUG, " SCSI case 4 Hi > Dn\r\n");
status = MSC_CSW_STATUS_FAILED;
}
+ else if ( SCSI_CMD_READ_10 == cbw->command[0] && cbw->total_bytes / block_count == 0)
+ {
+ TU_LOG(MSC_DEBUG, " Computed block size 0\r\n");
+ status = MSC_CSW_STATUS_FAILED;
+ }
}
return status;