From 4563d1406cf12a5a49fd61cd698ada835a402c56 Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Mon, 23 Oct 2017 17:00:47 +0100 Subject: shrink cgm fuzzer Change-Id: I507987be6092549b60c9b74ecd7680006186ba9c --- vcl/Executable_cgmfuzzer.mk | 1 - vcl/workben/cgmfuzzer.cxx | 87 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 87 insertions(+), 1 deletion(-) (limited to 'vcl') diff --git a/vcl/Executable_cgmfuzzer.mk b/vcl/Executable_cgmfuzzer.mk index 30ea776f4691..f7cb91520229 100644 --- a/vcl/Executable_cgmfuzzer.mk +++ b/vcl/Executable_cgmfuzzer.mk @@ -34,7 +34,6 @@ $(eval $(call gb_Executable_use_libraries,cgmfuzzer,\ $(eval $(call gb_Executable_use_static_libraries,cgmfuzzer,\ findsofficepath \ ulingu \ - fuzzer_draw \ fuzzerstubs \ )) diff --git a/vcl/workben/cgmfuzzer.cxx b/vcl/workben/cgmfuzzer.cxx index 58a9557511cf..b08643ba4ddc 100644 --- a/vcl/workben/cgmfuzzer.cxx +++ b/vcl/workben/cgmfuzzer.cxx @@ -11,6 +11,93 @@ #include #include "commonfuzzer.hxx" +#include +#include + +extern "C" { +void * emfio_component_getFactory( const char* , void* , void* ); +void * sd_component_getFactory( const char* , void* , void* ); +void * i18npool_component_getFactory( const char* , void* , void* ); +void * ucb_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_drawing_EnhancedCustomShapeEngine_get_implementation( void *, void * ); +void * com_sun_star_drawing_SvxShapeCollection_get_implementation( void *, void * ); +void * SfxDocumentMetaData_get_implementation( void *, void * ); +void * unoxml_component_getFactory( const char* , void* , void* ); +void * com_sun_star_animations_AnimateColor_get_implementation( void *, void * ); +void * com_sun_star_animations_AnimateMotion_get_implementation( void *, void * ); +void * com_sun_star_animations_AnimateSet_get_implementation( void *, void * ); +void * com_sun_star_animations_AnimateTransform_get_implementation( void *, void * ); +void * com_sun_star_animations_Animate_get_implementation( void *, void * ); +void * com_sun_star_animations_Audio_get_implementation( void *, void * ); +void * com_sun_star_animations_Command_get_implementation( void *, void * ); +void * com_sun_star_animations_IterateContainer_get_implementation( void *, void * ); +void * com_sun_star_animations_ParallelTimeContainer_get_implementation( void *, void * ); +void * com_sun_star_animations_SequenceTimeContainer_get_implementation( void *, void * ); +void * com_sun_star_animations_TransitionFilter_get_implementation( void *, void * ); +void * com_sun_star_comp_comphelper_OPropertyBag( void *, void * ); +void * com_sun_star_comp_uui_UUIInteractionHandler_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 }, + { "libsdlo.a", sd_component_getFactory }, + { "libunoxmllo.a", unoxml_component_getFactory }, + { "libi18npoollo.a", i18npool_component_getFactory }, + { "libucb1.a", ucb_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_drawing_EnhancedCustomShapeEngine_get_implementation", com_sun_star_drawing_EnhancedCustomShapeEngine_get_implementation }, + { "com_sun_star_drawing_SvxShapeCollection_get_implementation", com_sun_star_drawing_SvxShapeCollection_get_implementation }, + { "SfxDocumentMetaData_get_implementation", SfxDocumentMetaData_get_implementation }, + { "com_sun_star_animations_AnimateColor_get_implementation", com_sun_star_animations_AnimateColor_get_implementation }, + { "com_sun_star_animations_AnimateMotion_get_implementation", com_sun_star_animations_AnimateMotion_get_implementation }, + { "com_sun_star_animations_AnimateSet_get_implementation", com_sun_star_animations_AnimateSet_get_implementation }, + { "com_sun_star_animations_AnimateTransform_get_implementation", com_sun_star_animations_AnimateTransform_get_implementation }, + { "com_sun_star_animations_Animate_get_implementation", com_sun_star_animations_Animate_get_implementation }, + { "com_sun_star_animations_Audio_get_implementation", com_sun_star_animations_Audio_get_implementation }, + { "com_sun_star_animations_Command_get_implementation", com_sun_star_animations_Command_get_implementation }, + { "com_sun_star_animations_IterateContainer_get_implementation", com_sun_star_animations_IterateContainer_get_implementation }, + { "com_sun_star_animations_ParallelTimeContainer_get_implementation", com_sun_star_animations_ParallelTimeContainer_get_implementation }, + { "com_sun_star_animations_SequenceTimeContainer_get_implementation", com_sun_star_animations_SequenceTimeContainer_get_implementation }, + { "com_sun_star_animations_TransitionFilter_get_implementation", com_sun_star_animations_TransitionFilter_get_implementation }, + { "com_sun_star_comp_comphelper_OPropertyBag", com_sun_star_comp_comphelper_OPropertyBag }, + { "com_sun_star_comp_uui_UUIInteractionHandler_get_implementation", com_sun_star_comp_uui_UUIInteractionHandler_get_implementation }, + { 0, 0 } + }; + + return map; +} + extern "C" bool TestImportCGM(SvStream &rStream); extern "C" int LLVMFuzzerInitialize(int *argc, char ***argv) -- cgit