static int
m_chkids(void)
{
- int i;
pid_t pid;
if (getuid() == geteuid())
return (-1);
- for (i = 0; (pid = fork()) == -1 && i < 5; i++)
- sleep(5);
+ switch (pid = fork()) {
+ case -1:
+ break;
- switch (pid) {
- case -1:
- break;
+ case 0:
+ setgid(getgid());
+ setuid(getuid());
+ break;
- case 0:
- setgid(getgid());
- setuid(getuid());
- break;
-
- default:
- pidwait(pid, -1);
- break;
+ default:
+ pidwait(pid, -1);
+ break;
}
return pid;