diff options
author | Mike Lockwood <lockwood@google.com> | 2011-12-01 18:36:06 -0500 |
---|---|---|
committer | Mike Lockwood <lockwood@google.com> | 2011-12-01 18:37:29 -0500 |
commit | 44c190826d72589f5c9e13d69e32673bd8bd7c64 (patch) | |
tree | 327ad89c7a9e2e0f09a48680fb7e85a467635701 | |
parent | 17078d8a83becd5bfb49a39f1415882b78d07a49 (diff) | |
download | frameworks_av-44c190826d72589f5c9e13d69e32673bd8bd7c64.zip frameworks_av-44c190826d72589f5c9e13d69e32673bd8bd7c64.tar.gz frameworks_av-44c190826d72589f5c9e13d69e32673bd8bd7c64.tar.bz2 |
MTP: Don't attempt to read more than 16K at a time from the MTP driver
This could happen sometimes if other operations increased the size of the
data packet buffer to > 16K
Change-Id: I4d316c7e2e558d3dd861d39accae6514fd9a62f5
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 20225ba..cfea7e8 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; |