From: Sage Weil Date: Fri, 6 May 2016 13:56:50 +0000 (-0400) Subject: msg/simple/Pipe: use set_sockaddr for getpeername X-Git-Tag: v11.0.0~549^2~21 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=fe3abc0fe6f8a246853691e40883c62cb59d8288;p=ceph.git msg/simple/Pipe: use set_sockaddr for getpeername Signed-off-by: Sage Weil --- diff --git a/src/msg/simple/Pipe.cc b/src/msg/simple/Pipe.cc index 53781b82b173..5ff0a5748623 100644 --- a/src/msg/simple/Pipe.cc +++ b/src/msg/simple/Pipe.cc @@ -305,12 +305,14 @@ int Pipe::accept() port = msgr->my_inst.addr.get_port(); // and peer's socket addr (they might not know their ip) - len = sizeof(socket_addr.ss_addr()); - r = ::getpeername(sd, (sockaddr*)&socket_addr.ss_addr(), &len); + sockaddr_storage ss; + len = sizeof(ss); + r = ::getpeername(sd, (sockaddr*)&ss, &len); if (r < 0) { ldout(msgr->cct,0) << "accept failed to getpeername " << cpp_strerror(errno) << dendl; goto fail_unlocked; } + socket_addr.set_sockaddr((sockaddr*)&ss); ::encode(socket_addr, addrs); r = tcp_write(addrs.c_str(), addrs.length());