From: Nick M. <ni...@us...> - 2012-12-20 16:59:31
|
Author: Nick Mathewson <ni...@to...> Date: Thu, 20 Dec 2012 11:48:05 -0500 Subject: Avoid double-close on getsockname error in evutil_ersatz_socketpair Commit: 0a822a640e11f76f8d7533042e8fb565da920934 Found by coverity; CID 739726 --- evutil.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/evutil.c b/evutil.c index e17e5b8..1627809 100644 --- a/evutil.c +++ b/evutil.c @@ -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; -- 1.7.4.1 |