[Libreoffice-commits] core.git: sc/source

Caolán McNamara (via logerrit) logerrit at kemper.freedesktop.org
Sun Sep 12 19:21:37 UTC 2021


 sc/source/ui/docshell/docsh2.cxx |    2 ++
 1 file changed, 2 insertions(+)

New commits:
commit 34d229cecadba9d216d7b1111146a1bace84983e
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Sun Sep 12 19:28:30 2021 +0100
Commit:     Caolán McNamara <caolanm at redhat.com>
CommitDate: Sun Sep 12 21:20:59 2021 +0200

    ofz: avoid std::basic_string from boost::filesystem
    
    workaround this problem for now by skipping the problematic path
    so fuzzers don't fail immediately
    
    ==706226==WARNING: MemorySanitizer: use-of-uninitialized-value
        #0 0x161c3bf7 in ~basic_string /usr/local/bin/../include/c++/v1/string:2267:9
        #1 0x161c3bf7 in ~path workdir/UnpackedTarball/boost/boost/filesystem/path.hpp:83:9
        #2 0x161c3bf7 in ~impl workdir/UnpackedTarball/boost/boost/filesystem/exception.hpp:78:10
        #3 0x161c3bf7 in intrusive_ptr_release<boost::filesystem::filesystem_error::impl, boost::sp_adl_block::thread_safe_counter> workdir/UnpackedTarball/boost/boost/smart_ptr/intrusive_ref_counter.hpp:173:9
        #4 0x161c3bf7 in boost::intrusive_ptr<boost::filesystem::filesystem_error::impl>::~intrusive_ptr() workdir/UnpackedTarball/boost/boost/smart_ptr/intrusive_ptr.hpp:98:23
        #5 0x161c4c14 in boost::filesystem::filesystem_error::~filesystem_error() workdir/UnpackedTarball/boost/libs/filesystem/src/exception.cpp:79:1
        #6 0x174134a1 in __cxa_end_catch (/out/fodsfuzzer+0x174134a1)
        #7 0xf22faa1 in ScOrcusFiltersImpl::importODS_Styles(ScDocument&, rtl::OUString&) const /src/libreoffice/sc/source/filter/orcus/orcusfiltersimpl.cxx:164:5
        #8 0x8c1c64 in ScDocShell::InitNew(com::sun::star::uno::Reference<com::sun::star::embed::XStorage> const&) /src/libreoffice/sc/source/ui/docshell/docsh2.cxx:77:21
        #9 0x51e73cc in SfxObjectShell::DoInitNew(SfxMedium*) /src/libreoffice/sfx2/source/doc/objstor.cxx:470:10
        #10 0x6cf506 in TestImportFODS /src/libreoffice/sc/source/filter/xml/xmlimprt.cxx:1675:13
        #11 0x698137 in LLVMFuzzerTestOneInput /src/libreoffice/vcl/workben/fodsfuzzer.cxx:30:11
        #12 0x5e8603 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) cxa_noexception.cpp
        #13 0x5d54a2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6
        #14 0x5daecb in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) cxa_noexception.cpp
        #15 0x5ffd62 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10
        #16 0x7f15c66ee0b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2)
        #17 0x5b293d in _start (/out/fodsfuzzer+0x5b293d)
    
    Change-Id: Ie8a9d376f902a391551237b833236c2203525555
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122010
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/sc/source/ui/docshell/docsh2.cxx b/sc/source/ui/docshell/docsh2.cxx
index e02b815d2181..46089387f86a 100644
--- a/sc/source/ui/docshell/docsh2.cxx
+++ b/sc/source/ui/docshell/docsh2.cxx
@@ -61,6 +61,7 @@ bool ScDocShell::InitNew( const uno::Reference < embed::XStorage >& xStor )
     m_aDocument.GetStyleSheetPool()->CreateStandardStyles();
     m_aDocument.UpdStlShtPtrsFrmNms();
 
+#if !defined(FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION)
     if (!m_bUcalcTest)
     {
         /* Create styles that are imported through Orcus */
@@ -78,6 +79,7 @@ bool ScDocShell::InitNew( const uno::Reference < embed::XStorage >& xStor )
             m_aDocument.GetStyleSheetPool()->setAllParaStandard();
         }
     }
+#endif
 
     //  SetDocumentModified is not allowed anymore in Load/InitNew!
     InitItems();


More information about the Libreoffice-commits mailing list