commit 49d21424d9d25b47a263bacec751742ac7370683 Author: Alex Gaynor agaynor@mozilla.com Date: Fri Mar 31 16:15:56 2017 -0400
Bug 805173 - Enable HeapEnableTerminationOnCorruption for chrome processes on Windows. r=mhowell,tjr
This is an exploit mitigation which causes the Windows system allocator to abort in the event it is in a corrupted state, rather than attempt to proceed in a potentially exploitable state.
Because we use jemalloc, this only affects system libraries or plugins which still use the system allocator.
The has been enabled on our content processes for a while without incident.
r=mhowell,tjr
MozReview-Commit-ID: 5ctXugtbI1A
--HG-- extra : rebase_source : f6f134404be3b258a8e522c22fa061c32a47e313 --- toolkit/xre/nsAppRunner.cpp | 7 +++++++ 1 file changed, 7 insertions(+)
diff --git a/toolkit/xre/nsAppRunner.cpp b/toolkit/xre/nsAppRunner.cpp index 455b142..721f599 100644 --- a/toolkit/xre/nsAppRunner.cpp +++ b/toolkit/xre/nsAppRunner.cpp @@ -4189,6 +4189,13 @@ XREMain::XRE_mainStartup(bool* aExitFlag) } #endif /* DEBUG */
+#if defined(XP_WIN) + // Enable the HeapEnableTerminationOnCorruption exploit mitigation. We ignore + // the return code because it always returns success, although it has no + // effect on Windows older than XP SP3. + HeapSetInformation(NULL, HeapEnableTerminationOnCorruption, NULL, 0); +#endif /* XP_WIN */ + #if defined(MOZ_WIDGET_GTK) || defined(MOZ_ENABLE_XREMOTE) // Stash DESKTOP_STARTUP_ID in malloc'ed memory because gtk_init will clear it. #define HAVE_DESKTOP_STARTUP_ID
tbb-commits@lists.torproject.org