mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-16 00:17:32 +00:00
Report Windows error code in a fatal error after a system call.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@252800 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
9650aeb6c8
commit
50085b19f4
@ -417,16 +417,23 @@ const char *Process::ResetColor() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Include GetLastError() in a fatal error message.
|
||||
static void ReportLastErrorFatal(const char *Msg) {
|
||||
std::string ErrMsg;
|
||||
MakeErrMsg(&ErrMsg, Msg);
|
||||
report_fatal_error(ErrMsg);
|
||||
}
|
||||
|
||||
unsigned Process::GetRandomNumber() {
|
||||
HCRYPTPROV HCPC;
|
||||
if (!::CryptAcquireContextW(&HCPC, NULL, NULL, PROV_RSA_FULL,
|
||||
CRYPT_VERIFYCONTEXT))
|
||||
report_fatal_error("Could not acquire a cryptographic context");
|
||||
ReportLastErrorFatal("Could not acquire a cryptographic context");
|
||||
|
||||
ScopedCryptContext CryptoProvider(HCPC);
|
||||
unsigned Ret;
|
||||
if (!::CryptGenRandom(CryptoProvider, sizeof(Ret),
|
||||
reinterpret_cast<BYTE *>(&Ret)))
|
||||
report_fatal_error("Could not generate a random number");
|
||||
ReportLastErrorFatal("Could not generate a random number");
|
||||
return Ret;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user