diff --git a/src/lib/arch/win32/ArchNetworkWinsock.cpp b/src/lib/arch/win32/ArchNetworkWinsock.cpp index 24310402..65a5b320 100644 --- a/src/lib/arch/win32/ArchNetworkWinsock.cpp +++ b/src/lib/arch/win32/ArchNetworkWinsock.cpp @@ -311,7 +311,7 @@ ArchNetworkWinsock::listenOnSocket(ArchSocket s) } ArchSocket -ArchNetworkWinsock::acceptSocket(ArchSocket s, ArchNetAddress* addr) +ArchNetworkWinsock::acceptSocket(ArchSocket s, ArchNetAddress* const addr) { assert(s != NULL); @@ -325,7 +325,9 @@ ArchNetworkWinsock::acceptSocket(ArchSocket s, ArchNetAddress* addr) int err = getsockerror_winsock(); delete socket; free(tmp); - *addr = NULL; + if (addr) { + *addr = NULL; + } if (err == WSAEWOULDBLOCK) { return NULL; } @@ -339,7 +341,9 @@ ArchNetworkWinsock::acceptSocket(ArchSocket s, ArchNetAddress* addr) close_winsock(fd); delete socket; free(tmp); - *addr = NULL; + if (addr) { + *addr = NULL; + } throw; }