about summary refs log tree commit diff
diff options
context:
space:
mode:
authorhexcoder- <heiko@hexco.de>2020-06-16 01:29:07 +0200
committerhexcoder- <heiko@hexco.de>2020-06-16 01:29:07 +0200
commitbac2da866912d69eb89207757375f0753be2cae2 (patch)
tree9f1a710a6282d4cf4cb9752024c3040eaf40b869
parent9c293b5b7b941d8046e77989f100d084a516d029 (diff)
downloadafl++-bac2da866912d69eb89207757375f0753be2cae2.tar.gz
fix for *BSD: remove all HAVE_ARC4RANDOM dependencies
-rw-r--r--include/afl-fuzz.h9
-rw-r--r--include/config.h6
-rw-r--r--include/forkserver.h3
-rw-r--r--src/afl-forkserver.c8
-rw-r--r--src/afl-fuzz-init.c2
-rw-r--r--src/afl-fuzz-state.c2
6 files changed, 3 insertions, 27 deletions
diff --git a/include/afl-fuzz.h b/include/afl-fuzz.h
index e86bc0ff..e7b52d56 100644
--- a/include/afl-fuzz.h
+++ b/include/afl-fuzz.h
@@ -524,9 +524,7 @@ typedef struct afl_state {
   u64 stage_finds[32],                  /* Patterns found per fuzz stage    */
       stage_cycles[32];                 /* Execs per fuzz stage             */
 
-  //#ifndef HAVE_ARC4RANDOM
   u32 rand_cnt;                         /* Random number counter            */
-                //#endif
 
   u64 rand_seed[4];
   s64 init_seed;
@@ -958,13 +956,8 @@ uint64_t rand_next(afl_state_t *afl);
 
 static inline u32 rand_below(afl_state_t *afl, u32 limit) {
 
-  //#ifdef HAVE_ARC4RANDOM
-  //  if (unlikely(afl->fixed_seed)) { return random() % limit; }
-
   /* The boundary not being necessarily a power of 2,
      we need to ensure the result uniformity. */
-  //  return arc4random_uniform(limit);
-  //#else
   if (unlikely(!afl->rand_cnt--) && likely(!afl->fixed_seed)) {
 
     ck_read(afl->fsrv.dev_urandom_fd, &afl->rand_seed, sizeof(afl->rand_seed),
@@ -974,9 +967,7 @@ static inline u32 rand_below(afl_state_t *afl, u32 limit) {
 
   }
 
-  // return random() % limit;
   return rand_next(afl) % limit;
-  //#endif
 
 }
 
diff --git a/include/config.h b/include/config.h
index b93a9f9e..711d0b77 100644
--- a/include/config.h
+++ b/include/config.h
@@ -397,12 +397,6 @@
 
 // #define IGNORE_FINDS
 
-/* for *BSD: use ARC4RANDOM and save a file descriptor */
-#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__OpenBSD__)
-  #ifndef HAVE_ARC4RANDOM
-    #define HAVE_ARC4RANDOM 1
-  #endif
-#endif                           /* __APPLE__ || __FreeBSD__ || __OpenBSD__ */
 
 #endif                                                  /* ! _HAVE_CONFIG_H */
 
diff --git a/include/forkserver.h b/include/forkserver.h
index 87a59eaa..717493db 100644
--- a/include/forkserver.h
+++ b/include/forkserver.h
@@ -47,9 +47,8 @@ typedef struct afl_forkserver {
       out_dir_fd;                       /* FD of the lock file              */
 
   s32 out_fd,                           /* Persistent fd for fsrv->out_file */
-#ifndef HAVE_ARC4RANDOM
       dev_urandom_fd,                   /* Persistent fd for /dev/urandom   */
-#endif
+
       dev_null_fd,                      /* Persistent fd for /dev/null      */
       fsrv_ctl_fd,                      /* Fork server control pipe (write) */
       fsrv_st_fd;                       /* Fork server status pipe (read)   */
diff --git a/src/afl-forkserver.c b/src/afl-forkserver.c
index 1f61871a..b2734335 100644
--- a/src/afl-forkserver.c
+++ b/src/afl-forkserver.c
@@ -71,9 +71,8 @@ void afl_fsrv_init(afl_forkserver_t *fsrv) {
   fsrv->out_fd = -1;
   fsrv->out_dir_fd = -1;
   fsrv->dev_null_fd = -1;
-#ifndef HAVE_ARC4RANDOM
   fsrv->dev_urandom_fd = -1;
-#endif
+
   /* Settings */
   fsrv->use_stdin = 1;
   fsrv->no_unlink = 0;
@@ -104,9 +103,7 @@ void afl_fsrv_init_dup(afl_forkserver_t *fsrv_to, afl_forkserver_t *from) {
   fsrv_to->map_size = from->map_size;
   fsrv_to->support_shmem_fuzz = from->support_shmem_fuzz;
 
-#ifndef HAVE_ARC4RANDOM
   fsrv_to->dev_urandom_fd = from->dev_urandom_fd;
-#endif
 
   // These are forkserver specific.
   fsrv_to->out_dir_fd = -1;
@@ -421,9 +418,8 @@ void afl_fsrv_start(afl_forkserver_t *fsrv, char **argv,
 
     close(fsrv->out_dir_fd);
     close(fsrv->dev_null_fd);
-#ifndef HAVE_ARC4RANDOM
     close(fsrv->dev_urandom_fd);
-#endif
+
     if (fsrv->plot_file != NULL) { fclose(fsrv->plot_file); }
 
     /* This should improve performance a bit, since it stops the linker from
diff --git a/src/afl-fuzz-init.c b/src/afl-fuzz-init.c
index 1245d94b..ee96c73c 100644
--- a/src/afl-fuzz-init.c
+++ b/src/afl-fuzz-init.c
@@ -1541,10 +1541,8 @@ void setup_dirs_fds(afl_state_t *afl) {
   afl->fsrv.dev_null_fd = open("/dev/null", O_RDWR);
   if (afl->fsrv.dev_null_fd < 0) { PFATAL("Unable to open /dev/null"); }
 
-#ifndef HAVE_ARC4RANDOM
   afl->fsrv.dev_urandom_fd = open("/dev/urandom", O_RDONLY);
   if (afl->fsrv.dev_urandom_fd < 0) { PFATAL("Unable to open /dev/urandom"); }
-#endif
 
   /* Gnuplot output file. */
 
diff --git a/src/afl-fuzz-state.c b/src/afl-fuzz-state.c
index 99863103..f1474f33 100644
--- a/src/afl-fuzz-state.c
+++ b/src/afl-fuzz-state.c
@@ -124,9 +124,7 @@ void afl_state_init(afl_state_t *afl, uint32_t map_size) {
 
   afl->stats_update_freq = 1;
 
-#ifndef HAVE_ARC4RANDOM
   afl->fsrv.dev_urandom_fd = -1;
-#endif
   afl->fsrv.dev_null_fd = -1;
 
   afl->fsrv.child_pid = -1;