[llvm] r201125 - Using the helper API for random number generation.
Aaron Ballman
aaron at aaronballman.com
Mon Feb 10 19:40:14 PST 2014
Author: aaronballman
Date: Mon Feb 10 21:40:14 2014
New Revision: 201125
URL: http://llvm.org/viewvc/llvm-project?rev=201125&view=rev
Log:
Using the helper API for random number generation.
Modified:
llvm/trunk/lib/Support/Path.cpp
llvm/trunk/lib/Support/Unix/Path.inc
llvm/trunk/lib/Support/Windows/Path.inc
Modified: llvm/trunk/lib/Support/Path.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Support/Path.cpp?rev=201125&r1=201124&r2=201125&view=diff
==============================================================================
--- llvm/trunk/lib/Support/Path.cpp (original)
+++ llvm/trunk/lib/Support/Path.cpp Mon Feb 10 21:40:14 2014
@@ -15,6 +15,7 @@
#include "llvm/Support/Endian.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/FileSystem.h"
+#include "llvm/Support/Process.h"
#include <cctype>
#include <cstdio>
#include <cstring>
Modified: llvm/trunk/lib/Support/Unix/Path.inc
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Support/Unix/Path.inc?rev=201125&r1=201124&r2=201125&view=diff
==============================================================================
--- llvm/trunk/lib/Support/Unix/Path.inc (original)
+++ llvm/trunk/lib/Support/Unix/Path.inc Mon Feb 10 21:40:14 2014
@@ -17,7 +17,6 @@
//===----------------------------------------------------------------------===//
#include "Unix.h"
-#include "llvm/Support/Process.h"
#include <limits.h>
#include <stdio.h>
#if HAVE_SYS_STAT_H
Modified: llvm/trunk/lib/Support/Windows/Path.inc
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Support/Windows/Path.inc?rev=201125&r1=201124&r2=201125&view=diff
==============================================================================
--- llvm/trunk/lib/Support/Windows/Path.inc (original)
+++ llvm/trunk/lib/Support/Windows/Path.inc Mon Feb 10 21:40:14 2014
@@ -112,25 +112,13 @@ static error_code createUniqueEntity(con
// needed if the randomly chosen path already exists.
SmallVector<wchar_t, 128> random_path_utf16;
- // Get a Crypto Provider for CryptGenRandom.
- HCRYPTPROV HCPC;
- if (!::CryptAcquireContextW(&HCPC,
- NULL,
- NULL,
- PROV_RSA_FULL,
- CRYPT_VERIFYCONTEXT))
- return windows_error(::GetLastError());
- ScopedCryptContext CryptoProvider(HCPC);
-
retry_random_path:
random_path_utf16.set_size(0);
for (SmallVectorImpl<wchar_t>::const_iterator i = model_utf16.begin(),
e = model_utf16.end();
i != e; ++i) {
if (*i == L'%') {
- BYTE val = 0;
- if (!::CryptGenRandom(CryptoProvider, 1, &val))
- return windows_error(::GetLastError());
+ unsigned val = sys::Process::GetRandomNumber();
random_path_utf16.push_back(L"0123456789abcdef"[val & 15]);
}
else
More information about the llvm-commits
mailing list