commit ffcd827cfe2431a4f2ba116bc00b205d12cdf6df from: Omar Polo date: Tue Jan 11 17:58:12 2022 UTC mcache_tab: free previous copies of that page commit - c553191ed9d1aa9c51b3617893fc11019635c3cd commit + ffcd827cfe2431a4f2ba116bc00b205d12cdf6df blob - e3559a5205cde174b61019b747a48a20334f18f8 blob + 9a8ccea71b124b4df37e9365ade16c31b54f9a2c --- mcache.c +++ mcache.c @@ -49,6 +49,20 @@ struct mcache_entry { char url[]; }; +static void +mcache_free_entry(const char *url) +{ + struct mcache_entry *e; + unsigned int slot; + + slot = ohash_qlookup(&mcache.h, url); + if ((e = ohash_remove(&mcache.h, slot)) == NULL) + return; + + evbuffer_free(e->evb); + free(e); +} + void mcache_init(void) { @@ -137,6 +151,9 @@ mcache_tab(struct tab *tab) goto err; } + /* free any previously cached copies of this page */ + mcache_free_entry(url); + slot = ohash_qlookup(&mcache.h, url); ohash_insert(&mcache.h, slot, e); return 0;