From 1ceedc9477daf33ab6c0a1dfed30184cc2f2a629 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Fri, 6 May 2016 10:00:31 -0400 Subject: [PATCH] msg/simple/Accepter: use set_sockaddr for getsockname Signed-off-by: Sage Weil --- src/msg/simple/Accepter.cc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/msg/simple/Accepter.cc b/src/msg/simple/Accepter.cc index 3d6f1f7a5e7..73ef3e4c4db 100644 --- a/src/msg/simple/Accepter.cc +++ b/src/msg/simple/Accepter.cc @@ -133,13 +133,15 @@ int Accepter::bind(const entity_addr_t &bind_addr, const set& avoid_ports) } // what port did we get? - socklen_t llen = sizeof(listen_addr.ss_addr()); - rc = getsockname(listen_sd, (sockaddr*)&listen_addr.ss_addr(), &llen); + sockaddr_storage ss; + socklen_t llen = sizeof(ss); + rc = getsockname(listen_sd, (sockaddr*)&ss, &llen); if (rc < 0) { rc = -errno; lderr(msgr->cct) << "accepter.bind failed getsockname: " << cpp_strerror(rc) << dendl; return rc; } + listen_addr.set_sockaddr((sockaddr*)&ss); if (msgr->cct->_conf->ms_tcp_rcvbuf) { int size = msgr->cct->_conf->ms_tcp_rcvbuf; -- 2.47.3