filter/source/msfilter/dffpropset.cxx | 11 +++++++++++ sw/qa/extras/ww8import/data/tdf130262.doc |binary sw/qa/extras/ww8import/ww8import.cxx | 5 +++++ 3 files changed, 16 insertions(+)
New commits: commit 6e5444959ec914f6d0979aa1e6d4d8a462d79891 Author: Patrick Jaap <patrick.j...@tu-dresden.de> AuthorDate: Thu Feb 6 18:33:19 2020 +0100 Commit: Patrick Jaap <patrick.j...@tu-dresden.de> CommitDate: Tue Feb 11 15:29:27 2020 +0100 tdf#130262 ignore negative wrap distance values in doc prop import Change-Id: I2c06b12c958dfde09adcc2ae4c59532ffde6b6fe Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88127 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmik...@collabora.com> (cherry picked from commit 8cbd7f59bb99282c4bcb60639da1263c8eb3a5e3) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88391 Reviewed-by: Patrick Jaap <patrick.j...@tu-dresden.de> diff --git a/filter/source/msfilter/dffpropset.cxx b/filter/source/msfilter/dffpropset.cxx index 5b0b1194ae06..e5803046b4e4 100644 --- a/filter/source/msfilter/dffpropset.cxx +++ b/filter/source/msfilter/dffpropset.cxx @@ -1217,6 +1217,17 @@ void DffPropSet::ReadPropSet( SvStream& rIn, bool bSetUninitializedOnly ) } if ( bSetProperty ) { + // tdf#130262: ignore negative values for distances (maybe this list needs to be extended) + // LO does not allow negative values but [MS-ODRAW] does not forbid them + if ( nRecType == DFF_Prop_dxWrapDistLeft || nRecType == DFF_Prop_dxWrapDistRight + || nRecType == DFF_Prop_dyWrapDistTop || nRecType == DFF_Prop_dyWrapDistBottom ) + { + if ( static_cast<sal_Int32>(nContent) < 0 ) + { + break; + } + } + mpPropSetEntries[ nRecType ].nContent = nContent; mpPropSetEntries[ nRecType ].aFlags = aPropFlag; } diff --git a/sw/qa/extras/ww8import/data/tdf130262.doc b/sw/qa/extras/ww8import/data/tdf130262.doc new file mode 100644 index 000000000000..fb60beacd79d Binary files /dev/null and b/sw/qa/extras/ww8import/data/tdf130262.doc differ diff --git a/sw/qa/extras/ww8import/ww8import.cxx b/sw/qa/extras/ww8import/ww8import.cxx index c67f2c9385b0..468cacfd0967 100644 --- a/sw/qa/extras/ww8import/ww8import.cxx +++ b/sw/qa/extras/ww8import/ww8import.cxx @@ -365,6 +365,11 @@ DECLARE_WW8IMPORT_TEST(testTdf110987, "tdf110987") CPPUNIT_ASSERT(sFilterName != "MS Word 97 Vorlage"); } +DECLARE_WW8IMPORT_TEST(testTdf130262, "tdf130262.doc") +{ + // We had an infinite layout loop +} + // tests should only be added to ww8IMPORT *if* they fail round-tripping in ww8EXPORT CPPUNIT_PLUGIN_IMPLEMENT(); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits