Googletest export

Add a safety nullptr check to catch the case where the /tmp file used for capturing a stream cannot be created.

PiperOrigin-RevId: 250523012
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 4709e10..b52f8ee 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -20,8 +20,7 @@
 accept your pull requests.
 
 ## Are you a Googler?
-If you are a Googler, plese make an attempt to submit an internal change rather than a GitHub Pull Request. 
-If you are not able to submit an internal change a PR is acceptable as an alternative. 
+If you are a Googler, you can either create an internal change or work on GitHub directly.
 
 
 ## Contributing A Patch
diff --git a/googletest/src/gtest-port.cc b/googletest/src/gtest-port.cc
index 4015a1c..74daaaa 100644
--- a/googletest/src/gtest-port.cc
+++ b/googletest/src/gtest-port.cc
@@ -1113,6 +1113,11 @@
     char name_template[] = "/tmp/captured_stream.XXXXXX";
 #  endif  // GTEST_OS_LINUX_ANDROID
     const int captured_fd = mkstemp(name_template);
+    if (captured_fd == -1) {
+      GTEST_LOG_(WARNING)
+          << "Failed to create tmp file " << name_template
+          << " for test; does the test have access to the /tmp directory?";
+    }
     filename_ = name_template;
 # endif  // GTEST_OS_WINDOWS
     fflush(nullptr);
@@ -1134,6 +1139,10 @@
     }
 
     FILE* const file = posix::FOpen(filename_.c_str(), "r");
+    if (file == nullptr) {
+      GTEST_LOG_(FATAL) << "Failed to open tmp file " << filename_
+                        << " for capturing stream.";
+    }
     const std::string content = ReadEntireFile(file);
     posix::FClose(file);
     return content;