aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTest_User <hax@andrewyu.org>2024-07-24 02:00:57 -0400
committerTest_User <hax@andrewyu.org>2024-07-24 02:00:57 -0400
commitae6d5cd81efaf533c46790bf5e39a6b563c24722 (patch)
treee281f425501970ba87baf7af776bb3b19298d836
parentdaa4cd4177690641a8fc29b836824856abf60711 (diff)
downloadhaxircd-ae6d5cd81efaf533c46790bf5e39a6b563c24722.tar.gz
haxircd-ae6d5cd81efaf533c46790bf5e39a6b563c24722.zip
Fix gnutls_buffered
-rw-r--r--networks/gnutls_buffered.c13
1 files changed, 4 insertions, 9 deletions
diff --git a/networks/gnutls_buffered.c b/networks/gnutls_buffered.c
index 3202a8a..0c113fa 100644
--- a/networks/gnutls_buffered.c
+++ b/networks/gnutls_buffered.c
@@ -207,9 +207,7 @@ int gnutls_buffered_connect(void **handle, struct string address, struct string
*handle = gnutls_handle;
- int res = mutex_init(&(gnutls_handle->mutex));
- if (res != 0)
- goto gnutls_connect_free_gnutls_handle;
+ mutex_init(&(gnutls_handle->mutex));
struct sockaddr sockaddr;
if (resolve(address, port, &sockaddr) != 0)
@@ -222,6 +220,7 @@ int gnutls_buffered_connect(void **handle, struct string address, struct string
gnutls_handle->fd = fd;
gnutls_handle->valid = 1;
+ int res;
do {
res = connect(fd, &sockaddr, sizeof(sockaddr));
} while (res < 0 && errno == EINTR);
@@ -303,7 +302,6 @@ int gnutls_buffered_connect(void **handle, struct string address, struct string
close(fd);
gnutls_connect_destroy_mutex:
mutex_destroy(&(gnutls_handle->mutex));
- gnutls_connect_free_gnutls_handle:
free(gnutls_handle);
return -1;
@@ -339,9 +337,7 @@ int gnutls_buffered_accept(int listen_fd, void **handle, struct string *addr) {
gnutls_handle->valid = 1;
gnutls_handle->fd = con_fd;
- int res = mutex_init(&(gnutls_handle->mutex));
- if (res != 0)
- goto gnutls_accept_free_gnutls_handle;
+ mutex_init(&(gnutls_handle->mutex));
addr->data = malloc(address_len);
if (addr->data == 0 && address_len != 0)
@@ -372,7 +368,7 @@ int gnutls_buffered_accept(int listen_fd, void **handle, struct string *addr) {
int poll_res;
do {
gnutls_res = gnutls_handshake(gnutls_handle->session);
- } while (res == GNUTLS_E_INTERRUPTED);
+ } while (gnutls_res == GNUTLS_E_INTERRUPTED);
if (gnutls_res < 0) {
if (gnutls_res == GNUTLS_E_AGAIN) {
pollfd.events = POLLIN | POLLOUT;
@@ -412,7 +408,6 @@ int gnutls_buffered_accept(int listen_fd, void **handle, struct string *addr) {
free(addr->data);
gnutls_accept_destroy_mutex:
mutex_destroy(&(gnutls_handle->mutex));
- gnutls_accept_free_gnutls_handle:
free(gnutls_handle);
gnutls_accept_close:
close(con_fd);