commit b69eadbf1c65871565b26d85b14c766ad5bcd7cb
parent 3d0b9713076dff4799bb6e7dfdb7feb741e7965d
Author: Francesco Saccone <francesco@francescosaccone.com>
Date: Mon, 31 Mar 2025 14:42:29 +0200
fix: check if client_socket_fd returns error code
Signed-off-by: Francesco Saccone <francesco@francescosaccone.com>
Diffstat:
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/hermes.c b/hermes.c
@@ -109,10 +109,16 @@ main(int argc, char *argv[]) {
/* child process */
while (1) {
- int client_socket_fd = accept_client(server_socket_fd),
+ int client_socket_fd,
buffer_size = 104857600 * sizeof(char); /* i.e. 100 MiB */
char *buffer = malloc(buffer_size);
+ client_socket_fd = accept_client(server_socket_fd);
+
+ if (client_socket_fd == -1) {
+ continue;
+ }
+
read_client_request(client_socket_fd, buffer, buffer_size);
close_socket(client_socket_fd);