call _exit instead of abort in release mode

Avoids cores being created, as they're nowadays often piped
to some call home system
This commit is contained in:
moneromooo-monero 2018-01-26 10:35:13 +00:00
parent 09d19c9139
commit 851bd057ec
No known key found for this signature in database
GPG key ID: 686F07454D6CEFC3
6 changed files with 49 additions and 7 deletions

View file

@ -45,7 +45,11 @@ static void generate_system_random_bytes(size_t n, void *result);
static void generate_system_random_bytes(size_t n, void *result) {
HCRYPTPROV prov;
#ifdef NDEBUG
#define must_succeed(x) do if (!(x)) { fprintf(stderr, "Failed: " #x); _exit(1); } while (0)
#else
#define must_succeed(x) do if (!(x)) abort(); while (0)
#endif
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));