diff options
author | huangs <huangs@chromium.org> | 2016-03-14 09:35:39 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-03-14 16:37:34 +0000 |
commit | dda11d069213d53aef9bf3bc018b02f3aef7177b (patch) | |
tree | b2149ca828f3231ffc0f647f5903a641c08793bc /courgette/disassembler_win32_x64_unittest.cc | |
parent | be97fce59267730f7e657c9321381fa9e11e000c (diff) | |
download | chromium_src-dda11d069213d53aef9bf3bc018b02f3aef7177b.zip chromium_src-dda11d069213d53aef9bf3bc018b02f3aef7177b.tar.gz chromium_src-dda11d069213d53aef9bf3bc018b02f3aef7177b.tar.bz2 |
[Courgette] Clean up Disassembler; fix ELF Memory leaks.
Cleaning up code surrounding Disassembler:
- Extract AddressTranslator interface to be used across subclasses.
- Use FileOffset = size_t by context.
- Detailed comments & TODOs in DisassemblerElf32ARM.
- Fix DisassemblerElf32ARM memory leaks.
- Lots of superficial stylistic changes.
Except for AddressTranslator routines and unit tests, shying away
from control flow and logic changes.
BUG=579206
Committed: https://crrev.com/58b822d441f5c982e879e536fa3c1cbac8fd339a
Cr-Commit-Position: refs/heads/master@{#380881}
Review URL: https://codereview.chromium.org/1676683002
Cr-Commit-Position: refs/heads/master@{#380987}
Diffstat (limited to 'courgette/disassembler_win32_x64_unittest.cc')
-rw-r--r-- | courgette/disassembler_win32_x64_unittest.cc | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/courgette/disassembler_win32_x64_unittest.cc b/courgette/disassembler_win32_x64_unittest.cc index 8f732b3..1121c10 100644 --- a/courgette/disassembler_win32_x64_unittest.cc +++ b/courgette/disassembler_win32_x64_unittest.cc @@ -6,6 +6,9 @@ #include <stdint.h> +#include <string> +#include <vector> + #include "base/memory/scoped_ptr.h" #include "base/stl_util.h" #include "courgette/base_test_unittest.h" @@ -37,16 +40,16 @@ void DisassemblerWin32X64Test::TestExe() const { disassembler->RVAToSection(0x00401234 - 0x00400000)), std::string(".text")); - EXPECT_EQ(0, disassembler->RVAToFileOffset(0)); - EXPECT_EQ(1024, disassembler->RVAToFileOffset(4096)); - EXPECT_EQ(46928, disassembler->RVAToFileOffset(50000)); + EXPECT_EQ(0U, disassembler->RVAToFileOffset(0)); + EXPECT_EQ(1024U, disassembler->RVAToFileOffset(4096)); + EXPECT_EQ(46928U, disassembler->RVAToFileOffset(50000)); std::vector<courgette::RVA> relocs; bool can_parse_relocs = disassembler->ParseRelocs(&relocs); EXPECT_TRUE(can_parse_relocs); EXPECT_TRUE(base::STLIsSorted(relocs)); - const uint8_t* offset_p = disassembler->OffsetToPointer(0); + const uint8_t* offset_p = disassembler->FileOffsetToPointer(0); EXPECT_EQ(reinterpret_cast<const void*>(file1.c_str()), reinterpret_cast<const void*>(offset_p)); EXPECT_EQ('M', offset_p[0]); |