aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorteor <teor@torproject.org>2018-09-07 13:00:34 +1000
committerteor <teor@torproject.org>2018-09-07 13:00:34 +1000
commitd2105ff5d530544538f6e98c1fba4d117223d12d (patch)
treefb84c4d422d99b2bfc62af224bd1c5ff92606638
parent57b207efa42e0a2794457cc7aff9c662d9000b44 (diff)
parent8ef4bb7f3ee5e61c1a48ce7247fbe6fad773a8d4 (diff)
downloadtor-d2105ff5d530544538f6e98c1fba4d117223d12d.tar.gz
tor-d2105ff5d530544538f6e98c1fba4d117223d12d.zip
Merge branch 'bug27461-029' into bug27461-032
Fix a minor merge conflict due to an #endif comment.
-rw-r--r--changes/bug274615
-rw-r--r--src/or/main.c8
2 files changed, 13 insertions, 0 deletions
diff --git a/changes/bug27461 b/changes/bug27461
new file mode 100644
index 0000000000..3571ee816a
--- /dev/null
+++ 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
index 66b5920980..6c32ee5d87 100644
--- a/src/or/main.c
+++ b/src/or/main.c
@@ -3719,6 +3719,13 @@ tor_main(int argc, char *argv[])
#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. */
@@ -3732,6 +3739,7 @@ tor_main(int argc, char *argv[])
setdeppolicy(3);
}
}
+#endif /* !defined(_WIN64) */
#endif /* defined(_WIN32) */
configure_backtrace_handler(get_version());