summaryrefslogtreecommitdiff
path: root/vcl/workben/scrtffuzzer.cxx
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2018-08-10 14:06:28 +0100
committerCaolán McNamara <caolanm@redhat.com>2018-08-10 17:17:36 +0200
commite80214b4c8bfda05f4c26dc8c56c2b982fe08650 (patch)
tree8f47172869085fa5937f59c609501a76a64715df /vcl/workben/scrtffuzzer.cxx
parentb348f1a0d28708d801c0cb54536dd5798bd0ef68 (diff)
shrink scrtf fuzzer
Change-Id: I977636eff8a2962ca248287f8733422d635f8559 Reviewed-on: https://gerrit.libreoffice.org/58833 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'vcl/workben/scrtffuzzer.cxx')
-rw-r--r--vcl/workben/scrtffuzzer.cxx76
1 files changed, 52 insertions, 24 deletions
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;
}