X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Futil.c;h=ee7749be5ef9c4751acdb4bc3ffcf8de64890dd7;hp=ec5c7ca91aacbb19c807015c402fc5baed38cba1;hb=95978cf8a66b0d03271f7da2399a3b588db0c71d;hpb=eeaafddcb5ce492f2b3d53678820d41a04ab66b2 diff --git a/src/util.c b/src/util.c index ec5c7ca91..ee7749be5 100644 --- a/src/util.c +++ b/src/util.c @@ -62,11 +62,11 @@ static struct selabel_handle *label_hnd = NULL; -static inline int use_selinux(void) { +static inline bool use_selinux(void) { static int use_selinux_ind = -1; - if (use_selinux_ind == -1) - use_selinux_ind = (is_selinux_enabled() == 1); + if (use_selinux_ind < 0) + use_selinux_ind = is_selinux_enabled() > 0; return use_selinux_ind; } @@ -84,6 +84,8 @@ static int label_get_file_label_from_path( r = getfilecon(path, &dir_con); if (r >= 0) { r = -1; + errno = EINVAL; + if ((sclass = string_to_security_class(class)) != 0) r = security_compute_create((security_context_t) label, dir_con, sclass, fcon); }