diff options
Diffstat (limited to 'src/burn/stub/stub.cpp')
-rw-r--r-- | src/burn/stub/stub.cpp | 15 |
1 files changed, 1 insertions, 14 deletions
diff --git a/src/burn/stub/stub.cpp b/src/burn/stub/stub.cpp index 9c9dfeef..d8cee9f1 100644 --- a/src/burn/stub/stub.cpp +++ b/src/burn/stub/stub.cpp | |||
@@ -41,20 +41,7 @@ int WINAPI wWinMain( | |||
41 | hEngineFile = ::CreateFileW(sczPath, GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_DELETE, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); | 41 | hEngineFile = ::CreateFileW(sczPath, GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_DELETE, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); |
42 | } | 42 | } |
43 | 43 | ||
44 | // If the engine is in the clean room, we'll do the unsafe initialization | 44 | AppInitialize(rgsczSafelyLoadSystemDlls, countof(rgsczSafelyLoadSystemDlls)); |
45 | // because some systems in Windows (namely GDI+) will fail when run in | ||
46 | // a process that protects against DLL hijacking. Since we know the clean | ||
47 | // room is in a clean folder and not subject to DLL hijacking we won't | ||
48 | // make ourselves perfectly secure so that we can load BAs that still | ||
49 | // depend on those parts of Windows that are insecure to DLL hijacking. | ||
50 | if (EngineInCleanRoom(lpCmdLine)) | ||
51 | { | ||
52 | AppInitializeUnsafe(); | ||
53 | } | ||
54 | else | ||
55 | { | ||
56 | AppInitialize(rgsczSafelyLoadSystemDlls, countof(rgsczSafelyLoadSystemDlls)); | ||
57 | } | ||
58 | 45 | ||
59 | AvoidLocalDllRedirection(sczPath); | 46 | AvoidLocalDllRedirection(sczPath); |
60 | 47 | ||