From 32efd4529aba776eca9456e96656d542267874f3 Mon Sep 17 00:00:00 2001 From: Justin Luth Date: Wed, 30 Oct 2019 11:11:45 +0300 Subject: [PATCH] tdf#128447 sc/vml: accept xml prolog ... or processing instruction, or text directive. The inability to parse this was exposed in LO 6.2 with commit 2cae2ecfef47d8dd10647c10f9577392c1887d3a I added to the top of vmlDrawing1.vml from the unit test, which invalidates the entire .vml file and the two controls are lost without this fix. Change-Id: Ia1e6d5f9bb932756f70dca59fa8b32004c9e8013 Reviewed-on: https://gerrit.libreoffice.org/81730 Reviewed-by: Michael Stahl Tested-by: Jenkins --- oox/source/vml/vmlinputstream.cxx | 6 ++++++ .../data/xlsx/tdf120301_xmlSpaceParsing.xlsx | Bin 11519 -> 11538 bytes 2 files changed, 6 insertions(+) diff --git a/oox/source/vml/vmlinputstream.cxx b/oox/source/vml/vmlinputstream.cxx index 215eff35f621..2fc17ee84ea7 100644 --- a/oox/source/vml/vmlinputstream.cxx +++ b/oox/source/vml/vmlinputstream.cxx @@ -169,6 +169,12 @@ void lclProcessElement( OStringBuffer& rBuffer, const OString& rElement ) // do nothing } + // just append any xml prolog (text directive) or processing instructions: + else if( (nElementLen >= 4) && (pcOpen[ 1 ] == '?') && (pcClose[ -1 ] == '?') ) + { + rBuffer.append( rElement ); + } + // replace '
' element with newline else if( (nElementLen >= 4) && (pcOpen[ 1 ] == 'b') && (pcOpen[ 2 ] == 'r') && (lclFindNonWhiteSpace( pcOpen + 3, pcClose ) == pcClose) ) { diff --git a/sc/qa/unit/data/xlsx/tdf120301_xmlSpaceParsing.xlsx b/sc/qa/unit/data/xlsx/tdf120301_xmlSpaceParsing.xlsx index 0677a0cf2eb2ccb76311ecfbf73f5eab89b2e1b6..b28c4dd71643a3eab71fc2923b1137d0bc871f2d 100644 GIT binary patch literal 11538 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 literal 11519 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 t7}