diff --git a/src/mime.c b/src/mime.c index 9f3f6d0..5991281 100644 --- a/src/mime.c +++ b/src/mime.c @@ -71,6 +71,8 @@ mime_init() free(mime); } + free(line); + fclose(f); qsort(mimedb, mimedb_ln, sizeof(mimedb[0]), mimedb_compar); } diff --git a/src/serve.c b/src/serve.c index 74bb979..4ae92d9 100644 --- a/src/serve.c +++ b/src/serve.c @@ -375,6 +375,7 @@ serve_request(struct gmnisrv_client *client) if (!route) { client_submit_response(client, GEMINI_STATUS_NOT_FOUND, "Not found", NULL); + free(url_path); return; } @@ -390,6 +391,7 @@ serve_request(struct gmnisrv_client *client) if ((size_t)n >= sizeof(real_path)) { client_submit_response(client, GEMINI_STATUS_PERMANENT_FAILURE, "Request path exceeds PATH_MAX", NULL); + free(url_path); return; } strcpy(client_path, client->path); @@ -426,6 +428,7 @@ serve_request(struct gmnisrv_client *client) client_submit_response(client, GEMINI_STATUS_NOT_FOUND, "Not found", NULL); + free(url_path); return; }