[tracker/dbus-fd-experiment] Fix memory corruption in Steroids server
- From: Adrien Bustany <abustany src gnome org>
 
- To: commits-list gnome org
 
- Cc: 
 
- Subject: [tracker/dbus-fd-experiment] Fix memory corruption in Steroids server
 
- Date: Fri, 21 May 2010 16:23:00 +0000 (UTC)
 
commit 33a9d17ea75b47d785d42c590d619b9dfd73e105
Author: Adrien Bustany <abustany gnome org>
Date:   Fri May 21 12:21:31 2010 -0400
    Fix memory corruption in Steroids server
 src/tracker-store/tracker-steroids.c |   13 ++++++++++---
 1 files changed, 10 insertions(+), 3 deletions(-)
---
diff --git a/src/tracker-store/tracker-steroids.c b/src/tracker-store/tracker-steroids.c
index 1ac8499..a0d0d79 100644
--- a/src/tracker-store/tracker-steroids.c
+++ b/src/tracker-store/tracker-steroids.c
@@ -178,6 +178,9 @@ query_inthread (TrackerDBCursor *cursor,
 	ClientInfo  *info = user_data;
 	GError *loop_error = NULL;
 	guint n_columns;
+	int *column_sizes;
+	int *column_offsets;
+	const gchar **column_data;
 
 	if (error) {
 		ptr->error = g_error_copy (error);
@@ -186,9 +189,9 @@ query_inthread (TrackerDBCursor *cursor,
 
 	n_columns = tracker_db_cursor_get_n_columns (cursor);
 
-	int column_sizes[n_columns];
-	int column_offsets[n_columns];
-	const gchar* column_data[n_columns];
+	column_sizes = g_malloc (n_columns * sizeof (int));
+	column_offsets = g_malloc (n_columns * sizeof (int));
+	column_data = g_malloc (n_columns * sizeof (char*));
 
 	while (tracker_db_cursor_iter_next (cursor, &loop_error)) {
 		int i;
@@ -250,6 +253,10 @@ query_inthread (TrackerDBCursor *cursor,
 		ptr->error = loop_error;
 	}
 
+	g_free (column_sizes);
+	g_free (column_offsets);
+	g_free (column_data);
+
 	return ptr;
 }
 
[
Date Prev][
Date Next]   [
Thread Prev][
Thread Next]   
[
Thread Index]
[
Date Index]
[
Author Index]