diff --git a/src/auth/userdb-passwd.c b/src/auth/userdb-passwd.c index 03cbd554ff..699db314ce 100644 --- a/src/auth/userdb-passwd.c +++ b/src/auth/userdb-passwd.c @@ -172,8 +172,11 @@ static void passwd_iterate_next(struct userdb_iterate_context *_ctx) return; } - errno = 0; - while ((pw = getpwent()) != NULL) { + for (;;) { + errno = 0; + pw = getpwent(); + if (pw == NULL) + break; if (passwd_iterate_want_pw(pw, set)) { _ctx->callback(pw->pw_name, _ctx->context); return;