Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2002-09-11 14:37:11 +0400
committerCorinna Vinschen <corinna@vinschen.de>2002-09-11 14:37:11 +0400
commit5a8746b73201f906c0a2d03041130c28f89eb26d (patch)
treecccaba3bb75d28da890a4174c9d4d854c54aa7ff /winsup/cygwin/security.h
parent22f8000733076a2acf41e58f8294341c256628b0 (diff)
* 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.
Diffstat (limited to 'winsup/cygwin/security.h')
-rw-r--r--winsup/cygwin/security.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/winsup/cygwin/security.h b/winsup/cygwin/security.h
index 580d7c143..d9bd691f3 100644
--- a/winsup/cygwin/security.h
+++ b/winsup/cygwin/security.h
@@ -86,7 +86,7 @@ public:
}
};
-typedef enum { cygsidlist_unknown, cygsidlist_alloc, cygsidlist_auto } cygsidlist_type;
+typedef enum { cygsidlist_empty, cygsidlist_alloc, cygsidlist_auto } cygsidlist_type;
class cygsidlist {
int maxcount;
public:
@@ -167,6 +167,11 @@ public:
sgsids = newsids;
ischanged = TRUE;
}
+ void clear_supp ()
+ {
+ sgsids.free_sids ();
+ ischanged = TRUE;
+ }
void update_pgrp (const PSID sid)
{
pgsid = sid;