ACL_FREE(3)
π ACL_FREE β release memory allocated to an ACL data object π
okay bestie, welcome to acl_free(3), straight out of the Library Functions Manual β¨ it lives in the Linux Access Control Lists library β that's libacl, and you link it with -lacl. π
β¨ SYNOPSIS β¨
#include <sys/types.h>
#include <sys/acl.h>
int
acl_free(void *obj_p);
π§ DESCRIPTION π§
so basically, acl_free() frees any releasable memory that's currently allocated to the ACL data object that obj_p points at. no cap, that's the whole job. π«Ά
and the way that obj_p is flexible?? iconic. it can point at:
- an ACL
- an ACL entry qualifier
- a pointer to a string that was allocated by
acl_to_text()
so like, three totally different vibes, one cleanup function. slay. π
π RETURN VALUE π
acl_free() returns the value 0 if it's successful β¨ otherwise it returns -1, and the global variable errno gets set to tell you what went wrong. not me being dramatic but like. respect the errno. π
π ERRORS π
if any of these conditions happen, acl_free() returns -1 and sets errno to the matching value:
[EINVAL]β the value of the argumentobj_pis invalid. π
bestie this is the only error listed here. if you seeEINVAL, yourobj_pis simply not it. π
π STANDARDS π
IEEE Std 1003.1e draft 17 (βPOSIX.1eβ, abandoned) β yeah it's abandoned, don't ask, we don't talk about it, it's giving ghosted. π
π¦ SEE ALSO π¦
acl_copy_int(3)acl_create_entry(3)acl_dup(3)acl_from_text(3)acl_get_fdacl_get_file(3)acl_init(3)acl(5)
π AUTHOR π
Derived from the FreeBSD manual pages written by Robert N M Watson <rwatson@FreeBSD.org>, and adapted for Linux by Andreas Gruenbacher <andreas.gruenbacher@gmail.com>. absolute legends, we stan. π
and that's the whole page, bestie!! this one came from the Linux ACL crew and it's dated March 23, 2002, filed under ACL_FREE(3) in the Library Functions Manual. go free your memory, you're doing amazing sweetie πβ¨πΈ
π¦ where this page comes from
- alpine 3.22: acl-doc 2.3.2-r1 Β· LGPL-2.1-or-later AND GPL-2.0-or-later
- alpine 3.23: acl-doc 2.3.2-r1 Β· LGPL-2.1-or-later AND GPL-2.0-or-later
- alpine 3.24: acl-doc 2.3.2-r1 Β· LGPL-2.1-or-later AND GPL-2.0-or-later
- arch rolling: acl 2.4.0-1 Β· LGPL-2.1-or-later AND GPL-2.0-or-later
- centos-stream 10: libacl-devel 2.4.0-2.el10 Β· LGPL-2.1-or-later
- centos-stream 9: libacl-devel 2.4.0-2.el9 Β· LGPLv2+
- centos-stream 9: libacl-devel 2.4.0-2.el9 Β· LGPLv2+
- debian bookworm: libacl1-dev 2.3.1-3
- debian trixie: libacl1-dev 2.3.2-2+b1
- fedora 43: libacl-devel 2.3.2-4.fc43 Β· LGPL-2.1-or-later
- fedora 43: libacl-devel 2.3.2-4.fc43 Β· LGPL-2.1-or-later
- fedora 43: libacl-devel 2.4.0-1.fc43 Β· LGPL-2.1-or-later
- fedora 43: libacl-devel 2.4.0-1.fc43 Β· LGPL-2.1-or-later
- fedora 44: libacl-devel 2.3.2-6.fc44 Β· LGPL-2.1-or-later
- fedora 44: libacl-devel 2.3.2-6.fc44 Β· LGPL-2.1-or-later
- fedora 44: libacl-devel 2.4.0-1.fc44 Β· LGPL-2.1-or-later
- fedora 44: libacl-devel 2.4.0-1.fc44 Β· LGPL-2.1-or-later
- nixpkgs unstable: acl 2.4.0
- opensuse-leap 16.0: libacl-devel 2.4.0-160000.1.1 Β· GPL-2.0-or-later AND LGPL-2.1-or-later
- opensuse-leap 16.0: libacl-devel 2.4.0-160000.1.1 Β· GPL-2.0-or-later AND LGPL-2.1-or-later
- opensuse-leap 16.0: libacl-devel 2.4.0-160000.1.1 Β· GPL-2.0-or-later AND LGPL-2.1-or-later
- opensuse-leap 16.0: libacl-devel 2.4.0-160000.1.1 Β· GPL-2.0-or-later AND LGPL-2.1-or-later
- ubuntu jammy: libacl1-dev 2.3.1-1
- ubuntu noble: libacl1-dev 2.3.2-1build1
- ubuntu noble: libacl1-dev 2.3.2-1build1.1
- ubuntu resolute: libacl1-dev 2.3.2-2
- ubuntu stonking: libacl1-dev 2.4.0-1
- (C) 2002 Andreas Gruenbacher, <andreas.gruenbacher@gmail.com>
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms