commit bb195224acc14724e9fc2dbaa8d0b20b72ace79b Author: Dmitry V. Levin Date: Sun Dec 17 23:49:46 2017 +0000 elf: do not substitute dst in $LD_LIBRARY_PATH twice [BZ #22627] Index: glibc-2.17-c758a686/elf/dl-load.c =================================================================== --- glibc-2.17-c758a686.orig/elf/dl-load.c +++ glibc-2.17-c758a686/elf/dl-load.c @@ -829,25 +829,7 @@ _dl_init_paths (const char *llp) if (llp != NULL && *llp != '\0') { - char *llp_tmp; - -#ifdef SHARED - /* Expand DSTs. */ - size_t cnt = DL_DST_COUNT (llp, 1); - if (__builtin_expect (cnt == 0, 1)) - llp_tmp = strdupa (llp); - else - { - /* Determine the length of the substituted string. */ - size_t total = DL_DST_REQUIRED (l, llp, strlen (llp), cnt); - - /* Allocate the necessary memory. */ - llp_tmp = (char *) alloca (total + 1); - llp_tmp = _dl_dst_substitute (l, llp, llp_tmp, 1); - } -#else - llp_tmp = strdupa (llp); -#endif + char *llp_tmp = strdupa (llp); /* Decompose the LD_LIBRARY_PATH contents. First determine how many elements it has. */