aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--camel/ChangeLog3
-rw-r--r--camel/providers/imap/camel-imap-store.c5
2 files changed, 6 insertions, 2 deletions
diff --git a/camel/ChangeLog b/camel/ChangeLog
index 54feaca1f6..bdabbdf140 100644
--- a/camel/ChangeLog
+++ b/camel/ChangeLog
@@ -1,5 +1,8 @@
2001-08-28 Peter Williams <peterw@ximian.com>
+ * providers/imap/camel-imap-store.c (create_folder): Whoops.
+ Double-free and FMR = bad.
+
* camel-remote-store.c (remote_send_string): Don't reveal the
user's IMAP password if their server supports LITERALPLUS. Also
add some more dashes to make it line up nicely :-)
diff --git a/camel/providers/imap/camel-imap-store.c b/camel/providers/imap/camel-imap-store.c
index fbdc092dc8..10794f1270 100644
--- a/camel/providers/imap/camel-imap-store.c
+++ b/camel/providers/imap/camel-imap-store.c
@@ -1075,12 +1075,12 @@ create_folder (CamelStore *store, const char *parent_name,
recursive directory structure */
pathnames = imap_parse_folder_name (imap_store, folder_name);
full_name = imap_concat (imap_store, parent_name, pathnames[0]);
- g_free (pathnames);
+ g_free (pathnames[0]);
parent = root = get_folder_info_online (store, full_name, 0, ex);
g_free (full_name);
for (i = 1; parent && pathnames[i]; i++) {
full_name = imap_concat (imap_store, parent_name, pathnames[i]);
- g_free (pathnames);
+ g_free (pathnames[i]);
fi = get_folder_info_online (store, full_name, 0, ex);
g_free (full_name);
@@ -1091,6 +1091,7 @@ create_folder (CamelStore *store, const char *parent_name,
parent->child = fi;
parent = fi;
}
+ g_free (pathnames);
} else
root = NULL;