summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--changes/bug1954_loadlib4
-rw-r--r--src/or/eventdns.c2
-rw-r--r--src/or/ntmain.c2
3 files changed, 6 insertions, 2 deletions
diff --git a/changes/bug1954_loadlib b/changes/bug1954_loadlib
new file mode 100644
index 0000000000..901d9baa5c
--- /dev/null
+++ b/changes/bug1954_loadlib
@@ -0,0 +1,4 @@
+ o Major bugfixes
+ - Always search the windows system directory for system DLLs, and
+ nowhere else. Fixes bug 1954.
+
diff --git a/src/or/eventdns.c b/src/or/eventdns.c
index 8ebfb79353..c6fcbd9484 100644
--- a/src/or/eventdns.c
+++ b/src/or/eventdns.c
@@ -3132,7 +3132,7 @@ load_nameservers_with_getnetworkparams(void)
GetNetworkParams_fn_t fn;
/* XXXX Possibly, we should hardcode the location of this DLL. */
- if (!(handle = LoadLibrary(TEXT("iphlpapi.dll")))) {
+ if (!(handle = load_windows_system_library(TEXT("iphlpapi.dll")))) {
log(EVDNS_LOG_WARN, "Could not open iphlpapi.dll");
/* right now status = 0, doesn't that mean "good" - mikec */
status = -1;
diff --git a/src/or/ntmain.c b/src/or/ntmain.c
index 0b611f0bf1..e5855aad8e 100644
--- a/src/or/ntmain.c
+++ b/src/or/ntmain.c
@@ -139,7 +139,7 @@ nt_service_loadlibrary(void)
return;
/* XXXX Possibly, we should hardcode the location of this DLL. */
- if (!(library = LoadLibrary(TEXT("advapi32.dll")))) {
+ if (!(library = load_windows_system_library(TEXT("advapi32.dll")))) {
log_err(LD_GENERAL, "Couldn't open advapi32.dll. Are you trying to use "
"NT services on Windows 98? That doesn't work.");
goto err;