diff options
author | Rob Landley <rob@landley.net> | 2006-07-16 12:06:34 +0400 |
---|---|---|
committer | Rob Landley <rob@landley.net> | 2006-07-16 12:06:34 +0400 |
commit | afb94ecf2bb6c53ce2a381d6ce45a426243c76d9 (patch) | |
tree | 0390f5cfb0cfd70882175f7e383a30d8cb1527cc /networking/traceroute.c | |
parent | 25c194fd1941a7ba67d68a09fa101bc54a756a14 (diff) |
Convert setuid/setgid users to xsetuid/xsetgid.
Diffstat (limited to 'networking/traceroute.c')
-rw-r--r-- | networking/traceroute.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/networking/traceroute.c b/networking/traceroute.c index 79f3957a6..c2084fc1e 100644 --- a/networking/traceroute.c +++ b/networking/traceroute.c @@ -941,7 +941,6 @@ traceroute_main(int argc, char *argv[]) #endif u_short off = 0; struct IFADDRLIST *al; - int uid = getuid(); char *device = NULL; int max_ttl = 30; char *max_ttl_str = NULL; @@ -1010,8 +1009,7 @@ traceroute_main(int argc, char *argv[]) * set the ip source address of the outbound * probe (e.g., on a multi-homed host). */ - if (uid) - bb_error_msg_and_die("-s %s: Permission denied", source); + if (getuid()) bb_error_msg_and_die("-s %s: Permission denied", source); } if(waittime_str) waittime = str2val(waittime_str, "wait time", 2, 24 * 60 * 60); @@ -1160,8 +1158,8 @@ traceroute_main(int argc, char *argv[]) sizeof(on)); /* Revert to non-privileged user after opening sockets */ - setgid(getgid()); - setuid(uid); + xsetgid(getgid()); + xsetuid(getuid()); outip = (struct ip *)xcalloc(1, (unsigned)packlen); |