diff options
Diffstat (limited to '')
| -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 | ||
