From: Lennart Poettering Date: Thu, 5 Aug 2010 11:40:16 +0000 (+0200) Subject: selinux: fix labels only when configured for it X-Git-Tag: v6~16 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=6319292f15478f763777738c9a98faa99ae819c1;ds=sidebyside selinux: fix labels only when configured for it --- diff --git a/src/util.c b/src/util.c index 39dca0d45..ec5c7ca91 100644 --- a/src/util.c +++ b/src/util.c @@ -122,7 +122,7 @@ int label_fix(const char *path) { struct stat st; security_context_t fcon; - if (!use_selinux()) + if (!use_selinux() || !label_hnd) return 0; r = lstat(path, &st); @@ -147,7 +147,7 @@ int label_fix(const char *path) { void label_finish(void) { #ifdef HAVE_SELINUX - if (use_selinux()) + if (use_selinux() && label_hnd) selabel_close(label_hnd); #endif } @@ -270,7 +270,7 @@ static int label_mkdir( int r; security_context_t fcon = NULL; - if (use_selinux()) { + if (use_selinux() && label_hnd) { if (path[0] == '/') { r = selabel_lookup_raw(label_hnd, &fcon, path, mode); } @@ -300,7 +300,7 @@ static int label_mkdir( r = mkdir(path, mode); finish: - if (use_selinux()) { + if (use_selinux() && label_hnd) { setfscreatecon(NULL); freecon(fcon); }