diff --git a/src/solaris/classes/sun/nio/fs/SolarisAclFileAttributeView.java b/src/solaris/classes/sun/nio/fs/SolarisAclFileAttributeView.java index 54023bf8265eaccfcc63ca45f982be6d015c269e..74c804d94d964a5cfd92a82c539bfcd5a7013b33 100644 --- a/src/solaris/classes/sun/nio/fs/SolarisAclFileAttributeView.java +++ b/src/solaris/classes/sun/nio/fs/SolarisAclFileAttributeView.java @@ -52,10 +52,10 @@ class SolarisAclFileAttributeView /** * typedef struct ace { * uid_t a_who; - * uitn32_t a_access_mark; + * uint32_t a_access_mask; * uint16_t a_flags; * uint16_t a_type; - * } act_t; + * } ace_t; */ private static final short SIZEOF_ACE_T = 12; private static final short OFFSETOF_UID = 0; @@ -209,21 +209,16 @@ class SolarisAclFileAttributeView // map uid and flags to UserPrincipal UnixUserPrincipals.User who = null; - if (uid == -1) { - if ((flags & ACE_OWNER) > 0) - who = UnixUserPrincipals.SPECIAL_OWNER; - if ((flags & ACE_GROUP) > 0) - who = UnixUserPrincipals.SPECIAL_GROUP; - if ((flags & ACE_EVERYONE) > 0) - who = UnixUserPrincipals.SPECIAL_EVERYONE; - if (who == null) - throw new AssertionError("ACE who not handled"); + if ((flags & ACE_OWNER) > 0) { + who = UnixUserPrincipals.SPECIAL_OWNER; + } else if ((flags & ACE_GROUP) > 0) { + who = UnixUserPrincipals.SPECIAL_GROUP; + } else if ((flags & ACE_EVERYONE) > 0) { + who = UnixUserPrincipals.SPECIAL_EVERYONE; + } else if ((flags & ACE_IDENTIFIER_GROUP) > 0) { + who = UnixUserPrincipals.fromGid(uid); } else { - // can be gid - if ((flags & ACE_IDENTIFIER_GROUP) > 0) - who = UnixUserPrincipals.fromGid(uid); - else - who = UnixUserPrincipals.fromUid(uid); + who = UnixUserPrincipals.fromUid(uid); } AclEntryType aceType = null; diff --git a/test/java/nio/file/Files/Misc.java b/test/java/nio/file/Files/Misc.java index 785dbefa1d176c434243cc3f9e8bd4d9ce7ceb39..6e704ee4489a0149666fd92d22818ed5e2490b0f 100644 --- a/test/java/nio/file/Files/Misc.java +++ b/test/java/nio/file/Files/Misc.java @@ -22,7 +22,7 @@ */ /* @test - * @bug 4313887 6838333 + * @bug 4313887 6838333 8005566 * @summary Unit test for miscellenous methods in java.nio.file.Files * @library .. */