mirror of
https://github.com/systemd/systemd-stable.git
synced 2025-02-26 09:57:26 +03:00
nss: always explicitly reset all error variables
glibc appears to be broken if we don't explicitly reset all error variables, let's work around that. https://bugzilla.redhat.com/show_bug.cgi?id=1125975
This commit is contained in:
parent
9fecce8041
commit
e70df46b97
@ -165,6 +165,11 @@ enum nss_status _nss_myhostname_gethostbyname4_r(
|
||||
if (ttlp)
|
||||
*ttlp = 0;
|
||||
|
||||
/* Explicitly reset all error variables */
|
||||
*errnop = 0;
|
||||
*h_errnop = NETDB_SUCCESS;
|
||||
h_errno = 0;
|
||||
|
||||
return NSS_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
@ -289,6 +294,11 @@ static enum nss_status fill_in_hostent(
|
||||
if (canonp)
|
||||
*canonp = r_name;
|
||||
|
||||
/* Explicitly reset all error variables */
|
||||
*errnop = 0;
|
||||
*h_errnop = NETDB_SUCCESS;
|
||||
h_errno = 0;
|
||||
|
||||
return NSS_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
|
@ -205,6 +205,11 @@ enum nss_status _nss_mymachines_gethostbyname4_r(
|
||||
if (ttlp)
|
||||
*ttlp = 0;
|
||||
|
||||
/* Explicitly reset all error variables */
|
||||
*errnop = 0;
|
||||
*h_errnop = NETDB_SUCCESS;
|
||||
h_errno = 0;
|
||||
|
||||
return NSS_STATUS_SUCCESS;
|
||||
|
||||
fail:
|
||||
@ -365,6 +370,11 @@ enum nss_status _nss_mymachines_gethostbyname3_r(
|
||||
if (canonp)
|
||||
*canonp = r_name;
|
||||
|
||||
/* Explicitly reset all error variables */
|
||||
*errnop = 0;
|
||||
*h_errnop = NETDB_SUCCESS;
|
||||
h_errno = 0;
|
||||
|
||||
return NSS_STATUS_SUCCESS;
|
||||
|
||||
fail:
|
||||
|
@ -281,6 +281,11 @@ enum nss_status _nss_resolve_gethostbyname4_r(
|
||||
if (ttlp)
|
||||
*ttlp = 0;
|
||||
|
||||
/* Explicitly reset all error variables */
|
||||
*errnop = 0;
|
||||
*h_errnop = NETDB_SUCCESS;
|
||||
h_errno = 0;
|
||||
|
||||
return NSS_STATUS_SUCCESS;
|
||||
|
||||
fail:
|
||||
@ -482,6 +487,11 @@ enum nss_status _nss_resolve_gethostbyname3_r(
|
||||
result->h_length = alen;
|
||||
result->h_addr_list = (char**) r_addr_list;
|
||||
|
||||
/* Explicitly reset all error variables */
|
||||
*errnop = 0;
|
||||
*h_errnop = NETDB_SUCCESS;
|
||||
h_errno = 0;
|
||||
|
||||
if (ttlp)
|
||||
*ttlp = 0;
|
||||
|
||||
@ -675,6 +685,11 @@ enum nss_status _nss_resolve_gethostbyaddr2_r(
|
||||
if (ttlp)
|
||||
*ttlp = 0;
|
||||
|
||||
/* Explicitly reset all error variables */
|
||||
*errnop = 0;
|
||||
*h_errnop = NETDB_SUCCESS;
|
||||
h_errno = 0;
|
||||
|
||||
return NSS_STATUS_SUCCESS;
|
||||
|
||||
fail:
|
||||
|
Loading…
x
Reference in New Issue
Block a user