]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Move error handling to outside #ifdef WITH_TLS
authorNick Porter <nick@portercomputing.co.uk>
Fri, 11 Nov 2022 09:59:16 +0000 (09:59 +0000)
committerNick Porter <nick@portercomputing.co.uk>
Fri, 11 Nov 2022 09:59:16 +0000 (09:59 +0000)
src/main/listen.c

index 3af6842145c8c3ae6603cbcb7fde96bd44bdd719..d97452ab92ea08ae6537055c6951c4fcb9607d29 100644 (file)
@@ -3073,11 +3073,7 @@ rad_listen_t *proxy_new_listener(TALLOC_CTX *ctx, home_server_t *home, uint16_t
                sock->ssn = tls_new_client_session(sock, home->tls, this->fd, &sock->certs);
                if (!sock->ssn) {
                        ERROR("(TLS) Failed opening connection on proxy socket '%s'", buffer);
-error:
-                       close(this->fd);
-                       home->last_failed_open = now;
-                       listen_free(&this);
-                       return NULL;
+                       goto error;
                }
 
                this->recv = proxy_tls_recv;
@@ -3097,7 +3093,11 @@ error:
                                &sizeof_src) < 0) {
                        ERROR("Failed getting socket name for '%s': %s",
                              buffer, fr_syserror(errno));
-                       goto error;
+               error:
+                       close(this->fd);
+                       home->last_failed_open = now;
+                       listen_free(&this);
+                       return NULL;
                }
 
                if (!fr_sockaddr2ipaddr(&src, sizeof_src,