[Libreoffice-commits] core.git: 3 commits - filter/Library_t602filter.mk filter/source Makefile.in Repository.mk sfx2/source vcl/Executable_602fuzzer.mk vcl/Module_vcl.mk vcl/workben writerfilter/source

Caolán McNamara caolanm at redhat.com
Sat Feb 25 21:34:31 UTC 2017


 Makefile.in                                           |    2 
 Repository.mk                                         |    1 
 filter/Library_t602filter.mk                          |    2 
 filter/source/t602/t602filter.cxx                     |    8 +--
 sfx2/source/control/unoctitm.cxx                      |    4 -
 sfx2/source/view/viewfrm.cxx                          |    3 -
 vcl/Executable_602fuzzer.mk                           |   48 ++++++++++++++++++
 vcl/Module_vcl.mk                                     |    1 
 vcl/workben/602fuzzer.cxx                             |   23 ++++++++
 vcl/workben/fftester.cxx                              |    7 +-
 writerfilter/source/ooxml/Handler.cxx                 |    4 +
 writerfilter/source/ooxml/Handler.hxx                 |    1 
 writerfilter/source/ooxml/OOXMLFastContextHandler.cxx |    1 
 13 files changed, 92 insertions(+), 13 deletions(-)

New commits:
commit 4c0040b6f1e3137e0d40aab09088c43214db3165
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Sat Feb 25 20:53:37 2017 +0000

    re org things a little to quieten coverity warnings
    
    Change-Id: I97d1e5cce279031cb1d855132cc6695fc4b59c93

diff --git a/writerfilter/source/ooxml/Handler.cxx b/writerfilter/source/ooxml/Handler.cxx
index 0600b5b..c0d59ff 100644
--- a/writerfilter/source/ooxml/Handler.cxx
+++ b/writerfilter/source/ooxml/Handler.cxx
@@ -324,6 +324,10 @@ OOXMLHyperlinkHandler::OOXMLHyperlinkHandler(OOXMLFastContextHandler * pContext)
 
 OOXMLHyperlinkHandler::~OOXMLHyperlinkHandler()
 {
+}
+
+void OOXMLHyperlinkHandler::writetext()
+{
     OUString sReturn(" HYPERLINK \"");
 
     sReturn += mURL;
diff --git a/writerfilter/source/ooxml/Handler.hxx b/writerfilter/source/ooxml/Handler.hxx
index 80254d5..eb6b8b6 100644
--- a/writerfilter/source/ooxml/Handler.hxx
+++ b/writerfilter/source/ooxml/Handler.hxx
@@ -139,6 +139,7 @@ class OOXMLHyperlinkHandler : public Properties
 public:
     explicit OOXMLHyperlinkHandler(OOXMLFastContextHandler * pContext);
     virtual ~OOXMLHyperlinkHandler();
+    void writetext();
 
     virtual void attribute(Id name, Value & val) override;
     virtual void sprm(Sprm & sprm) override;
diff --git a/writerfilter/source/ooxml/OOXMLFastContextHandler.cxx b/writerfilter/source/ooxml/OOXMLFastContextHandler.cxx
index 1be3fa6..bc31406 100644
--- a/writerfilter/source/ooxml/OOXMLFastContextHandler.cxx
+++ b/writerfilter/source/ooxml/OOXMLFastContextHandler.cxx
@@ -904,6 +904,7 @@ void OOXMLFastContextHandlerStream::handleHyperlink()
 {
     OOXMLHyperlinkHandler aHyperlinkHandler(this);
     getPropertySetAttrs()->resolve(aHyperlinkHandler);
+    aHyperlinkHandler.writetext();
 }
 
 /*
commit f1d4c4009644a37f6d7c1981bc79b3bfb47188ac
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Fri Feb 24 14:50:36 2017 +0000

    add 602 fuzzer
    
    Change-Id: I91242d4647922be1c668c6a6518dedf7048801be

diff --git a/Makefile.in b/Makefile.in
index 049e1c3..7146be0 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -446,7 +446,7 @@ $(foreach ide,\
     eclipsecdt,\
 $(eval $(call gb_Top_GbuildToIdeIntegrationNS,$(ide))))
 
-fuzzers: Library_sal Library_salhelper Library_reg Library_store Library_unoidl codemaker Library_cppu Library_i18nlangtag Library_cppuhelper Library_comphelper StaticLibrary_ulingu StaticLibrary_jpeg StaticLibrary_findsofficepath Library_tl Rdb_services udkapi offapi Library_clew Library_gie Library_reflection Library_invocadapt Library_bootstrap Library_introspection Library_stocservices Library_xmlreader Library_gcc3_uno instsetoo_native more_fonts StaticLibrary_fuzzer Executable_wmffuzzer Executable_jpgfuzzer Executable_giffuzzer Executable_xbmfuzzer Executable_xpmfuzzer Executable_pngfuzzer Executable_bmpfuzzer Executable_svmfuzzer Executable_pcdfuzzer Executable_dxffuzzer Executable_metfuzzer Executable_ppmfuzzer Executable_psdfuzzer Executable_epsfuzzer Executable_pctfuzzer Executable_pcxfuzzer Executable_rasfuzzer Executable_tgafuzzer Executable_tiffuzzer Executable_hwpfuzzer
+fuzzers: Library_sal Library_salhelper Library_reg Library_store Library_unoidl codemaker Library_cppu Library_i18nlangtag Library_cppuhelper Library_comphelper StaticLibrary_ulingu StaticLibrary_jpeg StaticLibrary_findsofficepath Library_tl Rdb_services udkapi offapi Library_clew Library_gie Library_reflection Library_invocadapt Library_bootstrap Library_introspection Library_stocservices Library_xmlreader Library_gcc3_uno instsetoo_native more_fonts StaticLibrary_fuzzer Executable_wmffuzzer Executable_jpgfuzzer Executable_giffuzzer Executable_xbmfuzzer Executable_xpmfuzzer Executable_pngfuzzer Executable_bmpfuzzer Executable_svmfuzzer Executable_pcdfuzzer Executable_dxffuzzer Executable_metfuzzer Executable_ppmfuzzer Executable_psdfuzzer Executable_epsfuzzer Executable_pctfuzzer Executable_pcxfuzzer Executable_rasfuzzer Executable_tgafuzzer Executable_tiffuzzer Executable_hwpfuzzer Executable_602fuzzer
 
 endif # MAKE_RESTARTS
 
diff --git a/Repository.mk b/Repository.mk
index 1a7a997..50ff121 100644
--- a/Repository.mk
+++ b/Repository.mk
@@ -113,6 +113,7 @@ $(eval $(call gb_Helper_register_executables_for_install,OOO,brand, \
 	$(call gb_Helper_optional,FUZZERS,tgafuzzer) \
 	$(call gb_Helper_optional,FUZZERS,tiffuzzer) \
 	$(call gb_Helper_optional,FUZZERS,hwpfuzzer) \
+	$(call gb_Helper_optional,FUZZERS,602fuzzer) \
 	$(if $(filter-out ANDROID IOS MACOSX WNT,$(OS)),oosplash) \
 	soffice_bin \
 	$(if $(filter DESKTOP,$(BUILD_TYPE)),unopkg_bin) \
diff --git a/filter/Library_t602filter.mk b/filter/Library_t602filter.mk
index e744c15..8aa293e 100644
--- a/filter/Library_t602filter.mk
+++ b/filter/Library_t602filter.mk
@@ -28,7 +28,7 @@ $(eval $(call gb_Library_use_sdk_api,t602filter))
 $(eval $(call gb_Library_use_libraries,t602filter,\
 	xo \
 	tl \
-	comphelper \
+	utl \
 	cppuhelper \
 	cppu \
 	sal \
diff --git a/filter/source/t602/t602filter.cxx b/filter/source/t602/t602filter.cxx
index 712e27a..03f8bed 100644
--- a/filter/source/t602/t602filter.cxx
+++ b/filter/source/t602/t602filter.cxx
@@ -36,9 +36,9 @@
 #include <com/sun/star/awt/XControl.hpp>
 #include <com/sun/star/awt/XDialog.hpp>
 #include <com/sun/star/ui/dialogs/ExecutableDialogResults.hpp>
-#include <comphelper/oslfile2streamwrap.hxx>
 #include <rtl/ref.hxx>
 #include <rtl/character.hxx>
+#include <unotools/streamwrap.hxx>
 
 using namespace ::cppu;
 using namespace ::osl;
@@ -1176,11 +1176,9 @@ Reference< XInterface > SAL_CALL T602ImportFilterDialog_createInstance( const Re
 
 }
 
-extern "C" SAL_DLLPUBLIC_EXPORT bool SAL_CALL TestImport602(const OUString &rURL)
+extern "C" SAL_DLLPUBLIC_EXPORT bool SAL_CALL TestImport602(SvStream &rStream)
 {
-    osl::File aInputFile(rURL);
-    aInputFile.open(osl_File_OpenFlag_Read);
-    css::uno::Reference<io::XInputStream> xStream(new comphelper::OSLInputStreamWrapper(aInputFile));
+    css::uno::Reference<io::XInputStream> xStream(new utl::OSeekableInputStreamWrapper(rStream));
     rtl::Reference<T602ImportFilter::T602ImportFilter> aImport(
         new T602ImportFilter::T602ImportFilter(xStream));
     return aImport->test();
diff --git a/vcl/Executable_602fuzzer.mk b/vcl/Executable_602fuzzer.mk
new file mode 100644
index 0000000..dfa5ef0
--- /dev/null
+++ b/vcl/Executable_602fuzzer.mk
@@ -0,0 +1,48 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+
+include $(SRCDIR)/vcl/commonfuzzer.mk
+
+$(eval $(call gb_Executable_Executable,602fuzzer))
+
+$(eval $(call gb_Executable_use_api,602fuzzer,\
+    offapi \
+    udkapi \
+))
+
+$(eval $(call gb_Executable_use_externals,602fuzzer,\
+	$(fuzzer_externals) \
+))
+
+$(eval $(call gb_Executable_set_include,602fuzzer,\
+    $$(INCLUDE) \
+    -I$(SRCDIR)/vcl/inc \
+))
+
+$(eval $(call gb_Executable_use_libraries,602fuzzer,\
+	t602filter \
+	$(fuzzer_libraries) \
+))
+
+$(eval $(call gb_Executable_use_static_libraries,602fuzzer,\
+    findsofficepath \
+    ulingu \
+    fuzzer \
+))
+
+$(eval $(call gb_Executable_add_exception_objects,602fuzzer,\
+	vcl/workben/602fuzzer \
+))
+
+$(eval $(call gb_Executable_add_libs,602fuzzer,\
+	-lFuzzingEngine \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/vcl/Module_vcl.mk b/vcl/Module_vcl.mk
index 730a3b0..109d41b 100644
--- a/vcl/Module_vcl.mk
+++ b/vcl/Module_vcl.mk
@@ -126,6 +126,7 @@ $(eval $(call gb_Module_add_targets,vcl,\
     Executable_tgafuzzer \
     Executable_tiffuzzer \
     Executable_hwpfuzzer \
+    Executable_602fuzzer \
 ))
 endif
 
diff --git a/vcl/workben/602fuzzer.cxx b/vcl/workben/602fuzzer.cxx
new file mode 100644
index 0000000..04c8726
--- /dev/null
+++ b/vcl/workben/602fuzzer.cxx
@@ -0,0 +1,23 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#include <tools/stream.hxx>
+#include <vcl/FilterConfigItem.hxx>
+#include "commonfuzzer.hxx"
+
+extern "C" bool TestImport602(SvStream &rStream);
+
+extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size)
+{
+    SvMemoryStream aStream(const_cast<uint8_t*>(data), size, StreamMode::READ);
+    (void)TestImport602(aStream);
+    return 0;
+}
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/workben/fftester.cxx b/vcl/workben/fftester.cxx
index 088d088..6d7ff45 100644
--- a/vcl/workben/fftester.cxx
+++ b/vcl/workben/fftester.cxx
@@ -419,16 +419,17 @@ try_again:
             }
             else if (strcmp(argv[2], "602") == 0)
             {
-                static HFilterCall pfnImport(nullptr);
+                static FFilterCall pfnImport(nullptr);
                 if (!pfnImport)
                 {
                     osl::Module aLibrary;
                     aLibrary.loadRelative(&thisModule, "libt602filterlo.so", SAL_LOADMODULE_LAZY);
-                    pfnImport = reinterpret_cast<HFilterCall>(
+                    pfnImport = reinterpret_cast<FFilterCall>(
                         aLibrary.getFunctionSymbol("TestImport602"));
                     aLibrary.release();
                 }
-                ret = (int) (*pfnImport)(out);
+                SvFileStream aFileStream(out, StreamMode::READ);
+                ret = (int) (*pfnImport)(aFileStream);
             }
             else if (strcmp(argv[2], "lwp") == 0)
             {
commit a91dc9ebb4612f476519f119d21d3da077d38023
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Sat Feb 25 20:52:54 2017 +0000

    check for SfxApplication::Get means SfxGetpApp is just SfxApplication::Get
    
    Change-Id: I12953d93c81bd60ad27284ac0b62c4435ac9e390

diff --git a/sfx2/source/control/unoctitm.cxx b/sfx2/source/control/unoctitm.cxx
index a34c140..45f96b2 100644
--- a/sfx2/source/control/unoctitm.cxx
+++ b/sfx2/source/control/unoctitm.cxx
@@ -771,9 +771,9 @@ void SAL_CALL SfxDispatchController_Impl::dispatch( const css::util::URL& aURL,
                     pItem = pDispatcher->Execute( GetId(), nCall, nullptr, &aInternalSet, nModifier );
 
                 // no bindings, no invalidate ( usually done in SfxDispatcher::Call_Impl()! )
-                if ( SfxApplication::Get() )
+                if (SfxApplication* pApp = SfxApplication::Get())
                 {
-                    SfxDispatcher* pAppDispat = SfxGetpApp()->GetAppDispatcher_Impl();
+                    SfxDispatcher* pAppDispat = pApp->GetAppDispatcher_Impl();
                     if ( pAppDispat )
                     {
                         const SfxPoolItem* pState=nullptr;
diff --git a/sfx2/source/view/viewfrm.cxx b/sfx2/source/view/viewfrm.cxx
index f21710c..e79c38b 100644
--- a/sfx2/source/view/viewfrm.cxx
+++ b/sfx2/source/view/viewfrm.cxx
@@ -1461,7 +1461,8 @@ void SfxViewFrame::KillDispatcher_Impl()
 
 SfxViewFrame* SfxViewFrame::Current()
 {
-    return SfxApplication::Get() ? SfxGetpApp()->Get_Impl()->pViewFrame : nullptr;
+    SfxApplication* pApp = SfxApplication::Get();
+    return pApp ? pApp->Get_Impl()->pViewFrame : nullptr;
 }
 
 // returns the first window of spec. type viewing the specified doc.


More information about the Libreoffice-commits mailing list