tracker r3156 - in trunk: . src/tracker-extract



Author: mottela
Date: Tue Mar 31 11:11:18 2009
New Revision: 3156
URL: http://svn.gnome.org/viewvc/tracker?rev=3156&view=rev

Log:
Some minor leak and other fixes to extractors

Modified:
   trunk/ChangeLog
   trunk/src/tracker-extract/tracker-extract-jpeg.c
   trunk/src/tracker-extract/tracker-extract-mp3.c
   trunk/src/tracker-extract/tracker-extract.c
   trunk/src/tracker-extract/tracker-iptc.c

Modified: trunk/src/tracker-extract/tracker-extract-jpeg.c
==============================================================================
--- trunk/src/tracker-extract/tracker-extract-jpeg.c	(original)
+++ trunk/src/tracker-extract/tracker-extract-jpeg.c	Tue Mar 31 11:11:18 2009
@@ -265,6 +265,8 @@
 			}
 		}
 	}
+	
+	exif_data_free (exif);
 }
 
 #endif /* HAVE_LIBEXIF */

Modified: trunk/src/tracker-extract/tracker-extract-mp3.c
==============================================================================
--- trunk/src/tracker-extract/tracker-extract-mp3.c	(original)
+++ trunk/src/tracker-extract/tracker-extract-mp3.c	Tue Mar 31 11:11:18 2009
@@ -1593,6 +1593,8 @@
 	free (info.album);
 	free (info.artist);
 	free (info.comment);
+	free (info.trackno);
+	free (info.genre);
 
 	/* Get other embedded tags */
 	parse_id3v2 (buffer, size, metadata, &filedata);

Modified: trunk/src/tracker-extract/tracker-extract.c
==============================================================================
--- trunk/src/tracker-extract/tracker-extract.c	(original)
+++ trunk/src/tracker-extract/tracker-extract.c	Tue Mar 31 11:11:18 2009
@@ -299,6 +299,7 @@
 					      path_in_locale);
 	}
 
+	g_object_unref (info);
 	g_object_unref (file);
 
 

Modified: trunk/src/tracker-extract/tracker-iptc.c
==============================================================================
--- trunk/src/tracker-extract/tracker-iptc.c	(original)
+++ trunk/src/tracker-extract/tracker-iptc.c	Tue Mar 31 11:11:18 2009
@@ -129,7 +129,14 @@
 	IptcData     *iptc = NULL;
 	IptcTagType  *p = NULL;
 
-	iptc = iptc_data_new_from_data ((unsigned char *) buffer, len);
+	/* FIXME According to valgrind this is leaking (together with the unref). Problem in libiptc */
+	iptc = iptc_data_new ();
+       	if (!iptc)
+		return;
+	if (iptc_data_load (iptc, buffer, len) < 0) {
+		iptc_data_unref (iptc);
+		return;
+	}
 
 	for (p = iptctags; p->name; ++p) {
 		IptcDataSet *dataset = NULL;



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