aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/ChangeLog7
-rw-r--r--mail/mail-tools.c8
2 files changed, 15 insertions, 0 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog
index 9e98b6f4ed..b8cdfdfc85 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,3 +1,10 @@
+2003-05-06 Not Zed <NotZed@Ximian.com>
+
+ ** See bug #42400
+
+ * mail-tools.c (meta_data_key): protect against getting an
+ unparsable uri.
+
2003-05-05 Not Zed <NotZed@Ximian.com>
** See bug #42294.
diff --git a/mail/mail-tools.c b/mail/mail-tools.c
index 565fcaed71..43c67a2fb7 100644
--- a/mail/mail-tools.c
+++ b/mail/mail-tools.c
@@ -508,6 +508,14 @@ static char *meta_data_key(const char *uri, char **pathp)
char *p, c;
url = camel_url_new(uri, NULL);
+
+ if (url == NULL) {
+ g_warning("Trying to retrieve meta-data for unparsable uri: %s", uri);
+ *pathp = g_build_path(evolution_dir, "meta/unknown", NULL);
+
+ return g_strdup("folder");
+ }
+
path = g_string_new(evolution_dir);
g_string_append_printf(path, "/meta/%s/", url->protocol);