platform_system_core/libunwindstack
Sim Sun ce0f3201d1 Fix dangling pointer issue in LocalUpdatbleMaps
Libunwindstack would remove duplicated items and update the `prev_map`
during reparsing `/proc/self/maps`. But we leave `prev_real_map`
pointing toward a MapInfo that will be deleted soon. It will cause a
dangling pointer issue.

Add new tests to cover this dangling pointer issue.

Bug: 155511785

Test: libunwindstack_test
Change-Id: I62e1b97bcb73f07e9349671f0b758f5ec9de16c0
(cherry picked from commit a7a194beb4)
2020-05-01 17:24:57 -07:00
..
benchmarks Fix copy / move behaviour of Maps object. 2019-03-05 13:05:36 +00:00
include/unwindstack Properly handle empty map after read-only map. 2020-01-22 18:30:12 -08:00
tests Fix dangling pointer issue in LocalUpdatbleMaps 2020-05-01 17:24:57 -07:00
tools Fix handling of PT_GNU_EH_FRAME. 2019-10-21 19:11:22 -07:00
.clang-format Use the 2 space clang format for libunwindstack. 2017-03-21 10:41:45 -07:00
Android.bp Remove use of static libdexfile to avoid linking in ART internal code. 2020-03-24 21:48:00 +00:00
AndroidVersions.md Add document of changes between Android versions. 2019-10-15 18:33:11 -07:00
ArmExidx.cpp Fix handling of load bias values. 2018-06-11 18:53:55 -07:00
ArmExidx.h Fix handling of load bias values. 2018-06-11 18:53:55 -07:00
AsmGetRegsMips.S Add libunwindstack support for Mips and Mips64 2017-12-11 15:44:40 +01:00
AsmGetRegsMips64.S Add libunwindstack support for Mips and Mips64 2017-12-11 15:44:40 +01:00
AsmGetRegsX86.S Fix wrong mov instruction size. 2018-01-25 11:44:19 -08:00
AsmGetRegsX86_64.S Add full support for initing registers. 2017-07-11 12:15:54 -07:00
Check.h Add error propagation into Unwinder/Elf objects. 2018-01-24 17:50:46 -08:00
DexFile.cpp Fix memory leak of DexFile handle after release 2020-03-23 13:47:00 -07:00
DexFile.h Fix memory leak of DexFile handle after release 2020-03-23 13:47:00 -07:00
DexFiles.cpp Move the dexfile support to implementation. 2019-11-20 14:59:55 -08:00
DwarfCfa.cpp Move DwarfCfaInfo::kTable from data.rel.ro to rodata 2018-12-14 06:03:09 -08:00
DwarfCfa.h Move DwarfCfaInfo::kTable from data.rel.ro to rodata 2018-12-14 06:03:09 -08:00
DwarfDebugFrame.h Fix potential bad info in eh_frame_hdr. 2019-10-29 18:39:30 -07:00
DwarfEhFrame.h Fix potential bad info in eh_frame_hdr. 2019-10-29 18:39:30 -07:00
DwarfEhFrameWithHdr.cpp Fix potential bad info in eh_frame_hdr. 2019-10-29 18:39:30 -07:00
DwarfEhFrameWithHdr.h Fix potential bad info in eh_frame_hdr. 2019-10-29 18:39:30 -07:00
DwarfEncoding.h Make the library usable as a library. 2017-07-14 12:20:23 -07:00
DwarfMemory.cpp Handle when bias is different in elf headers. 2019-10-08 17:36:06 +00:00
DwarfOp.cpp libunwindstack: Move DwarfOp callback table to rodata section 2019-01-24 11:11:15 -08:00
DwarfOp.h libunwindstack: Move DwarfOp callback table to rodata section 2019-01-24 11:11:15 -08:00
DwarfSection.cpp Rewrite DwarfSectionImpl::InsertFde 2020-02-23 06:34:21 +00:00
Elf.cpp Use elf offset in signal step check. 2019-12-04 22:29:59 +00:00
ElfInterface.cpp Fix handling of possible bad gnu_debugdata_size. 2019-12-19 16:48:15 -08:00
ElfInterfaceArm.cpp Handle when bias is different in elf headers. 2019-10-08 17:36:06 +00:00
ElfInterfaceArm.h Handle when bias is different in elf headers. 2019-10-08 17:36:06 +00:00
Global.cpp Fix global finding logic. 2020-01-21 18:00:57 -08:00
JitDebug.cpp Internalize subclasses of Memory 2019-06-11 12:09:18 -07:00
LocalUnwinder.cpp Fix pc/function name for signal handler frame. 2019-04-12 17:23:18 -07:00
Log.cpp Make the library usable as a library. 2017-07-14 12:20:23 -07:00
MapInfo.cpp Properly handle empty map after read-only map. 2020-01-22 18:30:12 -08:00
Maps.cpp Fix dangling pointer issue in LocalUpdatbleMaps 2020-05-01 17:24:57 -07:00
Memory.cpp Fix handling of possible bad gnu_debugdata_size. 2019-12-19 16:48:15 -08:00
MemoryBuffer.h Fix handling of possible bad gnu_debugdata_size. 2019-12-19 16:48:15 -08:00
MemoryCache.h Internalize subclasses of Memory 2019-06-11 12:09:18 -07:00
MemoryFileAtOffset.h Internalize subclasses of Memory 2019-06-11 12:09:18 -07:00
MemoryLocal.h Internalize subclasses of Memory 2019-06-11 12:09:18 -07:00
MemoryOffline.h Internalize subclasses of Memory 2019-06-11 12:09:18 -07:00
MemoryOfflineBuffer.h Internalize subclasses of Memory 2019-06-11 12:09:18 -07:00
MemoryRange.h Internalize subclasses of Memory 2019-06-11 12:09:18 -07:00
MemoryRemote.h Internalize subclasses of Memory 2019-06-11 12:09:18 -07:00
OWNERS Add OWNERS. 2017-12-07 13:30:03 -08:00
Regs.cpp Expose per arch headers. 2018-02-08 19:29:08 -08:00
RegsArm.cpp Use elf offset in signal step check. 2019-12-04 22:29:59 +00:00
RegsArm64.cpp unwindstack: RegsArm64: fix harmless off by 1 + iterate GPRs contiguously 2020-01-24 19:50:45 +00:00
RegsInfo.h Fix off by one error. 2018-10-23 18:10:41 +01:00
RegsMips.cpp Use elf offset in signal step check. 2019-12-04 22:29:59 +00:00
RegsMips64.cpp Use elf offset in signal step check. 2019-12-04 22:29:59 +00:00
RegsX86.cpp Use elf offset in signal step check. 2019-12-04 22:29:59 +00:00
RegsX86_64.cpp Use elf offset in signal step check. 2019-12-04 22:29:59 +00:00
Symbols.cpp Add missing includes. 2018-12-06 10:09:20 -08:00
Symbols.h Fix handling of load bias values. 2018-06-11 18:53:55 -07:00
TEST_MAPPING libunwindstack: add simpleperf presumit test. 2020-01-24 11:51:30 -08:00
Unwinder.cpp Move the dexfile support to implementation. 2019-11-20 14:59:55 -08:00