From cbb17a548b5cc6a99b6ed7735479bb4f2bc40f26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= Date: Thu, 4 Jan 2024 17:00:06 +0000 Subject: [PATCH] std::size/SAL_N_ELEMENTS also counts the null terminator MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit which libxml2 2.12 will fail on with error: 'Extra content at the end of the document' Change-Id: I9d5da9fdd826cce8462ede8c510eaea7281b760f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161627 Tested-by: Jenkins Reviewed-by: Caolán McNamara --- unoxml/qa/unit/domtest.cxx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/unoxml/qa/unit/domtest.cxx b/unoxml/qa/unit/domtest.cxx index 479ff3fea697..a97248167f60 100644 --- a/unoxml/qa/unit/domtest.cxx +++ b/unoxml/qa/unit/domtest.cxx @@ -204,9 +204,9 @@ struct BasicTest : public test::BootstrapFixture mxErrHandler.set( new ErrorHandler() ); uno::Reference xDB( getMultiServiceFactory()->createInstance("com.sun.star.xml.dom.DocumentBuilder"), uno::UNO_QUERY_THROW ); mxDomBuilder.set( xDB ); - mxValidInStream.set( new SequenceInputStream(css::uno::Sequence(reinterpret_cast(validTestFile), std::size(validTestFile))) ); - mxWarningInStream.set( new SequenceInputStream(css::uno::Sequence(reinterpret_cast(warningTestFile), std::size(warningTestFile))) ); - mxErrorInStream.set( new SequenceInputStream(css::uno::Sequence(reinterpret_cast(errorTestFile), std::size(errorTestFile))) ); + mxValidInStream.set( new SequenceInputStream(css::uno::Sequence(reinterpret_cast(validTestFile), std::size(validTestFile) - 1)) ); + mxWarningInStream.set( new SequenceInputStream(css::uno::Sequence(reinterpret_cast(warningTestFile), std::size(warningTestFile) - 1)) ); + mxErrorInStream.set( new SequenceInputStream(css::uno::Sequence(reinterpret_cast(errorTestFile), std::size(errorTestFile) - 1)) ); mxDomBuilder->setErrorHandler(mxErrHandler); } @@ -288,7 +288,7 @@ struct SerializerTest : public test::BootstrapFixture mxErrHandler.set( new ErrorHandler() ); uno::Reference xDB( getMultiServiceFactory()->createInstance("com.sun.star.xml.dom.DocumentBuilder"), uno::UNO_QUERY_THROW ); mxDomBuilder.set( xDB ); - mxInStream.set( new SequenceInputStream(css::uno::Sequence(reinterpret_cast(validTestFile), std::size(validTestFile))) ); + mxInStream.set( new SequenceInputStream(css::uno::Sequence(reinterpret_cast(validTestFile), std::size(validTestFile) - 1)) ); mxDomBuilder->setErrorHandler(mxErrHandler); mxHandler.set( new DocumentHandler ); mxTokHandler.set( new TokenHandler );