if ((err = getgrnam_r(*grpnam, &grp, getbuf, ARRAY_SIZE(getbuf), &grpp)) ||
grpp == NULL) {
- return ThrowException(ErrnoException(errno, "getgrnam_r"));
+ if (errno == 0)
+ return ThrowException(Exception::Error(
+ String::New("setgid group id does not exist")));
+ else
+ return ThrowException(ErrnoException(errno, "getgrnam_r"));
}
gid = grpp->gr_gid;
if ((err = getpwnam_r(*pwnam, &pwd, getbuf, ARRAY_SIZE(getbuf), &pwdp)) ||
pwdp == NULL) {
- return ThrowException(ErrnoException(errno, "getpwnam_r"));
+ if (errno == 0)
+ return ThrowException(Exception::Error(
+ String::New("setuid user id does not exist")));
+ else
+ return ThrowException(ErrnoException(errno, "getpwnam_r"));
}
uid = pwdp->pw_uid;