summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Schneider <asn@samba.org>2015-10-30 13:41:18 +0100
committerAndreas Schneider <asn@cryptomilk.org>2015-11-05 09:23:16 +0100
commit3328bcede7b2950f9d1ec4c0c9d8acf684b77d30 (patch)
tree31ace3e72c12b9fa6541dd3f9837bc96e9efacce
parent6e30b2e63854c9c7067f176c84468aece17641f7 (diff)
downloadsamba-3328bcede7b2950f9d1ec4c0c9d8acf684b77d30.tar.gz
uwrap: Add the EINVAL check to setegid()
Signed-off-by: Andreas Schneider <asn@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
-rw-r--r--lib/uid_wrapper/uid_wrapper.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/uid_wrapper/uid_wrapper.c b/lib/uid_wrapper/uid_wrapper.c
index d720e533e4e..2702bd7c71a 100644
--- a/lib/uid_wrapper/uid_wrapper.c
+++ b/lib/uid_wrapper/uid_wrapper.c
@@ -1665,6 +1665,12 @@ int setegid(gid_t egid)
return libc_setegid(egid);
}
+ /* On FreeBSD the uid_t -1 is set and doesn't produce and error */
+ if (egid == (gid_t)-1) {
+ errno = EINVAL;
+ return -1;
+ }
+
uwrap_init();
return uwrap_setresgid(-1, egid, -1);
}