summaryrefslogtreecommitdiff
path: root/framework/qa
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2019-01-29 13:44:07 +0100
committerMiklos Vajna <vmiklos@collabora.com>2019-01-30 09:17:53 +0100
commitf1f84cf7fae3c777908cfc5357a067db731367ac (patch)
treecaf3caffda0b364df6bb9c4bd1454987fd38ebbe /framework/qa
parent2eac095e2a672db180dc816350c1585a65245c7c (diff)
Avoid computing negative nColSpan
With Clang -fsanitize=implicit-signed-integer-truncation, CppunitTest_sw_ooxmlexport8 fails with > sw/source/filter/writer/wrtswtbl.cxx:666:39: runtime error: implicit conversion from type 'int' of value -1 (32-bit, signed) to type 'sal_uInt16' (aka 'unsigned short') changed the value to 65535 (16-bit, unsigned) > #0 in SwWriteTable::FillTableRowsCols(long, unsigned short, unsigned int, unsigned short, long, unsigned int, SwTableLines const&, SvxBrushItem const*, unsigned short, unsigned short) at sw/source/filter/writer/wrtswtbl.cxx:666:39 > #1 in SwWriteTable::SwWriteTable(SwTable const*, SwTableLines const&, long, unsigned int, bool, unsigned short, unsigned short, unsigned short, unsigned int) at sw/source/filter/writer/wrtswtbl.cxx:757:5 > #2 in DocxAttributeOutput::InitTableHelper(std::shared_ptr<ww8::WW8TableNodeInfoInner> const&) at sw/source/filter/ww8/docxattributeoutput.cxx:3481:31 > #3 in DocxAttributeOutput::FinishTableRowCell(std::shared_ptr<ww8::WW8TableNodeInfoInner> const&, bool) at sw/source/filter/ww8/docxattributeoutput.cxx:907:9 > #4 in DocxAttributeOutput::TableNodeInfoInner(std::shared_ptr<ww8::WW8TableNodeInfoInner>) at sw/source/filter/ww8/docxattributeoutput.cxx:4248:5 > #5 in MSWordExportBase::OutputStartNode(SwStartNode const&) at sw/source/filter/ww8/wrtww8.cxx:4167:26 > #6 in MSWordExportBase::WriteText() at sw/source/filter/ww8/wrtww8.cxx:2812:13 > #7 in DocxAttributeOutput::WriteFloatingTable(ww8::Frame const*) at sw/source/filter/ww8/docxattributeoutput.cxx:336:17 > #8 in checkAndWriteFloatingTables(DocxAttributeOutput&) at sw/source/filter/ww8/docxattributeoutput.cxx:396:30 > #9 in DocxAttributeOutput::StartParagraph(std::shared_ptr<ww8::WW8TableNodeInfo>) at sw/source/filter/ww8/docxattributeoutput.cxx:406:9 > #10 in MSWordExportBase::OutputTextNode(SwTextNode&) at sw/source/filter/ww8/wrtw8nds.cxx:2181:22 > #11 in MSWordExportBase::OutputContentNode(SwContentNode&) at sw/source/filter/ww8/wrtw8nds.cxx:3327:13 > #12 in MSWordExportBase::WriteText() at sw/source/filter/ww8/wrtww8.cxx:2727:13 > #13 in DocxExport::WriteMainText() at sw/source/filter/ww8/docxexport.cxx:1469:5 > #14 in DocxExport::ExportDocument_Impl() at sw/source/filter/ww8/docxexport.cxx:527:5 > #15 in MSWordExportBase::ExportDocument(bool) at sw/source/filter/ww8/wrtww8.cxx:3212:19 > #16 in DocxExportFilter::exportDocument() at sw/source/filter/ww8/docxexportfilter.cxx:86:17 > #17 in oox::core::FilterBase::filter(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at oox/source/core/filterbase.cxx:497:55 > #18 in WriterFilter::filter(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at writerfilter/source/filter/WriterFilter.cxx:149:23 > #19 in SfxObjectShell::ExportTo(SfxMedium&) at sfx2/source/doc/objstor.cxx:2411:25 > #20 in SfxObjectShell::SaveTo_Impl(SfxMedium&, SfxItemSet const*) at sfx2/source/doc/objstor.cxx:1505:19 > #21 in SfxObjectShell::PreDoSaveAs_Impl(rtl::OUString const&, rtl::OUString const&, SfxItemSet const&) at sfx2/source/doc/objstor.cxx:2818:39 > #22 in SfxObjectShell::CommonSaveAs_Impl(INetURLObject const&, rtl::OUString const&, SfxItemSet&) at sfx2/source/doc/objstor.cxx:2675:9 > #23 in SfxObjectShell::APISaveAs_Impl(rtl::OUString const&, SfxItemSet&) at sfx2/source/doc/objserv.cxx:321:19 > #24 in SfxBaseModel::impl_store(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&, bool) at sfx2/source/doc/sfxbasemodel.cxx:3001:46 > #25 in SfxBaseModel::storeToURL(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at sfx2/source/doc/sfxbasemodel.cxx:1672:13 > #26 in SwModelTestBase::reload(char const*, char const*, char const*) at sw/qa/extras/inc/swmodeltestbase.hxx:796:20 > #27 in SwModelTestBase::executeImportExportImportTest(char const*, char const*) at sw/qa/extras/inc/swmodeltestbase.hxx:283:9 > #28 in testN779642::Import_Export_Import() at sw/qa/extras/ooxmlexport/ooxmlexport8.cxx:746:1 (where nCPos is 23, nOldCol is 2, and nCol is 0). sw/qa/extras/ooxmlexport/data/n779642.docx processed by that testN779642 is the only case during `make check` for which the added SAL_WARN_IF triggers. That file was added with 874f0a1be443b8027d5aba2285866f31cf4169e5 "n#779642: ignore framePr inside table or the table import won't work", leaving its origin unclear, and trying to open it with at least MS Word for Mac version 16.21 fails with "could not be opened", so it looks somewhat plausible that computation of such negative spans should just not happen. Change-Id: I0d460d04050017f7793ae51dc2a51ebbd3c4c193 Reviewed-on: https://gerrit.libreoffice.org/67075 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Diffstat (limited to 'framework/qa')
0 files changed, 0 insertions, 0 deletions