Avoid double-close on getsockname error in evutil_ersatz_socketpair

Found by coverity; CID 739726
This commit is contained in:
Nick Mathewson 2012-12-20 11:48:05 -05:00
parent 69db2610be
commit 0a822a640e

View File

@ -259,7 +259,6 @@ evutil_ersatz_socketpair(int family, int type, int protocol,
goto tidy_up_and_fail;
if (size != sizeof(listen_addr))
goto abort_tidy_up_and_fail;
evutil_closesocket(listener);
/* Now check we are talking to ourself by matching port and host on the
two sockets. */
if (getsockname(connector, (struct sockaddr *) &connect_addr, &size) == -1)
@ -269,6 +268,7 @@ evutil_ersatz_socketpair(int family, int type, int protocol,
|| listen_addr.sin_addr.s_addr != connect_addr.sin_addr.s_addr
|| listen_addr.sin_port != connect_addr.sin_port)
goto abort_tidy_up_and_fail;
evutil_closesocket(listener);
fd[0] = connector;
fd[1] = acceptor;