0010.disable-loading-DLLs-from-app-dir.patch 1.2 KB

1234567891011121314151617181920212223242526272829303132
  1. diff --git a/compat/w32dlfcn.h b/compat/w32dlfcn.h
  2. index ac20e83..1e83aa6 100644
  3. --- a/compat/w32dlfcn.h
  4. +++ b/compat/w32dlfcn.h
  5. @@ -76,6 +76,7 @@ static inline HMODULE win32_dlopen(const char *name)
  6. if (!name_w)
  7. goto exit;
  8. namelen = wcslen(name_w);
  9. + /*
  10. // Try local directory first
  11. path = get_module_filename(NULL);
  12. if (!path)
  13. @@ -91,6 +92,7 @@ static inline HMODULE win32_dlopen(const char *name)
  14. path = new_path;
  15. wcscpy(path + pathlen + 1, name_w);
  16. module = LoadLibraryExW(path, NULL, LOAD_WITH_ALTERED_SEARCH_PATH);
  17. + */
  18. if (module == NULL) {
  19. // Next try System32 directory
  20. pathlen = GetSystemDirectoryW(path, pathsize);
  21. @@ -131,7 +133,9 @@ exit:
  22. return NULL;
  23. module = LoadPackagedLibrary(name_w, 0);
  24. #else
  25. -#define LOAD_FLAGS (LOAD_LIBRARY_SEARCH_APPLICATION_DIR | LOAD_LIBRARY_SEARCH_SYSTEM32)
  26. +// #define LOAD_FLAGS (LOAD_LIBRARY_SEARCH_APPLICATION_DIR | LOAD_LIBRARY_SEARCH_SYSTEM32)
  27. +// Don't dynamic-link libraries from the application directory.
  28. + #define LOAD_FLAGS LOAD_LIBRARY_SEARCH_SYSTEM32
  29. /* filename may be be in CP_ACP */
  30. if (!name_w)
  31. return LoadLibraryExA(name, NULL, LOAD_FLAGS);