Fix leaks, curious case of gebs blog post
This commit is contained in:
13
main.c
13
main.c
@ -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();
|
||||
|
||||
|
Reference in New Issue
Block a user