mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-27 22:03:31 +01:00
Merge branch 'ticket21953_029'
This commit is contained in:
commit
4410271446
6
changes/ticket21953
Normal file
6
changes/ticket21953
Normal file
@ -0,0 +1,6 @@
|
||||
o Minor features:
|
||||
- Enable a couple of pieces of Windows hardening: one
|
||||
(HeapEnableTerminationOnCorruption) that has been on-by-default since
|
||||
Windows 8, and unavailable before Windows 7, and one
|
||||
(PROCESS_DEP_DISABLE_ATL_THUNK_EMULATION) which we believe doesn't
|
||||
affect us, but shouldn't do any harm. Closes ticket 21953.
|
@ -3665,6 +3665,8 @@ tor_main(int argc, char *argv[])
|
||||
int result = 0;
|
||||
|
||||
#ifdef _WIN32
|
||||
/* On heap corruption, just give up; don't try to play along. */
|
||||
HeapSetInformation(NULL, HeapEnableTerminationOnCorruption, NULL, 0);
|
||||
/* Call SetProcessDEPPolicy to permanently enable DEP.
|
||||
The function will not resolve on earlier versions of Windows,
|
||||
and failure is not dangerous. */
|
||||
@ -3673,7 +3675,10 @@ tor_main(int argc, char *argv[])
|
||||
typedef BOOL (WINAPI *PSETDEP)(DWORD);
|
||||
PSETDEP setdeppolicy = (PSETDEP)GetProcAddress(hMod,
|
||||
"SetProcessDEPPolicy");
|
||||
if (setdeppolicy) setdeppolicy(1); /* PROCESS_DEP_ENABLE */
|
||||
if (setdeppolicy) {
|
||||
/* PROCESS_DEP_ENABLE | PROCESS_DEP_DISABLE_ATL_THUNK_EMULATION */
|
||||
setdeppolicy(3);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user