summaryrefslogtreecommitdiff
path: root/oox
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2014-12-02 14:51:09 +0000
committerAndras Timar <andras.timar@collabora.com>2014-12-13 16:00:57 +0100
commit47ae595cf74836b45e6a6ab980a752ac55d304f3 (patch)
treee840c38ac504e5cca3cd14862e581d047494d675 /oox
parent18263befac0ad0376c938f167dfbdc15f1b3cf1b (diff)
Resolves: fdo#70157 fix crash on loading
Change-Id: I0d248a195852c14cd95d4e337823076dd2fbc19d (cherry picked from commit 8302d048653d9ac25d3cb9ab9277df715053ad6a) (cherry picked from commit a757e1b1300dde12fb865c1efd64bfd2bef00e2c) Reviewed-on: https://gerrit.libreoffice.org/13272 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Miklos Vajna <vmiklos@collabora.co.uk>
Diffstat (limited to 'oox')
-rw-r--r--oox/source/vml/vmlformatting.cxx10
1 files changed, 7 insertions, 3 deletions
diff --git a/oox/source/vml/vmlformatting.cxx b/oox/source/vml/vmlformatting.cxx
index 86b303e94fb3..8fca88d3ceca 100644
--- a/oox/source/vml/vmlformatting.cxx
+++ b/oox/source/vml/vmlformatting.cxx
@@ -378,9 +378,13 @@ void ConversionHelper::decodeVmlPath( ::std::vector< ::std::vector< Point > >& r
break;
case CLOSE: // 0 param
- rPointLists.back().push_back( rPointLists.back()[ 0 ] );
- rFlagLists.back().push_back( rFlagLists.back()[ 0 ] );
- aCurrentPoint = rPointLists.back().back();
+ SAL_WARN_IF(rPointLists.back().empty() || rPointLists.back().empty(), "oox", "empty pointlists at close");
+ if (!rPointLists.back().empty() && !rFlagLists.back().empty())
+ {
+ rPointLists.back().push_back( rPointLists.back()[ 0 ] );
+ rFlagLists.back().push_back( rFlagLists.back()[ 0 ] );
+ aCurrentPoint = rPointLists.back().back();
+ }
break;
case END: // 0 param