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:
Zbigniew Jędrzejewski-Szmek
2019-01-10 21:23:14 +01:00
parent 8e44f5710b
commit 0192cbdb2c
7 changed files with 44 additions and 133 deletions
+8 -8
View File
@@ -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;
}