From e394903ccfc7a25ea07d701ae37275fb9f4aa36b Mon Sep 17 00:00:00 2001 From: ptitSeb Date: Sat, 29 Oct 2022 16:49:25 +0200 Subject: Better fix, again, for dlsym(RTLD_NEXT, ...) --- src/librarian/librarian.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/librarian/librarian.c b/src/librarian/librarian.c index 95687533..84b0b9a7 100755 --- a/src/librarian/librarian.c +++ b/src/librarian/librarian.c @@ -421,13 +421,13 @@ int GetNoSelfSymbolStartEnd(lib_t *maplib, const char* name, uintptr_t* start, u weak = 1; } for(int i=0; ilibraries[i])==-1 || (my_context->elfs[GetElfIndex(maplib->libraries[i])]==self)) + if(GetElfIndex(maplib->libraries[i])==-1 || (my_context->elfs[GetElfIndex(maplib->libraries[i])]!=self)) if(GetLibGlobalSymbolStartEnd(maplib->libraries[i], name, start, end, &weak, version, vername, 1)) if(*start) return 1; } for(int i=0; ilibraries[i])==-1 || (my_context->elfs[GetElfIndex(maplib->libraries[i])]==self)) + if(GetElfIndex(maplib->libraries[i])==-1 || (my_context->elfs[GetElfIndex(maplib->libraries[i])]!=self)) GetLibWeakSymbolStartEnd(maplib->libraries[i], name, start, end, &weak, version, vername, 1); } if(weak && *start) -- cgit 1.4.1