(WV to Android) Fix un-initialized-value warning as error in odk_test
Merge from Widevine repo of http://go/wvgerrit/95968 Un-initialized int array allocated on heap is detected by MemorySanitizer using this command: rabbit test --config=msan --keep_going --compilation_mode=opt --runs_per_test=1 //video/widevine/export/common/oemcrypto_core_message/odk:odk_test Bug: 151339875 Test: cdm and odk unit tests Change-Id: Ic3329b918636a58eccb518ded7b262c4d98c3644
This commit is contained in:
@@ -70,12 +70,12 @@ void ValidateRequest(uint32_t message_type,
|
||||
|
||||
// non-empty buf, expect core message length to be set correctly, and buf is
|
||||
// filled with ODK_Field values appropriately
|
||||
uint8_t* buf = new uint8_t[message_size];
|
||||
uint8_t* buf = new uint8_t[message_size]{};
|
||||
EXPECT_EQ(OEMCrypto_SUCCESS,
|
||||
odk_prepare_func(buf, &core_message_length, &nonce_values));
|
||||
EXPECT_EQ(core_message_length, message_size);
|
||||
|
||||
uint8_t* buf_expected = new uint8_t[message_size];
|
||||
uint8_t* buf_expected = new uint8_t[message_size]{};
|
||||
size_t buf_len_expected = 0;
|
||||
EXPECT_EQ(OEMCrypto_SUCCESS, ODK_IterFields(ODK_WRITE, buf_expected, SIZE_MAX,
|
||||
&buf_len_expected, total_fields));
|
||||
@@ -94,7 +94,7 @@ void ValidateRequest(uint32_t message_type,
|
||||
nonce_values.api_major_version = t.api_major_version;
|
||||
nonce_values.nonce = t.nonce;
|
||||
nonce_values.session_id = t.session_id;
|
||||
uint8_t* buf2 = new uint8_t[message_size];
|
||||
uint8_t* buf2 = new uint8_t[message_size]{};
|
||||
EXPECT_EQ(OEMCrypto_SUCCESS,
|
||||
odk_prepare_func(buf2, &core_message_length, &nonce_values));
|
||||
EXPECT_EQ(core_message_length, message_size);
|
||||
@@ -126,7 +126,7 @@ void ValidateResponse(ODK_CoreMessage* core_message,
|
||||
uint32_t buf_size = 0;
|
||||
ODK_BuildMessageBuffer(core_message, extra_fields, &buf, &buf_size);
|
||||
|
||||
uint8_t* zero = new uint8_t[buf_size];
|
||||
uint8_t* zero = new uint8_t[buf_size]{};
|
||||
size_t bytes_read = 0;
|
||||
// zero-out input
|
||||
EXPECT_EQ(OEMCrypto_SUCCESS, ODK_IterFields(ODK_READ, zero, buf_size,
|
||||
@@ -185,13 +185,13 @@ TEST(OdkTest, SerializeFieldsStress) {
|
||||
total_size += ODK_FieldLength(fields[i].type);
|
||||
}
|
||||
|
||||
uint8_t* buf = new uint8_t[total_size];
|
||||
uint8_t* buf = new uint8_t[total_size]{};
|
||||
for (int i = 0; i < total_size; i++) {
|
||||
buf[i] = std::rand() & 0xff;
|
||||
}
|
||||
|
||||
size_t bytes_read = 0, bytes_written = 0;
|
||||
uint8_t* buf2 = new uint8_t[total_size];
|
||||
uint8_t* buf2 = new uint8_t[total_size]{};
|
||||
ODK_IterFields(ODK_READ, buf, total_size, &bytes_read, fields);
|
||||
EXPECT_EQ(bytes_read, total_size);
|
||||
ODK_IterFields(ODK_WRITE, buf2, total_size, &bytes_written, fields);
|
||||
|
||||
@@ -477,7 +477,7 @@ void ODK_BuildMessageBuffer(ODK_CoreMessage* core_message,
|
||||
// update message_size
|
||||
*(reinterpret_cast<uint32_t*>(total_fields[1].value)) = *buf_size;
|
||||
|
||||
*buf = new uint8_t[*buf_size];
|
||||
*buf = new uint8_t[*buf_size]{};
|
||||
size_t bytes_written = 0;
|
||||
// serialize ODK fields to message buffer
|
||||
EXPECT_EQ(OEMCrypto_SUCCESS, ODK_IterFields(ODK_WRITE, *buf, SIZE_MAX,
|
||||
|
||||
Reference in New Issue
Block a user