initialize the local address before calling getsockname() on it (closes #10779)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60567 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2009-05-09 13:07:21 +00:00
parent afeeb04d7a
commit 7172db1857
2 changed files with 32 additions and 0 deletions

View File

@@ -364,6 +364,14 @@ void wxSocketImpl::PostCreation()
wxSocketError wxSocketImpl::UpdateLocalAddress()
{
if ( !m_local.IsOk() )
{
// ensure that we have a valid object using the correct family: correct
// being the same one as our peer uses as we have no other way to
// determine it
m_local.Create(m_peer.GetFamily());
}
WX_SOCKLEN_T lenAddr = m_local.GetLen();
if ( getsockname(m_fd, m_local.GetWritableAddr(), &lenAddr) != 0 )
{