mirror of https://gitee.com/openkylin/glibc.git
local-nss-upgrade
# DP: This patch makes future upgrades easier. It resolves problems with # DP: running daemons having NSS modules upgraded out from under them. # DP: This patch makes future upgrades easier. It resolves problems with # DP: running daemons having NSS modules upgraded out from under them. Gbp-Pq: Topic any Gbp-Pq: Name local-nss-upgrade.diff
This commit is contained in:
parent
2cb76bc457
commit
7cff6eee06
|
@ -359,9 +359,20 @@ nss_load_library (service_user *ni)
|
|||
ni->library->lib_handle = __libc_dlopen (shlib_name);
|
||||
if (ni->library->lib_handle == NULL)
|
||||
{
|
||||
/* Failed to load the library. */
|
||||
ni->library->lib_handle = (void *) -1l;
|
||||
__set_errno (saved_errno);
|
||||
/* Failed to load the library. Try a fallback. */
|
||||
int n = __snprintf(shlib_name, shlen, "libnss_%s.so.%d.%d",
|
||||
ni->library->name, __GLIBC__, __GLIBC_MINOR__);
|
||||
if (n >= shlen)
|
||||
ni->library->lib_handle = NULL;
|
||||
else
|
||||
ni->library->lib_handle = __libc_dlopen (shlib_name);
|
||||
|
||||
if (ni->library->lib_handle == NULL)
|
||||
{
|
||||
/* Ok, really fail now. */
|
||||
ni->library->lib_handle = (void *) -1l;
|
||||
__set_errno (saved_errno);
|
||||
}
|
||||
}
|
||||
# ifdef USE_NSCD
|
||||
else if (is_nscd)
|
||||
|
|
Loading…
Reference in New Issue