MtpDevice: Handle zero length packets in readResponse()

Bug: 3509060

Change-Id: I291eefeaa667688c9e6e75da74ec3025b84065e9
Signed-off-by: Mike Lockwood <lockwood@android.com>
This commit is contained in:
Mike Lockwood
2011-03-14 10:33:22 -04:00
parent e976ff4a22
commit 90f5d75cf0

View File

@@ -819,6 +819,10 @@ MtpResponseCode MtpDevice::readResponse() {
return mResponse.getResponseCode();
}
int ret = mResponse.read(mRequestIn1);
// handle zero length packets, which might occur if the data transfer
// ends on a packet boundary
if (ret == 0)
ret = mResponse.read(mRequestIn1);
if (ret >= MTP_CONTAINER_HEADER_SIZE) {
mResponse.dump();
return mResponse.getResponseCode();