diff options
Diffstat (limited to 'chromium/device/media_transfer_protocol/media_transfer_protocol_daemon_client.cc')
-rw-r--r-- | chromium/device/media_transfer_protocol/media_transfer_protocol_daemon_client.cc | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/chromium/device/media_transfer_protocol/media_transfer_protocol_daemon_client.cc b/chromium/device/media_transfer_protocol/media_transfer_protocol_daemon_client.cc index 41ac37e0c8b..4edfc60f1e5 100644 --- a/chromium/device/media_transfer_protocol/media_transfer_protocol_daemon_client.cc +++ b/chromium/device/media_transfer_protocol/media_transfer_protocol_daemon_client.cc @@ -19,6 +19,7 @@ namespace device { namespace { const char kInvalidResponseMsg[] = "Invalid Response: "; +uint32 kMaxChunkSize = 1024*1024; // D-Bus has message size limits. // The MediaTransferProtocolDaemonClient implementation. class MediaTransferProtocolDaemonClientImpl @@ -140,6 +141,7 @@ class MediaTransferProtocolDaemonClientImpl uint32 bytes_to_read, const ReadFileCallback& callback, const ErrorCallback& error_callback) OVERRIDE { + DCHECK_LE(bytes_to_read, kMaxChunkSize); dbus::MethodCall method_call(mtpd::kMtpdInterface, mtpd::kReadFileChunkByPath); dbus::MessageWriter writer(&method_call); @@ -162,6 +164,7 @@ class MediaTransferProtocolDaemonClientImpl uint32 bytes_to_read, const ReadFileCallback& callback, const ErrorCallback& error_callback) OVERRIDE { + DCHECK_LE(bytes_to_read, kMaxChunkSize); dbus::MethodCall method_call(mtpd::kMtpdInterface, mtpd::kReadFileChunkById); dbus::MessageWriter writer(&method_call); @@ -349,7 +352,7 @@ class MediaTransferProtocolDaemonClientImpl return; } - uint8* data_bytes = NULL; + const uint8* data_bytes = NULL; size_t data_length = 0; dbus::MessageReader reader(response); if (!reader.PopArrayOfBytes(&data_bytes, &data_length)) { |