Merge pull request 'Mainly some memory leaks fixes' (#8) from endes/mangareader:broken-patch-1 into main

Reviewed-on: https://gitea.sergiotarxz.freemyip.com/sergiotarxz/mangareader/pulls/8
This commit is contained in:
sergiotarxz 2022-01-23 09:45:01 +01:00
commit 5b49e51642
3 changed files with 47 additions and 0 deletions

View File

@ -1,2 +1,3 @@
Sergiotarxz sergiotarxz@posteo.net Project leader and developer [Gitea](https://gitea.sergiotarxz.freemyip.com/sergiotarxz)
Germe.db FOSSgerme.deb@tuta.io Author of the icon openmg.svg. [sr.ht](https://sr.ht/~germe-fur/)
Endes endes@disroot.org Developer [Github](https://github.com/endes0)

36
openmg.supp Normal file
View File

@ -0,0 +1,36 @@
#
# Valgrind suppression file for mangareader.
# Warning: This file is very generic, so a real memory leak might be suppressed.
# Also, some false positives are still captured
#
# Format specification:
# http://valgrind.org/docs/manual/manual-core.html#manual-core.suppress
#
{
gtk4
Memcheck:Leak
...
obj:/usr/lib/x86_64-linux-gnu/libgtk-4.so.1.600.0
...
}
{
glib
Memcheck:Leak
...
obj:/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7100.0
...
}
{
fontconfig
Memcheck:Leak
...
obj:/usr/lib/x86_64-linux-gnu/libfontconfig.so.1.12.0
...
}
{
gallium
Memcheck:Leak
...
obj:/usr/lib/x86_64-linux-gnu/GL/default/lib/dri/libgallium_dri.so
...
}

View File

@ -409,6 +409,7 @@ cleanup_mg_backend_readmng_retrieve_manga_details:
if (movie_detail) {
g_free (movie_detail);
}
xmlFreeDoc(html_document);
}
static GListStore *
@ -453,6 +454,9 @@ cleanup_mg_backend_readmng_recover_chapter_list:
xmlXPathFreeObject(xpath_result);
}
if (uls) {
for (size_t i = 0; i < ul_len; i++) {
xmlFreeNode(uls[i]);
}
g_free (uls);
}
return return_value;
@ -588,6 +592,7 @@ mg_backend_readmng_parse_main_page (MgBackendReadmng *self, const xmlDocPtr html
xmlFreeNode (current_li);
li[i] = NULL;
}
xmlFreeNode(slides);
g_free (li);
return mangas;
}
@ -643,6 +648,11 @@ cleanup_mg_backend_readmng_retrieve_slides:
xmlXPathFreeObject(xpath_result);
}
if (nodes) {
for (size_t i = 1; i < matching_classes_len; i++)
{
xmlFreeNode(nodes[i]);
}
g_free (nodes);
}
return slides;