From 3bf07b8693c59ce11edb1eff5e2ae301d1a66544 Mon Sep 17 00:00:00 2001 From: Jeffrey Stedfast Date: Mon, 2 Jun 2003 17:27:27 +0000 Subject: [PATCH] Stat the XML file before trying to parse it to make sure it exists. 2003-05-30 Jeffrey Stedfast * mail-local.c (load_metainfo): Stat the XML file before trying to parse it to make sure it exists. svn path=/trunk/; revision=21368 --- mail/ChangeLog | 5 +++++ mail/mail-local.c | 10 +++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/mail/ChangeLog b/mail/ChangeLog index 18ae2e00af..567c5057f2 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -1,3 +1,8 @@ +2003-05-30 Jeffrey Stedfast + + * mail-local.c (load_metainfo): Stat the XML file before trying to + parse it to make sure it exists. + 2003-05-29 Not Zed * Makefile.am (BUILT_SOURCES): added server_DATA (*.server) so diff --git a/mail/mail-local.c b/mail/mail-local.c index bf0271afb9..5db550d46d 100644 --- a/mail/mail-local.c +++ b/mail/mail-local.c @@ -136,15 +136,19 @@ static CamelType mail_local_folder_get_type (void); static struct _local_meta * load_metainfo(const char *path) { - xmlDocPtr doc; + xmlDocPtr doc = NULL; xmlNodePtr node; struct _local_meta *meta; - + struct stat st; + d(printf("Loading folder metainfo from : %s\n", path)); meta = g_malloc0(sizeof(*meta)); meta->path = g_strdup(path); - + + if (stat (path, &st) == -1 || !S_ISREG (st.st_mode)) + goto dodefault; + doc = xmlParseFile(path); if (doc == NULL) goto dodefault;