From f372cab88d1f03411af8fec6dfa880ee6144140d Mon Sep 17 00:00:00 2001 From: Daniel Dorau Date: Fri, 4 Mar 2022 11:14:18 +0100 Subject: dl-elf: Supress adding double '/' in library pathname When searching for shared libraries, it could happen that redudant '/' were added to the pathname with would later be reported via dladdr() in the dli_fname member. Signed-off-by: Daniel Dorau --- ldso/ldso/dl-elf.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ldso/ldso/dl-elf.c b/ldso/ldso/dl-elf.c index 2bcfcda64..8210a012e 100644 --- a/ldso/ldso/dl-elf.c +++ b/ldso/ldso/dl-elf.c @@ -182,7 +182,10 @@ search_for_named_library(const char *name, unsigned int rflags, const char *path } else { _dl_strcpy(mylibname, "."); } - _dl_strcat(mylibname, "/"); + plen = _dl_strlen(mylibname); + if ((plen == 0) || (mylibname[plen-1] != '/')) { + _dl_strcat(mylibname, "/"); + } _dl_strcat(mylibname, name); #ifdef __LDSO_SAFE_RUNPATH__ if (*mylibname == '/') -- cgit v1.2.3