Fix QuicClientTest.DoNotLeakSocketFDs under TSAN.
PiperOrigin-RevId: 431947311
diff --git a/quic/tools/quic_client_test.cc b/quic/tools/quic_client_test.cc
index d932a7b..a8289a0 100644
--- a/quic/tools/quic_client_test.cc
+++ b/quic/tools/quic_client_test.cc
@@ -26,11 +26,18 @@
const char* kPathToFds = "/proc/self/fd";
+// Return the value of a symbolic link in |path|, if |path| is not found, return
+// an empty string.
std::string ReadLink(const std::string& path) {
std::string result(PATH_MAX, '\0');
ssize_t result_size = readlink(path.c_str(), &result[0], result.size());
+ if (result_size < 0 && errno == ENOENT) {
+ return "";
+ }
QUICHE_CHECK(result_size > 0 &&
- static_cast<size_t>(result_size) < result.size());
+ static_cast<size_t>(result_size) < result.size())
+ << "result_size:" << result_size << ", errno:" << errno
+ << ", path:" << path;
result.resize(result_size);
return result;
}