|
Re: [PATCH] Dramatically reduce # of fopen()s and fclose()s in nbase_rnd.c: msg#00073security.nmap.devel
On Fri, Dec 15, 2006 at 11:43:38AM -0600, Kris Katterjohn wrote: > This simple patch dramatically reduces the number of fopen()s and > fclose()s used when getting random numbers from nbase_rnd.c by keeping > the rng device open. > > Before: > > # strace nmap -p- localhost 2>&1 | grep 'open("/dev/[au]*random"' | wc > 512 3584 31744 > > After: > > # strace ./nmap -p- localhost 2>&1 | grep 'open("/dev/[au]*random"' | wc > 2 14 124 You can also compare "strace -c" output to estimate effect of the change. > --- x/nbase/nbase_rnd.c 2006-08-29 00:42:46.000000000 -0500 > +++ y/nbase/nbase_rnd.c 2006-12-15 11:06:02.000000000 -0600 > @@ -114,14 +114,14 @@ int get_random_bytes(void *buf, int numb > int tmp; > int res; > struct timeval tv; > - FILE *fp = NULL; > + static FILE *fp; > unsigned int i; > short *iptr; > > if (numbytes < 0 || numbytes > 0xFFFF) return -1; > > if (bytesleft == 0) { > - fp = fopen("/dev/arandom", "r"); > + if (!fp) fp = fopen("/dev/arandom", "r"); > if (!fp) fp = fopen("/dev/urandom", "r"); > if (!fp) fp = fopen("/dev/random", "r"); > if (fp) { > @@ -149,7 +149,7 @@ int get_random_bytes(void *buf, int numb > } > bytesleft = (sizeof(bytebuf) / sizeof(short)) * sizeof(short); > /* ^^^^^^^^^^^^^^^not as meaningless as it looks */ > - } else fclose(fp); > + } > } > > if (numbytes <= bytesleft) { /* we can cover it */ I'll have to apply smth like this to update my nmap chroot patch. -- ldv _______________________________________________ Sent through the nmap-dev mailing list http://cgi.insecure.org/mailman/listinfo/nmap-dev Archived at http://SecLists.Org |
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | Re: [PATCH] Dramatically reduce # of fopen()s and fclose()s in nbase_rnd.c: 00073, Kris Katterjohn |
|---|---|
| Next by Date: | Re: [PATCH] Dramatically reduce # of fopen()s and fclose()s in nbase_rnd.c: 00073, Kris Katterjohn |
| Previous by Thread: | Re: [PATCH] Dramatically reduce # of fopen()s and fclose()s in nbase_rnd.ci: 00073, Kris Katterjohn |
| Next by Thread: | Re: [PATCH] Dramatically reduce # of fopen()s and fclose()s in nbase_rnd.c: 00073, Kris Katterjohn |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |