svn commit: r321607 - head/libexec/rtld-elf
Konstantin Belousov
kib at FreeBSD.org
Thu Jul 27 08:33:32 UTC 2017
Author: kib
Date: Thu Jul 27 08:33:31 2017
New Revision: 321607
URL: https://svnweb.freebsd.org/changeset/base/321607
Log:
Allow to specify targets by absolute paths in libmap.conf.
Submitted by: Tatu Kilappa <tatu.kilappa at iki.fi>
PR: 221032
MFC after: 2 weeks
Modified:
head/libexec/rtld-elf/rtld.c
Modified: head/libexec/rtld-elf/rtld.c
==============================================================================
--- head/libexec/rtld-elf/rtld.c Thu Jul 27 07:28:29 2017 (r321606)
+++ head/libexec/rtld-elf/rtld.c Thu Jul 27 08:33:31 2017 (r321607)
@@ -1590,19 +1590,20 @@ find_library(const char *xname, const Obj_Entry *refob
bool nodeflib, objgiven;
objgiven = refobj != NULL;
- if (strchr(xname, '/') != NULL) { /* Hard coded pathname */
- if (xname[0] != '/' && !trust) {
+
+ if (libmap_disable || !objgiven ||
+ (name = lm_find(refobj->path, xname)) == NULL)
+ name = (char *)xname;
+
+ if (strchr(name, '/') != NULL) { /* Hard coded pathname */
+ if (name[0] != '/' && !trust) {
_rtld_error("Absolute pathname required for shared object \"%s\"",
- xname);
- return NULL;
+ name);
+ return (NULL);
}
return (origin_subst(__DECONST(Obj_Entry *, refobj),
- __DECONST(char *, xname)));
+ __DECONST(char *, name)));
}
-
- if (libmap_disable || !objgiven ||
- (name = lm_find(refobj->path, xname)) == NULL)
- name = (char *)xname;
dbg(" Searching for \"%s\"", name);
More information about the svn-src-head
mailing list