genrand: Slightly simplify do_reseed
authorVolker Lendecke <vl@samba.org>
Thu, 13 Jun 2013 19:55:43 +0000 (21:55 +0200)
committerJeremy Allison <jra@samba.org>
Fri, 14 Jun 2013 18:29:56 +0000 (20:29 +0200)
The only caller set "use_fd" to "true".

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Fri Jun 14 20:29:56 CEST 2013 on sn-devel-104

lib/util/genrand.c

index 3dfaf089d16c4afdf25ead27391ce3835ba4b082..0e5902fea9ab73b1842248bcea9e8d59b1ae5012 100644 (file)
@@ -163,25 +163,23 @@ static void do_filehash(const char *fname, unsigned char *the_hash)
  above...
 **************************************************************/
 
-static int do_reseed(bool use_fd, int fd)
+static int do_reseed(int fd)
 {
        unsigned char seed_inbuf[40];
        uint32_t v1, v2; struct timeval tval; pid_t mypid;
        int reseed_data = 0;
 
-       if (use_fd) {
-               if (fd == -1) {
-                       fd = open( "/dev/urandom", O_RDONLY,0);
-                       if (fd != -1) {
-                               smb_set_close_on_exec(fd);
-                       }
-               }
-               if (fd != -1
-                   && (read(fd, seed_inbuf, sizeof(seed_inbuf)) == sizeof(seed_inbuf))) {
-                       seed_random_stream(seed_inbuf, sizeof(seed_inbuf));
-                       return fd;
+       if (fd == -1) {
+               fd = open( "/dev/urandom", O_RDONLY,0);
+               if (fd != -1) {
+                       smb_set_close_on_exec(fd);
                }
        }
+       if (fd != -1
+           && (read(fd, seed_inbuf, sizeof(seed_inbuf)) == sizeof(seed_inbuf))) {
+               seed_random_stream(seed_inbuf, sizeof(seed_inbuf));
+               return fd;
+       }
 
        /* Add in some secret file contents */
 
@@ -244,7 +242,7 @@ _PUBLIC_ void generate_random_buffer(uint8_t *out, int len)
                        }
                }
 
-               urand_fd = do_reseed(true, urand_fd);
+               urand_fd = do_reseed(urand_fd);
                done_reseed = true;
        }