Explorar o código

Fix leaked handle in create_socket (#1554)

Fixes resource leak problem detected by Coverity Scan.
Oleg Shparber %!s(int64=3) %!d(string=hai) anos
pai
achega
c2e156e0e0
Modificáronse 1 ficheiros con 4 adicións e 1 borrados
  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) {