diff options
author | Andreas Schneider <asn@samba.org> | 2015-10-30 13:41:18 +0100 |
---|---|---|
committer | Andreas Schneider <asn@cryptomilk.org> | 2015-11-05 09:23:16 +0100 |
commit | 3328bcede7b2950f9d1ec4c0c9d8acf684b77d30 (patch) | |
tree | 31ace3e72c12b9fa6541dd3f9837bc96e9efacce | |
parent | 6e30b2e63854c9c7067f176c84468aece17641f7 (diff) | |
download | samba-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.c | 6 |
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); } |