Index: chrome/browser/chromeos/file_system_provider/operations/read_file.cc |
diff --git a/chrome/browser/chromeos/file_system_provider/operations/read_file.cc b/chrome/browser/chromeos/file_system_provider/operations/read_file.cc |
index 1e405c852901c3bfa96f8249877f392ebaee8490..e1d560895361c5e047a5a6e0e751ffa3dda07c0f 100644 |
--- a/chrome/browser/chromeos/file_system_provider/operations/read_file.cc |
+++ b/chrome/browser/chromeos/file_system_provider/operations/read_file.cc |
@@ -8,6 +8,7 @@ |
#include <string> |
#include "base/debug/trace_event.h" |
+#include "base/stl_util.h" |
#include "chrome/common/extensions/api/file_system_provider.h" |
#include "chrome/common/extensions/api/file_system_provider_internal.h" |
@@ -29,13 +30,14 @@ int CopyRequestValueToBuffer(scoped_ptr<RequestValue> value, |
if (!params) |
return -1; |
- const size_t chunk_size = params->data.length(); |
+ const size_t chunk_size = params->data.size(); |
// Check for overflows. |
if (chunk_size > static_cast<size_t>(buffer_length) - buffer_offset) |
return -1; |
- memcpy(buffer->data() + buffer_offset, params->data.c_str(), chunk_size); |
+ memcpy(buffer->data() + buffer_offset, vector_as_array(¶ms->data), |
+ chunk_size); |
return chunk_size; |
} |