diff options
author | Andreas Schneider <asn@samba.org> | 2014-10-09 09:13:48 +0200 |
---|---|---|
committer | Andreas Schneider <asn@cryptomilk.org> | 2014-10-09 12:24:03 +0200 |
commit | 697908277951dc7fb9570e17f2662d8734aab986 (patch) | |
tree | 4ee82231a743ea885c86b0046894f61ef6ad03f6 /lib/nss_wrapper | |
parent | 1b27b73c6056b8ba1a7192f7a42c7638af445565 (diff) | |
download | samba-697908277951dc7fb9570e17f2662d8734aab986.tar.gz |
nwrap: Fall back to RTLD_NEXT if we can't find libc.
Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Diffstat (limited to 'lib/nss_wrapper')
-rw-r--r-- | lib/nss_wrapper/nss_wrapper.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/lib/nss_wrapper/nss_wrapper.c b/lib/nss_wrapper/nss_wrapper.c index a012cbd84b9..e3943ee61b5 100644 --- a/lib/nss_wrapper/nss_wrapper.c +++ b/lib/nss_wrapper/nss_wrapper.c @@ -562,10 +562,6 @@ static void *nwrap_load_lib_handle(enum nwrap_lib lib) void *handle = NULL; int i; -#ifdef HAVE_APPLE - return RTLD_NEXT; -#endif - #ifdef RTLD_DEEPBIND flags |= RTLD_DEEPBIND; #endif @@ -619,10 +615,17 @@ static void *nwrap_load_lib_handle(enum nwrap_lib lib) } if (handle == NULL) { +#ifdef RTLD_NEXT + handle = nwrap_main_global->libc->handle + = nwrap_main_global->libc->sock_handle + = nwrap_main_global->libc->nsl_handle + = RTLD_NEXT; +#else NWRAP_LOG(NWRAP_LOG_ERROR, "Failed to dlopen library: %s\n", dlerror()); exit(-1); +#endif } return handle; |