s4-pvfs: fixed mask handling for SEC_FLAG_MAXIMUM_ALLOWED
authorAndrew Tridgell <tridge@samba.org>
Thu, 15 Oct 2009 23:05:02 +0000 (10:05 +1100)
committerAndrew Tridgell <tridge@samba.org>
Thu, 15 Oct 2009 23:12:18 +0000 (10:12 +1100)
This matches the sec_access_check() code

source4/ntvfs/posix/pvfs_acl.c

index 7a204b4d43db3839e5967a738280443d7c59e03d..4680b17b7977241a71c48b27923b144722eac67d 100644 (file)
@@ -517,8 +517,8 @@ NTSTATUS pvfs_access_check_unix(struct pvfs_state *pvfs,
        }
 
        if (*access_mask & SEC_FLAG_MAXIMUM_ALLOWED) {
-               *access_mask = max_bits;
-               return NT_STATUS_OK;
+               *access_mask |= max_bits;
+               *access_mask &= ~SEC_FLAG_MAXIMUM_ALLOWED;
        }
 
        if (uid != 0 && (*access_mask & SEC_FLAG_SYSTEM_SECURITY)) {