[Libreoffice-commits] core.git: vcl/Executable_scrtffuzzer.mk vcl/workben

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Fri Aug 10 15:18:01 UTC 2018


 vcl/Executable_scrtffuzzer.mk |    2 -
 vcl/workben/scrtffuzzer.cxx   |   76 ++++++++++++++++++++++++++++--------------
 2 files changed, 52 insertions(+), 26 deletions(-)

New commits:
commit e80214b4c8bfda05f4c26dc8c56c2b982fe08650
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Fri Aug 10 14:06:28 2018 +0100
Commit:     Caolán McNamara <caolanm at redhat.com>
CommitDate: Fri Aug 10 17:17:36 2018 +0200

    shrink scrtf fuzzer
    
    Change-Id: I977636eff8a2962ca248287f8733422d635f8559
    Reviewed-on: https://gerrit.libreoffice.org/58833
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/vcl/Executable_scrtffuzzer.mk b/vcl/Executable_scrtffuzzer.mk
index 26811acd9cab..6721092b2820 100644
--- a/vcl/Executable_scrtffuzzer.mk
+++ b/vcl/Executable_scrtffuzzer.mk
@@ -29,13 +29,11 @@ $(eval $(call gb_Executable_set_include,scrtffuzzer,\
 $(eval $(call gb_Executable_use_libraries,scrtffuzzer,\
     $(fuzzer_calc_libraries) \
     $(fuzzer_core_libraries) \
-    pdffilter \
 ))
 
 $(eval $(call gb_Executable_use_static_libraries,scrtffuzzer,\
     findsofficepath \
     ulingu \
-    fuzzer_calc \
     fuzzerstubs \
 ))
 
diff --git a/vcl/workben/scrtffuzzer.cxx b/vcl/workben/scrtffuzzer.cxx
index 5221ef045a17..cf9d88c66159 100644
--- a/vcl/workben/scrtffuzzer.cxx
+++ b/vcl/workben/scrtffuzzer.cxx
@@ -8,36 +8,64 @@
  */
 
 #include <tools/stream.hxx>
-#include <vcl/FilterConfigItem.hxx>
-#include <com/sun/star/ucb/XContentProvider.hpp>
-#include <com/sun/star/ucb/XUniversalContentBroker.hpp>
 #include "commonfuzzer.hxx"
 
+#include <config_features.h>
+#include <osl/detail/component-mapping.h>
+
+extern "C" {
+void* i18npool_component_getFactory(const char*, void*, void*);
+
+void* com_sun_star_i18n_LocaleDataImpl_get_implementation(void*, void*);
+void* com_sun_star_i18n_BreakIterator_Unicode_get_implementation(void*, void*);
+void* com_sun_star_i18n_BreakIterator_get_implementation(void*, void*);
+void* com_sun_star_comp_framework_Desktop_get_implementation(void*, void*);
+void* com_sun_star_i18n_CharacterClassification_Unicode_get_implementation(void*, void*);
+void* com_sun_star_i18n_CharacterClassification_get_implementation(void*, void*);
+void* com_sun_star_i18n_NativeNumberSupplier_get_implementation(void*, void*);
+void* com_sun_star_i18n_NumberFormatCodeMapper_get_implementation(void*, void*);
+void* com_sun_star_i18n_Transliteration_get_implementation(void*, void*);
+}
+
+const lib_to_factory_mapping* lo_get_factory_map(void)
+{
+    static lib_to_factory_mapping map[]
+        = { { "libi18npoollo.a", i18npool_component_getFactory }, { 0, 0 } };
+
+    return map;
+}
+
+const lib_to_constructor_mapping* lo_get_constructor_map(void)
+{
+    static lib_to_constructor_mapping map[]
+        = { { "com_sun_star_i18n_LocaleDataImpl_get_implementation",
+              com_sun_star_i18n_LocaleDataImpl_get_implementation },
+            { "com_sun_star_i18n_BreakIterator_Unicode_get_implementation",
+              com_sun_star_i18n_BreakIterator_Unicode_get_implementation },
+            { "com_sun_star_i18n_BreakIterator_get_implementation",
+              com_sun_star_i18n_BreakIterator_get_implementation },
+            { "com_sun_star_comp_framework_Desktop_get_implementation",
+              com_sun_star_comp_framework_Desktop_get_implementation },
+            { "com_sun_star_i18n_CharacterClassification_Unicode_get_implementation",
+              com_sun_star_i18n_CharacterClassification_Unicode_get_implementation },
+            { "com_sun_star_i18n_CharacterClassification_get_implementation",
+              com_sun_star_i18n_CharacterClassification_get_implementation },
+            { "com_sun_star_i18n_NativeNumberSupplier_get_implementation",
+              com_sun_star_i18n_NativeNumberSupplier_get_implementation },
+            { "com_sun_star_i18n_NumberFormatCodeMapper_get_implementation",
+              com_sun_star_i18n_NumberFormatCodeMapper_get_implementation },
+            { "com_sun_star_i18n_Transliteration_get_implementation",
+              com_sun_star_i18n_Transliteration_get_implementation },
+            { 0, 0 } };
+
+    return map;
+}
+
 extern "C" bool TestImportCalcRTF(SvStream& rStream);
 
 extern "C" int LLVMFuzzerInitialize(int* argc, char*** argv)
 {
-    if (__lsan_disable)
-        __lsan_disable();
-
-    CommonInitialize(argc, argv);
-
-    // initialise unconfigured UCB:
-    css::uno::Reference<css::ucb::XUniversalContentBroker> xUcb(
-        comphelper::getProcessServiceFactory()->createInstance(
-            "com.sun.star.ucb.UniversalContentBroker"),
-        css::uno::UNO_QUERY_THROW);
-    css::uno::Sequence<css::uno::Any> aArgs(1);
-    aArgs[0] <<= OUString("NoConfig");
-    css::uno::Reference<css::ucb::XContentProvider> xFileProvider(
-        comphelper::getProcessServiceFactory()->createInstanceWithArguments(
-            "com.sun.star.ucb.FileContentProvider", aArgs),
-        css::uno::UNO_QUERY_THROW);
-    xUcb->registerContentProvider(xFileProvider, "file", true);
-
-    if (__lsan_enable)
-        __lsan_enable();
-
+    TypicalFuzzerInitialize(argc, argv);
     return 0;
 }
 


More information about the Libreoffice-commits mailing list