tracker r1945 - in branches/indexer-split: . src/libtracker-common src/libtracker-db src/tracker-indexer src/tracker-indexer/modules



Author: carlosg
Date: Mon Jul 28 07:43:25 2008
New Revision: 1945
URL: http://svn.gnome.org/viewvc/tracker?rev=1945&view=rev

Log:
2008-07-28  Carlos Garnacho  <carlos imendio com>

        * src/libtracker-common/tracker-config.c (config_load_string_list)
        (tracker_config_add_watch_directory_roots)
        (tracker_config_add_crawl_directory_roots)
        (tracker_config_add_no_watch_directory_roots): Plug some leaks.
        * src/libtracker-db/tracker-db-manager.c (db_get_static_data)
        (db_get_static_xesam_data): Same here.
        * src/tracker-indexer/modules/evolution.c
        (get_account_name_from_imap_uri): Do not try to parse the wrong mail
        URIs.
        * src/tracker-indexer/tracker-index.c (tracker_index_free): Fix
        invalid memory reads.
        * src/tracker-indexer/tracker-indexer (tracker_indexer_finalize): Fix
        invalid free().


Modified:
   branches/indexer-split/ChangeLog
   branches/indexer-split/src/libtracker-common/tracker-config.c
   branches/indexer-split/src/libtracker-db/tracker-db-manager.c
   branches/indexer-split/src/tracker-indexer/modules/evolution.c
   branches/indexer-split/src/tracker-indexer/tracker-index.c
   branches/indexer-split/src/tracker-indexer/tracker-indexer.c

Modified: branches/indexer-split/src/libtracker-common/tracker-config.c
==============================================================================
--- branches/indexer-split/src/libtracker-common/tracker-config.c	(original)
+++ branches/indexer-split/src/libtracker-common/tracker-config.c	Mon Jul 28 07:43:25 2008
@@ -1059,6 +1059,8 @@
 				config_string_list_to_gslist ((const gchar **) value, TRUE);
 			priv->watch_directory_roots = 
 				tracker_path_list_filter_duplicates (priv->watch_directory_roots);
+
+			g_slist_foreach (l, (GFunc) g_free, NULL);
 			g_slist_free (l);
 		}
 	}
@@ -1068,6 +1070,8 @@
 				config_string_list_to_gslist ((const gchar **) value, TRUE);
 			priv->crawl_directory_roots = 
 				tracker_path_list_filter_duplicates (priv->crawl_directory_roots);
+
+			g_slist_foreach (l, (GFunc) g_free, NULL);
 			g_slist_free (l);
 		}
 	}
@@ -1077,6 +1081,8 @@
 				config_string_list_to_gslist ((const gchar **) value, TRUE);
 			priv->no_watch_directory_roots = 
 				tracker_path_list_filter_duplicates (priv->no_watch_directory_roots);
+
+			g_slist_foreach (l, (GFunc) g_free, NULL);
 			g_slist_free (l);
 		}
 	}
@@ -2027,6 +2033,8 @@
 	l = priv->watch_directory_roots;
 	priv->watch_directory_roots =
 		tracker_path_list_filter_duplicates (priv->watch_directory_roots);
+
+	g_slist_foreach (l, (GFunc) g_free, NULL);
 	g_slist_free (l);
        		
 	g_object_notify (G_OBJECT (config), "watch-directory-roots");
@@ -2061,6 +2069,8 @@
 	l = priv->crawl_directory_roots;
 	priv->crawl_directory_roots =
 		tracker_path_list_filter_duplicates (priv->crawl_directory_roots);
+
+	g_slist_foreach (l, (GFunc) g_free, NULL);
 	g_slist_free (l);
 
 	g_object_notify (G_OBJECT (config), "crawl-directory-roots");
@@ -2095,6 +2105,8 @@
 	l = priv->no_watch_directory_roots;
 	priv->no_watch_directory_roots = 
 		tracker_path_list_filter_duplicates (priv->no_watch_directory_roots);
+
+	g_slist_foreach (l, (GFunc) g_free, NULL);
 	g_slist_free (l);
 
 	g_object_notify (G_OBJECT (config), "no-watch-directory-roots");

Modified: branches/indexer-split/src/libtracker-db/tracker-db-manager.c
==============================================================================
--- branches/indexer-split/src/libtracker-db/tracker-db-manager.c	(original)
+++ branches/indexer-split/src/libtracker-db/tracker-db-manager.c	Mon Jul 28 07:43:25 2008
@@ -1577,6 +1577,7 @@
 				   tracker_field_get_weight (def));
 
 			tracker_ontology_add_field (def);
+			g_object_unref (def);
 
 			valid = tracker_db_result_set_iter_next (result_set);
 		}
@@ -1660,6 +1661,7 @@
 			 * tracker_ontology_add_field (def);
 			 */
 			valid = tracker_db_result_set_iter_next (result_set);
+			g_object_unref (def);
 		}
 
 		g_object_unref (result_set);

Modified: branches/indexer-split/src/tracker-indexer/modules/evolution.c
==============================================================================
--- branches/indexer-split/src/tracker-indexer/modules/evolution.c	(original)
+++ branches/indexer-split/src/tracker-indexer/modules/evolution.c	Mon Jul 28 07:43:25 2008
@@ -262,7 +262,7 @@
          * We try to get "foo imap free fr".
          */
 
-        if (g_str_has_prefix (imap_uri, "imap://")) {
+        if (!g_str_has_prefix (imap_uri, "imap://")) {
                 return NULL;
         }
 

Modified: branches/indexer-split/src/tracker-indexer/tracker-index.c
==============================================================================
--- branches/indexer-split/src/tracker-indexer/tracker-index.c	(original)
+++ branches/indexer-split/src/tracker-indexer/tracker-index.c	Mon Jul 28 07:43:25 2008
@@ -62,12 +62,12 @@
 void
 tracker_index_free (TrackerIndex *index)
 {
-	g_hash_table_destroy (index->cache);
-
 	if (g_hash_table_size (index->cache) > 0) {
 		tracker_index_flush (index);
 	}
 
+	g_hash_table_destroy (index->cache);
+
 	g_debug ("Closing index");
 
 	if (!dpclose (index->index)) {

Modified: branches/indexer-split/src/tracker-indexer/tracker-indexer.c
==============================================================================
--- branches/indexer-split/src/tracker-indexer/tracker-indexer.c	(original)
+++ branches/indexer-split/src/tracker-indexer/tracker-indexer.c	Mon Jul 28 07:43:25 2008
@@ -404,9 +404,6 @@
 	g_queue_foreach (priv->file_queue, (GFunc) path_info_free, NULL);
 	g_queue_free (priv->file_queue);
 
-	/* The queue doesn't own the module names */
-	g_queue_free (priv->modules_queue);
-
 	G_OBJECT_CLASS (tracker_indexer_parent_class)->finalize (object);
 }
 



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