diff options
Diffstat (limited to 'e-util/e-meta.c')
-rw-r--r-- | e-util/e-meta.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/e-util/e-meta.c b/e-util/e-meta.c index 2b0dce5c30..a4c0ad562b 100644 --- a/e-util/e-meta.c +++ b/e-util/e-meta.c @@ -107,10 +107,14 @@ static int meta_load(EMeta *em) { struct _EMetaPrivate *p = em->priv; struct _meta_data *tail, *md; - xmlDocPtr doc; + xmlDocPtr doc = NULL; xmlNodePtr root, work; char *name, *val; - + struct stat st; + + if (stat (p->path, &st) == -1 || !S_ISREG (st.st_mode)) + return -1; + doc = xmlParseFile(p->path); if (doc == NULL) return -1; |