From 0b0d9125c19c04c1fc19fb127d7639ed9ea39bec Mon Sep 17 00:00:00 2001 From: Matthew Zipkin Date: Tue, 14 Oct 2025 12:49:14 -0400 Subject: [PATCH] Modernize GetBindAddress() Replace the C-style casting with C++ reinterpret_cast --- src/netbase.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/netbase.cpp b/src/netbase.cpp index 43d9d04b5d9..c1c03c57259 100644 --- a/src/netbase.cpp +++ b/src/netbase.cpp @@ -951,10 +951,13 @@ CService MaybeFlipIPv6toCJDNS(const CService& service) CService GetBindAddress(const Sock& sock) { CService addr_bind; - struct sockaddr_storage sockaddr_bind; - socklen_t sockaddr_bind_len = sizeof(sockaddr_bind); - if (!sock.GetSockName((struct sockaddr*)&sockaddr_bind, &sockaddr_bind_len)) { - addr_bind.SetSockAddr((const struct sockaddr*)&sockaddr_bind, sockaddr_bind_len); + sockaddr_storage storage; + socklen_t len = sizeof(storage); + + auto sa = reinterpret_cast(&storage); + + if (sock.GetSockName(sa, &len) == 0) { + addr_bind.SetSockAddr(sa, len); } else { LogWarning("getsockname failed\n"); }