From b62b8d7c8086626f09f699e278d604ac0c8fe9a3 Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Wed, 6 Apr 2005 12:35:52 +0000 Subject: * security.h (cygsidlist::addfromgr): Avoid duplicate entries. * grp.cc (initgrousp): Add syscall_printf. (setgroups): Add syscall_printf and make sure sids are added only once. --- winsup/cygwin/security.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'winsup/cygwin/security.h') diff --git a/winsup/cygwin/security.h b/winsup/cygwin/security.h index 0ee8e7134..1c95d30b3 100644 --- a/winsup/cygwin/security.h +++ b/winsup/cygwin/security.h @@ -148,7 +148,8 @@ public: BOOL add (const char *sidstr) { cygsid nsi (sidstr); return add (nsi); } BOOL addfromgr (struct __group32 *gr) /* Only with alloc */ - { return sids[count++].getfromgr (gr); } + { return sids[count].getfromgr (gr) + && (contains (sids[count]) || ++count); } BOOL operator+= (cygsid &si) { return add (si); } BOOL operator+= (const char *sidstr) { return add (sidstr); } -- cgit v1.2.3