diff options
Diffstat (limited to 'usr.sbin/map-mbone/mapper.c')
-rw-r--r-- | usr.sbin/map-mbone/mapper.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/usr.sbin/map-mbone/mapper.c b/usr.sbin/map-mbone/mapper.c index 7a273d01aee..43134c69671 100644 --- a/usr.sbin/map-mbone/mapper.c +++ b/usr.sbin/map-mbone/mapper.c @@ -844,13 +844,16 @@ int main(argc, argv) { int flood = FALSE, graph = FALSE; - setlinebuf(stderr); - if (geteuid() != 0) { - fprintf(stderr, "must be root\n"); - exit(1); + fprintf(stderr, "map-mbone: must be root\n"); + exit(1); } + init_igmp(); + setuid(getuid()); + + setlinebuf(stderr); + argv++, argc--; while (argc > 0 && argv[0][0] == '-') { switch (argv[0][1]) { @@ -899,8 +902,6 @@ int main(argc, argv) if (debug) fprintf(stderr, "Debug level %u\n", debug); - init_igmp(); - { /* Find a good local address for us. */ int udp; struct sockaddr_in addr; |