From 2232db817336787c520ad32a1d3179a628d53e06 Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Fri, 30 Oct 2015 13:39:30 +0100 Subject: [PATCH] uwrap: Move the EINVAL check down in seteuid() Signed-off-by: Andreas Schneider Reviewed-by: Stefan Metzmacher --- lib/uid_wrapper/uid_wrapper.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/lib/uid_wrapper/uid_wrapper.c b/lib/uid_wrapper/uid_wrapper.c index e0d84beb7ea..dd999ffc114 100644 --- a/lib/uid_wrapper/uid_wrapper.c +++ b/lib/uid_wrapper/uid_wrapper.c @@ -1293,15 +1293,16 @@ int setuid(uid_t uid) #ifdef HAVE_SETEUID int seteuid(uid_t euid) { + if (!uid_wrapper_enabled()) { + return libc_seteuid(euid); + } + + /* On FreeBSD the uid_t -1 is set and doesn't produce and error */ if (euid == (uid_t)-1) { errno = EINVAL; return -1; } - if (!uid_wrapper_enabled()) { - return libc_seteuid(euid); - } - uwrap_init(); return uwrap_setresuid(-1, euid, -1); } -- 2.34.1