• Stephan Bergmann's avatar
    Silence -fsanitize=implicit-signed-integer-truncation · a1f23b1f
    Stephan Bergmann yazdı
    ...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: 's avatarStephan Bergmann <sbergman@redhat.com>
    a1f23b1f
Adı
Son kayıt (commit)
Son güncelleme
..
core Loading commit data...
filter Loading commit data...
ui Loading commit data...
uibase Loading commit data...