mac_free(3)

mac_free3

Free mac label

Usage

#include <sys/mac.h>

int

mac_free(mac_t label);

Library

Standard C Library (libc, -lc)

Overview

The mac_free() function frees the storage allocated to contain a mac_t.

Return values

The mac_free() function always returns 0. WARNING: see the notes in the BUGS section regarding the use of this function.

Releases

56 releases since FreeBSD 5.0-RELEASE; the text changed 39 times.

  1. 5.0
  2. 5.1
  3. 5.2–6.3
  4. 6.4
  5. 7.0
  6. 7.1
  7. 7.2
  8. 7.3
  9. 7.4
  10. 8.0
  11. 8.1
  12. 8.2
  13. 8.3
  14. 8.4
  15. 9.0
  16. 9.1
  17. 9.2
  18. 9.3
  19. 10.0
  20. 10.1
  21. 10.2
  22. 10.3
  23. 10.4
  24. 11.0
  25. 11.1
  26. 11.2
  27. 11.3
  28. 11.4
  29. 12.0
  30. 12.1
  31. 12.2
  32. 12.3
  33. 12.4
  34. 13.0–13.2
  35. 13.3–13.5
  36. 14.0
  37. 14.1–14.3
  38. 14.4–14.5
  39. 15.0
  40. 15.1–16.0

Standards

POSIX.1e is described in IEEE POSIX.1e draft 17.

History

Support for Mandatory Access Control was introduced in FreeBSD 5.0 as part of the TrustedBSD Project.

Bugs

POSIX.1e specifies that mac_free() will be used to free text strings created using mac_to_text(3). Because mac_t is a complex structure in the TrustedBSD implementation, mac_free() is specific to mac_t, and must not be used to free the character strings returned from mac_to_text(). Doing so may result in undefined behavior.

From base 16.0-CURRENT-20261027-61c70dc16a79 in FreeBSD 16.0-CURRENT (2026-10-27). Parsed by carta from the page's mdoc source.