]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-storage: Fixed accessing user as root when user has no uid.
authorTimo Sirainen <timo.sirainen@dovecot.fi>
Fri, 9 Sep 2016 11:07:11 +0000 (14:07 +0300)
committerTimo Sirainen <timo.sirainen@dovecot.fi>
Fri, 9 Sep 2016 11:07:11 +0000 (14:07 +0300)
This shouldn't normally be done, but might as well fix it. Fixes:

Fatal: mail-storage-service: seteuid(4294967295) failed: Invalid argument

src/lib-storage/mail-storage-service.c

index 16eb0e053b5f753529d8559bf2606fccc09507ec..3d21a112b89897fdc91698b85b263d6e62ac1908 100644 (file)
@@ -610,7 +610,7 @@ service_drop_privileges(struct mail_storage_service_user *user,
        }
 
        if (keep_setuid_root) {
-               if (current_euid != rset.uid) {
+               if (current_euid != rset.uid && rset.uid != (uid_t)-1) {
                        if (current_euid != 0) {
                                /* we're changing the UID,
                                   switch back to root first */