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 3ff3dfa5af313a6ea33f3393916f30eece4f0171
|
||
|
Author: Florian Weimer <fweimer@redhat.com>
|
||
|
Date: Thu Dec 14 15:05:57 2017 +0100
|
||
|
|
||
|
elf: Count components of the expanded path in _dl_init_path [BZ #22607]
|
||
|
|
||
|
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,8 +829,6 @@ _dl_init_paths (const char *llp)
|
||
|
|
||
|
if (llp != NULL && *llp != '\0')
|
||
|
{
|
||
|
- size_t nllp;
|
||
|
- const char *cp = llp;
|
||
|
char *llp_tmp;
|
||
|
|
||
|
#ifdef SHARED
|
||
|
@@ -853,13 +851,10 @@ _dl_init_paths (const char *llp)
|
||
|
|
||
|
/* Decompose the LD_LIBRARY_PATH contents. First determine how many
|
||
|
elements it has. */
|
||
|
- nllp = 1;
|
||
|
- while (*cp)
|
||
|
- {
|
||
|
- if (*cp == ':' || *cp == ';')
|
||
|
- ++nllp;
|
||
|
- ++cp;
|
||
|
- }
|
||
|
+ size_t nllp = 1;
|
||
|
+ for (const char *cp = llp_tmp; *cp != '\0'; ++cp)
|
||
|
+ if (*cp == ':' || *cp == ';')
|
||
|
+ ++nllp;
|
||
|
|
||
|
env_path_list.dirs = (struct r_search_path_elem **)
|
||
|
malloc ((nllp + 1) * sizeof (struct r_search_path_elem *));
|