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

New commits:
commit 34d229cecadba9d216d7b1111146a1bace84983e
Author:     Caolán McNamara <caol...@redhat.com>
AuthorDate: Sun Sep 12 19:28:30 2021 +0100
Commit:     Caolán McNamara <caol...@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 <caol...@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();

Reply via email to