acr4random env var propagation fix (#10332)

This commit is contained in:
David CARLIER 2018-06-13 00:01:46 +01:00 committed by radare
parent 34a88a9baa
commit b907cab694
6 changed files with 10 additions and 8 deletions

2
configure vendored
View File

@ -580,7 +580,7 @@ done
do_remove
echo
echo "Final report:"
for A in PREFIX HAVE_LIB_GMP HAVE_OPENSSL USE_CAPSTONE HAVE_FORK VERSION USE_LIB_ZIP USE_LIB_MAGIC DEBUGGER CC USERCC USEROSTYPE LIBVERSION BUILD HOST TARGET ; do # REPORT
for A in PREFIX HAVE_LIB_GMP HAVE_ARC4RANDOM_UNIFORM HAVE_OPENSSL USE_CAPSTONE HAVE_FORK VERSION USE_LIB_ZIP USE_LIB_MAGIC DEBUGGER CC USERCC USEROSTYPE LIBVERSION BUILD HOST TARGET ; do # REPORT
eval VAL="\$${A}"
[ -z "${VAL}" ] && VAL="(null)"
echo " - ${A} = ${VAL}"

View File

@ -55,7 +55,7 @@ IFAND HAVE_LIB_Z USE_ZIP {
ARG_WITHOUT WITH_GPL gpl do not build GPL code (grub, cxx, ... ) ;
CHKDECL sys/personality.h ADDR_NO_RANDOMIZE
CHKFNC c arc4random_buf
CHKFNC c arc4random_uniform
(( TODO must deprecate
CHKLIB gmp
@ -138,7 +138,7 @@ IFEQ LIBVERSION xxx ; {
}
REPORT PREFIX HAVE_LIB_GMP HAVE_OPENSSL USE_CAPSTONE HAVE_FORK
VERSION USE_LIB_ZIP USE_LIB_MAGIC DEBUGGER CC USERCC
VERSION USE_LIB_ZIP USE_LIB_MAGIC DEBUGGER CC USERCC HAVE_ARC4RANDOM_UNIFORM
USEROSTYPE LIBVERSION BUILD HOST TARGET ;
(( TODO: Add the rest of .pc files here.. add a rule for acr? ))

View File

@ -5,6 +5,7 @@
#define DEBUGGER @DEBUGGER@
#define HAVE_DECL_ADDR_NO_RANDOMIZE @HAVE_DECL_ADDR_NO_RANDOMIZE@
#define HAVE_ARC4RANDOM_UNIFORM @HAVE_ARC4RANDOM_UNIFORM@
#if __WINDOWS__ || __CYGWIN__ || MINGW32 || _MSC_VER || CUTTER
#define R2_PREFIX "."

View File

@ -5,6 +5,7 @@
#define DEBUGGER @DEBUGGER@
#define HAVE_DECL_ADDR_NO_RANDOMIZE @HAVE_DECL_ADDR_NO_RANDOMIZE@
#define HAVE_ARC4RANDOM_UNIFORM @HAVE_ARC4RANDOM_UNIFORM@
#define R2_PREFIX "@PREFIX@"
#define R2_LIBDIR "@LIBDIR@"

View File

@ -50,7 +50,7 @@ typedef ut64 (*RNumCallback)(struct r_num_t *self, const char *str, int *ok);
typedef const char *(*RNumCallback2)(struct r_num_t *self, ut64, int *ok);
void r_srand(int seed);
int r_rand(void);
int r_rand(int mod);
R_API RNum *r_num_new(RNumCallback cb, RNumCallback2 cb2, void *ptr);
R_API void r_num_free(RNum *num);

View File

@ -18,11 +18,11 @@ void r_srand (int seed) {
#endif
}
int r_rand (void) {
int r_rand (int mod) {
#if HAVE_ARC4RANDOM_UNIFORM
return (int)arc4random ();
return (int)arc4random_uniform (mod);
#else
return rand ();
return rand ()%mod;
#endif
}
@ -39,7 +39,7 @@ R_API int r_num_rand(int max) {
if (!max) {
max = 1;
}
return r_rand ()%max;
return r_rand (max);
}
R_API void r_num_minmax_swap(ut64 *a, ut64 *b) {