Ver Fonte

Fix leaked handle in create_socket (#1554)

Fixes resource leak problem detected by Coverity Scan.
Oleg Shparber há 3 anos atrás
pai
commit
c2e156e0e0
1 ficheiros alterados com 4 adições e 1 exclusões
  1. 4 1
      httplib.h

+ 4 - 1
httplib.h

@@ -2728,7 +2728,10 @@ socket_t create_socket(const std::string &host, const std::string &ip, int port,
     if (sock == INVALID_SOCKET) { continue; }
 
 #ifndef _WIN32
-    if (fcntl(sock, F_SETFD, FD_CLOEXEC) == -1) { continue; }
+    if (fcntl(sock, F_SETFD, FD_CLOEXEC) == -1) {
+      close_socket(sock);
+      continue;
+    }
 #endif
 
     if (tcp_nodelay) {