X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flogin%2Fsd-login.c;h=2930b8751f06f35c49f177643d42583f035fd989;hb=66c7a5332a9ef33143ab57f5f0d1cff0dc4d6ac5;hp=c9a2e8a07fbb883e007f553d77779f92d726e880;hpb=80514f9c9bb86dbba761e4b026e5d62156ea112c;p=elogind.git diff --git a/src/login/sd-login.c b/src/login/sd-login.c index c9a2e8a07..2930b8751 100644 --- a/src/login/sd-login.c +++ b/src/login/sd-login.c @@ -555,13 +555,13 @@ _public_ int sd_get_uids(uid_t **users) { for (;;) { struct dirent *de; - union dirent_storage buf; int k; uid_t uid; - k = readdir_r(d, &buf.de, &de); - if (k != 0) - return -k; + errno = 0; + de = readdir(d); + if (!de && errno != 0) + return -errno; if (!de) break;