diff options
| author | Daniel Levin <daniellevin2607@gmail.com> | 2026-06-08 14:42:03 +0000 |
|---|---|---|
| committer | Pouria Mousavizadeh Tehrani <pouria@FreeBSD.org> | 2026-06-22 18:22:08 +0000 |
| commit | 45a0cb52d3d62f8caae420b93e4b8c76ae3bc766 (patch) | |
| tree | a526bbd5d1753809f1c6e6ac9eb0a7f97ed54a28 /libexec | |
| parent | 9cd0d6231311bc5609403fb35377a7bb97a3cfaf (diff) | |
Diffstat (limited to 'libexec')
| -rw-r--r-- | libexec/rtld-elf/rtld.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/libexec/rtld-elf/rtld.c b/libexec/rtld-elf/rtld.c index a72726684f0f..2a05afe66902 100644 --- a/libexec/rtld-elf/rtld.c +++ b/libexec/rtld-elf/rtld.c @@ -3159,7 +3159,8 @@ objlist_call_fini(Objlist *list, Obj_Entry *root, RtldLockState *lockstate) for (index = elm->obj->fini_array_num - 1; index >= 0; index--) { if (fini_addr[index] != 0 && - fini_addr[index] != 1) { + fini_addr[index] != 1 && + fini_addr[index] != (Elf_Addr)-1) { dbg("calling fini function for %s at %p", elm->obj->path, (void *)fini_addr[index]); @@ -3265,7 +3266,8 @@ objlist_call_init(Objlist *list, RtldLockState *lockstate) for (index = 0; index < elm->obj->init_array_num; index++) { if (init_addr[index] != 0 && - init_addr[index] != 1) { + init_addr[index] != 1 && + init_addr[index] != (Elf_Addr)-1) { dbg("calling init function for %s at %p", elm->obj->path, (void *)init_addr[index]); |
