From 976690afe0b376c580dd2756e6d8eafe1317a011 Mon Sep 17 00:00:00 2001 From: Denis Vlasenko Date: Mon, 10 Sep 2007 17:17:01 +0000 Subject: run_shell: code shrink for selinux --- libbb/run_shell.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) (limited to 'libbb/run_shell.c') diff --git a/libbb/run_shell.c b/libbb/run_shell.c index 25d55dd63..b2b4216f4 100644 --- a/libbb/run_shell.c +++ b/libbb/run_shell.c @@ -39,15 +39,13 @@ static security_context_t current_sid; void renew_current_security_context(void) { - if (current_sid) - freecon(current_sid); /* Release old context */ + freecon(current_sid); /* Release old context */ getcon(¤t_sid); /* update */ } void set_current_security_context(security_context_t sid) { - if (current_sid) - freecon(current_sid); /* Release old context */ + freecon(current_sid); /* Release old context */ current_sid = sid; } @@ -84,10 +82,10 @@ void run_shell(const char *shell, int loginshell, const char *command, const cha } args[argno] = NULL; #if ENABLE_SELINUX - if (current_sid && !setexeccon(current_sid)) { + if (current_sid) + setexeccon(current_sid); + if (ENABLE_FEATURE_CLEAN_UP) freecon(current_sid); - execve(shell, (char **) args, environ); - } else #endif execv(shell, (char **) args); bb_perror_msg_and_die("cannot run %s", shell); -- cgit v1.2.3