diff options
author | reimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2010-08-27 16:28:53 +0000 |
---|---|---|
committer | Uoti Urpala <uau@glyph.nonexistent.invalid> | 2010-11-02 04:15:49 +0200 |
commit | 5c083f82ca31ddd12a25c826a4a81a0778461d30 (patch) | |
tree | 7f5f94d628337b6eab23752da3cde0383e7dd5e7 | |
parent | 04b8751a5caa87b7a4661ad89f9fef846b431f1f (diff) | |
download | mpv-5c083f82ca31ddd12a25c826a4a81a0778461d30.tar.bz2 mpv-5c083f82ca31ddd12a25c826a4a81a0778461d30.tar.xz |
loader: Disable loading codecs from the current directory
While convenient, it is too risky.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32025 b3059339-0415-0410-9bf9-f77b7e298cf2
100l, we need to search for SetDllDirectoryA instead of SetDllDirectory
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32026 b3059339-0415-0410-9bf9-f77b7e298cf2
-rw-r--r-- | loader/module.c | 4 | ||||
-rw-r--r-- | mplayer.c | 6 |
2 files changed, 9 insertions, 1 deletions
diff --git a/loader/module.c b/loader/module.c index 6f3f0c3de9..6182d4b190 100644 --- a/loader/module.c +++ b/loader/module.c @@ -381,6 +381,10 @@ HMODULE WINAPI LoadLibraryExA(LPCSTR libname, HANDLE hfile, DWORD flags) // if(fs_installed==0) // install_fs(); + // Do not load libraries from a path relative to the current directory + if (*libname != '/') + i++; + while (wm == 0 && listpath[++i]) { if (i < 2) @@ -3210,9 +3210,13 @@ int i; { HMODULE kernel32 = GetModuleHandle("Kernel32.dll"); BOOL WINAPI (*setDEP)(DWORD) = NULL; - if (kernel32) + BOOL WINAPI (*setDllDir)(LPCTSTR) = NULL; + if (kernel32) { setDEP = GetProcAddress(kernel32, "SetProcessDEPPolicy"); + setDllDir = GetProcAddress(kernel32, "SetDllDirectoryA"); + } if (setDEP) setDEP(3); + if (setDllDir) setDllDir(""); } // stop Windows from showing all kinds of annoying error dialogs SetErrorMode(0x8003); |