aboutsummaryrefslogtreecommitdiff
path: root/src/test/test_crypto_rng.c
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2019-02-19 15:36:11 -0500
committerNick Mathewson <nickm@torproject.org>2019-02-19 15:36:11 -0500
commit208f04e9b8241569fe314f6d5cb65521c9b55d8b (patch)
tree8b69ba4347f67c8f5ec008bb2d353af63480911d /src/test/test_crypto_rng.c
parentb25cd5cfe168b85500c160ca538a44d9adba52c1 (diff)
downloadtor-208f04e9b8241569fe314f6d5cb65521c9b55d8b.tar.gz
tor-208f04e9b8241569fe314f6d5cb65521c9b55d8b.zip
Add a quick test for get_thread_fast_rng()
Diffstat (limited to 'src/test/test_crypto_rng.c')
-rw-r--r--src/test/test_crypto_rng.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/test/test_crypto_rng.c b/src/test/test_crypto_rng.c
index 23b0c66514..6b7749a889 100644
--- a/src/test/test_crypto_rng.c
+++ b/src/test/test_crypto_rng.c
@@ -218,6 +218,14 @@ test_crypto_rng_fast(void *arg)
tt_int_op(counts[i], OP_GT, 0);
}
+ /* per-thread rand_fast shouldn't crash or leak. */
+ crypto_fast_rng_t *t_rng = get_thread_fast_rng();
+ for (int i = 0; i < N; ++i) {
+ uint64_t u64 = crypto_fast_rng_get_uint64(t_rng, UINT64_C(1)<<40);
+ tt_u64_op(u64, OP_GE, 0);
+ tt_u64_op(u64, OP_LT, UINT64_C(1)<<40);
+ }
+
done:
crypto_fast_rng_free(rng);
}