tar-util: fix an off by one read
Standard Linux POSIX ACL tag values are 0x00, 0x01, 0x02, 0x04, 0x08, 0x10 and 0x20. ELEMENTSOF(tag_map) evaluates to 33, which is one past the last valid index 32.
This commit is contained in:
committed by
Yu Watanabe
parent
9c665ee7aa
commit
6df59b0753
@@ -1341,7 +1341,7 @@ static int archive_write_acl(
|
||||
assert_cc(ACL_UNDEFINED_TAG == 0); /* safety check, we assume that holes are filled with ACL_UNDEFINED_TAG */
|
||||
assert_cc(ELEMENTSOF(tag_map) <= 64); /* safety check, we assume that the tag ids are all packed and low */
|
||||
|
||||
int tag = ntag >= 0 && ntag <= (acl_tag_t) ELEMENTSOF(tag_map) ? tag_map[ntag] : ACL_UNDEFINED_TAG;
|
||||
int tag = ntag >= 0 && ntag < (acl_tag_t) ELEMENTSOF(tag_map) ? tag_map[ntag] : ACL_UNDEFINED_TAG;
|
||||
|
||||
bool skip = false;
|
||||
id_t qualifier = UID_INVALID;
|
||||
|
||||
Reference in New Issue
Block a user