commit c999ef8fd6fdd27021ca5ad7dff9024fbef6190f
parent 596ea464e0f0c2e519c276c3a7b151667709f098
Author: Francesco Saccone <francesco@francescosaccone.com>
Date: Mon, 31 Mar 2025 14:49:38 +0200
fix: free buffer before ending the loop course
Signed-off-by: Francesco Saccone <francesco@francescosaccone.com>
Diffstat:
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/hermes.c b/hermes.c
@@ -116,11 +116,18 @@ main(int argc, char *argv[]) {
client_socket_fd = accept_client(server_socket_fd);
if (client_socket_fd == -1) {
+ free(buffer);
+ close_socket(client_socket_fd);
continue;
}
- read_client_request(client_socket_fd, buffer, buffer_size);
+ if (read_client_request(client_socket_fd,
+ buffer,
+ buffer_size) == -1) {
+ free(buffer);
+ }
+ free(buffer);
close_socket(client_socket_fd);
}