diff options
| author | Mike Lockwood <lockwood@android.com> | 2011-03-14 10:33:22 -0400 |
|---|---|---|
| committer | Mike Lockwood <lockwood@android.com> | 2011-03-14 10:33:22 -0400 |
| commit | 90f5d75cf0502788fbc2fb49f366de40d5ffc164 (patch) | |
| tree | d33bcd02acfe785b8568f550acb424a92ba5660f /media/mtp | |
| parent | e976ff4a2203e5a01c9a1c1a018ba9e5ab7777f7 (diff) | |
| download | frameworks_base-90f5d75cf0502788fbc2fb49f366de40d5ffc164.zip frameworks_base-90f5d75cf0502788fbc2fb49f366de40d5ffc164.tar.gz frameworks_base-90f5d75cf0502788fbc2fb49f366de40d5ffc164.tar.bz2 | |
MtpDevice: Handle zero length packets in readResponse()
Bug: 3509060
Change-Id: I291eefeaa667688c9e6e75da74ec3025b84065e9
Signed-off-by: Mike Lockwood <lockwood@android.com>
Diffstat (limited to 'media/mtp')
| -rw-r--r-- | media/mtp/MtpDevice.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/media/mtp/MtpDevice.cpp b/media/mtp/MtpDevice.cpp index 4ea8849..2e86159 100644 --- a/media/mtp/MtpDevice.cpp +++ b/media/mtp/MtpDevice.cpp @@ -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(); |
