Close the back socket if initial connect() fails.

When connect() in create_back_socket() fails (in my case the range of ephemeral ports got exhausted), create_back_socket() returns (-1) without closing the socket file descriptor which leads to leaking file descriptors.