summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorbcook <>2014-11-11 13:54:33 +0000
committerbcook <>2014-11-11 13:54:33 +0000
commit196bc8bde22c57764fd6fd65e48c48dd559664ce (patch)
treef7d475d72ad11da3183d819578693080f7d0db26 /src
parent3a7fef712ff3b788a0da6afb3334dcb656b65b8b (diff)
downloadopenbsd-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.c6
-rw-r--r--src/lib/libcrypto/crypto/getentropy_win.c6
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 }