diff options
| author | Frank Gevaerts <frank@gevaerts.be> | 2009-06-26 15:14:49 +0000 |
|---|---|---|
| committer | Frank Gevaerts <frank@gevaerts.be> | 2009-06-26 15:14:49 +0000 |
| commit | 057a5802cd93be6f456e4a0ccdef948d79f3dd06 (patch) | |
| tree | a14580864df0db26af513f6a570c6e931c70574c | |
| parent | e2b018e7fef49bbe24be37cf14b1fffbf1a6c2fb (diff) | |
| download | rockbox-057a5802cd93be6f456e4a0ccdef948d79f3dd06.zip rockbox-057a5802cd93be6f456e4a0ccdef948d79f3dd06.tar.gz rockbox-057a5802cd93be6f456e4a0ccdef948d79f3dd06.tar.bz2 rockbox-057a5802cd93be6f456e4a0ccdef948d79f3dd06.tar.xz | |
ignore write data if the length doesn't match what we expect. This avoids the data corruption caused by FS#10319, but doesn't solve the root cause yet (patch by Martin Ritter)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21521 a1c6a512-1295-4272-9138-f99709370657
| -rw-r--r-- | firmware/usbstack/usb_storage.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/firmware/usbstack/usb_storage.c b/firmware/usbstack/usb_storage.c index 63ff4f0..2851008 100644 --- a/firmware/usbstack/usb_storage.c +++ b/firmware/usbstack/usb_storage.c @@ -472,6 +472,7 @@ void usb_storage_transfer_complete(int ep,int dir,int status,int length) if((unsigned int)length!=(SECTOR_SIZE* cur_cmd.count) && (unsigned int)length!=WRITE_BUFFER_SIZE) { logf("unexpected length :%d",length); + break; } unsigned int next_sector = cur_cmd.sector + |