tor

The Tor anonymity network
git clone https://git.dasho.dev/tor.git
Log | Files | Refs | README | LICENSE

commit a78504dbe62efac4a8f0ce03f3fb1123bde7c1dd
parent a4930de5e96b83295478386cd15c8a7a3e8c0ef8
Author: Nick Mathewson <nickm@torproject.org>
Date:   Fri,  7 Sep 2018 08:46:45 -0400

Merge branch 'maint-0.3.3' into maint-0.3.4

Diffstat:
Achanges/bug27461 | 5+++++
Msrc/or/main.c | 8++++++++
2 files changed, 13 insertions(+), 0 deletions(-)

diff --git a/changes/bug27461 b/changes/bug27461 @@ -0,0 +1,5 @@ + o Minor bugfixes (compilation): + - Stop calling SetProcessDEPPolicy() on 64-bit Windows. It is not + supported, and always fails. Some compilers warn about the function + pointer cast on 64-bit Windows. + Fixes bug 27461; bugfix on 0.2.2.23-alpha. diff --git a/src/or/main.c b/src/or/main.c @@ -4206,6 +4206,13 @@ tor_run_main(const tor_main_configuration_t *tor_cfg) #endif /* On heap corruption, just give up; don't try to play along. */ HeapSetInformation(NULL, HeapEnableTerminationOnCorruption, NULL, 0); + + /* SetProcessDEPPolicy is only supported on 32-bit Windows. + * (On 64-bit Windows it always fails, and some compilers don't like the + * PSETDEP cast.) + * 32-bit Windows defines _WIN32. + * 64-bit Windows defines _WIN32 and _WIN64. */ +#ifndef _WIN64 /* Call SetProcessDEPPolicy to permanently enable DEP. The function will not resolve on earlier versions of Windows, and failure is not dangerous. */ @@ -4219,6 +4226,7 @@ tor_run_main(const tor_main_configuration_t *tor_cfg) setdeppolicy(3); } } +#endif /* !defined(_WIN64) */ #endif /* defined(_WIN32) */ configure_backtrace_handler(get_version());