avoid using strok - eliminates use of hidden global variable
function old new delta udhcp_str2optset 616 650 +34 setpriv_main 950 975 +25 switch_root_main 688 706 +18 parse 958 970 +12 getopt_main 622 628 +6 parse_resolvconf 302 306 +4 mpstat_main 1139 1142 +3 static.p 4 - -4 cdcmd 717 702 -15 strtok 148 - -148 ------------------------------------------------------------------------------ (add/remove: 0/3 grow/shrink: 7/1 up/down: 102/-167) Total: -65 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
		@@ -18,17 +18,20 @@
 | 
			
		||||
#if ENABLE_SELINUX
 | 
			
		||||
static void check_selinux_update_passwd(const char *username)
 | 
			
		||||
{
 | 
			
		||||
	security_context_t context;
 | 
			
		||||
	char *seuser;
 | 
			
		||||
	security_context_t seuser;
 | 
			
		||||
	char *p;
 | 
			
		||||
 | 
			
		||||
	if (getuid() != (uid_t)0 || is_selinux_enabled() == 0)
 | 
			
		||||
		return;  /* No need to check */
 | 
			
		||||
 | 
			
		||||
	if (getprevcon_raw(&context) < 0)
 | 
			
		||||
	if (getprevcon_raw(&seuser) < 0)
 | 
			
		||||
		bb_simple_perror_msg_and_die("getprevcon failed");
 | 
			
		||||
	seuser = strtok(context, ":");
 | 
			
		||||
	if (!seuser)
 | 
			
		||||
		bb_error_msg_and_die("invalid context '%s'", context);
 | 
			
		||||
 | 
			
		||||
	p = strchr(seuser, ':');
 | 
			
		||||
	if (!p)
 | 
			
		||||
		bb_error_msg_and_die("invalid context '%s'", seuser);
 | 
			
		||||
	*p = '\0';
 | 
			
		||||
 | 
			
		||||
	if (strcmp(seuser, username) != 0) {
 | 
			
		||||
		security_class_t tclass;
 | 
			
		||||
		access_vector_t av;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user