diff options
| author | 2011-12-01 18:36:06 -0500 | |
|---|---|---|
| committer | 2011-12-02 15:12:30 -0500 | |
| commit | 7a1ad63d16ac42482b3e043ef7a8474452aa057c (patch) | |
| tree | 4958f73cdfed3bb170378f53fa2de21e19b5c7d8 | |
| parent | 55347e65e229ed63f7e18cb5b82639174c0f54bb (diff) | |
MTP: Don't attempt to read more than 16K at a time from the MTP driver DO NOT MERGE
This could happen sometimes if other operations increased the size of the
data packet buffer to > 16K
Change-Id: I10f85f0ce32df39f46b0a984361958c0a13f6800
Signed-off-by: Mike Lockwood <lockwood@google.com>
| -rw-r--r-- | media/mtp/MtpDataPacket.cpp | 6 | 
1 files changed, 4 insertions, 2 deletions
diff --git a/media/mtp/MtpDataPacket.cpp b/media/mtp/MtpDataPacket.cpp index 20225ba2cce5..cfea7e89d3ec 100644 --- a/media/mtp/MtpDataPacket.cpp +++ b/media/mtp/MtpDataPacket.cpp @@ -25,10 +25,12 @@  #include "MtpDataPacket.h"  #include "MtpStringBuffer.h" +#define MTP_BUFFER_SIZE 16384 +  namespace android {  MtpDataPacket::MtpDataPacket() -    :   MtpPacket(16384),   // MAX_USBFS_BUFFER_SIZE +    :   MtpPacket(MTP_BUFFER_SIZE),   // MAX_USBFS_BUFFER_SIZE          mOffset(MTP_CONTAINER_HEADER_SIZE)  {  } @@ -345,7 +347,7 @@ void MtpDataPacket::putString(const uint16_t* string) {  #ifdef MTP_DEVICE   int MtpDataPacket::read(int fd) { -    int ret = ::read(fd, mBuffer, mBufferSize); +    int ret = ::read(fd, mBuffer, MTP_BUFFER_SIZE);      if (ret < MTP_CONTAINER_HEADER_SIZE)          return -1;      mPacketSize = ret;  |