diff --git a/src/libs/ifc/xml/vabstractconverter.cpp b/src/libs/ifc/xml/vabstractconverter.cpp index 3d48eb310..a94b179c9 100644 --- a/src/libs/ifc/xml/vabstractconverter.cpp +++ b/src/libs/ifc/xml/vabstractconverter.cpp @@ -190,11 +190,12 @@ void VAbstractConverter::ValidateXML(const QString &schema) const XERCES_CPP_NAMESPACE::XercesDOMParser domParser; domParser.setErrorHandler(&parserErrorHandler); - QByteArray data = fileSchema.readAll(); + QByteArray const data = fileSchema.readAll(); const char *schemaData = data.constData(); + const auto schemaSize = static_cast(data.size()); QScopedPointer grammarSource(new XERCES_CPP_NAMESPACE::MemBufInputSource( - reinterpret_cast(schemaData), strlen(schemaData), "schema")); + reinterpret_cast(schemaData), schemaSize, "schema")); if (domParser.loadGrammar(*grammarSource, XERCES_CPP_NAMESPACE::Grammar::SchemaGrammarType, true) == nullptr) { @@ -229,11 +230,12 @@ void VAbstractConverter::ValidateXML(const QString &schema) const throw VException(errorMsg); } - QByteArray patternFileData = pattern.readAll(); + QByteArray const patternFileData = pattern.readAll(); const char *patternData = patternFileData.constData(); + const auto patternSize = static_cast(patternFileData.size()); QScopedPointer patternSource(new XERCES_CPP_NAMESPACE::MemBufInputSource( - reinterpret_cast(patternData), strlen(patternData), "pattern")); + reinterpret_cast(patternData), patternSize, "pattern")); domParser.parse(*patternSource); diff --git a/src/test/ValentinaTest/tst_xsdschema.cpp b/src/test/ValentinaTest/tst_xsdschema.cpp index bf5805728..777a19fe9 100644 --- a/src/test/ValentinaTest/tst_xsdschema.cpp +++ b/src/test/ValentinaTest/tst_xsdschema.cpp @@ -27,19 +27,19 @@ *************************************************************************/ #include "tst_xsdschema.h" -#include "../ifc/xml/vpatternconverter.h" #include "../ifc/xml/vlabeltemplateconverter.h" #include "../ifc/xml/vlayoutconverter.h" +#include "../ifc/xml/vparsererrorhandler.h" +#include "../ifc/xml/vpatternconverter.h" #include "../ifc/xml/vvitconverter.h" #include "../ifc/xml/vvstconverter.h" #include "../ifc/xml/vwatermarkconverter.h" -#include "../ifc/xml/vparsererrorhandler.h" #include #if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) -#include #include +#include #include #else @@ -65,16 +65,14 @@ void ValidateSchema(const QString &schema) XERCES_CPP_NAMESPACE::XercesDOMParser domParser; domParser.setErrorHandler(&parserErrorHandler); - QByteArray data = fileSchema.readAll(); - const char* schemaData = data.constData(); + QByteArray const data = fileSchema.readAll(); + const char *schemaData = data.constData(); + const auto schemaSize = static_cast(data.size()); - QScopedPointer grammarSource( - new XERCES_CPP_NAMESPACE::MemBufInputSource(reinterpret_cast(schemaData), - strlen(schemaData), "schema")); + QScopedPointer grammarSource(new XERCES_CPP_NAMESPACE::MemBufInputSource( + reinterpret_cast(schemaData), schemaSize, "schema")); - if (domParser.loadGrammar( - *grammarSource, - XERCES_CPP_NAMESPACE::Grammar::SchemaGrammarType, true) == nullptr) + if (domParser.loadGrammar(*grammarSource, XERCES_CPP_NAMESPACE::Grammar::SchemaGrammarType, true) == nullptr) { QFAIL(qUtf8Printable(QStringLiteral("%1 Could not load schema file '%2'.") .arg(parserErrorHandler.StatusMessage(), fileSchema.fileName()))); @@ -115,12 +113,13 @@ auto HashToMap(const QHash &hash) -> QMap