summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--elf/dl-load.c8
2 files changed, 6 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 297dd703c5..97aeed5db5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
2017-12-27 Dmitry V. Levin <ldv@altlinux.org>
+ * elf/dl-load.c (is_dst): Remove checks that is_path is set and name
+ contains ':'.
+
* elf/dl-load.c (_dl_dst_substitute): Remove checks that is_path
is set and name contains ':', and all code depending on these checks.
diff --git a/elf/dl-load.c b/elf/dl-load.c
index a60277d311..87dfdf8a15 100644
--- a/elf/dl-load.c
+++ b/elf/dl-load.c
@@ -206,14 +206,12 @@ is_dst (const char *start, const char *name, const char *str,
/* Skip over closing curly brace and adjust for the --name. */
len += 2;
}
- else if (name[len] != '\0' && name[len] != '/'
- && (!is_path || name[len] != ':'))
+ else if (name[len] != '\0' && name[len] != '/')
return 0;
if (__glibc_unlikely (secure)
- && ((name[len] != '\0' && name[len] != '/'
- && (!is_path || name[len] != ':'))
- || (name != start + 1 && (!is_path || name[-2] != ':'))))
+ && ((name[len] != '\0' && name[len] != '/')
+ || (name != start + 1)))
return 0;
return len;