From 3ff3dfa5af313a6ea33f3393916f30eece4f0171 Mon Sep 17 00:00:00 2001 From: Florian Weimer Date: Thu, 14 Dec 2017 15:05:57 +0100 Subject: elf: Count components of the expanded path in _dl_init_path [BZ #22607] --- elf/dl-load.c | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) (limited to 'elf') diff --git a/elf/dl-load.c b/elf/dl-load.c index 5f1f908599..bbd3be9e20 100644 --- a/elf/dl-load.c +++ b/elf/dl-load.c @@ -773,8 +773,6 @@ _dl_init_paths (const char *llp) if (llp != NULL && *llp != '\0') { - size_t nllp; - const char *cp = llp; char *llp_tmp; #ifdef SHARED @@ -797,13 +795,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 *)); -- cgit v1.2.3