diff options
author | Konstantin Belousov <kib@FreeBSD.org> | 2024-05-03 09:32:01 +0000 |
---|---|---|
committer | Konstantin Belousov <kib@FreeBSD.org> | 2024-05-10 07:49:10 +0000 |
commit | 6a8ca2ff53389c36233e5e0b1576696d34b74407 (patch) | |
tree | 08f2e36d5190edeed56b32d564dde0ac3eb0d963 | |
parent | 1c5b58a71718b31f48fa9240ab941264355155cf (diff) |
__cxa_thread_call_dtors(3): fix dtor pointer validity check
PR: 278701
(cherry picked from commit b27eb9ce96b838622e125fd969e8dc4914aabe18)
-rw-r--r-- | lib/libc/stdlib/cxa_thread_atexit_impl.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/libc/stdlib/cxa_thread_atexit_impl.c b/lib/libc/stdlib/cxa_thread_atexit_impl.c index f95384b30347..3123bd12dca8 100644 --- a/lib/libc/stdlib/cxa_thread_atexit_impl.c +++ b/lib/libc/stdlib/cxa_thread_atexit_impl.c @@ -102,7 +102,7 @@ walk_cb_call(struct cxa_thread_dtor *dtor) { struct dl_phdr_info phdr_info; - if (_rtld_addr_phdr(dtor->dso, &phdr_info) && + if (_rtld_addr_phdr(dtor->func, &phdr_info) && __elf_phdr_match_addr(&phdr_info, dtor->func)) dtor->func(dtor->obj); else |