diff --git a/arc4random.c b/arc4random.c index a039711f..5e044643 100644 --- a/arc4random.c +++ b/arc4random.c @@ -201,16 +201,16 @@ arc4_seed_sysctl_linux(void) } #endif -#if _EVENT_HAVE_DECL_CTL_KERN && _EVENT_HAVE_DECL_KERN_ARAND +#if _EVENT_HAVE_DECL_CTL_KERN && _EVENT_HAVE_DECL_KERN_ARND #define TRY_SEED_SYSCTL_BSD static int arc4_seed_sysctl_bsd(void) { /* Based on code from William Ahern and from OpenBSD, this function - * tries to use the KERN_ARAND syscall to get entropy from the kernel. + * tries to use the KERN_ARND syscall to get entropy from the kernel. * This can work even if /dev/urandom is inaccessible for some reason * (e.g., we're running in a chroot). */ - int mib[] = { CTL_KERN, KERN_ARAND }; + int mib[] = { CTL_KERN, KERN_ARND }; unsigned char buf[ADD_ENTROPY]; size_t len, n; int i, any_set; @@ -218,7 +218,7 @@ arc4_seed_sysctl_bsd(void) memset(buf, 0, sizeof(buf)); len = sizeof(buf); - if (sysctl(mib, 2, rnd, &len, NULL, 0) == -1) { + if (sysctl(mib, 2, buf, &len, NULL, 0) == -1) { for (len = 0; len < sizeof(buf); len += sizeof(unsigned)) { n = sizeof(unsigned); if (n + len > sizeof(buf)) diff --git a/configure.in b/configure.in index 171801fe..e2177eff 100644 --- a/configure.in +++ b/configure.in @@ -46,7 +46,7 @@ AC_ARG_ENABLE(debug-mode, AC_PROG_LIBTOOL dnl Uncomment "AC_DISABLE_SHARED" to make shared librraries not get -dnl built by default. You can also turn shared libs on and off from +dnl built by default. You can also turn shared libs on and off from dnl the command line with --enable-shared and --disable-shared. dnl AC_DISABLE_SHARED AC_SUBST(LIBTOOL_DEPS) @@ -159,8 +159,9 @@ if test "x$ac_cv_header_sys_time_h" = "xyes"; then fi if test "x$ac_cv_header_sys_sysctl_h" = "xyes"; then - AC_CHECK_DECLS([CTL_KERN, KERN_RANDOM, RANDOM_UUID, KERN_ARAND], [], [], - [[#include ]] + AC_CHECK_DECLS([CTL_KERN, KERN_RANDOM, RANDOM_UUID, KERN_ARND], [], [], + [[#include + #include ]] ) fi