From 4e34078eaf92cb233bd6fde28b2a0d05a69e0bef Mon Sep 17 00:00:00 2001 From: Arthur Eubanks Date: Tue, 31 Oct 2023 12:50:21 -0700 Subject: [PATCH] [Fix] new clang -Wthread-safety-analysis warnings (#34614) Returning a reference to a GUARDED_BY variable while only holding the lock in the getter lets callers access the variable without holding the lock. See https://github.com/llvm/llvm-project/pull/67776. This is only used for testing, so just return a copy for simplicity. --- .../security/security_connector/tls/tls_security_connector.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/core/lib/security/security_connector/tls/tls_security_connector.h b/src/core/lib/security/security_connector/tls/tls_security_connector.h index 78e799bb49e..cbba26894b8 100644 --- a/src/core/lib/security/security_connector/tls/tls_security_connector.h +++ b/src/core/lib/security/security_connector/tls/tls_security_connector.h @@ -205,12 +205,12 @@ class TlsServerSecurityConnector final : public grpc_server_security_connector { return server_handshaker_factory_; }; - const absl::optional& RootCertsForTesting() { + absl::optional RootCertsForTesting() { MutexLock lock(&mu_); return pem_root_certs_; } - const absl::optional& KeyCertPairListForTesting() { + absl::optional KeyCertPairListForTesting() { MutexLock lock(&mu_); return pem_key_cert_pair_list_; }