summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/server.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/server.c b/src/server.c
index c818fbd..eb5f9f7 100644
--- a/src/server.c
+++ b/src/server.c
@@ -188,8 +188,15 @@ disconnect_client(struct gmnisrv_server *server, struct gmnisrv_client *client)
if (client->bio) {
BIO_free_all(client->bio);
}
+ if (client->ssl) {
+ SSL_free(client->ssl);
+ }
+ if (client->body) {
+ fclose(client->body);
+ }
close(client->sockfd);
free(client->meta);
+ free(client->path);
size_t index = (client - server->clients) / sizeof(struct gmnisrv_client);
memmove(client, &client[1], &server->clients[server->clientsz] - client);