[tracker] tracker-writeback: Fix use after free of GFileInfo object



commit 7504d0a21bb4e07fafbf7a1018068092f12b52fa
Author: JÃrg Billeter <j bitron ch>
Date:   Wed Jul 27 16:11:31 2011 +0200

    tracker-writeback: Fix use after free of GFileInfo object

 src/tracker-writeback/tracker-writeback-file.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)
---
diff --git a/src/tracker-writeback/tracker-writeback-file.c b/src/tracker-writeback/tracker-writeback-file.c
index 7b5bef9..06ceef5 100644
--- a/src/tracker-writeback/tracker-writeback-file.c
+++ b/src/tracker-writeback/tracker-writeback-file.c
@@ -178,10 +178,9 @@ tracker_writeback_file_update_metadata (TrackerWriteback        *writeback,
 		}
 	}
 
-	g_object_unref (file_info);
-
 	if (!retval) {
 		/* module does not support writeback for this file */
+		g_object_unref (file_info);
 		g_object_unref (file);
 		return FALSE;
 	}
@@ -189,6 +188,8 @@ tracker_writeback_file_update_metadata (TrackerWriteback        *writeback,
 	/* Copy to a temporary file so we can perform an atomic write on move */
 	tmp_file = create_temporary_file (file, file_info);
 
+	g_object_unref (file_info);
+
 	if (!tmp_file) {
 		g_object_unref (file);
 		return FALSE;



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