Message ID | 141350874.294112.1342735277057.JavaMail.root@advansee.com |
---|---|
State | Superseded |
Commit | 8006dd2e57a9b30ff1c978e76c0dcd28d9786ce8 |
Headers | show |
diff --git u-boot-66714b1.orig/fs/fat/fat.c u-boot-66714b1/fs/fat/fat.c index bc46cc5..f6fd457 100644 --- u-boot-66714b1.orig/fs/fat/fat.c +++ u-boot-66714b1/fs/fat/fat.c @@ -207,8 +207,8 @@ static __u32 get_fatent (fsdata *mydata, __u32 entry) __u32 fatlength = mydata->fatlength; __u32 startblock = bufnum * FATBUFBLOCKS; - if (getsize > fatlength) - getsize = fatlength; + if (startblock + getsize > fatlength) + getsize = fatlength - startblock; fatlength *= mydata->sect_size; /* We want it in bytes now */ startblock += mydata->fat_sect; /* Offset from start of disk */
startblock must be taken into account in order not to read past the end of the FAT. Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com> Cc: Wolfgang Denk <wd@denx.de> --- .../fs/fat/fat.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)