From d9d6c67c76e5b41e45330983a98f58ea288a30e9 Mon Sep 17 00:00:00 2001 From: Miklos Vajna Date: Tue, 14 Jan 2014 18:20:34 +0100 Subject: [PATCH] VML import: don't assume both parameters are available while parsing commands The problematic path was "m,l21600,r,21600l,21600xem@1@0l@3@2nfe", here "m,l" means an implicit "m0,0l", but only the first zero is in the coords list. If the second is missing, assume 0 as well. Change-Id: I03065e34c959103c9caf64271aa3ebbb7ad52726 --- oox/source/vml/vmlformatting.cxx | 4 ++-- sw/qa/core/data/ooxml/pass/vml-path.docx | Bin 0 -> 25257 bytes 2 files changed, 2 insertions(+), 2 deletions(-) create mode 100755 sw/qa/core/data/ooxml/pass/vml-path.docx diff --git a/oox/source/vml/vmlformatting.cxx b/oox/source/vml/vmlformatting.cxx index 25caa60a9666..c42045191b1e 100644 --- a/oox/source/vml/vmlformatting.cxx +++ b/oox/source/vml/vmlformatting.cxx @@ -332,7 +332,7 @@ void ConversionHelper::decodeVmlPath( ::std::vector< ::std::vector< Point > >& r rPointLists.push_back( ::std::vector< Point >() ); rFlagLists.push_back( ::std::vector< PolygonFlags >() ); } - rPointLists.back().push_back( Point( aCoordList[ 0 ], aCoordList[ 1 ] ) ); + rPointLists.back().push_back( Point( (aCoordList[ 0 ]), (aCoordList.size() > 1 ? aCoordList[ 1 ] : 0) ) ); rFlagLists.back().push_back( PolygonFlags_NORMAL ); aCurrentPoint = rPointLists.back().back(); break; @@ -371,7 +371,7 @@ void ConversionHelper::decodeVmlPath( ::std::vector< ::std::vector< Point > >& r break; case LINE_ABS: // 2* params -> param count reset - rPointLists.back().push_back( Point( aCoordList[ 0 ], aCoordList[ 1 ] ) ); + rPointLists.back().push_back( Point( aCoordList[ 0 ], (aCoordList.size() > 1 ? aCoordList[ 1 ] : 0) ) ); rFlagLists.back().push_back( PolygonFlags_NORMAL ); aCurrentPoint = rPointLists.back().back(); nParamCount = 2; diff --git a/sw/qa/core/data/ooxml/pass/vml-path.docx b/sw/qa/core/data/ooxml/pass/vml-path.docx new file mode 100755 index 0000000000000000000000000000000000000000..6369783f509f10db1376bb210025e1d74856f065 GIT binary patch literal 25257 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