diff options
author | bcook <> | 2014-11-11 13:54:33 +0000 |
---|---|---|
committer | bcook <> | 2014-11-11 13:54:33 +0000 |
commit | 196bc8bde22c57764fd6fd65e48c48dd559664ce (patch) | |
tree | f7d475d72ad11da3183d819578693080f7d0db26 /src | |
parent | 3a7fef712ff3b788a0da6afb3334dcb656b65b8b (diff) | |
download | openbsd-196bc8bde22c57764fd6fd65e48c48dd559664ce.tar.gz openbsd-196bc8bde22c57764fd6fd65e48c48dd559664ce.tar.bz2 openbsd-196bc8bde22c57764fd6fd65e48c48dd559664ce.zip |
correct the failure case for getentropy on win32
CryptAcquireContext and CryptGenRandom returns zero (FALSE) if fails.
From: Dongsheng Song <dongsheng.song@gmail.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/lib/libcrypto/arc4random/getentropy_win.c | 6 | ||||
-rw-r--r-- | src/lib/libcrypto/crypto/getentropy_win.c | 6 |
2 files changed, 6 insertions, 6 deletions
diff --git a/src/lib/libcrypto/arc4random/getentropy_win.c b/src/lib/libcrypto/arc4random/getentropy_win.c index 1263ba4ca2..da048ae157 100644 --- a/src/lib/libcrypto/arc4random/getentropy_win.c +++ b/src/lib/libcrypto/arc4random/getentropy_win.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: getentropy_win.c,v 1.2 2014/07/13 13:03:09 deraadt Exp $ */ | 1 | /* $OpenBSD: getentropy_win.c,v 1.3 2014/11/11 13:54:33 bcook Exp $ */ |
2 | 2 | ||
3 | /* | 3 | /* |
4 | * Copyright (c) 2014, Theo de Raadt <deraadt@openbsd.org> | 4 | * Copyright (c) 2014, Theo de Raadt <deraadt@openbsd.org> |
@@ -44,9 +44,9 @@ getentropy(void *buf, size_t len) | |||
44 | } | 44 | } |
45 | 45 | ||
46 | if (CryptAcquireContext(&provider, NULL, NULL, PROV_RSA_FULL, | 46 | if (CryptAcquireContext(&provider, NULL, NULL, PROV_RSA_FULL, |
47 | CRYPT_VERIFYCONTEXT) != 0) | 47 | CRYPT_VERIFYCONTEXT) == 0) |
48 | goto fail; | 48 | goto fail; |
49 | if (CryptGenRandom(provider, len, buf) != 0) { | 49 | if (CryptGenRandom(provider, len, buf) == 0) { |
50 | CryptReleaseContext(provider, 0); | 50 | CryptReleaseContext(provider, 0); |
51 | goto fail; | 51 | goto fail; |
52 | } | 52 | } |
diff --git a/src/lib/libcrypto/crypto/getentropy_win.c b/src/lib/libcrypto/crypto/getentropy_win.c index 1263ba4ca2..da048ae157 100644 --- a/src/lib/libcrypto/crypto/getentropy_win.c +++ b/src/lib/libcrypto/crypto/getentropy_win.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: getentropy_win.c,v 1.2 2014/07/13 13:03:09 deraadt Exp $ */ | 1 | /* $OpenBSD: getentropy_win.c,v 1.3 2014/11/11 13:54:33 bcook Exp $ */ |
2 | 2 | ||
3 | /* | 3 | /* |
4 | * Copyright (c) 2014, Theo de Raadt <deraadt@openbsd.org> | 4 | * Copyright (c) 2014, Theo de Raadt <deraadt@openbsd.org> |
@@ -44,9 +44,9 @@ getentropy(void *buf, size_t len) | |||
44 | } | 44 | } |
45 | 45 | ||
46 | if (CryptAcquireContext(&provider, NULL, NULL, PROV_RSA_FULL, | 46 | if (CryptAcquireContext(&provider, NULL, NULL, PROV_RSA_FULL, |
47 | CRYPT_VERIFYCONTEXT) != 0) | 47 | CRYPT_VERIFYCONTEXT) == 0) |
48 | goto fail; | 48 | goto fail; |
49 | if (CryptGenRandom(provider, len, buf) != 0) { | 49 | if (CryptGenRandom(provider, len, buf) == 0) { |
50 | CryptReleaseContext(provider, 0); | 50 | CryptReleaseContext(provider, 0); |
51 | goto fail; | 51 | goto fail; |
52 | } | 52 | } |