diff --git a/libntfs-3g/acls.c b/libntfs-3g/acls.c index 3ea5c9f5..d9fe7076 100644 --- a/libntfs-3g/acls.c +++ b/libntfs-3g/acls.c @@ -635,12 +635,14 @@ BOOL ntfs_valid_descr(const char *securattr, unsigned int attrsz) * but "Dr Watson" has SE_DACL_PRESENT though no DACL */ && (!offdacl - || ((pdacl->revision == ACL_REVISION) - && (phead->control & SE_DACL_PRESENT))) + || ((phead->control & SE_DACL_PRESENT) + && ((pdacl->revision == ACL_REVISION) + || (pdacl->revision == ACL_REVISION_DS)))) /* same for SACL */ && (!offsacl - || ((psacl->revision == ACL_REVISION) - && (phead->control & SE_SACL_PRESENT)))) { + || ((phead->control & SE_SACL_PRESENT) + && ((psacl->revision == ACL_REVISION) + || (psacl->revision == ACL_REVISION_DS))))) { /* * Check the DACL and SACL if present */