From: Timo Sirainen Date: Fri, 9 Sep 2016 11:07:11 +0000 (+0300) Subject: lib-storage: Fixed accessing user as root when user has no uid. X-Git-Tag: 2.3.0.rc1~3050 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8c81109dca287f1830aac57bae61e57260248941;p=thirdparty%2Fdovecot%2Fcore.git lib-storage: Fixed accessing user as root when user has no uid. This shouldn't normally be done, but might as well fix it. Fixes: Fatal: mail-storage-service: seteuid(4294967295) failed: Invalid argument --- diff --git a/src/lib-storage/mail-storage-service.c b/src/lib-storage/mail-storage-service.c index 16eb0e053b..3d21a112b8 100644 --- a/src/lib-storage/mail-storage-service.c +++ b/src/lib-storage/mail-storage-service.c @@ -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 */