--- tcpdump-2004.02.22/tcpdump.c~ Mon Feb 23 09:39:39 2004 +++ tcpdump-2004.02.22/tcpdump.c Mon Feb 23 09:39:39 2004 @@ -771,6 +771,18 @@ error("%s", ebuf); else if (*ebuf) warning("%s", ebuf); + /* + * Let user own process after socket has been opened. + */ +#ifndef WIN32 + if (username) { + droproot(username); + } + else { + if (setgid(getgid()) != 0 || setuid(getuid()) != 0) + fprintf(stderr, "Warning: setgid/setuid failed !\n"); + } +#endif /* WIN32 */ #ifdef WIN32 if(UserBufferSize != 1000000) if(pcap_setbuff(pd, UserBufferSize)==-1){ @@ -808,18 +820,6 @@ netmask = 0; warning("%s", ebuf); } - /* - * Let user own process after socket has been opened. - */ -#ifndef WIN32 - if (username) { - droproot(username); - } - else { - if (setgid(getgid()) != 0 || setuid(getuid()) != 0) - fprintf(stderr, "Warning: setgid/setuid failed !\n"); - } -#endif /* WIN32 */ } if (infile) cmdbuf = read_infile(infile);