Revert "nss: prevent PROTECT_ERRNO from squashing changes to *errnop"
This reverts commit b26c904113.
I don't see anythign wrong, but Ubuntu autopkgtest CI started failing fairly
consistently since this was merged. Let's see if reverting fixes things.
This commit is contained in:
@@ -210,7 +210,7 @@ enum nss_status _nss_systemd_getpwnam_r(
|
||||
|
||||
l = strlen(name);
|
||||
if (buflen < l+1) {
|
||||
*errnop = DISARM_PROTECT_ERRNO(ERANGE);
|
||||
*errnop = ERANGE;
|
||||
return NSS_STATUS_TRYAGAIN;
|
||||
}
|
||||
|
||||
@@ -227,7 +227,7 @@ enum nss_status _nss_systemd_getpwnam_r(
|
||||
return NSS_STATUS_SUCCESS;
|
||||
|
||||
fail:
|
||||
*errnop = DISARM_PROTECT_ERRNO(r);
|
||||
*errnop = -r;
|
||||
return NSS_STATUS_UNAVAIL;
|
||||
}
|
||||
|
||||
@@ -310,7 +310,7 @@ enum nss_status _nss_systemd_getpwuid_r(
|
||||
|
||||
l = strlen(translated) + 1;
|
||||
if (buflen < l) {
|
||||
*errnop = DISARM_PROTECT_ERRNO(ERANGE);
|
||||
*errnop = ERANGE;
|
||||
return NSS_STATUS_TRYAGAIN;
|
||||
}
|
||||
|
||||
@@ -327,7 +327,7 @@ enum nss_status _nss_systemd_getpwuid_r(
|
||||
return NSS_STATUS_SUCCESS;
|
||||
|
||||
fail:
|
||||
*errnop = DISARM_PROTECT_ERRNO(r);
|
||||
*errnop = -r;
|
||||
return NSS_STATUS_UNAVAIL;
|
||||
}
|
||||
|
||||
@@ -408,7 +408,7 @@ enum nss_status _nss_systemd_getgrnam_r(
|
||||
|
||||
l = sizeof(char*) + strlen(name) + 1;
|
||||
if (buflen < l) {
|
||||
*errnop = DISARM_PROTECT_ERRNO(ERANGE);
|
||||
*errnop = ERANGE;
|
||||
return NSS_STATUS_TRYAGAIN;
|
||||
}
|
||||
|
||||
@@ -423,7 +423,7 @@ enum nss_status _nss_systemd_getgrnam_r(
|
||||
return NSS_STATUS_SUCCESS;
|
||||
|
||||
fail:
|
||||
*errnop = DISARM_PROTECT_ERRNO(r);
|
||||
*errnop = -r;
|
||||
return NSS_STATUS_UNAVAIL;
|
||||
}
|
||||
|
||||
@@ -506,7 +506,7 @@ enum nss_status _nss_systemd_getgrgid_r(
|
||||
|
||||
l = sizeof(char*) + strlen(translated) + 1;
|
||||
if (buflen < l) {
|
||||
*errnop = DISARM_PROTECT_ERRNO(ERANGE);
|
||||
*errnop = ERANGE;
|
||||
return NSS_STATUS_TRYAGAIN;
|
||||
}
|
||||
|
||||
@@ -521,7 +521,7 @@ enum nss_status _nss_systemd_getgrgid_r(
|
||||
return NSS_STATUS_SUCCESS;
|
||||
|
||||
fail:
|
||||
*errnop = DISARM_PROTECT_ERRNO(r);
|
||||
*errnop = -r;
|
||||
return NSS_STATUS_UNAVAIL;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user