postgres.git / summary / log / commit / refs

commit    db0d238419decf7edfd84b24d1a151b3ac21dc6a
Author:   Daniel Gustafsson <dgustafsson@postgresql.org>
Date:     Wed Jan 17 10:24:11 2024 +0000
First released in: 17.0, 12.18, 13.14, 14.11, 15.6, 16.2

    Close socket in case of errors in setting non-blocking
    
    If configuring the newly created socket non-blocking fails we
    error out and return INVALID_SOCKET, but the socket that had
    been created wasn't closed. Fix by issuing closesocket in the
    errorpath.
    
    Backpatch to all supported branches.
    
    Author: Ranier Vilela <ranier.vf@gmail.com>
    Discussion: https://postgr.es/m/CAEudQApmU5CrKefH85VbNYE2y8H=-qqEJbg6RAPU65+vCe+89A@mail.gmail.com
    Backpatch-through: v12


src/backend/port/win32/socket.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/backend/port/win32/socket.c b/src/backend/port/win32/socket.c index d5b5e771e91..2fcfc68a315 100644 --- a/src/backend/port/win32/socket.c +++ b/src/backend/port/win32/socket.c @@ -290,6 +290,7 @@ pgwin32_socket(int af, int type, int protocol) if (ioctlsocket(s, FIONBIO, &on)) { TranslateSocketError(); + closesocket(s); return INVALID_SOCKET; } errno = 0; [parent: d29a4fbacfb7]