Fix leaks, curious case of gebs blog post

This commit is contained in:
kamkow1
2025-06-18 10:38:26 +02:00
parent e9a95c2c54
commit ed1d61d976
6 changed files with 78 additions and 3 deletions

13
main.c
View File

@ -108,6 +108,17 @@ void init_route_hashtable(void)
baked_resource_each(&put_blogs);
}
void free_route_hashtable(void)
{
for (size_t i = 0; i < shlen(route_hashtable); i++) {
if (strlen(route_hashtable[i].key) >= strlen("blog-")
&& strncmp(route_hashtable[i].key, "blog-", strlen("blog-")) == 0) {
free(route_hashtable[i].key);
}
}
shfree(route_hashtable);
}
int main(int argc, char ** argv)
{
start_timer();
@ -118,6 +129,7 @@ int main(int argc, char ** argv)
struct mg_mgr mgr;
mg_mgr_init(&mgr);
init_route_hashtable();
defer { free_route_hashtable(); }
mg_wakeup_init(&mgr);
mg_http_listen(&mgr, "http://localhost:8080", &event_handler, NULL);
@ -128,7 +140,6 @@ int main(int argc, char ** argv)
}
mg_mgr_free(&mgr);
shfree(route_hashtable);
free_baked_resources();