diff options
-rw-r--r-- | core/parse-xml.c | 4 | ||||
-rw-r--r-- | core/save-xml.c | 2 | ||||
-rw-r--r-- | core/uploadDiveLogsDE.cpp | 2 |
3 files changed, 4 insertions, 4 deletions
diff --git a/core/parse-xml.c b/core/parse-xml.c index 5b9abc341..d3a21cc8f 100644 --- a/core/parse-xml.c +++ b/core/parse-xml.c @@ -1745,9 +1745,9 @@ int parse_xml_buffer(const char *url, const char *buffer, int size, state.sites = sites; state.devices = devices; state.filter_presets = filter_presets; - doc = xmlReadMemory(res, strlen(res), url, NULL, XML_PARSE_HUGE); + doc = xmlReadMemory(res, strlen(res), url, NULL, XML_PARSE_HUGE | XML_PARSE_RECOVER); if (!doc) - doc = xmlReadMemory(res, strlen(res), url, "latin1", XML_PARSE_HUGE); + doc = xmlReadMemory(res, strlen(res), url, "latin1", XML_PARSE_HUGE | XML_PARSE_RECOVER); if (res != buffer) free((char *)res); diff --git a/core/save-xml.c b/core/save-xml.c index 3836ea35c..a82fcef4b 100644 --- a/core/save-xml.c +++ b/core/save-xml.c @@ -865,7 +865,7 @@ static int export_dives_xslt_doit(const char *filename, struct xml_params *param * transform it to selected export format, finally dumping * the XML into a character buffer. */ - doc = xmlReadMemory(buf.buffer, buf.len, "divelog", NULL, XML_PARSE_HUGE); + doc = xmlReadMemory(buf.buffer, buf.len, "divelog", NULL, XML_PARSE_HUGE | XML_PARSE_RECOVER); free_buffer(&buf); if (!doc) return report_error("Failed to read XML memory"); diff --git a/core/uploadDiveLogsDE.cpp b/core/uploadDiveLogsDE.cpp index 18377698d..07f799edf 100644 --- a/core/uploadDiveLogsDE.cpp +++ b/core/uploadDiveLogsDE.cpp @@ -142,7 +142,7 @@ bool uploadDiveLogsDE::prepareDives(const QString &tempfile, bool selected) * transform it to divelogs.de format, finally dumping * the XML into a character buffer. */ - xmlDoc *doc = xmlReadMemory(mb.buffer, mb.len, "divelog", NULL, 0); + xmlDoc *doc = xmlReadMemory(mb.buffer, mb.len, "divelog", NULL, XML_PARSE_HUGE | XML_PARSE_RECOVER); if (!doc) { qWarning() << errPrefix << "could not parse back into memory the XML file we've just created!"; report_error(tr("internal error").toUtf8()); |