diff options
author | Juan A. Suarez Romero <jasuarez@igalia.com> | 2010-02-15 20:22:38 +0100 |
---|---|---|
committer | Juan A. Suarez Romero <jasuarez@igalia.com> | 2010-02-15 20:22:38 +0100 |
commit | 7610d59cf810e590f4ad6d101dc8903ce4ee3e19 (patch) | |
tree | e442761bf0fb86b6509ae543acd52d2d11e032e4 | |
parent | d98f59419568c364962f887214954b2d44e715d4 (diff) | |
download | grilo-plugins-7610d59cf810e590f4ad6d101dc8903ce4ee3e19.tar.gz |
Fix leaks
-rw-r--r-- | src/flickr/gflickr.c | 11 | ||||
-rw-r--r-- | src/flickr/grl-flickr.c | 6 |
2 files changed, 12 insertions, 5 deletions
diff --git a/src/flickr/gflickr.c b/src/flickr/gflickr.c index 76d8f0d..6e98661 100644 --- a/src/flickr/gflickr.c +++ b/src/flickr/gflickr.c @@ -184,14 +184,17 @@ add_node (xmlNodePtr node, GHashTable *photo) "_", (const gchar *) attr->name, NULL), - g_strdup ((gchar *) xmlGetProp (node, attr->name))); + (gchar *) xmlGetProp (node, attr->name)); } } static GHashTable * get_photo (xmlNodePtr node) { - GHashTable *photo = g_hash_table_new (g_str_hash, g_str_equal); + GHashTable *photo = g_hash_table_new_full (g_str_hash, + g_str_equal, + g_free, + g_free); /* Add photo node */ add_node (node, photo); @@ -209,7 +212,7 @@ get_photo (xmlNodePtr node) xmlStrcmp (node->name, (const xmlChar *) "description") == 0) { g_hash_table_insert (photo, g_strdup ((const gchar *) node->name), - g_strdup ((const gchar *) xmlNodeGetContent (node))); + (gchar *) xmlNodeGetContent (node)); } node = node->next; @@ -241,6 +244,7 @@ process_photo_result (const gchar *xml_result, gpointer user_data) data->get_info_cb (NULL, photo, data->user_data); g_hash_table_unref (photo); } + g_free (data); xmlFreeDoc (doc); } @@ -275,6 +279,7 @@ process_photolist_result (const gchar *xml_result, gpointer user_data) g_list_foreach (photolist, (GFunc) g_hash_table_unref, NULL); g_list_free (photolist); } + g_free (data); xmlFreeDoc (doc); } diff --git a/src/flickr/grl-flickr.c b/src/flickr/grl-flickr.c index e35b9b2..4c52b16 100644 --- a/src/flickr/grl-flickr.c +++ b/src/flickr/grl-flickr.c @@ -175,7 +175,7 @@ update_media (GrlContentMedia *media, GHashTable *photo) } description = g_hash_table_lookup (photo, "description"); id = g_hash_table_lookup (photo, "photo_id"); - thumbnail = g_hash_table_lookup (photo, "photo_url_t"); + thumbnail = g_strdup (g_hash_table_lookup (photo, "photo_url_t")); if (!thumbnail) { thumbnail = g_flickr_photo_url_thumbnail (NULL, photo); } @@ -183,7 +183,7 @@ update_media (GrlContentMedia *media, GHashTable *photo) if (!title) { title = g_hash_table_lookup (photo, "photo_title"); } - url = g_hash_table_lookup (photo, "photo_url_o"); + url = g_strdup (g_hash_table_lookup (photo, "photo_url_o")); if (!url) { url = g_flickr_photo_url_original (NULL, photo); } @@ -206,6 +206,7 @@ update_media (GrlContentMedia *media, GHashTable *photo) if (thumbnail) { grl_content_media_set_thumbnail (media, thumbnail); + g_free (thumbnail); } if (title) { @@ -214,6 +215,7 @@ update_media (GrlContentMedia *media, GHashTable *photo) if (url) { grl_content_media_set_url (media, url); + g_free (url); } } |