aboutsummaryrefslogtreecommitdiff
path: root/networking/udhcp/clientpacket.c
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2006-10-14 02:23:43 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2006-10-14 02:23:43 +0000
commitea62077b850076c4d7dc3cf78ebd1888928c6ddf (patch)
tree37b7584ae40b99edb5583fbc4392b62ffdadf278 /networking/udhcp/clientpacket.c
parent88ca06769028e442bf873b270c176ca0e9f021f8 (diff)
downloadbusybox-w32-ea62077b850076c4d7dc3cf78ebd1888928c6ddf.tar.gz
busybox-w32-ea62077b850076c4d7dc3cf78ebd1888928c6ddf.tar.bz2
busybox-w32-ea62077b850076c4d7dc3cf78ebd1888928c6ddf.zip
add open_read_close() and similar stuff
Diffstat (limited to 'networking/udhcp/clientpacket.c')
-rw-r--r--networking/udhcp/clientpacket.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/networking/udhcp/clientpacket.c b/networking/udhcp/clientpacket.c
index f9f5a3b8c..439aa0250 100644
--- a/networking/udhcp/clientpacket.c
+++ b/networking/udhcp/clientpacket.c
@@ -39,16 +39,13 @@ unsigned long random_xid(void)
39{ 39{
40 static int initialized; 40 static int initialized;
41 if (!initialized) { 41 if (!initialized) {
42 int fd;
43 unsigned long seed; 42 unsigned long seed;
44 43
45 fd = open("/dev/urandom", 0); 44 if (open_read_close("/dev/urandom", &seed, sizeof(seed)) < 0) {
46 if (fd < 0 || read(fd, &seed, sizeof(seed)) < 0) { 45 bb_info_msg("Cannot load seed "
47 bb_info_msg("Could not load seed "
48 "from /dev/urandom: %s", strerror(errno)); 46 "from /dev/urandom: %s", strerror(errno));
49 seed = time(0); 47 seed = time(0);
50 } 48 }
51 if (fd >= 0) close(fd);
52 srand(seed); 49 srand(seed);
53 initialized++; 50 initialized++;
54 } 51 }