ret = setegid(data->gid);
if (ret < 0) {
PERROR("setegid");
- return EXIT_FAILURE;
+ sendret.i = -1;
+ goto write_return;
}
}
if (data->uid != geteuid()) {
ret = seteuid(data->uid);
if (ret < 0) {
PERROR("seteuid");
- return EXIT_FAILURE;
+ sendret.i = -1;
+ goto write_return;
}
}
/*
*/
umask(0);
sendret.i = (*data->cmd)(data->data);
+
+write_return:
/* send back return value */
writeleft = sizeof(sendret);
index = 0;