Fix a bunch of obvious memory leaks at termination

Signed-off-by: Steffen Jaeckel <s@jaeckel.eu>
This commit is contained in:
Steffen Jaeckel
2024-11-27 13:10:17 +01:00
parent 06f5c2670e
commit 2696989ce5
17 changed files with 48 additions and 7 deletions

View File

@@ -430,13 +430,18 @@ out:
}
void
color_pair_cache_reset(void)
color_pair_cache_free(void)
{
if (cache.pairs) {
free(cache.pairs);
memset(&cache, 0, sizeof(cache));
}
}
void
color_pair_cache_reset(void)
{
color_pair_cache_free();
/*
* COLOR_PAIRS is actually not a macro and is thus not a
* compile-time constant

View File

@@ -61,5 +61,7 @@ int color_pair_cache_hash_str(const char* str, color_profile profile);
int color_pair_cache_get(const char* pair_name);
/* clear cache */
void color_pair_cache_reset(void);
/* free cache */
void color_pair_cache_free(void);
#endif

View File

@@ -251,6 +251,7 @@ theme_list(void)
void
theme_close(void)
{
color_pair_cache_free();
if (theme) {
g_key_file_free(theme);
theme = NULL;