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;  }  | 
