diff options
author | Kamil Dudka <kdudka@redhat.com> | 2016-11-28 16:21:42 +0100 |
---|---|---|
committer | Pádraig Brady <P@draigBrady.com> | 2016-11-28 16:17:31 +0000 |
commit | d8104265f229ababd5a68a46eeccbccc07e72cdc (patch) | |
tree | 7708c3d2eca30a3094de010b09bab746ec226770 /src/install.c | |
parent | a39641cbb8f37c5a19dd4820c6f6719c82d3e633 (diff) | |
download | coreutils-d8104265f229ababd5a68a46eeccbccc07e72cdc.tar.xz |
install,mkdir: fix handling of -DZ and -pZ, respectively
... in the case where two or more directories nested in each other are
created and each of them defaults to a different SELinux context.
* src/install.c (make_ancestor): When calling defaultcon(), give it the
same path that is given to mkdir(). The other path is not always valid
wrt. current working directory.
* src/mkdir.c (make_ancestor): Likewise.
* NEWS: Mention the bug fix.
Reported at https://bugzilla.redhat.com/1398913
Diffstat (limited to 'src/install.c')
-rw-r--r-- | src/install.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/install.c b/src/install.c index 414d645cc..d79d59789 100644 --- a/src/install.c +++ b/src/install.c @@ -427,7 +427,7 @@ static int make_ancestor (char const *dir, char const *component, void *options) { struct cp_options const *x = options; - if (x->set_security_context && defaultcon (dir, S_IFDIR) < 0 + if (x->set_security_context && defaultcon (component, S_IFDIR) < 0 && ! ignorable_ctx_err (errno)) error (0, errno, _("failed to set default creation context for %s"), quoteaf (dir)); |