aboutsummaryrefslogtreecommitdiff
path: root/deps/uv/src/win/fs.c
diff options
context:
space:
mode:
Diffstat (limited to 'deps/uv/src/win/fs.c')
-rw-r--r--deps/uv/src/win/fs.c17
1 files changed, 3 insertions, 14 deletions
diff --git a/deps/uv/src/win/fs.c b/deps/uv/src/win/fs.c
index 5dccca7799..3ab486080c 100644
--- a/deps/uv/src/win/fs.c
+++ b/deps/uv/src/win/fs.c
@@ -36,8 +36,6 @@
#include "handle-inl.h"
#include "fs-fd-hash-inl.h"
-#include <wincrypt.h>
-
#define UV_FS_FREE_PATHS 0x0002
#define UV_FS_FREE_PTR 0x0008
@@ -1207,9 +1205,7 @@ void fs__mkdtemp(uv_fs_t* req) {
WCHAR *cp, *ep;
unsigned int tries, i;
size_t len;
- HCRYPTPROV h_crypt_prov;
uint64_t v;
- BOOL released;
len = wcslen(req->file.pathw);
ep = req->file.pathw + len;
@@ -1218,16 +1214,10 @@ void fs__mkdtemp(uv_fs_t* req) {
return;
}
- if (!CryptAcquireContext(&h_crypt_prov, NULL, NULL, PROV_RSA_FULL,
- CRYPT_VERIFYCONTEXT)) {
- SET_REQ_WIN32_ERROR(req, GetLastError());
- return;
- }
-
tries = TMP_MAX;
do {
- if (!CryptGenRandom(h_crypt_prov, sizeof(v), (BYTE*) &v)) {
- SET_REQ_WIN32_ERROR(req, GetLastError());
+ if (uv__random_rtlgenrandom((void *)&v, sizeof(v)) < 0) {
+ SET_REQ_UV_ERROR(req, UV_EIO, ERROR_IO_DEVICE);
break;
}
@@ -1248,8 +1238,6 @@ void fs__mkdtemp(uv_fs_t* req) {
}
} while (--tries);
- released = CryptReleaseContext(h_crypt_prov, 0);
- assert(released);
if (tries == 0) {
SET_REQ_RESULT(req, -1);
}
@@ -2587,6 +2575,7 @@ static void fs__statfs(uv_fs_t* req) {
stat_fs->f_files = 0;
stat_fs->f_ffree = 0;
req->ptr = stat_fs;
+ req->flags |= UV_FS_FREE_PTR;
SET_REQ_RESULT(req, 0);
}