From 057a5802cd93be6f456e4a0ccdef948d79f3dd06 Mon Sep 17 00:00:00 2001 From: Frank Gevaerts Date: Fri, 26 Jun 2009 15:14:49 +0000 Subject: [PATCH] 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 --- firmware/usbstack/usb_storage.c | 1 + 1 file changed, 1 insertion(+) diff --git a/firmware/usbstack/usb_storage.c b/firmware/usbstack/usb_storage.c index 63ff4f059b..28510089f1 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 +