Index: extensions/browser/api/hid/hid_api.cc |
diff --git a/extensions/browser/api/hid/hid_api.cc b/extensions/browser/api/hid/hid_api.cc |
index e021cf2a8cc1aaa88a13edd9b0a8592c69ba3f26..d67f56499d88346f99b184179e09d220e31e4776 100644 |
--- a/extensions/browser/api/hid/hid_api.cc |
+++ b/extensions/browser/api/hid/hid_api.cc |
@@ -7,6 +7,7 @@ |
#include <string> |
#include <vector> |
+#include "base/stl_util.h" |
#include "device/core/device_client.h" |
#include "device/hid/hid_connection.h" |
#include "device/hid/hid_device_filter.h" |
@@ -253,8 +254,8 @@ void HidSendFunction::StartWork(HidConnection* connection) { |
scoped_refptr<net::IOBufferWithSize> buffer( |
new net::IOBufferWithSize(parameters_->data.size() + 1)); |
buffer->data()[0] = static_cast<uint8_t>(parameters_->report_id); |
- memcpy( |
- buffer->data() + 1, parameters_->data.c_str(), parameters_->data.size()); |
+ memcpy(buffer->data() + 1, parameters_->data.data(), |
+ parameters_->data.size()); |
connection->Write(buffer, buffer->size(), |
base::Bind(&HidSendFunction::OnFinished, this)); |
} |
@@ -311,8 +312,8 @@ void HidSendFeatureReportFunction::StartWork(HidConnection* connection) { |
scoped_refptr<net::IOBufferWithSize> buffer( |
new net::IOBufferWithSize(parameters_->data.size() + 1)); |
buffer->data()[0] = static_cast<uint8_t>(parameters_->report_id); |
- memcpy( |
- buffer->data() + 1, parameters_->data.c_str(), parameters_->data.size()); |
+ memcpy(buffer->data() + 1, vector_as_array(¶meters_->data), |
+ parameters_->data.size()); |
connection->SendFeatureReport( |
buffer, buffer->size(), |
base::Bind(&HidSendFeatureReportFunction::OnFinished, this)); |