[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]