diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2012-05-29 17:01:50 +0400 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2012-05-29 17:01:50 +0400 |
commit | d560c4b2baba962ab5fd5beccf2aba1cad16fa2f (patch) | |
tree | 6d70b1fde4f5609364366c94c8f8fabafe9be139 /winsup/cygwin/security.h | |
parent | 00ef94f3389db4568c3c9825d34febc520807c59 (diff) |
* security.h (cygsidlist::+=): Correctly copy well_known_sid info from
source cygsid.
Diffstat (limited to 'winsup/cygwin/security.h')
-rw-r--r-- | winsup/cygwin/security.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/winsup/cygwin/security.h b/winsup/cygwin/security.h index 6629260d2..907cbe766 100644 --- a/winsup/cygwin/security.h +++ b/winsup/cygwin/security.h @@ -1,7 +1,7 @@ /* security.h: security declarations Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, - 2010, 2011 Red Hat, Inc. + 2010, 2011, 2012 Red Hat, Inc. This file is part of Cygwin. @@ -223,9 +223,12 @@ public: /* += adds a "normal" SID, *= adds a well-known SID. See comment in class cygsid above. */ - BOOL operator+= (cygsid &si) { return add ((PSID) si, false); } + BOOL operator+= (cygsid &si) { return add ((PSID) si, + si.is_well_known_sid ()); } BOOL operator+= (const char *sidstr) { cygsid nsi (sidstr); - return add ((PSID) nsi, false); } + return add ((PSID) nsi, + nsi.is_well_known_sid ()); + } BOOL operator+= (const PSID psid) { return add (psid, false); } BOOL operator*= (cygsid &si) { return add ((PSID) si, true); } BOOL operator*= (const char *sidstr) { cygsid nsi (sidstr); |