diff options
Diffstat (limited to 'firmware/target/arm/as3525/sd-as3525.c')
-rw-r--r-- | firmware/target/arm/as3525/sd-as3525.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/firmware/target/arm/as3525/sd-as3525.c b/firmware/target/arm/as3525/sd-as3525.c index dea4a578cf..5cffced743 100644 --- a/firmware/target/arm/as3525/sd-as3525.c +++ b/firmware/target/arm/as3525/sd-as3525.c | |||
@@ -682,11 +682,16 @@ static int sd_transfer_sectors(IF_MD2(int drive,) unsigned long start, | |||
682 | goto sd_transfer_error; | 682 | goto sd_transfer_error; |
683 | } | 683 | } |
684 | 684 | ||
685 | if((start+count) > card_info[drive].numblocks) | 685 | if(count < 0) /* XXX: why is it signed ? */ |
686 | { | 686 | { |
687 | ret = -20; | 687 | ret = -20; |
688 | goto sd_transfer_error; | 688 | goto sd_transfer_error; |
689 | } | 689 | } |
690 | if((start+count) > card_info[drive].numblocks) | ||
691 | { | ||
692 | ret = -21; | ||
693 | goto sd_transfer_error; | ||
694 | } | ||
690 | 695 | ||
691 | /* skip SanDisk OF */ | 696 | /* skip SanDisk OF */ |
692 | if (drive == INTERNAL_AS3525) | 697 | if (drive == INTERNAL_AS3525) |