busybox: squashed commit of merging cm-12.1
With fixes to LOCAL_C_INCLUDES for libsepol in M and fixed
some missing includes to enable building for 64 bit devices
Conflicts:
Android.mk
android/libc/arch-x86/syscalls/swapoff.S
android/libc/arch-x86/syscalls/swapon.S
android/libc/arch-x86/syscalls/sysinfo.S
android/librpc/pmap_rmt.c
android/reboot.c
include-full/copy-current.sh
include-minimal/copy-current.sh
include/platform.h
networking/interface.c
networking/nslookup.c
Change-Id: If6092fa87f3d21190db1af4f70daa150eb462660
diff --git a/libbb/run_shell.c b/libbb/run_shell.c
index 4d92c3c..9494f27 100644
--- a/libbb/run_shell.c
+++ b/libbb/run_shell.c
@@ -34,16 +34,18 @@
#endif
#if ENABLE_SELINUX
-static security_context_t current_sid;
+static security_context_t current_sid = NULL;
void FAST_FUNC renew_current_security_context(void)
{
- freecon(current_sid); /* Release old context */
+ if (current_sid)
+ freecon(current_sid); /* Release old context */
getcon(¤t_sid); /* update */
}
void FAST_FUNC set_current_security_context(security_context_t sid)
{
- freecon(current_sid); /* Release old context */
+ if (current_sid)
+ freecon(current_sid); /* Release old context */
current_sid = sid;
}
@@ -82,6 +84,7 @@
args[argno] = NULL;
#if ENABLE_SELINUX
+ renew_current_security_context();
if (current_sid)
setexeccon(current_sid);
if (ENABLE_FEATURE_CLEAN_UP)