diff options
Diffstat (limited to 'src/util/crypto_random.c')
-rw-r--r-- | src/util/crypto_random.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/util/crypto_random.c b/src/util/crypto_random.c index a1485029e..ff20646f7 100644 --- a/src/util/crypto_random.c +++ b/src/util/crypto_random.c | |||
@@ -38,10 +38,10 @@ | |||
38 | /* The code is derived from glibc, obviously */ | 38 | /* The code is derived from glibc, obviously */ |
39 | #if MINGW | 39 | #if MINGW |
40 | #ifdef RANDOM | 40 | #ifdef RANDOM |
41 | # undef RANDOM | 41 | #undef RANDOM |
42 | #endif | 42 | #endif |
43 | #ifdef SRANDOM | 43 | #ifdef SRANDOM |
44 | # undef SRANDOM | 44 | #undef SRANDOM |
45 | #endif | 45 | #endif |
46 | #define RANDOM() glibc_weak_rand32() | 46 | #define RANDOM() glibc_weak_rand32() |
47 | #define SRANDOM(s) glibc_weak_srand32(s) | 47 | #define SRANDOM(s) glibc_weak_srand32(s) |
@@ -57,6 +57,7 @@ int32_t | |||
57 | glibc_weak_rand32 () | 57 | glibc_weak_rand32 () |
58 | { | 58 | { |
59 | int32_t val = glibc_weak_rand32_state; | 59 | int32_t val = glibc_weak_rand32_state; |
60 | |||
60 | val = ((glibc_weak_rand32_state * 1103515245) + 12345) & 0x7fffffff; | 61 | val = ((glibc_weak_rand32_state * 1103515245) + 12345) & 0x7fffffff; |
61 | glibc_weak_rand32_state = val; | 62 | glibc_weak_rand32_state = val; |
62 | return val; | 63 | return val; |
@@ -314,7 +315,8 @@ void __attribute__ ((constructor)) GNUNET_CRYPTO_random_init () | |||
314 | gcry_set_progress_handler (&entropy_generator, NULL); | 315 | gcry_set_progress_handler (&entropy_generator, NULL); |
315 | atexit (&killfind); | 316 | atexit (&killfind); |
316 | GNUNET_CRYPTO_seed_weak_random (time (NULL) ^ | 317 | GNUNET_CRYPTO_seed_weak_random (time (NULL) ^ |
317 | GNUNET_CRYPTO_random_u32 (GNUNET_CRYPTO_QUALITY_NONCE, UINT32_MAX)); | 318 | GNUNET_CRYPTO_random_u32 |
319 | (GNUNET_CRYPTO_QUALITY_NONCE, UINT32_MAX)); | ||
318 | } | 320 | } |
319 | 321 | ||
320 | 322 | ||