X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fshared%2Flabel.c;h=69d4616183b3bf4dcdb04e5bfde8a137384bd35f;hb=5e78424f4a27c07be50e246308035c877f204038;hp=02b41f02d8f35c943616cd917ae62d12265b1ac3;hpb=16115b0a7b7cdf08fb38084d857d572d8a9088dc;p=elogind.git diff --git a/src/shared/label.c b/src/shared/label.c index 02b41f02d..69d461618 100644 --- a/src/shared/label.c +++ b/src/shared/label.c @@ -252,9 +252,10 @@ fail: int label_get_our_label(char **label) { int r = -EOPNOTSUPP; - char *l = NULL; #ifdef HAVE_SELINUX + char *l = NULL; + r = getcon(&l); if (r < 0) return r; @@ -333,7 +334,7 @@ int label_get_child_mls_label(int socket_fd, const char *exe, char **label) { } freecon(mycon); - mycon = context_str(bcon); + mycon = strdup(context_str(bcon)); if (!mycon) { r = -errno; goto out; @@ -347,6 +348,7 @@ int label_get_child_mls_label(int socket_fd, const char *exe, char **label) { } *label = ret; + ret = NULL; r = 0; out: