diff --git a/quiche/quic/tools/quic_client_default_network_helper.cc b/quiche/quic/tools/quic_client_default_network_helper.cc
index 24c4b3e..a408a8f 100644
--- a/quiche/quic/tools/quic_client_default_network_helper.cc
+++ b/quiche/quic/tools/quic_client_default_network_helper.cc
@@ -4,6 +4,7 @@
 
 #include "quiche/quic/tools/quic_client_default_network_helper.h"
 
+#include "absl/cleanup/cleanup.h"
 #include "quiche/quic/core/io/quic_event_loop.h"
 #include "quiche/quic/core/quic_default_packet_writer.h"
 #include "quiche/quic/core/quic_packets.h"
@@ -71,6 +72,7 @@
   if (fd < 0) {
     return false;
   }
+  auto closer = absl::MakeCleanup([fd] { close(fd); });
 
   QuicSocketAddress client_address;
   if (bind_to_address.IsInitialized()) {
@@ -113,10 +115,13 @@
                     << strerror(errno);
   }
 
-  fd_address_map_[fd] = client_address;
-  bool success = event_loop_->RegisterSocket(
-      fd, kSocketEventReadable | kSocketEventWritable, this);
-  return success;
+  if (event_loop_->RegisterSocket(
+          fd, kSocketEventReadable | kSocketEventWritable, this)) {
+    fd_address_map_[fd] = client_address;
+    std::move(closer).Cancel();
+    return true;
+  }
+  return false;
 }
 
 void QuicClientDefaultNetworkHelper::CleanUpUDPSocket(int fd) {
diff --git a/quiche/quic/tools/quic_client_epoll_network_helper.cc b/quiche/quic/tools/quic_client_epoll_network_helper.cc
index b9798bd..60bf6c1 100644
--- a/quiche/quic/tools/quic_client_epoll_network_helper.cc
+++ b/quiche/quic/tools/quic_client_epoll_network_helper.cc
@@ -11,6 +11,7 @@
 #include <sys/socket.h>
 #include <unistd.h>
 
+#include "absl/cleanup/cleanup.h"
 #include "quiche/quic/core/crypto/quic_random.h"
 #include "quiche/quic/core/http/spdy_utils.h"
 #include "quiche/quic/core/quic_connection.h"
@@ -62,6 +63,7 @@
   if (fd < 0) {
     return false;
   }
+  auto closer = absl::MakeCleanup([fd] { close(fd); });
 
   QuicSocketAddress client_address;
   if (bind_to_address.IsInitialized()) {
@@ -106,6 +108,7 @@
 
   fd_address_map_[fd] = client_address;
   epoll_server_->RegisterFD(fd, this, kEpollFlags);
+  std::move(closer).Cancel();
   return true;
 }
 
