diff options
author | John-Mark Bell <jmb@netsurf-browser.org> | 2022-05-22 02:29:21 +0100 |
---|---|---|
committer | John-Mark Bell <jmb@netsurf-browser.org> | 2022-05-22 02:29:21 +0100 |
commit | 8cd266be4e1e610573fd81a875a7479cebb2edfe (patch) | |
tree | ebc83f9bac9e9d87a03e2142d5572658b923b170 | |
parent | b07f310d495a680de336122d7be6bb9059981a3d (diff) | |
download | librufl-8cd266be4e1e610573fd81a875a7479cebb2edfe.tar.gz librufl-8cd266be4e1e610573fd81a875a7479cebb2edfe.tar.bz2 |
Squash leaks in non-UCS FM case
-rw-r--r-- | src/rufl_init.c | 1 | ||||
-rw-r--r-- | src/rufl_quit.c | 7 |
2 files changed, 8 insertions, 0 deletions
diff --git a/src/rufl_init.c b/src/rufl_init.c index bbaf611..13b9509 100644 --- a/src/rufl_init.c +++ b/src/rufl_init.c @@ -911,6 +911,7 @@ rufl_code rufl_init_scan_font_old(unsigned int font_index) memcmp(a->map, b->map, sizeof a->map) == 0) { /* Found identical map; discard */ + free(b->encoding); num_umaps--; break; } diff --git a/src/rufl_quit.c b/src/rufl_quit.c index ed03128..e2daa8c 100644 --- a/src/rufl_quit.c +++ b/src/rufl_quit.c @@ -24,6 +24,13 @@ void rufl_quit(void) for (i = 0; i != rufl_font_list_entries; i++) { free(rufl_font_list[i].identifier); free(rufl_font_list[i].charset); + if (rufl_font_list[i].umap != NULL) { + size_t j; + for (j = 0; j != rufl_font_list[i].num_umaps; j++) { + free((rufl_font_list[i].umap + j)->encoding); + } + free(rufl_font_list[i].umap); + } } free(rufl_font_list); rufl_font_list = 0; |