diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2023-02-09 23:47:15 +0300 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2023-02-09 23:59:47 +0300 |
commit | b66979e1523eea3fbcec9b831442881571b83242 (patch) | |
tree | 183b4e349726f70ba798032d8478fe92a4a0cb80 /winsup/cygwin/fhandler/raw.cc | |
parent | 56751f7f05dca86be15642628c874ea0b2207fc6 (diff) |
Cygwin: chmod: don't drop default ACEs from directory ACLs
commit bc444e5aa4ca introduced a call to get_posix_access()
with a NULL pointer for the mode_t parameter because the value
is not needed later on... entirely ignoring the fact that the
mode_t bits are checked for the object being a directory.
In turn, the get_posix_access() call never checked for default
ACEs and returned only the standard ACEs. Thus, every chmod call
on a directory dropped the default ACEs from its permissions, as
well as the default NULL deny-ACE used to store specific bits.
It got also impossible to set the sgid bit on directories.
Fixes: bc444e5aa4ca ("Reapply POSIX ACL changes.")
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Diffstat (limited to 'winsup/cygwin/fhandler/raw.cc')
0 files changed, 0 insertions, 0 deletions