From 27678941d46cf78ec2be74c7d1f9632e8efa2128 Mon Sep 17 00:00:00 2001 From: Keith Winstein Date: Sat, 4 Jan 2014 02:50:13 -0500 Subject: [PATCH] network.cc: Properly close old fd on Socket assignment operator Fix thanks to Igor Bukanov. Closes #470. --- src/network/network.cc | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/network/network.cc b/src/network/network.cc index 08b263a..c269866 100644 --- a/src/network/network.cc +++ b/src/network/network.cc @@ -640,9 +640,7 @@ Connection::Socket::Socket( const Socket & other ) Connection::Socket & Connection::Socket::operator=( const Socket & other ) { - _fd = dup( other._fd ); - - if ( _fd < 0 ) { + if ( dup2( other._fd, _fd ) < 0 ) { throw NetworkException( "socket", errno ); }