summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKjartan Maraas <kmaraas@gnome.org>2005-02-04 01:15:47 +0000
committerKjartan Maraas <kmaraas@src.gnome.org>2005-02-04 01:15:47 +0000
commitc4bf0009d71716dd35ff41c5ed697e369015c8fc (patch)
tree5f32953a82bc7921f28e5b4e899b15a466854f6b
parent924cc7f6f9bc9e0ed03221733168af601f1a1a4d (diff)
downloadyelp-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--ChangeLog8
-rw-r--r--src/yelp-bookmarks.c5
-rw-r--r--src/yelp-toc-pager.c7
-rw-r--r--src/yelp-utils.c1
4 files changed, 18 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index fbe00f1f..d8413fb4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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:") ||