Lock on dl_interate_phdr
There is possibility of someone dlclosing a library while dl_iterate_phdr in progress which can lead to dl_iterate_phdr calling callback with invalid address if it was unmapped by dlclose. Bug: http://b/22047255 Change-Id: I3fc0d9fd2c51fb36fd34cb035f37271fa893a7be
This commit is contained in:
@@ -353,7 +353,7 @@ _Unwind_Ptr dl_unwind_find_exidx(_Unwind_Ptr pc, int* pcount) {
|
||||
|
||||
// Here, we only have to provide a callback to iterate across all the
|
||||
// loaded libraries. gcc_eh does the rest.
|
||||
int dl_iterate_phdr(int (*cb)(dl_phdr_info* info, size_t size, void* data), void* data) {
|
||||
int do_dl_iterate_phdr(int (*cb)(dl_phdr_info* info, size_t size, void* data), void* data) {
|
||||
int rv = 0;
|
||||
for (soinfo* si = solist; si != nullptr; si = si->next) {
|
||||
dl_phdr_info dl_info;
|
||||
|
||||
Reference in New Issue
Block a user