platform_system_core/libunwindstack/tests
Yong Li 4ad538376a Fix memory leak of DexFile handle after release
The DexFile handle is allocated from heap in OpenFromFd/OpenFromMemory.
After releasing the unique_ptr, the DexFile handle itself is no longer
managed by the smart pointer. However, the DexFile handle is not freed
in the constructor of DexFileFromFile/DexFileFromMemory.

This change uses get() method to get the DexFile pointer while allowing
it to be managed by smart pointer so that it can be freed after method
end.

Added new unit tests to detect leaks.

Bug: 151966190

Test: Unwinding can still retrieve dex frame information during crash.
Test: Ran new unit tests before change and verified they fail, ran them
Test: after the change and verified they don't fail.

Signed-off-by: Yong Li <yongl0722@gmail.com>
Change-Id: I0627e1e255eb6644aba51e940c1a79ff78d568d7
(cherry picked from commit 489c3a8b35)
2020-03-23 13:47:00 -07:00
..
files Properly handle empty map after read-only map. 2020-01-22 18:30:12 -08:00
ArmExidxDecodeTest.cpp Fix build with new googletest 2019-11-10 04:08:25 +00:00
ArmExidxExtractTest.cpp Fix handling of load bias values. 2018-06-11 18:53:55 -07:00
DexFileData.h Load dex files from ART-specific data structure. 2018-02-02 15:03:00 -08:00
DexFilesTest.cpp Fix global finding logic. 2020-01-21 18:00:57 -08:00
DexFileTest.cpp Fix memory leak of DexFile handle after release 2020-03-23 13:47:00 -07:00
DwarfCfaLogTest.cpp Add a name for all test suites 2019-12-11 12:46:20 -08:00
DwarfCfaTest.cpp Add a name for all test suites 2019-12-11 12:46:20 -08:00
DwarfDebugFrameTest.cpp Rewrite DwarfSectionImpl::InsertFde 2020-02-23 06:34:21 +00:00
DwarfEhFrameTest.cpp Add a name for all test suites 2019-12-11 12:46:20 -08:00
DwarfEhFrameWithHdrTest.cpp Add a name for all test suites 2019-12-11 12:46:20 -08:00
DwarfMemoryTest.cpp Remove CHECK in AdjustEncodedValue. 2018-12-20 08:40:58 -08:00
DwarfOpLogTest.cpp Add a name for all test suites 2019-12-11 12:46:20 -08:00
DwarfOpTest.cpp Add a name for all test suites 2019-12-11 12:46:20 -08:00
DwarfSectionImplTest.cpp Add a name for all test suites 2019-12-11 12:46:20 -08:00
DwarfSectionTest.cpp Replace MOCK_METHODN with MOCK_METHOD macro. 2019-10-11 14:30:18 -07:00
ElfCacheTest.cpp Properly handle empty map after read-only map. 2020-01-22 18:30:12 -08:00
ElfFake.cpp Fix handling of load bias values. 2018-06-11 18:53:55 -07:00
ElfFake.h Fix handling of possible bad gnu_debugdata_size. 2019-12-19 16:48:15 -08:00
ElfInterfaceArmTest.cpp Remove Memory::ReadField. 2018-07-12 12:45:31 -07:00
ElfInterfaceTest.cpp Fix handling of possible bad gnu_debugdata_size. 2019-12-19 16:48:15 -08:00
ElfTest.cpp Properly handle empty map after read-only map. 2020-01-22 18:30:12 -08:00
ElfTestUtils.cpp Fix incorrect usage of relative pcs. 2017-11-29 16:10:08 -08:00
ElfTestUtils.h Fix incorrect usage of relative pcs. 2017-11-29 16:10:08 -08:00
GenGnuDebugdata.cpp Add .gnu_debugdata support. 2017-06-28 15:23:10 -07:00
IsolatedSettings.cpp Move to isolated testing. 2019-07-17 18:08:32 -07:00
JitDebugTest.cpp Fix support finding global variables. 2019-12-03 17:35:00 -08:00
LocalUnwinderTest.cpp Add test mapping to run the libunwind tests. 2019-09-03 13:32:51 -07:00
LocalUpdatableMapsTest.cpp Fix LocalUpdatableMaps 2019-09-16 18:28:38 -07:00
LogFake.cpp Make the library usable as a library. 2017-07-14 12:20:23 -07:00
LogFake.h Make the library usable as a library. 2017-07-14 12:20:23 -07:00
MapInfoCreateMemoryTest.cpp Properly handle empty map after read-only map. 2020-01-22 18:30:12 -08:00
MapInfoGetBuildIDTest.cpp Properly handle empty map after read-only map. 2020-01-22 18:30:12 -08:00
MapInfoGetElfTest.cpp Properly handle empty map after read-only map. 2020-01-22 18:30:12 -08:00
MapInfoGetLoadBiasTest.cpp Properly handle empty map after read-only map. 2020-01-22 18:30:12 -08:00
MapInfoTest.cpp Properly handle empty map after read-only map. 2020-01-22 18:30:12 -08:00
MapsTest.cpp Properly handle empty map after read-only map. 2020-01-22 18:30:12 -08:00
MemoryBufferTest.cpp Internalize subclasses of Memory 2019-06-11 12:09:18 -07:00
MemoryCacheTest.cpp Internalize subclasses of Memory 2019-06-11 12:09:18 -07:00
MemoryFake.cpp Implement support for linker rosegment option. 2018-10-03 20:48:45 -07:00
MemoryFake.h Implement support for linker rosegment option. 2018-10-03 20:48:45 -07:00
MemoryFileTest.cpp Internalize subclasses of Memory 2019-06-11 12:09:18 -07:00
MemoryLocalTest.cpp Internalize subclasses of Memory 2019-06-11 12:09:18 -07:00
MemoryOfflineBufferTest.cpp Switch case to suite to follow new gtest naming. 2019-06-20 16:18:57 -07:00
MemoryOfflineTest.cpp Internalize subclasses of Memory 2019-06-11 12:09:18 -07:00
MemoryRangesTest.cpp Internalize subclasses of Memory 2019-06-11 12:09:18 -07:00
MemoryRangeTest.cpp Internalize subclasses of Memory 2019-06-11 12:09:18 -07:00
MemoryRemoteTest.cpp Internalize subclasses of Memory 2019-06-11 12:09:18 -07:00
MemoryTest.cpp Remove Memory::ReadField. 2018-07-12 12:45:31 -07:00
RegsFake.h Add BuildId to frame information. 2019-03-26 08:04:40 -07:00
RegsInfoTest.cpp Fix off by one error. 2018-10-23 18:10:41 +01:00
RegsIterateTest.cpp unwindstack: RegsArm64: fix harmless off by 1 + iterate GPRs contiguously 2020-01-24 19:50:45 +00:00
RegsStepIfSignalHandlerTest.cpp Always set the sp reg to the cfa for DWARF. 2018-03-16 23:38:07 -07:00
RegsTest.cpp Properly handle empty map after read-only map. 2020-01-22 18:30:12 -08:00
SymbolsTest.cpp Add a name for all test suites 2019-12-11 12:46:20 -08:00
TestLocal.cpp Add a specialized LocalUnwinder object. 2018-05-23 20:02:30 -07:00
TestUtils.cpp Add a few leak check tests. 2019-01-25 12:35:19 -08:00
TestUtils.h Add a few leak check tests. 2019-01-25 12:35:19 -08:00
UnwinderTest.cpp Switch case to suite to follow new gtest naming. 2019-06-20 16:18:57 -07:00
UnwindOfflineTest.cpp Properly handle empty map after read-only map. 2020-01-22 18:30:12 -08:00
UnwindTest.cpp Internalize subclasses of Memory 2019-06-11 12:09:18 -07:00
VerifyBionicTerminationTest.cpp Add test of undefined return address. 2019-08-30 23:29:34 -07:00