summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLaurent Aguerreche <laguerre@src.gnome.org>2007-08-13 15:32:06 +0000
committerLaurent Aguerreche <laguerre@src.gnome.org>2007-08-13 15:32:06 +0000
commit1ee9165725d5337da0b3e084f379f4e9a0811299 (patch)
treeaf2cb62cd3953b4c5f252c7f200a406f0081792d
parent2e3545aab0fd54f7d6696df09ff717afa251daf2 (diff)
downloadtracker-1ee9165725d5337da0b3e084f379f4e9a0811299.tar.gz
Fix bug #131842 from Ubuntu
svn path=/trunk/; revision=777
-rw-r--r--ChangeLog5
-rw-r--r--src/trackerd/tracker-db-email.c21
2 files changed, 14 insertions, 12 deletions
diff --git a/ChangeLog b/ChangeLog
index 97bcdccb5..eb4f51b88 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
2007-08-13 Laurent Aguerreche <laurent.aguerreche@free.fr>
+ * Fix bug #131842 from Ubuntu
+
+
+2007-08-13 Laurent Aguerreche <laurent.aguerreche@free.fr>
+
* Replace "g_slist_length(list)>0" with "list!=NULL" to check
whether a list is empty or not in trackerd.c
* Cosmetic changes in trackerd.c
diff --git a/src/trackerd/tracker-db-email.c b/src/trackerd/tracker-db-email.c
index 41b2b6b26..70311e0ec 100644
--- a/src/trackerd/tracker-db-email.c
+++ b/src/trackerd/tracker-db-email.c
@@ -366,7 +366,7 @@ get_utf8 (const gchar *str)
gboolean
tracker_db_email_save_email (DBConnection *db_con, MailMessage *mm)
{
- gint mbox_id, type_id, id, i, len;
+ gint mbox_id, type_id, id, len;
gchar *service, *attachment_service, *mime;
gchar *array[255];
@@ -507,13 +507,13 @@ tracker_db_email_save_email (DBConnection *db_con, MailMessage *mm)
g_free (str_date);
- i = 0;
len = g_slist_length (mm->to);
len = LIMIT_ARRAY_LENGTH (len);
if (len > 0) {
+ gint i;
array[len] = NULL;
- for (tmp = mm->to; tmp; tmp = tmp->next) {
+ for (i = 0, tmp = mm->to; tmp && i < len; tmp = tmp->next, i++) {
const MailPerson *mp;
GString *gstr = g_string_new ("");
@@ -528,7 +528,6 @@ tracker_db_email_save_email (DBConnection *db_con, MailMessage *mm)
}
array[i] = g_string_free (gstr, FALSE);
- i++;
}
if (i > 0) {
@@ -540,13 +539,13 @@ tracker_db_email_save_email (DBConnection *db_con, MailMessage *mm)
}
}
- i = 0;
len = g_slist_length (mm->cc);
len = LIMIT_ARRAY_LENGTH (len);
if (len > 0) {
+ gint i;
array[len] = NULL;
- for (tmp = mm->cc; tmp; tmp = tmp->next) {
+ for (i = 0, tmp = mm->cc; tmp && i < len; tmp = tmp->next, i++) {
const MailPerson *mp;
GString *gstr = g_string_new ("");
@@ -561,25 +560,24 @@ tracker_db_email_save_email (DBConnection *db_con, MailMessage *mm)
}
array[i] = g_string_free (gstr, FALSE);
- i++;
}
if (i > 0) {
tracker_db_insert_embedded_metadata (db_con, service, str_id, "Email:CC", array, i, index_table);
}
- for (i--; i>-1; i--) {
+ for (i--; i > -1; i--) {
g_free (array[i]);
}
}
- i = 0;
len = g_slist_length (mm->attachments);
len = LIMIT_ARRAY_LENGTH (len);
if (len > 0) {
+ gint i;
array[len] = NULL;
- for (tmp = mm->attachments; tmp; tmp = tmp->next) {
+ for (i = 0, tmp = mm->attachments; tmp && i < len; tmp = tmp->next, i++) {
const MailAttachment *ma;
ma = tmp->data;
@@ -589,14 +587,13 @@ tracker_db_email_save_email (DBConnection *db_con, MailMessage *mm)
}
array[i] = g_strdup (ma->attachment_name);
- i++;
}
if (i > 0) {
tracker_db_insert_embedded_metadata (db_con, service, str_id, "Email:Attachments", array, i, index_table);
}
- for (i--; i>-1; i--) {
+ for (i--; i > -1; i--) {
g_free (array[i]);
}
}