From 40b6245167d23f108f4df82c2dcc54331e30cf60 Mon Sep 17 00:00:00 2001 From: Peter Levine Date: Sat, 15 Jun 2019 16:48:42 -0400 Subject: [PATCH] Add MAP_GROWSDOWN flag to mmap in Linux for correct stack resizing --- googletest/src/gtest-death-test.cc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/googletest/src/gtest-death-test.cc b/googletest/src/gtest-death-test.cc index 350e6109de..cf0e98ddc1 100644 --- a/googletest/src/gtest-death-test.cc +++ b/googletest/src/gtest-death-test.cc @@ -1357,6 +1357,10 @@ static pid_t ExecDeathTestSpawnChild(char* const* argv, int close_fd) { const auto stack_size = static_cast(getpagesize()); // MMAP_ANONYMOUS is not defined on Mac, so we use MAP_ANON instead. void* const stack = mmap(nullptr, stack_size, PROT_READ | PROT_WRITE, + // Include the MAP_GROWSDOWN flag in linux for stack auto-resizing +# if GTEST_OS_LINUX + (stack_grows_down ? MAP_GROWSDOWN : 0) | +# endif MAP_ANON | MAP_PRIVATE, -1, 0); GTEST_DEATH_TEST_CHECK_(stack != MAP_FAILED);