linuxload: id_change was a write only variable
Signed-off-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Riku Voipio <riku.voipio@iki.fi>
This commit is contained in:
		
							parent
							
								
									14322bad88
								
							
						
					
					
						commit
						331c23b5ca
					
				@ -26,22 +26,6 @@ abi_long memcpy_to_target(abi_ulong dest, const void *src,
 | 
			
		||||
    return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static int in_group_p(gid_t g)
 | 
			
		||||
{
 | 
			
		||||
    /* return TRUE if we're in the specified group, FALSE otherwise */
 | 
			
		||||
    int		ngroup;
 | 
			
		||||
    int		i;
 | 
			
		||||
    gid_t	grouplist[NGROUPS];
 | 
			
		||||
 | 
			
		||||
    ngroup = getgroups(NGROUPS, grouplist);
 | 
			
		||||
    for(i = 0; i < ngroup; i++) {
 | 
			
		||||
	if(grouplist[i] == g) {
 | 
			
		||||
	    return 1;
 | 
			
		||||
	}
 | 
			
		||||
    }
 | 
			
		||||
    return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static int count(char ** vec)
 | 
			
		||||
{
 | 
			
		||||
    int		i;
 | 
			
		||||
@ -57,7 +41,7 @@ static int prepare_binprm(struct linux_binprm *bprm)
 | 
			
		||||
{
 | 
			
		||||
    struct stat		st;
 | 
			
		||||
    int mode;
 | 
			
		||||
    int retval, id_change;
 | 
			
		||||
    int retval;
 | 
			
		||||
 | 
			
		||||
    if(fstat(bprm->fd, &st) < 0) {
 | 
			
		||||
	return(-errno);
 | 
			
		||||
@ -73,14 +57,10 @@ static int prepare_binprm(struct linux_binprm *bprm)
 | 
			
		||||
 | 
			
		||||
    bprm->e_uid = geteuid();
 | 
			
		||||
    bprm->e_gid = getegid();
 | 
			
		||||
    id_change = 0;
 | 
			
		||||
 | 
			
		||||
    /* Set-uid? */
 | 
			
		||||
    if(mode & S_ISUID) {
 | 
			
		||||
    	bprm->e_uid = st.st_uid;
 | 
			
		||||
	if(bprm->e_uid != geteuid()) {
 | 
			
		||||
	    id_change = 1;
 | 
			
		||||
	}
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /* Set-gid? */
 | 
			
		||||
@ -91,9 +71,6 @@ static int prepare_binprm(struct linux_binprm *bprm)
 | 
			
		||||
     */
 | 
			
		||||
    if ((mode & (S_ISGID | S_IXGRP)) == (S_ISGID | S_IXGRP)) {
 | 
			
		||||
	bprm->e_gid = st.st_gid;
 | 
			
		||||
	if (!in_group_p(bprm->e_gid)) {
 | 
			
		||||
		id_change = 1;
 | 
			
		||||
	}
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    retval = read(bprm->fd, bprm->buf, BPRM_BUF_SIZE);
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user