diff options
author | Kjartan Maraas <kmaraas@gnome.org> | 2005-02-04 01:15:47 +0000 |
---|---|---|
committer | Kjartan Maraas <kmaraas@src.gnome.org> | 2005-02-04 01:15:47 +0000 |
commit | c4bf0009d71716dd35ff41c5ed697e369015c8fc (patch) | |
tree | 5f32953a82bc7921f28e5b4e899b15a466854f6b | |
parent | 924cc7f6f9bc9e0ed03221733168af601f1a1a4d (diff) | |
download | yelp-c4bf0009d71716dd35ff41c5ed697e369015c8fc.tar.gz |
Fix leak and remove confusing goto: Fix leaks. Fix leak
2005-02-04 Kjartan Maraas <kmaraas@gnome.org>
* src/yelp-bookmarks.c: (bookmarks_read): Fix leak and remove
confusing goto:
* src/yelp-toc-pager.c: (process_omf_pending), (process_read_menu):
Fix leaks.
* src/yelp-utils.c: (yelp_doc_info_new): Fix leak
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | src/yelp-bookmarks.c | 5 | ||||
-rw-r--r-- | src/yelp-toc-pager.c | 7 | ||||
-rw-r--r-- | src/yelp-utils.c | 1 |
4 files changed, 18 insertions, 3 deletions
@@ -1,3 +1,11 @@ +2005-02-04 Kjartan Maraas <kmaraas@gnome.org> + + * src/yelp-bookmarks.c: (bookmarks_read): Fix leak and remove + confusing goto: + * src/yelp-toc-pager.c: (process_omf_pending), (process_read_menu): + Fix leaks. + * src/yelp-utils.c: (yelp_doc_info_new): Fix leak + 2005-02-03 Shaun McCance <shaunm@gnome.org> * data/scrollkeeper.xml: diff --git a/src/yelp-bookmarks.c b/src/yelp-bookmarks.c index 70ceab6c..57cd2443 100644 --- a/src/yelp-bookmarks.c +++ b/src/yelp-bookmarks.c @@ -968,8 +968,10 @@ bookmarks_read (void) XML_PARSE_NONET ); if (doc == NULL) { + g_free (filename); + if (parser) + xmlFreeParserCtx (parser); return FALSE; - goto done; } xpath = xmlXPathNewContext (doc); @@ -992,7 +994,6 @@ bookmarks_read (void) } } - done: g_free (filename); if (obj) xmlXPathFreeObject (obj); diff --git a/src/yelp-toc-pager.c b/src/yelp-toc-pager.c index 7886a109..f6f335ed 100644 --- a/src/yelp-toc-pager.c +++ b/src/yelp-toc-pager.c @@ -537,6 +537,8 @@ process_omf_pending (YelpTocPager *pager) xmlXPathFreeObject (omf_description); if (omf_category) xmlXPathFreeObject (omf_category); + if (omf_language) + xmlXPathFreeObject (omf_language); if (omf_seriesid) xmlXPathFreeObject (omf_seriesid); @@ -775,9 +777,9 @@ process_read_menu (YelpTocPager *pager) for (i = 0; i < obj->nodesetval->nodeNr; i++) { xmlNodePtr node = obj->nodesetval->nodeTab[i]; xmlChar *icon = NULL; - xmlChar *id = NULL; #ifdef ENABLE_MAN + xmlChar *id = NULL; id = xmlGetProp (node, "id"); if (!xmlStrcmp (id, "index")) { xmlNodePtr new = xmlNewChild (node, NULL, "toc", NULL); @@ -800,6 +802,7 @@ process_read_menu (YelpTocPager *pager) gtk_icon_info_free (info); } } + xmlFree (icon); } xmlXPathFreeObject (obj); @@ -823,6 +826,8 @@ process_read_menu (YelpTocPager *pager) xpath_s = g_strdup_printf ("//toc[@id = '%s']", id); obj = xmlXPathEvalExpression (xpath_s, xpath); + g_free (xpath_s); + node = obj->nodesetval->nodeTab[0]; xmlXPathFreeObject (obj); diff --git a/src/yelp-utils.c b/src/yelp-utils.c index 842c01cb..cd9987f9 100644 --- a/src/yelp-utils.c +++ b/src/yelp-utils.c @@ -97,6 +97,7 @@ yelp_doc_info_new (const gchar *uri) else doc_uri = g_strdup (full_uri); doc_type = get_doc_type (doc_uri); + g_free (doc_uri); uri_type = YELP_URI_TYPE_FILE; } else if (g_str_has_prefix (full_uri, "ghelp:") || |