selinux/checkpolicy
James Carter 90db06c524 libsepol: Use a dynamic buffer in sepol_av_to_string()
In the internal function sepol_av_to_string(), use a dynamically
allocated buffer for the permission names of an access vector instead
of a fixed static buffer to support very long permission names.

Update the internal users of sepol_av_to_string() to free the buffer.

The exported function sepol_perm_to_string() is just a wrapper to
the internal function. To avoid changing the behavior of this function,
use a static buffer and copy the resulting string from the internal
function. If the string is too long for the buffer or there was an
error in creating the string, return a string indicating the error.

All of the changes to the internal function and users was the work
of Christian Göttsche <cgzones@googlemail.com>.

Reported-by: oss-fuzz (issue 64832, 64933)
Suggested-by: Christian Göttsche <cgzones@googlemail.com>
Signed-off-by: James Carter <jwcart2@gmail.com>
2024-03-04 09:45:41 -05:00
..
test libsepol: Use a dynamic buffer in sepol_av_to_string() 2024-03-04 09:45:41 -05:00
tests checkpolicy: add round-trip tests 2023-11-07 16:27:26 -05:00
.gitignore checkpolicy: add round-trip tests 2023-11-07 16:27:26 -05:00
LICENSE docs: provide a top level LICENSE file 2022-10-05 08:20:38 -04:00
Makefile Add CPPFLAGS to Makefiles 2023-12-06 13:35:32 -05:00
VERSION Update VERSIONs to 3.6 for release. 2023-12-13 15:46:22 +01:00
checkmodule.8 checkpolicy,libselinux,libsepol,policycoreutils,semodule-utils: update my email 2023-08-04 13:57:01 -04:00
checkmodule.c Revert "checkpolicy,libsepol: move filename transitions to avtab" 2023-08-04 13:47:42 -04:00
checkpolicy.8 checkpolicy,libselinux,libsepol,policycoreutils,semodule-utils: update my email 2023-08-04 13:57:01 -04:00
checkpolicy.c checkpolicy,libselinux,libsepol,policycoreutils,semodule-utils: update my email 2023-08-04 13:57:01 -04:00
checkpolicy.h checkpolicy: remove unused te_assertions 2020-01-27 10:51:21 -05:00
module_compiler.c Revert "checkpolicy,libsepol: move filename transition rules to avrule" 2023-08-04 13:47:39 -04:00
module_compiler.h Revert "checkpolicy,libsepol: move filename transition rules to avrule" 2023-08-04 13:47:39 -04:00
parse_util.c libsepol: Populate and use policy name 2022-02-24 10:44:46 -05:00
parse_util.h initial import from svn trunk revision 2950 2008-08-19 15:30:36 -04:00
policy_define.c checkpolicy: Remove support for role dominance rules 2023-08-16 13:34:20 -04:00
policy_define.h checkpolicy: Remove support for role dominance rules 2023-08-16 13:34:20 -04:00
policy_parse.y checkpolicy: Remove support for role dominance rules 2023-08-16 13:34:20 -04:00
policy_scan.l checkpolicy,libselinux,libsepol,policycoreutils,semodule-utils: update my email 2023-08-04 13:57:01 -04:00
queue.c checkpolicy,libselinux,libsepol,policycoreutils,semodule-utils: update my email 2023-08-04 13:57:01 -04:00
queue.h checkpolicy,libselinux,libsepol,policycoreutils,semodule-utils: update my email 2023-08-04 13:57:01 -04:00