diff --git a/subsys/usb/class/mass_storage.c b/subsys/usb/class/mass_storage.c index 08cdadf3b87fd..7bae71441a615 100644 --- a/subsys/usb/class/mass_storage.c +++ b/subsys/usb/class/mass_storage.c @@ -433,6 +433,13 @@ static bool infoTransfer(void) (cbw.CB[5] << 0); LOG_DBG("LBA (block) : 0x%x ", n); + if ((n * BLOCK_SIZE) >= memory_size) { + LOG_ERR("LBA out of range"); + csw.Status = CSW_FAILED; + sendCSW(); + return false; + } + addr = n * BLOCK_SIZE; /* Number of Blocks to transfer */