Subversion Repositories wimsdev

Compare Revisions

Ignore whitespace Rev 11132 → Rev 11133

/trunk/wims/src/Misc/wrap.c
19,7 → 19,6
 
#include <unistd.h>
#include <string.h>
#include <assert.h>
 
int main(int argc,char *argv[])
{
31,13 → 30,11
args[i]=NULL;
uid1=geteuid(); uid2=getuid(); gid1=getegid(); gid2=getgid();
if(strchr(args[0],'/')) {
assert(setreuid(uid1,uid2)==0);
assert(setregid(gid1,gid2)==0);
setreuid(uid1,uid2); setregid(gid1,gid2);
execv(args[0],args);
}
else {
assert(setreuid(uid1,uid1)==0);
assert(setregid(gid1,gid1)==0);
setreuid(uid1,uid1); setregid(gid1,gid1);
execvp(args[0],args);
}
return 127;