summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2017-10-23 10:26:57 +0100
committerCaolán McNamara <caolanm@redhat.com>2017-10-23 10:26:57 +0100
commit1bd148495378d811f33a0ff26dc82165bbe961ac (patch)
tree3618190d06ea4426915dc55aff16bdf7b4e0955e
parent157bef79c1af5520d04a8389fa66d2e193998529 (diff)
shrink rtf fuzzer
Change-Id: I69fbac6ada653b2cacfdf80ce2772dc253fc3075
-rw-r--r--vcl/Executable_rtffuzzer.mk1
-rw-r--r--vcl/workben/rtffuzzer.cxx51
2 files changed, 51 insertions, 1 deletions
diff --git a/vcl/Executable_rtffuzzer.mk b/vcl/Executable_rtffuzzer.mk
index 2e7a3429e365..28f0a3afe676 100644
--- a/vcl/Executable_rtffuzzer.mk
+++ b/vcl/Executable_rtffuzzer.mk
@@ -34,7 +34,6 @@ $(eval $(call gb_Executable_use_libraries,rtffuzzer,\
$(eval $(call gb_Executable_use_static_libraries,rtffuzzer,\
findsofficepath \
ulingu \
- fuzzer_writer \
fuzzerstubs \
))
diff --git a/vcl/workben/rtffuzzer.cxx b/vcl/workben/rtffuzzer.cxx
index 88f9b48c8c80..028efda90351 100644
--- a/vcl/workben/rtffuzzer.cxx
+++ b/vcl/workben/rtffuzzer.cxx
@@ -11,6 +11,57 @@
#include <vcl/FilterConfigItem.hxx>
#include "commonfuzzer.hxx"
+#include <config_features.h>
+#include <osl/detail/component-mapping.h>
+
+extern "C" {
+void * emfio_component_getFactory( const char* , void* , void* );
+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 * );
+void * com_sun_star_comp_Writer_RtfFilter_get_implementation( void *, void * );
+}
+
+const lib_to_factory_mapping *
+lo_get_factory_map(void)
+{
+ static lib_to_factory_mapping map[] = {
+ { "libemfiolo.a", emfio_component_getFactory },
+ { "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 },
+ { "com_sun_star_comp_Writer_RtfFilter_get_implementation", com_sun_star_comp_Writer_RtfFilter_get_implementation },
+ { 0, 0 }
+ };
+
+ return map;
+}
+
extern "C" bool TestImportRTF(SvStream &rStream);
extern "C" int LLVMFuzzerInitialize(int *argc, char ***argv)