[Midnightbsd-cvs] src [8097] trunk/libexec/rtld-elf/rtld.c: do not reference z_nodeflib for not objgiven case, thus fixing LD_PRELOAD for a non absolute path
laffer1 at midnightbsd.org
laffer1 at midnightbsd.org
Thu Sep 15 18:54:12 EDT 2016
Revision: 8097
http://svnweb.midnightbsd.org/src/?rev=8097
Author: laffer1
Date: 2016-09-15 18:54:11 -0400 (Thu, 15 Sep 2016)
Log Message:
-----------
do not reference z_nodeflib for not objgiven case, thus fixing LD_PRELOAD for a non absolute path
Modified Paths:
--------------
trunk/libexec/rtld-elf/rtld.c
Modified: trunk/libexec/rtld-elf/rtld.c
===================================================================
--- trunk/libexec/rtld-elf/rtld.c 2016-09-15 22:53:07 UTC (rev 8096)
+++ trunk/libexec/rtld-elf/rtld.c 2016-09-15 22:54:11 UTC (rev 8097)
@@ -1429,7 +1429,7 @@
{
char *pathname;
char *name;
- bool objgiven;
+ bool nodeflib, objgiven;
objgiven = refobj != NULL;
if (strchr(xname, '/') != NULL) { /* Hard coded pathname */
@@ -1464,6 +1464,7 @@
(pathname = search_library_path(name, STANDARD_LIBRARY_PATH)) != NULL)
return (pathname);
} else {
+ nodeflib = objgiven ? refobj->z_nodeflib : false;
if ((objgiven &&
(pathname = search_library_path(name, refobj->rpath)) != NULL) ||
(objgiven && refobj->runpath == NULL && refobj != obj_main &&
@@ -1471,9 +1472,8 @@
(pathname = search_library_path(name, ld_library_path)) != NULL ||
(objgiven &&
(pathname = search_library_path(name, refobj->runpath)) != NULL) ||
- (pathname = search_library_path(name, gethints(refobj->z_nodeflib)))
- != NULL ||
- (objgiven && !refobj->z_nodeflib &&
+ (pathname = search_library_path(name, gethints(nodeflib))) != NULL ||
+ (objgiven && !nodeflib &&
(pathname = search_library_path(name, STANDARD_LIBRARY_PATH)) != NULL))
return (pathname);
}
More information about the Midnightbsd-cvs
mailing list