It seems context_new() and _free() are used for checking validity of a specified context. The libselinux provides security_check_context for this purpose so use it.
Note that context_new() can fail for a valid context - e.g. ENOMEM. * src/chcon.c (main): Use security_check_context(). --- src/chcon.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/chcon.c b/src/chcon.c index 32d4b0f..cd5fba3 100644 --- a/src/chcon.c +++ b/src/chcon.c @@ -555,13 +555,10 @@ main (int argc, char **argv) } else { - context_t context; specified_context = argv[optind++]; - context = context_new (specified_context); - if (!context) + if (security_check_context (specified_context) < 0) error (EXIT_FAILURE, 0, _("invalid context: %s"), quotearg_colon (specified_context)); - context_free (context); } if (reference_file && component_specified) -- 2.0.0