1.5.20: acltotext32 - fix of error when handling default ACL types

Corinna Vinschen corinna-cygwin@cygwin.com
Tue Jul 18 14:16:00 GMT 2006


On Jul 18 14:31, Silvio Laguzzi wrote:
> I tracked down the problem to the implementation of
> acltotext32 (__aclent32_t *aclbufp, int aclcnt) in
> src/winsup/cygwin/sec_acl.cc.
> 
> The prefix "default" was correctly added to the output string in buf for
> a default ACL entry type.
> But the following switch(aclbuf[pos].a_type) statement did not handle
> these default ACL entry types and stopped with EINVAL.
> 
> I changed line 731 in sec_acl.cc to
> 
> switch(aclbuf[pos].a_type & ~ACL_DEFAULT)
> 
> and everything went fine.
> 
> An unified diff for the code, the output of the 'cygcheck -s -v -r'
> command and the corresponding ChangeLog is included in this message.
> 
> I hope that this fix may contribute to improve Win32 ACL handling under
> Cygwin.
> [...]
> --- cygwin-snapshot-20060714-1/winsup/cygwin/sec_acl-orig.cc	2005-06-07 21:42:06.000000000 +0200
> +++ cygwin-snapshot-20060714-1/winsup/cygwin/sec_acl.cc	2006-07-18 12:50:47.812500000 +0200
> @@ -728,7 +728,7 @@ acltotext32 (__aclent32_t *aclbufp, int 
>        first = false;
>        if (aclbufp[pos].a_type & ACL_DEFAULT)
>  	strcat (buf, "default");
> -      switch (aclbufp[pos].a_type)
> +      switch (aclbufp[pos].a_type & ~ACL_DEFAULT)
>  	{
>  	case USER_OBJ:
>  	  __small_sprintf (buf + strlen (buf), "user::%s",
> 

> 2006-07-18  Silvio Laguzzi  <slaguzzi@data-al.de>
> 
> 	* sec_acl.cc (acltotext32): Add missing handling of default ACL entry
> 	types.
> 

Applied.  Thanks for the patch.

I assume this was accidentally but please don't attach *all* of the
ChangeLog file, just your single entry.  You can also entirely
drop the cygcheck output when sending patches to this list.  The
cygcheck output is only for analyzing problem reports on the cygwin ML.


Thanks,
Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat



More information about the Cygwin-patches mailing list