tracker r1500 - branches/xesam-support/src/trackerd



Author: mottela
Date: Tue May 27 11:26:33 2008
New Revision: 1500
URL: http://svn.gnome.org/viewvc/tracker?rev=1500&view=rev

Log:
Fixed a potential double free in parsers

Modified:
   branches/xesam-support/src/trackerd/tracker-rdf-query.c
   branches/xesam-support/src/trackerd/tracker-xesam-query.c

Modified: branches/xesam-support/src/trackerd/tracker-rdf-query.c
==============================================================================
--- branches/xesam-support/src/trackerd/tracker-rdf-query.c	(original)
+++ branches/xesam-support/src/trackerd/tracker-rdf-query.c	Tue May 27 11:26:33 2008
@@ -697,6 +697,8 @@
 		g_free (avalue);
 		g_free (data->current_field);
 		g_free (data->current_value);
+		data->current_field = NULL;
+		data->current_value = NULL;
 		return FALSE;
 	}
 

Modified: branches/xesam-support/src/trackerd/tracker-xesam-query.c
==============================================================================
--- branches/xesam-support/src/trackerd/tracker-xesam-query.c	(original)
+++ branches/xesam-support/src/trackerd/tracker-xesam-query.c	Tue May 27 11:26:33 2008
@@ -827,6 +827,8 @@
 		g_free (avalue);
 		g_free (data->current_field);
 		g_free (data->current_value);
+		data->current_field = NULL;
+		data->current_value = NULL;
 		return FALSE;
 	}
 
@@ -1289,13 +1291,6 @@
 		g_string_free (data.sql_from, TRUE);
 		g_string_free (data.sql_where, TRUE);
 		
-		if (data.current_field) {
-			g_free (data.current_field);
-		}
-
-		if (data.current_value) {
-			g_free (data.current_value);
-		}
 	}
 
 	g_slist_foreach (data.fields, (GFunc) g_object_unref, NULL);
@@ -1304,7 +1299,13 @@
 	g_slist_free (data.stack);
 	g_markup_parse_context_free (data.context);
 
-
+	if (data.current_field) {
+		g_free (data.current_field);
+	}
+	
+	if (data.current_value) {
+		g_free (data.current_value);
+	}
 
 	g_free (data.parser);
 



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