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;
 }