aboutsummaryrefslogtreecommitdiff
path: root/libexec/rtld-elf/libmap.c
diff options
context:
space:
mode:
Diffstat (limited to 'libexec/rtld-elf/libmap.c')
-rw-r--r--libexec/rtld-elf/libmap.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/libexec/rtld-elf/libmap.c b/libexec/rtld-elf/libmap.c
index cb72f03f3176..773456b1f74d 100644
--- a/libexec/rtld-elf/libmap.c
+++ b/libexec/rtld-elf/libmap.c
@@ -263,14 +263,12 @@ lm_findn (const char *p, const char *f, const int n)
{
char pathbuf[64], *s, *t;
- if (n < sizeof(pathbuf) - 1) {
- memcpy(pathbuf, f, n);
- pathbuf[n] = '\0';
+ if (n < sizeof(pathbuf) - 1)
s = pathbuf;
- } else {
+ else
s = xmalloc(n + 1);
- strcpy(s, f);
- }
+ memcpy(s, f, n);
+ s[n] = '\0';
t = lm_find(p, s);
if (s != pathbuf)
free(s);