uwrap: Remove unneeded gid wrappers.
authorAndreas Schneider <asn@cryptomilk.org>
Wed, 24 Jul 2013 10:00:57 +0000 (12:00 +0200)
committerAndreas Schneider <asn@cryptomilk.org>
Sat, 9 Nov 2013 10:42:10 +0000 (11:42 +0100)
src/uid_wrapper.c

index 24847a1e214ca369df7595c7fe008528e292b16d..457bdeec32cb4402ec95d15f88d9f4b807219ecf 100644 (file)
@@ -258,9 +258,12 @@ uid_t geteuid(void)
        return uwrap_geteuid();
 }
 
-static int uwrap_setegid(gid_t egid)
+static int uwrap_setresgid(gid_t rgid, gid_t egid, gid_t sgid)
 {
        /* assume for now that the ruid stays as root */
+       (void) rgid;
+       (void) sgid;
+
        if (egid == 0) {
                uwrap.egid = uwrap.mygid;
        } else {
@@ -277,24 +280,10 @@ int setegid(gid_t egid)
                return uwrap.libc.fns._libc_setegid(egid);
        }
 
-       return uwrap_setegid(egid);
+       return uwrap_setresgid(-1, egid, -1);
 }
 #endif
 
-static int uwrap_setregid(gid_t rgid, gid_t egid)
-{
-       /* assume for now that the ruid stays as root */
-       (void) rgid;
-
-       if (egid == 0) {
-               uwrap.egid = uwrap.mygid;
-       } else {
-               uwrap.egid = egid;
-       }
-
-       return 0;
-}
-
 #ifdef HAVE_SETREGID
 int setregid(gid_t rgid, gid_t egid)
 {
@@ -302,25 +291,10 @@ int setregid(gid_t rgid, gid_t egid)
                return uwrap.libc.fns._libc_setregid(rgid, egid);
        }
 
-       return uwrap_setregid(rgid, egid);
+       return uwrap_setresgid(rgid, egid, -1);
 }
 #endif
 
-static int uwrap_setresgid(gid_t rgid, gid_t egid, gid_t sgid)
-{
-       /* assume for now that the ruid stays as root */
-       (void) rgid;
-       (void) sgid;
-
-       if (egid == 0) {
-               uwrap.egid = uwrap.mygid;
-       } else {
-               uwrap.egid = egid;
-       }
-
-       return 0;
-}
-
 #ifdef HAVE_SETRESGID
 int setresgid(gid_t rgid, gid_t egid, gid_t sgid)
 {
@@ -483,7 +457,7 @@ static long int uwrap_syscall (long int sysno, va_list vp)
                                uid_t rgid = (uid_t) va_arg(vp, int);
                                uid_t egid = (uid_t) va_arg(vp, int);
 
-                               rc = uwrap_setregid(rgid, egid);
+                               rc = uwrap_setresgid(rgid, egid, -1);
                        }
                        break;
                case SYS_setresgid: