[PATCH] Cygwin: get_posix_access: avoid negative subscript
Corinna Vinschen
corinna-cygwin@cygwin.com
Tue Aug 27 08:14:00 GMT 2019
Hi Ken,
On Aug 26 17:43, Ken Brown wrote:
> Don't refer to lacl[pos] unless we know that pos >= 0.
I'm not sure this is entirely right. Moving the assignment to
class_perm/def_class_perm into the previous if makes sense, but the
bools has_class_perm and has_def_class_perm should be set no matter
what, to indicate that class perms had been specified.
Either way, does this solve a real-world problem? If so, a pointer
or a short description would be nice.
Thanks,
Corinna
> ---
> winsup/cygwin/sec_acl.cc | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/winsup/cygwin/sec_acl.cc b/winsup/cygwin/sec_acl.cc
> index 933bfa69d..67749d7b1 100644
> --- a/winsup/cygwin/sec_acl.cc
> +++ b/winsup/cygwin/sec_acl.cc
> @@ -807,9 +807,9 @@ get_posix_access (PSECURITY_DESCRIPTOR psd,
> lacl[pos].a_id = ACL_UNDEFINED_ID;
> lacl[pos].a_perm = CYG_ACE_MASK_TO_POSIX (ace->Mask);
> aclsid[pos] = well_known_null_sid;
> + has_class_perm = true;
> + class_perm = lacl[pos].a_perm;
> }
> - has_class_perm = true;
> - class_perm = lacl[pos].a_perm;
> }
> if (ace->Header.AceFlags & SUB_CONTAINERS_AND_OBJECTS_INHERIT)
> {
> @@ -820,9 +820,9 @@ get_posix_access (PSECURITY_DESCRIPTOR psd,
> lacl[pos].a_id = ACL_UNDEFINED_ID;
> lacl[pos].a_perm = CYG_ACE_MASK_TO_POSIX (ace->Mask);
> aclsid[pos] = well_known_null_sid;
> + has_def_class_perm = true;
> + def_class_perm = lacl[pos].a_perm;
> }
> - has_def_class_perm = true;
> - def_class_perm = lacl[pos].a_perm;
> }
> }
> }
> --
> 2.21.0
--
Corinna Vinschen
Cygwin Maintainer
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://cygwin.com/pipermail/cygwin-patches/attachments/20190827/c66aba15/attachment.sig>
More information about the Cygwin-patches
mailing list