Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/shell
diff options
context:
space:
mode:
authorCarlos Garcia Campos <carlosgc@gnome.org>2006-03-14 18:36:12 (GMT)
committer Carlos Garcia Campos <carlosgc@src.gnome.org>2006-03-14 18:36:12 (GMT)
commit6003391d261ef7940bbc14683f60b242fe347adb (patch)
treed447af4d678be9de110cbc289d6e85397963706e /shell
parentc78f2e0844c77694c1d2059ca9fb0730bb6f7e22 (diff)
Fix memory leaks. Fixes bug #333945
2006-03-14 Carlos Garcia Campos <carlosgc@gnome.org> * shell/ev-metadata-manager.c (parseItem): Fix memory leaks. Fixes bug #333945
Diffstat (limited to 'shell')
-rw-r--r--shell/ev-metadata-manager.c25
1 files changed, 13 insertions, 12 deletions
diff --git a/shell/ev-metadata-manager.c b/shell/ev-metadata-manager.c
index 4103a35..f5ab040 100644
--- a/shell/ev-metadata-manager.c
+++ b/shell/ev-metadata-manager.c
@@ -127,6 +127,15 @@ ev_metadata_manager_shutdown (void)
ev_metadata_manager = NULL;
}
+static void
+value_free (gpointer data)
+{
+ GValue *value = (GValue *)data;
+
+ g_value_unset (value);
+ g_free (value);
+}
+
static GValue *
parse_value (xmlChar *value, xmlChar *type)
{
@@ -184,7 +193,7 @@ parseItem (xmlDocPtr doc, xmlNodePtr cur)
item->values = g_hash_table_new_full (g_str_hash,
g_str_equal,
g_free,
- g_free);
+ value_free);
cur = cur->xmlChildrenNode;
@@ -195,7 +204,7 @@ parseItem (xmlDocPtr doc, xmlNodePtr cur)
xmlChar *key;
xmlChar *xml_value;
xmlChar *type;
- GValue *value;
+ GValue *value;
key = xmlGetProp (cur, (const xmlChar *)"key");
xml_value = xmlGetProp (cur, (const xmlChar *)"value");
@@ -209,6 +218,8 @@ parseItem (xmlDocPtr doc, xmlNodePtr cur)
if (key != NULL)
xmlFree (key);
+ if (type != NULL)
+ xmlFree (type);
if (xml_value != NULL)
xmlFree (xml_value);
}
@@ -286,16 +297,6 @@ load_values ()
return TRUE;
}
-static void
-value_free (gpointer data)
-{
- GValue *value = (GValue *)data;
-
- g_value_unset (value);
- g_free (value);
-}
-
-
#define LAST_URI "last-used-value"
static gboolean