Index: device/media_transfer_protocol/media_transfer_protocol_daemon_client.cc |
diff --git a/device/media_transfer_protocol/media_transfer_protocol_daemon_client.cc b/device/media_transfer_protocol/media_transfer_protocol_daemon_client.cc |
index 5df7ef00c098adf4f934e5198a9f5c8d31fdcf52..4edfc60f1e574038d54c7dbf7a394bfb191688c2 100644 |
--- a/device/media_transfer_protocol/media_transfer_protocol_daemon_client.cc |
+++ b/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); |