Fix imageburner unittests under asan
BUG=chromium:263045,chromium:261351
TEST=run unittests under asan; verified chrome://imageburner still works
Change-Id: I2117361965f43627143dc577aab7f73fe74a2390
Reviewed-on: https://gerrit.chromium.org/gerrit/64749
Reviewed-by: Yunlian Jiang <yunlian@chromium.org>
Commit-Queue: Toni Barzic <tbarzic@chromium.org>
Tested-by: Toni Barzic <tbarzic@chromium.org>
diff --git a/image_burner_impl.cc b/image_burner_impl.cc
index f8ffc12..ef3dbf6 100644
--- a/image_burner_impl.cc
+++ b/image_burner_impl.cc
@@ -117,7 +117,7 @@
}
if (success) {
- scoped_ptr<char[]> buffer(new char[data_block_size_]);
+ scoped_array<char> buffer(new char[data_block_size_]);
int64 total_burnt = 0;
int64 image_size = reader_->GetSize();
diff --git a/image_burner_impl_unittest.cc b/image_burner_impl_unittest.cc
index 2fd5cf0..74dbced 100644
--- a/image_burner_impl_unittest.cc
+++ b/image_burner_impl_unittest.cc
@@ -17,16 +17,16 @@
using ::testing::StrEq;
const int kTestDataBlockSize = 8;
-char kDataBlockLength8[9] = "12345678";
-char kDataBlockLength3[4] = "abc";
-char kDataBlockLength1[2] = "@";
+const char kDataBlockLength8[] = {'1', '2', '3', '4', '5', '6', '7', 0};
+const char kDataBlockLength3[] = {'a', 'b', 0};
+const char kDataBlockLength1[] = {0};
ACTION_P(SetArgPointee, value) {
*arg0 = value;
}
ACTION_P(SetArgCharString, value) {
- strcpy(arg0, value);
+ strncpy(arg0, value, arg1);
}
class ImageBurnerImplTest : public ::testing::Test {