[git commit] chcon: fix issues with recurse and retval for retained files
Denys Vlasenko
vda.linux at googlemail.com
Mon Sep 3 14:02:26 UTC 2018
commit: https://git.busybox.net/busybox/commit/?id=8f1ae256347b32057d32846f915f53f9106f00bc
branch: https://git.busybox.net/busybox/commit/?id=refs/heads/master
- recurse is not acting as expected (looks like broken old code)
- when not using verbose output, return value for retained files is 1,
which is not expected.
Signed-off-by: sagivd <sagivdev at gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
selinux/chcon.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/selinux/chcon.c b/selinux/chcon.c
index 3ddb2dd46..92eb76737 100644
--- a/selinux/chcon.c
+++ b/selinux/chcon.c
@@ -131,8 +131,10 @@ static int FAST_FUNC change_filedir_context(
bb_error_msg("can't change context of %s to %s",
fname, context_string);
}
- } else if (option_mask32 & OPT_VERBOSE) {
- printf("context of %s retained as %s\n", fname, context_string);
+ } else {
+ if (option_mask32 & OPT_VERBOSE) {
+ printf("context of %s retained as %s\n", fname, context_string);
+ }
rc = TRUE;
}
skip:
@@ -202,7 +204,7 @@ int chcon_main(int argc UNUSED_PARAM, char **argv)
fname[fname_len] = '\0';
if (recursive_action(fname,
- 1<<option_mask32 & OPT_RECURSIVE,
+ ((option_mask32 & OPT_RECURSIVE) ? ACTION_RECURSIVE : 0),
change_filedir_context,
change_filedir_context,
NULL, 0) != TRUE)
More information about the busybox-cvs
mailing list