diff --git a/src/win/dl.c b/src/win/dl.c index 676be4dc..58bdc170 100644 --- a/src/win/dl.c +++ b/src/win/dl.c @@ -27,7 +27,8 @@ static int uv__dlerror(uv_lib_t* lib, const char* filename, DWORD errorno); int uv_dlopen(const char* filename, uv_lib_t* lib) { WCHAR filename_w[32768]; - + DWORD flags; + lib->handle = NULL; lib->errmsg = NULL; @@ -40,7 +41,8 @@ int uv_dlopen(const char* filename, uv_lib_t* lib) { return uv__dlerror(lib, filename, GetLastError()); } - lib->handle = LoadLibraryExW(filename_w, NULL, LOAD_WITH_ALTERED_SEARCH_PATH); + flags = LOAD_WITH_ALTERED_SEARCH_PATH | LOAD_LIBRARY_SAFE_CURRENT_DIRS; + lib->handle = LoadLibraryExW(filename_w, NULL, flags); if (lib->handle == NULL) { return uv__dlerror(lib, filename, GetLastError()); }