aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2008-07-10 02:04:18 +0000
committerhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2008-07-10 02:04:18 +0000
commitb7e440df52f5e1a3c64964753abedfc1b029667d (patch)
treea74363eb01f9836f6f64183fb88e523f82a91594
parentb8c4a7b8243b7f7684f032773b5dff24e98012aa (diff)
imap_add_inter_folders(): more error checks.
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@2027 ee746299-78ed-0310-b773-934348b2243d
-rw-r--r--ChangeLog4
-rw-r--r--ChangeLog.ja4
-rw-r--r--libsylph/imap.c2
3 files changed, 10 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index f68b2a08..2be34307 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2008-07-10
+
+ * libsylph/imap.c: imap_add_inter_folders(): more error checks.
+
2008-07-09
* libsylph/imap.c: imap_get_folder_list(): add intermediate folders
diff --git a/ChangeLog.ja b/ChangeLog.ja
index 00d6e094..d697900c 100644
--- a/ChangeLog.ja
+++ b/ChangeLog.ja
@@ -1,3 +1,7 @@
+2008-07-10
+
+ * libsylph/imap.c: imap_add_inter_folders(): エラーチェックの追加。
+
2008-07-09
* libsylph/imap.c: imap_get_folder_list(): 中間フォルダを追加する
diff --git a/libsylph/imap.c b/libsylph/imap.c
index 189aed59..edb8c908 100644
--- a/libsylph/imap.c
+++ b/libsylph/imap.c
@@ -2037,6 +2037,7 @@ static GSList *imap_add_inter_folders(GSList *item_list, const gchar *root_path)
strncmp(root_path, item->path, root_path_len) != 0)
continue;
p = item->path + root_path_len;
+ if (root_path_len > 0 && *p != '/') continue;
while (*p == '/') p++;
if (*p == '\0') continue;
g_hash_table_insert(exist, (gpointer)p, GINT_TO_POINTER(1));
@@ -2053,6 +2054,7 @@ static GSList *imap_add_inter_folders(GSList *item_list, const gchar *root_path)
strncmp(root_path, item->path, root_path_len) != 0)
continue;
p = item->path + root_path_len;
+ if (root_path_len > 0 && *p != '/') continue;
while (*p == '/') p++;
if (*p == '\0') continue;