2022-12-27 Paul Eggert <eggert@cs.ucla.edu>
+ file-has-acl: fix recently-introduced NFSv4 bug
+ * lib/file-has-acl.c (acl_nfs4_nontrivial): Fix off-by-one
+ error when rounding WHOLEN up to next multiple of 4.
+ Pacify GCC 12.2.1 -Wcast-align.
+
Add --pull, --gen options to build-aux/bootstrap
This supports a single bootstrap script with --pull and --gen
options, as an alternative to separate autogen.sh and autopull.sh
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. */
return 1;
ace_found |= ace_found_bit;
- xattr = (uint32_t *) ((char *) xattr + wholen4);
+ xattr += whowords;
}
return 0;