linuxload: id_change was a write only variable
authorJuan Quintela <quintela@redhat.com>
Thu, 16 Jun 2011 16:37:08 +0000 (17:37 +0100)
committerRiku Voipio <riku.voipio@iki.fi>
Tue, 21 Jun 2011 17:30:09 +0000 (20:30 +0300)
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>
linux-user/linuxload.c

index ac8c486..62ebc7e 100644 (file)
@@ -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);