From 5a8746b73201f906c0a2d03041130c28f89eb26d Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Wed, 11 Sep 2002 10:37:11 +0000 Subject: * grp.cc (initgroups): Call groups::clear_supp to free the supplementary group sids that may have been set by setgroups. * security.cc (cygsidlist::free_sids): Also zero the class members. * security.h (groups::clear_supp): New. Rename cygsidlist_unknown to cygsidlist_empty. --- winsup/cygwin/grp.cc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'winsup/cygwin/grp.cc') diff --git a/winsup/cygwin/grp.cc b/winsup/cygwin/grp.cc index 5bfb50e14..31f577a94 100644 --- a/winsup/cygwin/grp.cc +++ b/winsup/cygwin/grp.cc @@ -449,14 +449,16 @@ extern "C" int initgroups32 (const char *, __gid32_t) { + if (wincap.has_security ()) + cygheap->user.groups.clear_supp (); return 0; } extern "C" int -initgroups (const char *, __gid16_t) +initgroups (const char * name, __gid16_t gid) { - return 0; + return initgroups32 (name, gid16togid32(gid)); } /* setgroups32: standards? */ -- cgit v1.2.3