aboutsummaryrefslogtreecommitdiff
path: root/elf
diff options
context:
space:
mode:
Diffstat (limited to 'elf')
-rw-r--r--elf/ldconfig.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/elf/ldconfig.c b/elf/ldconfig.c
index 1b2eaa3..751b49b 100644
--- a/elf/ldconfig.c
+++ b/elf/ldconfig.c
@@ -384,14 +384,17 @@ add_dir (const char *line)
}
/* Canonify path: for now only remove leading and trailing
- whitespace and the trailing slashes slashes. */
- i = strlen (entry->path) - 1;
+ whitespace and the trailing slashes. */
+ i = strlen (entry->path);
- while (isspace (entry->path[i]) && i > 0)
- entry->path[i--] = '\0';
+ while (i > 0 && isspace (entry->path[i - 1]))
+ entry->path[--i] = '\0';
- while (entry->path[i] == '/' && i > 0)
- entry->path[i--] = '\0';
+ while (i > 0 && entry->path[i - 1] == '/')
+ entry->path[--i] = '\0';
+
+ if (i == 0)
+ return;
char *path = entry->path;
if (opt_chroot)