From 8f1ae256347b32057d32846f915f53f9106f00bc Mon Sep 17 00:00:00 2001 From: sagivd Date: Sat, 25 Aug 2018 13:49:24 +0300 Subject: chcon: fix issues with recurse and retval for retained files - 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 Signed-off-by: Denys Vlasenko --- 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<