[libdmapsharing] Get rid of some memory leaks identified by valgrind Signed-off-by: W. Michael Petullo <mike flyn org



commit 669acd9851c087648e2ff76393fb678c34bf7e34
Author: W. Michael Petullo <mike flyn org>
Date:   Fri Feb 4 09:19:30 2011 -0600

    Get rid of some memory leaks identified by valgrind
    Signed-off-by: W. Michael Petullo <mike flyn org>

 libdmapsharing/daap-share.c              |   18 ++++++++++++------
 libdmapsharing/dmap-connection.c         |    3 ++-
 libdmapsharing/dmap-mdns-browser-avahi.c |    2 +-
 3 files changed, 15 insertions(+), 8 deletions(-)
---
diff --git a/libdmapsharing/daap-share.c b/libdmapsharing/daap-share.c
index ebadef6..ed9c9c0 100644
--- a/libdmapsharing/daap-share.c
+++ b/libdmapsharing/daap-share.c
@@ -587,10 +587,12 @@ add_entry_to_mlcl (gpointer id,
 		gchar *transcode_mimetype = NULL;
 		/* FIXME: This should be share, not record: */
 		g_object_get (record, "transcode-mimetype", &transcode_mimetype, NULL);
-		if (transcode_mimetype)
+		if (transcode_mimetype) {
 			format = g_strdup (mime_to_format (transcode_mimetype));
-		else
+			g_free (transcode_mimetype);
+		} else {
 			g_object_get (record, "format", &format, NULL);
+		}
 		if (format) {
 			dmap_structure_add (mlit, DMAP_CC_ASFM, format);
 			g_free (format);
@@ -651,18 +653,22 @@ add_entry_to_mlcl (gpointer id,
 	if (_dmap_share_client_requested (mb->bits, SONG_SORT_ARTIST)) {
 		gchar *sort_artist = NULL;
 		g_object_get (record, "sort-artist", &sort_artist, NULL);
-		if (sort_artist)
+		if (sort_artist) {
 			dmap_structure_add (mlit, DMAP_CC_ASSA, sort_artist);
-		else
+			g_free (sort_artist);
+		} else {
 			g_warning ("Sort artist requested but not available");
+		}
 	}
 	if (_dmap_share_client_requested (mb->bits, SONG_SORT_ALBUM)) {
 		gchar *sort_album = NULL;
 		g_object_get (record, "sort-album", &sort_album, NULL);
-		if (sort_album)
+		if (sort_album) {
 			dmap_structure_add (mlit, DMAP_CC_ASSU, sort_album);
-		else
+			g_free (sort_album);
+		} else {
 			g_warning ("Sort album requested but not available");
+		}
 	}
 	if (_dmap_share_client_requested (mb->bits, SONG_MEDIAKIND)) {
 		gint mediakind = 0;
diff --git a/libdmapsharing/dmap-connection.c b/libdmapsharing/dmap-connection.c
index a2f4c8f..0c53e1d 100644
--- a/libdmapsharing/dmap-connection.c
+++ b/libdmapsharing/dmap-connection.c
@@ -932,7 +932,7 @@ handle_song_listing (DMAPConnection *connection,
 			
 			g_object_get (record, "format", &format, NULL);
 			if (format == NULL) {
-				format = "Unknown";
+				format = g_strdup ("Unknown");
 			}
 
 			/*if (connection->dmap_version == 3.0) {*/
@@ -957,6 +957,7 @@ handle_song_listing (DMAPConnection *connection,
 			g_object_unref (record);
 			g_hash_table_insert (connection->priv->item_id_to_uri, GINT_TO_POINTER (item_id), g_strdup (uri));
 			g_free (uri);
+			g_free (format);
 		} else {
 			g_debug ("cannot create record for daap track");
 		}
diff --git a/libdmapsharing/dmap-mdns-browser-avahi.c b/libdmapsharing/dmap-mdns-browser-avahi.c
index 9facdb9..ca572c6 100644
--- a/libdmapsharing/dmap-mdns-browser-avahi.c
+++ b/libdmapsharing/dmap-mdns-browser-avahi.c
@@ -516,7 +516,7 @@ browse_cb (AvahiServiceBrowser *service_browser,
     local = ((flags & AVAHI_LOOKUP_RESULT_LOCAL) != 0);
 #endif
     if (local && getenv ("LIBDMAPSHARING_ENABLE_LOCAL") == NULL) {
-        g_debug ("Ignoring local service %s", name);
+        g_warning ("Ignoring local service %s", name);
         return;
     }
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]