summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--rbutil/ipodpatcher/ipodio-win32-scsi.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/rbutil/ipodpatcher/ipodio-win32-scsi.c b/rbutil/ipodpatcher/ipodio-win32-scsi.c
index 5843ce5d2f..81e2023f75 100644
--- a/rbutil/ipodpatcher/ipodio-win32-scsi.c
+++ b/rbutil/ipodpatcher/ipodio-win32-scsi.c
@@ -110,7 +110,10 @@ int ipod_scsi_inquiry(struct ipod_t* ipod, int page_code,
110 FALSE); 110 FALSE);
111 111
112 if (status) { 112 if (status) {
113 memcpy(buf, sptwb.DataBuf, returned); 113 /* W32 sometimes returns more bytes with additional garbage.
114 * Make sure to not copy that garbage. */
115 memcpy(buf, sptwb.DataBuf,
116 (DWORD)bufsize >= returned ? returned : (DWORD)bufsize);
114 return 0; 117 return 0;
115 } else { 118 } else {
116 return -1; 119 return -1;