Squashed 'third_party/marl/' changes from 94a361cf0..64d123947

64d123947 thread.cpp: Replace use of alloca with vector.

git-subtree-dir: third_party/marl
git-subtree-split: 64d123947e4dbc741217ea7b49f3d2b6275be117
diff --git a/src/thread.cpp b/src/thread.cpp
index fa69bdf..afb4432 100644
--- a/src/thread.cpp
+++ b/src/thread.cpp
@@ -124,8 +124,9 @@
   MARL_ASSERT(size > 0,
               "InitializeProcThreadAttributeList() did not give a size");
 
+  std::vector<uint8_t> buffer(size);
   LPPROC_THREAD_ATTRIBUTE_LIST attributes =
-      reinterpret_cast<LPPROC_THREAD_ATTRIBUTE_LIST>(alloca(size));
+      reinterpret_cast<LPPROC_THREAD_ATTRIBUTE_LIST>(buffer.data());
   CHECK_WIN32(InitializeProcThreadAttributeList(attributes, 1, 0, &size));
   defer(DeleteProcThreadAttributeList(attributes));