[tracker/libtracker-miner] Fixed memory leak for GFileInfo and warning when info is NULL



commit 2e55e8e5e62d7de25288d9e250aab11fcf4edad4
Author: Martyn Russell <martyn lanedo com>
Date:   Tue Aug 25 17:25:04 2009 +0100

    Fixed memory leak for GFileInfo and warning when info is NULL

 src/tracker-miner-fs/tracker-miner-files.c |   14 ++++++++++++--
 1 files changed, 12 insertions(+), 2 deletions(-)
---
diff --git a/src/tracker-miner-fs/tracker-miner-files.c b/src/tracker-miner-fs/tracker-miner-files.c
index 7094003..58aec59 100644
--- a/src/tracker-miner-fs/tracker-miner-files.c
+++ b/src/tracker-miner-fs/tracker-miner-files.c
@@ -280,6 +280,7 @@ tracker_miner_files_check_file (TrackerMinerProcess *miner,
 	gchar *path;
 	gboolean should_process;
 
+	file_info = NULL;
 	should_process = FALSE;
 	path = g_file_get_path (file);
 
@@ -297,7 +298,7 @@ tracker_miner_files_check_file (TrackerMinerProcess *miner,
                                        G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS,
                                        NULL, NULL);
 
-	if (g_file_info_get_is_hidden (file_info)) {
+	if (file_info && g_file_info_get_is_hidden (file_info)) {
 		/* Ignore hidden files */
 		goto done;
 	}
@@ -307,6 +308,10 @@ tracker_miner_files_check_file (TrackerMinerProcess *miner,
 	should_process = TRUE;
 
 done:
+	if (file_info) {
+		g_object_unref (file_info);
+	}
+
 	g_free (path);
 
 	return should_process;
@@ -320,6 +325,7 @@ tracker_miner_files_check_directory (TrackerMinerProcess  *miner,
 	gchar *path;
 	gboolean should_process;
 
+	file_info = NULL;
 	should_process = FALSE;
 	path = g_file_get_path (file);
 
@@ -349,7 +355,7 @@ tracker_miner_files_check_directory (TrackerMinerProcess  *miner,
                                        G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS,
                                        NULL, NULL);
 
-	if (g_file_info_get_is_hidden (file_info)) {
+	if (file_info && g_file_info_get_is_hidden (file_info)) {
 		/* Ignore hidden dirs */
 		goto done;
 	}
@@ -360,6 +366,10 @@ tracker_miner_files_check_directory (TrackerMinerProcess  *miner,
 	should_process = TRUE;
 
 done:
+	if (file_info) {
+		g_object_unref (file_info);
+	}
+
 	g_free (path);
 
 	return should_process;



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