diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2010-09-10 18:53:44 +0400 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2010-09-10 18:53:44 +0400 |
commit | 4e8f539f158b9d3413d0b88ce2fb8f70733139d8 (patch) | |
tree | cdd8b95ced54952c50a3335c901e94a5f288b46a /winsup/cygwin/flock.cc | |
parent | f65c5a0a2b1728ce2b317b31b601574f1ef7f5b2 (diff) |
* flock.cc (allow_others_to_sync): Define MAX_PROCESS_SD_SIZE. Use
instead of ACL_DEFAULT_SIZE.
* sec_acl.cc (setacl): Use TLS buffer to allow maximum ACL size.
* security.h (ACL_DEFAULT_SIZE): Drop definition.
(ACL_MAXIMUM_SIZE): Define.
(SD_MAXIMUM_SIZE): Define.
* security.cc (get_file_sd): Allocate security_decscriptor with size
SD_MAXIMUM_SIZE.
(alloc_sd): Use TLS buffer to allow maximum ACL size.
Diffstat (limited to 'winsup/cygwin/flock.cc')
-rw-r--r-- | winsup/cygwin/flock.cc | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/winsup/cygwin/flock.cc b/winsup/cygwin/flock.cc index 7d0436b11..c899361ff 100644 --- a/winsup/cygwin/flock.cc +++ b/winsup/cygwin/flock.cc @@ -155,10 +155,11 @@ allow_others_to_sync () should be more than sufficient for process ACLs. Can't use tls functions at this point because this gets called during initialization when the tls is not really available. */ - PSECURITY_DESCRIPTOR sd = (PSECURITY_DESCRIPTOR) alloca (ACL_DEFAULT_SIZE); +#define MAX_PROCESS_SD_SIZE 3072 + PSECURITY_DESCRIPTOR sd = (PSECURITY_DESCRIPTOR) alloca (MAX_PROCESS_SD_SIZE); status = NtQuerySecurityObject (NtCurrentProcess (), DACL_SECURITY_INFORMATION, sd, - ACL_DEFAULT_SIZE, &len); + MAX_PROCESS_SD_SIZE, &len); if (!NT_SUCCESS (status)) { debug_printf ("NtQuerySecurityObject: %p", status); |