summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormrfoxygmfr <mrfoxygmfr@sch9.ru>2025-05-21 02:34:09 +0300
committermrfoxygmfr <mrfoxygmfr@sch9.ru>2025-05-21 02:34:09 +0300
commitba7a95160a1ead9023caa6b226ac4146ff62c2c0 (patch)
tree93aa3bd301ce7e818f7080708effeb487bb196ea
parent6416c8feecc760807f4edf5d9c8e8be9c2df8981 (diff)
fix(lib/net): memory leaks and error messages
-rw-r--r--lib/net/client.c2
-rw-r--r--lib/net/server.c5
2 files changed, 5 insertions, 2 deletions
diff --git a/lib/net/client.c b/lib/net/client.c
index 10d84b1..4150398 100644
--- a/lib/net/client.c
+++ b/lib/net/client.c
@@ -14,6 +14,8 @@ conn_t* client_connect_to_server(const char* addr, const char* port) {
struct sockaddr_in* conn_addr = get_addr(addr, port);
if (connect(conn->conn_socket_fd, conn_addr, sizeof(*conn_addr)) == -1) {
+ free(conn_addr);
+
if (errno == ECONNREFUSED) {
close(conn->conn_socket_fd);
free(conn);
diff --git a/lib/net/server.c b/lib/net/server.c
index a81a1d3..48213fb 100644
--- a/lib/net/server.c
+++ b/lib/net/server.c
@@ -21,6 +21,7 @@ server_t* server_init_tcp(const char* addr, const char* port) {
struct sockaddr_in* listen_addr = get_addr(addr, port);
if (bind(srv->listen_socket_fd, (struct sockaddr*) listen_addr, sizeof(*listen_addr)) == -1) {
+ free(listen_addr);
fprintf(stderr, "[server_init_tcp] Unable to bind\n");
exit(EXIT_FAILURE);
}
@@ -34,7 +35,7 @@ server_t* server_init_tcp(const char* addr, const char* port) {
struct linger linger_params = {.l_onoff = 1, .l_linger = 1};
if (setsockopt(srv->listen_socket_fd, SOL_SOCKET, SO_LINGER, &linger_params, sizeof(linger_params)) == -1) {
- fprintf(stderr, "[conn_try_accept] Unable to modify SO_LINGER socket option\n");
+ fprintf(stderr, "[server_init_tcp] Unable to modify SO_LINGER socket option\n");
exit(EXIT_FAILURE);
}
@@ -83,6 +84,6 @@ conn_t* conn_try_accept(server_t* srv) {
exit(EXIT_FAILURE);
}
- printf("[conn_try_accept] new client connected\n");
+ printf("[conn_accept] new connection!\n");
return conn;
}