aboutsummaryrefslogtreecommitdiff
path: root/src/crypto/random.c
diff options
context:
space:
mode:
authormoneromooo-monero <moneromooo-monero@users.noreply.github.com>2016-04-24 12:26:56 +0100
committermoneromooo-monero <moneromooo-monero@users.noreply.github.com>2016-04-24 12:26:56 +0100
commit31587bdd153040fa641bd0f5967b69a3b0a9559f (patch)
tree43589600b348e614a4175c15c3937393aeb10380 /src/crypto/random.c
parentMerge pull request #803 (diff)
downloadmonero-31587bdd153040fa641bd0f5967b69a3b0a9559f.tar.xz
random: call abort(3) instead of assert in must_succeed macro
Avoids silent use of bad RNG in release builds, in case those calls might actually fail. Reported by smooth.
Diffstat (limited to '')
-rw-r--r--src/crypto/random.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/crypto/random.c b/src/crypto/random.c
index d7fcb7e65..f8a50d850 100644
--- a/src/crypto/random.c
+++ b/src/crypto/random.c
@@ -45,7 +45,7 @@ static void generate_system_random_bytes(size_t n, void *result);
static void generate_system_random_bytes(size_t n, void *result) {
HCRYPTPROV prov;
-#define must_succeed(x) do if (!(x)) assert(0); while (0)
+#define must_succeed(x) do if (!(x)) abort(); while (0)
must_succeed(CryptAcquireContext(&prov, NULL, NULL, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT | CRYPT_SILENT));
must_succeed(CryptGenRandom(prov, (DWORD)n, result));
must_succeed(CryptReleaseContext(prov, 0));