summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--src/common/xml.c10
2 files changed, 14 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index b10dc29..3349302 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
15-05-01 Cyrille Bagard <nocbos@gmail.com>
+ * src/common/xml.c:
+ Recover from parsing errors against an empty XML file.
+
+15-05-01 Cyrille Bagard <nocbos@gmail.com>
+
* plugins/mobicore/mclf.c:
* src/analysis/db/cdb.c:
* src/format/dex/dex.c:
diff --git a/src/common/xml.c b/src/common/xml.c
index d01ae9b..1e2871b 100644
--- a/src/common/xml.c
+++ b/src/common/xml.c
@@ -145,7 +145,15 @@ void close_xml_file(xmlDocPtr xdoc, xmlXPathContextPtr context)
gboolean open_xml_file(const char *filename, xmlDoc **xdoc, xmlXPathContextPtr *xpathCtx)
{
- *xdoc = xmlParseFile(filename);
+ /**
+ * On s'autorise à récupérer des erreurs de fichier vide, ie ne contenant que :
+ *
+ * <?xml version="1.0" encoding="UTF-8"?>
+ *
+ * On espère que la récupération d'autres situations d'erreurs est bien gérée.
+ */
+
+ *xdoc = xmlReadFile(filename, NULL, XML_PARSE_RECOVER);
if (*xdoc == NULL)
{