]> sourceware.org Git - newlib-cygwin.git/commit
Cygwin: chmod: don't drop default ACEs from directory ACLs
authorCorinna Vinschen <corinna@vinschen.de>
Thu, 9 Feb 2023 20:47:15 +0000 (21:47 +0100)
committerCorinna Vinschen <corinna@vinschen.de>
Thu, 9 Feb 2023 20:58:20 +0000 (21:58 +0100)
commit9afd4c055814ddcb51ba9cc0e99250e5ded852cf
tree59cb3768563e831035f65acd9fb9ec0d089cb4c2
parent283583c5f24000dc4a5872725d21c4313d13350f
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>
winsup/cygwin/fhandler/disk_file.cc
winsup/cygwin/release/3.4.6
This page took 0.030133 seconds and 5 git commands to generate.