]> git.ipfire.org Git - thirdparty/dovecot/core.git/commit
userdb-passwd: Fix getpwent errno handling
authorAki Tuomi <aki.tuomi@dovecot.fi>
Fri, 5 Oct 2018 07:18:35 +0000 (10:18 +0300)
committerVille Savolainen <ville.savolainen@dovecot.fi>
Tue, 10 Sep 2019 07:01:55 +0000 (10:01 +0300)
commit0c222e2961569462011af3e6fab7e7b6910003fc
tree0fc09d38dfe3024b54b5e7ad3384400a79625cb8
parent9e314c0f692fd642d8f3bc97353c372c2700ba14
userdb-passwd: Fix getpwent errno handling

In https://bugs.gentoo.org/667118 Reuben Farrelly
noticed that running
    # doveadm user '*'
causes auth daemon to generate errors like:
    auth-worker(3585): Error: getpwent() failed: Invalid argument

This happens because on successful call getpwent()
now sets errno=EINVAL starting from glibc-2.28.
See https://sourceware.org/PR16004 for details.

The fix is to reset 'errno' before 'getpwent()' is called.

Reported-by: Reuben Farrelly
Bug: https://bugs.gentoo.org/667118
Bug: https://sourceware.org/PR16004
Original-Author: Sergei Trofimovich <slyfox@gentoo.org>
src/auth/userdb-passwd.c