]> git.ipfire.org Git - thirdparty/mlmmj.git/commitdiff
random: use arc4random on systems supporting it
authorBaptiste Daroussin <bapt@FreeBSD.org>
Tue, 2 Nov 2021 11:18:21 +0000 (12:18 +0100)
committerBaptiste Daroussin <bapt@FreeBSD.org>
Tue, 2 Nov 2021 11:19:27 +0000 (12:19 +0100)
configure.ac
src/random-int.c

index e29adf59296f72fa1867fd561812474edd59f66f..4d633d136d373183f19765c3de73d7cbd5270917 100644 (file)
@@ -44,6 +44,7 @@ AM_CONDITIONAL(WANT_RECEIVESTRIP, test x"$enable_receive_strip" = xyes)
 AC_FUNC_MALLOC
 AC_CHECK_FUNCS([ftruncate memset socket strerror strncasecmp snprintf fcntl])
 AC_CHECK_FUNCS([nanosleep time strftime syslog regcomp regexec])
+AC_CHECK_FUNCS([arc4random_uniform])
 
 AC_CONFIG_FILES([Makefile])
 AC_CONFIG_FILES([src/Makefile])
index de143816a60e3d10cca6978da4324c92039295d4..6a91ef82571396f3caf2be0160252911c3ab49e0 100644 (file)
@@ -30,6 +30,7 @@
 
 int random_int()
 {
+#ifndef HAVE_ARC4RANDOM_UNIFORM
        static int init = 0;
        unsigned int seed;
        int devrandom;
@@ -59,6 +60,9 @@ int random_int()
        init = 1;
 
        return rand();
+#else
+       return arc4random_uniform(sizeof(int));
+#endif
 }
 #if 0
 int main(int argc, char **argv)