summaryrefslogtreecommitdiff
path: root/sw/source/filter/ww8/wrtww8.hxx
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2018-11-12 19:29:59 +0100
committerStephan Bergmann <sbergman@redhat.com>2018-11-12 21:13:43 +0100
commita1f23b1fc4814bb857bb433570ed25c11594d583 (patch)
tree58af7e1c737bcaa4f6728abe6565a469d9be6685 /sw/source/filter/ww8/wrtww8.hxx
parenteef0f6cd6b6317a6704ed43aff58b52c51397119 (diff)
Silence -fsanitize=implicit-signed-integer-truncation
...as happens during CppunitTest_sw_ww8export (see below), by keeping nTableOffset of signed type. It is beneficial to introduce InsInt16 (internally doing the cast to sal_uInt16) instead of casting nTableOffset to sal_uInt16 at the call site, so that -fsanitize=implicit-signed-integer-truncation can still warn about bad nTableOffset values outside the sal_Int16 range being passed to InsInt16. > sw/source/filter/ww8/wrtww8.cxx:2392:34: runtime error: implicit conversion from type 'int' of value 67140 (32-bit, signed) to type 'sal_uInt16' (aka 'unsigned short') changed the value to 1604 (16-bit, unsigned) > #0 in WW8AttributeOutput::TableDefinition(std::shared_ptr<ww8::WW8TableNodeInfoInner>) at sw/source/filter/ww8/wrtww8.cxx:2392:34 (instdir/program/libmswordlo.so +0x1f12f98) > #1 in WW8AttributeOutput::TableInfoRow(std::shared_ptr<ww8::WW8TableNodeInfoInner>) at sw/source/filter/ww8/wrtww8.cxx:2058:13 (instdir/program/libmswordlo.so +0x1f06ccf) > #2 in WW8AttributeOutput::EndParagraph(std::shared_ptr<ww8::WW8TableNodeInfoInner>) at sw/source/filter/ww8/ww8atr.cxx:998:13 (instdir/program/libmswordlo.so +0x208fe56) > #3 in MSWordExportBase::OutputTextNode(SwTextNode&) at sw/source/filter/ww8/wrtw8nds.cxx:2966:22 (instdir/program/libmswordlo.so +0x1c4d259) > #4 in MSWordExportBase::OutputContentNode(SwContentNode&) at sw/source/filter/ww8/wrtw8nds.cxx:3237:13 (instdir/program/libmswordlo.so +0x1c5a3b4) > #5 in MSWordExportBase::WriteText() at sw/source/filter/ww8/wrtww8.cxx:2725:13 (instdir/program/libmswordlo.so +0x1efa992) > #6 in WW8Export::WriteMainText() at sw/source/filter/ww8/wrtww8.cxx:2845:5 (instdir/program/libmswordlo.so +0x1f2101e) > #7 in WW8Export::StoreDoc1() at sw/source/filter/ww8/wrtww8.cxx:3005:5 (instdir/program/libmswordlo.so +0x1f31acf) > #8 in WW8Export::ExportDocument_Impl() at sw/source/filter/ww8/wrtww8.cxx:3367:5 (instdir/program/libmswordlo.so +0x1f46dd2) > #9 in MSWordExportBase::ExportDocument(bool) at sw/source/filter/ww8/wrtww8.cxx:3206:19 (instdir/program/libmswordlo.so +0x1f3cbf2) > #10 in SwWW8Writer::WriteStorage() at sw/source/filter/ww8/wrtww8.cxx:3545:23 (instdir/program/libmswordlo.so +0x1f50966) > #11 in StgWriter::Write(SwPaM&, SotStorage&, rtl::OUString const*) at sw/source/filter/writer/writer.cxx:511:20 (instdir/program/libswlo.so +0xcc770c4) > #12 in Writer::Write(SwPaM&, SvStream&, rtl::OUString const*) at sw/source/filter/writer/writer.cxx:254:23 (instdir/program/libswlo.so +0xcc6cc1f) > #13 in Writer::Write(SwPaM&, SfxMedium&, rtl::OUString const*) at sw/source/filter/writer/writer.cxx:289:12 (instdir/program/libswlo.so +0xcc6e1cc) > #14 in SwWW8Writer::Write(SwPaM&, SfxMedium&, rtl::OUString const*) at sw/source/filter/ww8/wrtww8.cxx:3562:31 (instdir/program/libmswordlo.so +0x1f513ff) > #15 in SwWriter::Write(tools::SvRef<Writer> const&, rtl::OUString const*) at sw/source/filter/basflt/shellio.cxx:851:28 (instdir/program/libswlo.so +0xc56906f) > #16 in SwDocShell::ConvertTo(SfxMedium&) at sw/source/uibase/app/docsh.cxx:813:27 (instdir/program/libswlo.so +0xd038645) > #17 in SfxObjectShell::SaveTo_Impl(SfxMedium&, SfxItemSet const*) at sfx2/source/doc/objstor.cxx:1537:19 (instdir/program/libsfxlo.so +0x38c0383) > #18 in SfxObjectShell::PreDoSaveAs_Impl(rtl::OUString const&, rtl::OUString const&, SfxItemSet const&) at sfx2/source/doc/objstor.cxx:2848:39 (instdir/program/libsfxlo.so +0x38ef860) > #19 in SfxObjectShell::CommonSaveAs_Impl(INetURLObject const&, rtl::OUString const&, SfxItemSet&) at sfx2/source/doc/objstor.cxx:2705:9 (instdir/program/libsfxlo.so +0x38e8e40) > #20 in SfxObjectShell::APISaveAs_Impl(rtl::OUString const&, SfxItemSet&) at sfx2/source/doc/objserv.cxx:308:19 (instdir/program/libsfxlo.so +0x38651b3) > #21 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:2969:46 (instdir/program/libsfxlo.so +0x3a3ae5e) > #22 in SfxBaseModel::storeToURL(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at sfx2/source/doc/sfxbasemodel.cxx:1639:13 (instdir/program/libsfxlo.so +0x3a40fa5) > #23 in SwModelTestBase::reload(char const*, char const*, char const*) at sw/qa/extras/inc/swmodeltestbase.hxx:797:20 (workdir/LinkTarget/CppunitTest/libtest_sw_ww8export.so +0x3b3fb1) > #24 in SwModelTestBase::executeImportExportImportTest(char const*, char const*) at sw/qa/extras/inc/swmodeltestbase.hxx:283:9 (workdir/LinkTarget/CppunitTest/libtest_sw_ww8export.so +0x3b25a8) > #25 in testN760294::Import_Export_Import() at sw/qa/extras/ww8export/ww8export.cxx:133:1 (workdir/LinkTarget/CppunitTest/libtest_sw_ww8export.so +0x3c556d) [...] Change-Id: I673a96e9f7d2d1bdf40de20f3810c4986c338c93 Reviewed-on: https://gerrit.libreoffice.org/63301 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Diffstat (limited to 'sw/source/filter/ww8/wrtww8.hxx')
-rw-r--r--sw/source/filter/ww8/wrtww8.hxx1
1 files changed, 1 insertions, 0 deletions
diff --git a/sw/source/filter/ww8/wrtww8.hxx b/sw/source/filter/ww8/wrtww8.hxx
index 5f4d441aa5b5..0766d4df2c39 100644
--- a/sw/source/filter/ww8/wrtww8.hxx
+++ b/sw/source/filter/ww8/wrtww8.hxx
@@ -1122,6 +1122,7 @@ public:
const ww8::Frame &rFrameFormat);
void InsUInt16( sal_uInt16 n ) { SwWW8Writer::InsUInt16( *pO, n ); }
+ void InsInt16(sal_Int16 n) { InsUInt16(sal_uInt16(n)); }
void InsUInt32( sal_uInt32 n ) { SwWW8Writer::InsUInt32( *pO, n ); }
void WriteStringAsPara( const OUString& rText );