ACL storage management

There are several functions that manage the memory associated with ACLs.

acl_init()
Allocate and initialize an ACL working storage area. The argument to this function is the number of entries that you want in the list (although acl_init() might allocate more). It returns an acl_t pointer.
acl_dup()
Duplicate an access control list in working storage. You pass it an acl_t pointer, and it returns a pointer to the copy of the list.
acl_free()
Free the working storage area allocated for an access control list (ACL) data object. You should use this function to free the memory allocated by the other acl_*() functions.