[tracker] Plug a bunch of leaks in libtracker-miner and tracker-miner-fs.



commit f0d3a6c5e239b2d657b98d12557ec4b57f0bd991
Author: Carlos Garnacho <carlos gnome org>
Date:   Tue Dec 1 16:06:53 2009 +0200

    Plug a bunch of leaks in libtracker-miner and tracker-miner-fs.

 src/libtracker-miner/tracker-miner-fs.c    |   16 +++++++++++++---
 src/libtracker-miner/tracker-miner.c       |   11 ++++++-----
 src/libtracker-miner/tracker-monitor.c     |    2 ++
 src/tracker-miner-fs/tracker-miner-files.c |    4 ++++
 4 files changed, 25 insertions(+), 8 deletions(-)
---
diff --git a/src/libtracker-miner/tracker-miner-fs.c b/src/libtracker-miner/tracker-miner-fs.c
index 31587c9..8a66967 100644
--- a/src/libtracker-miner/tracker-miner-fs.c
+++ b/src/libtracker-miner/tracker-miner-fs.c
@@ -788,6 +788,7 @@ commit_cb (GObject      *object,
 
 	if (error) {
 		g_critical ("Could not commit: %s", error->message);
+		g_error_free (error);
 	}
 }
 
@@ -866,6 +867,7 @@ sparql_update_cb (GObject      *object,
 
 	if (error) {
 		g_critical ("Could not execute sparql: %s", error->message);
+		g_error_free (error);
 	} else {
 		if (fs->private->been_crawled) {
 			/* Only commit immediately for
@@ -887,14 +889,21 @@ sparql_query_cb (GObject      *object,
                  gpointer      user_data)
 {
 	SparqlQueryData *data = user_data;
-	TrackerMiner *miner = TRACKER_MINER (object);
-
+	const GPtrArray *query_results;
+	TrackerMiner *miner;
 	GError *error = NULL;
 
-	const GPtrArray *query_results = tracker_miner_execute_sparql_finish (miner, result, &error);
+	miner = TRACKER_MINER (object);
+	query_results = tracker_miner_execute_sparql_finish (miner, result, &error);
+
+	if (error) {
+		g_critical ("Could not execute sparql query: %s", error->message);
+		g_error_free (error);
+	}
 
 	data->value = query_results && query_results->len == 1;
 	g_main_loop_quit (data->main_loop);
+
 }
 
 static void
@@ -1189,6 +1198,7 @@ item_update_uri_recursively_cb (GObject      *object,
 
 	if (error) {
 		g_critical ("Could not query children: %s", error->message);
+		g_error_free (error);
 	} else {
 		if (query_results) {
 			gint i;
diff --git a/src/libtracker-miner/tracker-miner.c b/src/libtracker-miner/tracker-miner.c
index 3bd61ac..9ac8742 100644
--- a/src/libtracker-miner/tracker-miner.c
+++ b/src/libtracker-miner/tracker-miner.c
@@ -789,11 +789,12 @@ async_call_data_destroy (AsyncCallData *data,
 
 static void
 run_update_callback (AsyncCallData *data,
-                     GError        *error)
+                     const GError  *error)
 {
 	GAsyncReadyCallback callback;
+	GSimpleAsyncResult *result;
+
 	callback = data->callback;
-	GSimpleAsyncResult *result = NULL;
 
 	if (error) {
 		result = g_simple_async_result_new_from_error (G_OBJECT (data->miner),
@@ -802,9 +803,9 @@ run_update_callback (AsyncCallData *data,
 		                                               error);
 	} else {
 		result = g_simple_async_result_new (G_OBJECT (data->miner),
-                                            callback,
-                                            data->user_data,
-                                            data->source_function);
+						    callback,
+						    data->user_data,
+						    data->source_function);
 	}
 
 	g_simple_async_result_complete (result);
diff --git a/src/libtracker-miner/tracker-monitor.c b/src/libtracker-miner/tracker-monitor.c
index a3644c4..7b45364 100644
--- a/src/libtracker-miner/tracker-monitor.c
+++ b/src/libtracker-miner/tracker-monitor.c
@@ -869,6 +869,8 @@ libinotify_monitor_force_emission (TrackerMonitor *monitor,
 
 		/* Clean up */
 		g_hash_table_remove (monitor->private->cached_events, data->file);
+
+		g_free (event_type_str);
 	}
 }
 
diff --git a/src/tracker-miner-fs/tracker-miner-files.c b/src/tracker-miner-fs/tracker-miner-files.c
index e674d74..208cab0 100644
--- a/src/tracker-miner-fs/tracker-miner-files.c
+++ b/src/tracker-miner-fs/tracker-miner-files.c
@@ -449,6 +449,7 @@ set_up_mount_point_cb (GObject      *source,
 	if (error) {
 		g_critical ("Could not set up mount point '%s': %s",
 			    removable_device_urn, error->message);
+		g_error_free (error);
 	}
 
 	g_free (removable_device_urn);
@@ -548,6 +549,7 @@ init_mount_points_cb (GObject      *source,
 	if (error) {
 		g_critical ("Could not initialize currently active mount points: %s",
 			    error->message);
+		g_error (error);
 	}
 }
 
@@ -574,6 +576,7 @@ query_mount_points_cb (GObject      *source,
 	                                                     &error);
 	if (error) {
 		g_critical ("Could not obtain the mounted volumes: %s", error->message);
+		g_error_free (error);
 		return;
 	}
 
@@ -1301,6 +1304,7 @@ process_file_cb (GObject      *object,
 		/* Something bad happened, notify about the error */
 		tracker_miner_fs_notify_file (TRACKER_MINER_FS (data->miner), file, error);
 		process_file_data_free (data);
+		g_error_free (error);
 		return;
 	}
 



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