}
dstr_putc(d, '\"');
}
+ dstr_putz(d);
}
/* --- @u_getuser@ --- *
void u_setugid(uid_t u, gid_t g)
{
- if (g != (gid_t)-1) {
+ uid_t cu = geteuid();
+
+ if (cu == 0 && g != (gid_t)-1) {
if (setgid(g) || (getuid() == 0 && setgroups(1, &g))) {
die(EXIT_FAILURE, "couldn't setgid to %u: %s",
(unsigned)g, strerror(errno));