The rule is pretty simple, always use setgid() before setuid().
Reported-by: Jan Pazdziora <jpazdziora@redhat.com>
Signed-off-by: Karel Zak <kzak@redhat.com>
va_end(argp);
if (geteuid() != getuid() || getegid() != getgid()) {
- if (setuid(getuid()) < 0)
- err(EXIT_FAILURE, _("setuid failed"));
if (setgid(getgid()) < 0)
err(EXIT_FAILURE, _("setgid failed"));
+ if (setuid(getuid()) < 0)
+ err(EXIT_FAILURE, _("setuid failed"));
}
execvp(cmd, args);