diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2023-01-06 17:53:54 -0800 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2023-01-06 18:05:57 -0800 |
commit | 9e98ff562b4b8f2dae92bd4c64d15934c7d5877f (patch) | |
tree | f37ce6d03a710f541fbbe72b9533a05d1a63103f /lib/file-has-acl.c | |
parent | 2f05f48918ecf6e59b330709b09a36f81f7b6c48 (diff) | |
download | emacs-9e98ff562b4b8f2dae92bd4c64d15934c7d5877f.tar.gz |
Update from Gnulib by running admin/merge-gnulib
Diffstat (limited to 'lib/file-has-acl.c')
-rw-r--r-- | lib/file-has-acl.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/lib/file-has-acl.c b/lib/file-has-acl.c index d0e11e631ca..b31a2ea2523 100644 --- a/lib/file-has-acl.c +++ b/lib/file-has-acl.c @@ -81,9 +81,10 @@ acl_nfs4_nontrivial (uint32_t *xattr, ssize_t nbytes) uint32_t flag = ntohl (xattr[1]); uint32_t wholen = ntohl (xattr[3]); xattr += 4; - int64_t wholen4 = wholen; - wholen4 = ((wholen4 + (BYTES_PER_NETWORK_UINT)) - & ~ (BYTES_PER_NETWORK_UINT - 1)); + int whowords = (wholen / BYTES_PER_NETWORK_UINT + + (wholen % BYTES_PER_NETWORK_UINT != 0)); + int64_t wholen4 = whowords; + wholen4 *= BYTES_PER_NETWORK_UINT; /* Trivial ACLs have only ACE4_ACCESS_ALLOWED_ACE_TYPE or ACE4_ACCESS_DENIED_ACE_TYPE. */ @@ -115,7 +116,7 @@ acl_nfs4_nontrivial (uint32_t *xattr, ssize_t nbytes) return 1; ace_found |= ace_found_bit; - xattr = (uint32_t *) ((char *) xattr + wholen4); + xattr += whowords; } return 0; |