diff options
author | Paul Kehrer <paul.l.kehrer@gmail.com> | 2014-02-04 09:18:10 -0600 |
---|---|---|
committer | Paul Kehrer <paul.l.kehrer@gmail.com> | 2014-02-04 09:18:10 -0600 |
commit | 8d4d9ff129e12bd02f0a88ddb359cf228bcf1e4e (patch) | |
tree | 4e07a13ce0ef2a4a2aace171abb62c517e6d0db7 | |
parent | b930b1289a5ba729c26a8fd25daddc90f497ddf9 (diff) | |
download | cryptography-8d4d9ff129e12bd02f0a88ddb359cf228bcf1e4e.tar.gz cryptography-8d4d9ff129e12bd02f0a88ddb359cf228bcf1e4e.tar.bz2 cryptography-8d4d9ff129e12bd02f0a88ddb359cf228bcf1e4e.zip |
cryptgenrandom returns all requested bytes or errors, so no loop required
-rw-r--r-- | cryptography/hazmat/bindings/openssl/osrand_engine.py | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/cryptography/hazmat/bindings/openssl/osrand_engine.py b/cryptography/hazmat/bindings/openssl/osrand_engine.py index 2313a61f..4163668b 100644 --- a/cryptography/hazmat/bindings/openssl/osrand_engine.py +++ b/cryptography/hazmat/bindings/openssl/osrand_engine.py @@ -48,20 +48,13 @@ static int osrandom_init(ENGINE *e) { } static int osrandom_rand_bytes(unsigned char *buffer, int size) { - size_t chunk; - if (hCryptProv == 0) { return 0; } - while (size > 0) { - chunk = size; - if (!CryptGenRandom(hCryptProv, (DWORD)chunk, buffer)) { - ERR_put_error(ERR_LIB_RAND, 0, ERR_R_RAND_LIB, "osrandom.py", 0); - return 0; - } - buffer += chunk; - size -= chunk; + if (!CryptGenRandom(hCryptProv, (DWORD)size, buffer)) { + ERR_put_error(ERR_LIB_RAND, 0, ERR_R_RAND_LIB, "osrandom.py", 0); + return 0; } return 1; } |