| Index: src/common/linux/file_id_unittest.cc
|
| diff --git a/src/common/linux/file_id_unittest.cc b/src/common/linux/file_id_unittest.cc
|
| index 760eae8260d65b4ab79be1dfdff4ff47aa1789d8..f7b0a3193b719c315d2d648dfa4332883d25d26d 100644
|
| --- a/src/common/linux/file_id_unittest.cc
|
| +++ b/src/common/linux/file_id_unittest.cc
|
| @@ -87,12 +87,14 @@ TEST(FileIDStripTest, StripSelf) {
|
| sprintf(cmdline, "strip \"%s\"", templ.c_str());
|
| ASSERT_EQ(0, system(cmdline)) << "Failed to execute: " << cmdline;
|
|
|
| - uint8_t identifier1[sizeof(MDGUID)];
|
| - uint8_t identifier2[sizeof(MDGUID)];
|
| + uint8_t identifier1[kMaxBuildID];
|
| + size_t identifier1_length;
|
| + uint8_t identifier2[kMaxBuildID];
|
| + size_t identifier2_length;
|
| FileID fileid1(exe_name);
|
| - EXPECT_TRUE(fileid1.ElfFileIdentifier(identifier1));
|
| + EXPECT_TRUE(fileid1.ElfFileIdentifier(identifier1, &identifier1_length));
|
| FileID fileid2(templ.c_str());
|
| - EXPECT_TRUE(fileid2.ElfFileIdentifier(identifier2));
|
| + EXPECT_TRUE(fileid2.ElfFileIdentifier(identifier2, &identifier2_length));
|
| char identifier_string1[37];
|
| char identifier_string2[37];
|
| FileID::ConvertIdentifierToString(identifier1, identifier_string1,
|
| @@ -125,7 +127,8 @@ typedef Types<ElfClass32, ElfClass64> ElfClasses;
|
| TYPED_TEST_CASE(FileIDTest, ElfClasses);
|
|
|
| TYPED_TEST(FileIDTest, ElfClass) {
|
| - uint8_t identifier[sizeof(MDGUID)];
|
| + uint8_t identifier[kMaxBuildID];
|
| + size_t identifier_length;
|
| const char expected_identifier_string[] =
|
| "80808080-8080-0000-0000-008080808080";
|
| char identifier_string[sizeof(expected_identifier_string)];
|
| @@ -141,7 +144,8 @@ TYPED_TEST(FileIDTest, ElfClass) {
|
| this->GetElfContents(elf);
|
|
|
| EXPECT_TRUE(FileID::ElfFileIdentifierFromMappedFile(this->elfdata,
|
| - identifier));
|
| + identifier,
|
| + &identifier_length));
|
|
|
| FileID::ConvertIdentifierToString(identifier, identifier_string,
|
| sizeof(identifier_string));
|
| @@ -149,16 +153,18 @@ TYPED_TEST(FileIDTest, ElfClass) {
|
| }
|
|
|
| TYPED_TEST(FileIDTest, BuildID) {
|
| - const uint8_t kExpectedIdentifier[sizeof(MDGUID)] =
|
| + const uint8_t kExpectedIdentifier[kMaxBuildID] =
|
| {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
|
| - 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F};
|
| + 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
|
| + 0x10, 0x11, 0x12, 0x13};
|
| char expected_identifier_string[] =
|
| "00000000-0000-0000-0000-000000000000";
|
| FileID::ConvertIdentifierToString(kExpectedIdentifier,
|
| expected_identifier_string,
|
| sizeof(expected_identifier_string));
|
|
|
| - uint8_t identifier[sizeof(MDGUID)];
|
| + uint8_t identifier[kMaxBuildID];
|
| + size_t identifier_length;
|
| char identifier_string[sizeof(expected_identifier_string)];
|
|
|
| ELF elf(EM_386, TypeParam::kClass, kLittleEndian);
|
| @@ -173,7 +179,9 @@ TYPED_TEST(FileIDTest, BuildID) {
|
| this->GetElfContents(elf);
|
|
|
| EXPECT_TRUE(FileID::ElfFileIdentifierFromMappedFile(this->elfdata,
|
| - identifier));
|
| + identifier,
|
| + &identifier_length));
|
| + EXPECT_EQ(sizeof(kExpectedIdentifier), identifier_length);
|
|
|
| FileID::ConvertIdentifierToString(identifier, identifier_string,
|
| sizeof(identifier_string));
|
| @@ -181,16 +189,18 @@ TYPED_TEST(FileIDTest, BuildID) {
|
| }
|
|
|
| TYPED_TEST(FileIDTest, BuildIDPH) {
|
| - const uint8_t kExpectedIdentifier[sizeof(MDGUID)] =
|
| + const uint8_t kExpectedIdentifier[kMaxBuildID] =
|
| {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
|
| - 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F};
|
| + 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
|
| + 0x10, 0x11, 0x12, 0x13};
|
| char expected_identifier_string[] =
|
| "00000000-0000-0000-0000-000000000000";
|
| FileID::ConvertIdentifierToString(kExpectedIdentifier,
|
| expected_identifier_string,
|
| sizeof(expected_identifier_string));
|
|
|
| - uint8_t identifier[sizeof(MDGUID)];
|
| + uint8_t identifier[kMaxBuildID];
|
| + size_t identifier_length;
|
| char identifier_string[sizeof(expected_identifier_string)];
|
|
|
| ELF elf(EM_386, TypeParam::kClass, kLittleEndian);
|
| @@ -208,7 +218,9 @@ TYPED_TEST(FileIDTest, BuildIDPH) {
|
| this->GetElfContents(elf);
|
|
|
| EXPECT_TRUE(FileID::ElfFileIdentifierFromMappedFile(this->elfdata,
|
| - identifier));
|
| + identifier,
|
| + &identifier_length));
|
| + EXPECT_EQ(sizeof(kExpectedIdentifier), identifier_length);
|
|
|
| FileID::ConvertIdentifierToString(identifier, identifier_string,
|
| sizeof(identifier_string));
|
| @@ -222,8 +234,10 @@ TYPED_TEST(FileIDTest, UniqueHashes) {
|
| "00000000-0000-0000-0000-000000000000";
|
| char identifier_string_2[] =
|
| "00000000-0000-0000-0000-000000000000";
|
| - uint8_t identifier_1[sizeof(MDGUID)];
|
| - uint8_t identifier_2[sizeof(MDGUID)];
|
| + uint8_t identifier_1[kMaxBuildID];
|
| + size_t identifier_1_size;
|
| + uint8_t identifier_2[kMaxBuildID];
|
| + size_t identifier_2_size;
|
|
|
| {
|
| ELF elf1(EM_386, TypeParam::kClass, kLittleEndian);
|
| @@ -238,7 +252,8 @@ TYPED_TEST(FileIDTest, UniqueHashes) {
|
| }
|
|
|
| EXPECT_TRUE(FileID::ElfFileIdentifierFromMappedFile(this->elfdata,
|
| - identifier_1));
|
| + identifier_1,
|
| + &identifier_1_size));
|
| FileID::ConvertIdentifierToString(identifier_1, identifier_string_1,
|
| sizeof(identifier_string_1));
|
|
|
| @@ -255,7 +270,8 @@ TYPED_TEST(FileIDTest, UniqueHashes) {
|
| }
|
|
|
| EXPECT_TRUE(FileID::ElfFileIdentifierFromMappedFile(this->elfdata,
|
| - identifier_2));
|
| + identifier_2,
|
| + &identifier_2_size));
|
| FileID::ConvertIdentifierToString(identifier_2, identifier_string_2,
|
| sizeof(identifier_string_2));
|
|
|
|
|