You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
1.1 KiB
38 lines
1.1 KiB
6 years ago
|
commit bb195224acc14724e9fc2dbaa8d0b20b72ace79b
|
||
|
Author: Dmitry V. Levin <ldv@altlinux.org>
|
||
|
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. */
|