diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | src/common/xml.c | 10 |
2 files changed, 14 insertions, 1 deletions
@@ -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) { |