X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=util-vserver%2Fsrc%2Ffakerunlevel.c;h=322d90a1b75f575b05192ccb26b54b26a3ffd702;hb=1171042cfba2870d05f6dcc771f6331fb5c9ad78;hp=7d1dc7317d24e2c21a5b7ffb2e46fe970f760798;hpb=0bb1e785dd3879ce41d751cfd71bd2cbef72b8a2;p=util-vserver.git diff --git a/util-vserver/src/fakerunlevel.c b/util-vserver/src/fakerunlevel.c index 7d1dc73..322d90a 100644 --- a/util-vserver/src/fakerunlevel.c +++ b/util-vserver/src/fakerunlevel.c @@ -34,6 +34,7 @@ #include #include #include +#include #include #include @@ -88,7 +89,8 @@ int main (int argc, char *argv[]) // value detected at ./configure stage or overridden by $UTMP_GID // env-variable gid = gid_str ? atoi(gid_str) : UTMP_GID; - if (setgid(gid)==-1 || + if (setgroups(1,&gid)==-1 || + setgid(gid)==-1 || getgid()!=gid) { perror("setgid()/getgid()"); return EXIT_FAILURE;