Just for extra paranoia's sake? Against 5.4 sources.
-peter
diff -u -p -u -r1.82 traceroute.c
--- traceroute.c 10 Feb 2012 23:05:54 -0000 1.82
+++ traceroute.c 7 Nov 2013 14:36:44 -0000
@@ -310,6 +310,7 @@ main(int argc, char *argv[])
const char *errstr;
long l;
uid_t uid;
+ gid_t gid;
u_int rtableid;
if ((s = socket(AF_INET, SOCK_RAW, IPPROTO_ICMP)) < 0)
@@ -319,6 +320,14 @@ main(int argc, char *argv[])
/* revoke privs */
uid = getuid();
+ gid = getgid();
+
+ if (setgroups(1, &gid) == -1)
+ err(1, "setgroups");
+
+ if (setresgid(gid, gid, gid) == -1)
+ err(1, "setresgid");
+
if (setresuid(uid, uid, uid) == -1)
err(1, "setresuid");