aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2002-11-14 23:33:48 +0000
committerRichard Levitte <levitte@openssl.org>2002-11-14 23:33:48 +0000
commit5a6250fb06a0bc8eb77365334c9db883095cc34e (patch)
tree4606e6391ee20ccf423987d86593ce3dd71da46b
parentdd40b2002b1afacdc1e08c6110a64df472f12137 (diff)
downloadopenssl-5a6250fb06a0bc8eb77365334c9db883095cc34e.tar.gz
Close the implicitely opened registry key.
PR: 264
-rw-r--r--crypto/rand/rand_win.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/crypto/rand/rand_win.c b/crypto/rand/rand_win.c
index dfca0e0d5d..92befcd798 100644
--- a/crypto/rand/rand_win.c
+++ b/crypto/rand/rand_win.c
@@ -287,9 +287,18 @@ int RAND_poll(void)
{
/* For entropy count assume only least significant
* byte of each DWORD is random.
- */
+ */
RAND_add(&length, sizeof(length), 0);
RAND_add(buf, length, length / 4.0);
+
+ /* Close the Registry Key to allow Windows to cleanup/close
+ * the open handle
+ * Note: The 'HKEY_PERFORMANCE_DATA' key is implicitly opened
+ * when the RegQueryValueEx above is done. However, if
+ * it is not explicitly closed, it can cause disk
+ * partition manipulation problems.
+ */
+ RegCloseKey(HKEY_PERFORMANCE_DATA);
}
if (buf)
free(buf);