Browse Source

Merge pull request #1614 from Diapolo/Qt_Win_enable_DEP

Bitcoin-Qt (Windows only): enable DEP for bitcoin-qt.exe
0.8
Wladimir J. van der Laan 12 years ago
parent
commit
a55ed9d5bb
  1. 16
      src/init.cpp

16
src/init.cpp

@ -312,10 +312,22 @@ bool AppInit2()
// Disable confusing "helpful" text message on abort, Ctrl-C // Disable confusing "helpful" text message on abort, Ctrl-C
_set_abort_behavior(0, _WRITE_ABORT_MSG | _CALL_REPORTFAULT); _set_abort_behavior(0, _WRITE_ABORT_MSG | _CALL_REPORTFAULT);
#endif #endif
#ifndef WIN32 #ifdef WIN32
umask(077); // Enable Data Execution Prevention (DEP)
// Minimum supported OS versions: WinXP SP3, WinVista >= SP1, Win Server 2008
// A failure is non-critical and needs no further attention!
#ifndef PROCESS_DEP_ENABLE
// We define this here, because GCCs winbase.h limits this to _WIN32_WINNT >= 0x0601 (Windows 7),
// which is not correct. Can be removed, when GCCs winbase.h is fixed!
#define PROCESS_DEP_ENABLE 0x00000001
#endif
typedef BOOL (WINAPI *PSETPROCDEPPOL)(DWORD);
PSETPROCDEPPOL setProcDEPPol = (PSETPROCDEPPOL)GetProcAddress(GetModuleHandleA("Kernel32.dll"), "SetProcessDEPPolicy");
if (setProcDEPPol != NULL) setProcDEPPol(PROCESS_DEP_ENABLE);
#endif #endif
#ifndef WIN32 #ifndef WIN32
umask(077);
// Clean shutdown on SIGTERM // Clean shutdown on SIGTERM
struct sigaction sa; struct sigaction sa;
sa.sa_handler = HandleSIGTERM; sa.sa_handler = HandleSIGTERM;

Loading…
Cancel
Save