diff options
| author | Frank Gevaerts <frank@gevaerts.be> | 2008-02-21 11:59:17 +0000 |
|---|---|---|
| committer | Frank Gevaerts <frank@gevaerts.be> | 2008-02-21 11:59:17 +0000 |
| commit | e744dd43538d457b5c45c9f649c9145aa2da6c75 (patch) | |
| tree | fe06f4fde4c3b36468a8d5370a6d3cc5310eadab /firmware/usbstack | |
| parent | 7001936c99e9d53a1552fa33f296c15031408c26 (diff) | |
| download | rockbox-e744dd43538d457b5c45c9f649c9145aa2da6c75.zip rockbox-e744dd43538d457b5c45c9f649c9145aa2da6c75.tar.gz rockbox-e744dd43538d457b5c45c9f649c9145aa2da6c75.tar.bz2 rockbox-e744dd43538d457b5c45c9f649c9145aa2da6c75.tar.xz | |
fix wrong LBA range check with sectorsizes larger than 512 bytes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16362 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/usbstack')
| -rw-r--r-- | firmware/usbstack/usb_storage.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/firmware/usbstack/usb_storage.c b/firmware/usbstack/usb_storage.c index 0904e17..4293b5e 100644 --- a/firmware/usbstack/usb_storage.c +++ b/firmware/usbstack/usb_storage.c @@ -635,7 +635,7 @@ static void handle_scsi(struct command_block_wrapper* cbw) logf("scsi read %d %d", current_cmd.sector, current_cmd.count); - if((current_cmd.sector + current_cmd.count) * block_size_mult > block_count) { + if((current_cmd.sector + current_cmd.count) > block_count) { send_csw(SCSI_STATUS_CHECK_CONDITION); cur_sense_data.sense_key=SENSE_ILLEGAL_REQUEST; cur_sense_data.asc=ASC_LBA_OUT_OF_RANGE; @@ -670,7 +670,7 @@ static void handle_scsi(struct command_block_wrapper* cbw) (cbw->command_block[7] << 16 | cbw->command_block[8]); /* expect data */ - if((current_cmd.sector + current_cmd.count) * block_size_mult > block_count) { + if((current_cmd.sector + current_cmd.count) > block_count) { send_csw(SCSI_STATUS_CHECK_CONDITION); cur_sense_data.sense_key=SENSE_ILLEGAL_REQUEST; cur_sense_data.asc=ASC_LBA_OUT_OF_RANGE; |