diff options
Diffstat (limited to 'src/core/selinux-setup.c')
-rw-r--r-- | src/core/selinux-setup.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/src/core/selinux-setup.c b/src/core/selinux-setup.c index e5b457643b..d4757e0853 100644 --- a/src/core/selinux-setup.c +++ b/src/core/selinux-setup.c @@ -19,19 +19,20 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>. ***/ -#include <unistd.h> -#include <stdio.h> #include <errno.h> +#include <stdio.h> +#include <unistd.h> #ifdef HAVE_SELINUX #include <selinux/selinux.h> #endif +#include "log.h" +#include "macro.h" #include "selinux-setup.h" #include "selinux-util.h" -#include "macro.h" +#include "string-util.h" #include "util.h" -#include "log.h" #ifdef HAVE_SELINUX _printf_(2,3) @@ -78,14 +79,14 @@ int mac_selinux_setup(bool *loaded_policy) { before_load = now(CLOCK_MONOTONIC); r = selinux_init_load_policy(&enforce); if (r == 0) { + _cleanup_(mac_selinux_freep) char *label = NULL; char timespan[FORMAT_TIMESPAN_MAX]; - char *label; mac_selinux_retest(); /* Transition to the new context */ r = mac_selinux_get_create_label_from_exe(SYSTEMD_BINARY_PATH, &label); - if (r < 0 || label == NULL) { + if (r < 0 || !label) { log_open(); log_error("Failed to compute init label, ignoring."); } else { @@ -94,8 +95,6 @@ int mac_selinux_setup(bool *loaded_policy) { log_open(); if (r < 0) log_error("Failed to transition into init label '%s', ignoring.", label); - - mac_selinux_free(label); } after_load = now(CLOCK_MONOTONIC); |