Makefile.in | 2 Repository.mk | 1 external/liborcus/0001-xls-xml-Pick-up-border-colors.patch | 69 +++++++++++++ external/liborcus/UnpackedTarball_liborcus.mk | 1 vcl/Executable_sftfuzzer.mk | 47 ++++++++ vcl/Module_vcl.mk | 1 vcl/workben/sftfuzzer.cxx | 42 +++++++ 7 files changed, 162 insertions(+), 1 deletion(-)
New commits: commit 575a2b0e25eedd7c113c376f57980bc9ce2f3825 Author: Caolán McNamara <[email protected]> Date: Wed Feb 7 12:19:10 2018 +0000 add sft fuzzer Change-Id: I0ee43e78b5366f2c23fb0bac9a103af987138411 Reviewed-on: https://gerrit.libreoffice.org/49372 Reviewed-by: Caolán McNamara <[email protected]> Tested-by: Caolán McNamara <[email protected]> diff --git a/Makefile.in b/Makefile.in index 66da6683cb61..bedd90a40d18 100644 --- a/Makefile.in +++ b/Makefile.in @@ -486,7 +486,7 @@ $(foreach ide,\ eclipsecdt,\ $(eval $(call gb_Top_GbuildToIdeIntegration,$(ide)))) -fuzzers: Library_sal Library_salhelper Library_reg Library_store Library_unoidl codemaker Library_cppu Library_i18nlangtag Library_cppuhelper Library_comphelper StaticLibrary_ulingu StaticLibrary_findsofficepath Library_tl Library_basegfx Library_canvastools Library_cppcanvas Library_dbtools Library_deploymentmisc Library_deploymentmisc Library_editeng Library_fwe Library_fwi Library_i18nutil Library_localebe1 Library_sax Library_sofficeapp Library_ucbhelper Rdb_services udkapi offapi Library_gie Library_icg Library_reflection Library_invocadapt Library_bootstrap Library_introspection Library_stocservices Library_xmlreader Library_gcc3_uno instsetoo_native more_fonts StaticLibrary_boost_locale StaticLibrary_fuzzerstubs StaticLibrary_fuzzer_core StaticLibrary_fuzzer_calc StaticLibrary_fuzzer_draw StaticLibrary_fuzzer_writer StaticLibrary_fuzzer_math Library_forui Library_binaryurp Library_io Library_invocation Library_namingservice Library_proxyfac Library_uuresolver Module_ure Execu table_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 Executable_lwpfuzzer Executable_olefuzzer Executable_pptfuzzer Executable_rtffuzzer Executable_cgmfuzzer Executable_ww2fuzzer Executable_ww6fuzzer Executable_ww8fuzzer Executable_qpwfuzzer Executable_slkfuzzer Executable_fodtfuzzer Executable_fodsfuzzer Executable_fodpfuzzer Executable_xlsfuzzer Executable_scrtffuzzer Executable_wksfuzzer Executable_diffuzzer Executable_docxfuzzer Executable_xlsxfuzzer Executable_pptxfuzzer Executable_mmlfuzzer Executable_mtpfuzzer Executable_htmlfuzzer +fuzzers: Library_sal Library_salhelper Library_reg Library_store Library_unoidl codemaker Library_cppu Library_i18nlangtag Library_cppuhelper Library_comphelper StaticLibrary_ulingu StaticLibrary_findsofficepath Library_tl Library_basegfx Library_canvastools Library_cppcanvas Library_dbtools Library_deploymentmisc Library_deploymentmisc Library_editeng Library_fwe Library_fwi Library_i18nutil Library_localebe1 Library_sax Library_sofficeapp Library_ucbhelper Rdb_services udkapi offapi Library_gie Library_icg Library_reflection Library_invocadapt Library_bootstrap Library_introspection Library_stocservices Library_xmlreader Library_gcc3_uno instsetoo_native more_fonts StaticLibrary_boost_locale StaticLibrary_fuzzerstubs StaticLibrary_fuzzer_core StaticLibrary_fuzzer_calc StaticLibrary_fuzzer_draw StaticLibrary_fuzzer_writer StaticLibrary_fuzzer_math Library_forui Library_binaryurp Library_io Library_invocation Library_namingservice Library_proxyfac Library_uuresolver Module_ure Execu table_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 Executable_lwpfuzzer Executable_olefuzzer Executable_pptfuzzer Executable_rtffuzzer Executable_cgmfuzzer Executable_ww2fuzzer Executable_ww6fuzzer Executable_ww8fuzzer Executable_qpwfuzzer Executable_slkfuzzer Executable_fodtfuzzer Executable_fodsfuzzer Executable_fodpfuzzer Executable_xlsfuzzer Executable_scrtffuzzer Executable_wksfuzzer Executable_diffuzzer Executable_docxfuzzer Executable_xlsxfuzzer Executable_pptxfuzzer Executable_mmlfuzzer Executable_mtpfuzzer Executable_htmlfuzzer Executable_sftfuzzer endif # MAKE_RESTARTS diff --git a/Repository.mk b/Repository.mk index 2f34509f4f4c..f7c8d7ae353e 100644 --- a/Repository.mk +++ b/Repository.mk @@ -142,6 +142,7 @@ $(eval $(call gb_Helper_register_executables_for_install,OOO,brand, \ $(call gb_Helper_optional,FUZZERS,mmlfuzzer) \ $(call gb_Helper_optional,FUZZERS,mtpfuzzer) \ $(call gb_Helper_optional,FUZZERS,htmlfuzzer) \ + $(call gb_Helper_optional,FUZZERS,sftfuzzer) \ $(if $(filter-out ANDROID IOS MACOSX WNT,$(OS)),oosplash) \ soffice_bin \ $(if $(filter DESKTOP,$(BUILD_TYPE)),unopkg_bin) \ diff --git a/vcl/Executable_sftfuzzer.mk b/vcl/Executable_sftfuzzer.mk new file mode 100644 index 000000000000..be2ecff64987 --- /dev/null +++ b/vcl/Executable_sftfuzzer.mk @@ -0,0 +1,47 @@ +# -*- 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,sftfuzzer)) + +$(eval $(call gb_Executable_use_api,sftfuzzer,\ + offapi \ + udkapi \ +)) + +$(eval $(call gb_Executable_use_externals,sftfuzzer,\ + $(fuzzer_externals) \ +)) + +$(eval $(call gb_Executable_set_include,sftfuzzer,\ + $$(INCLUDE) \ + -I$(SRCDIR)/vcl/inc \ +)) + +$(eval $(call gb_Executable_use_libraries,sftfuzzer,\ + $(fuzzer_core_libraries) \ +)) + +$(eval $(call gb_Executable_use_static_libraries,sftfuzzer,\ + findsofficepath \ + ulingu \ + fuzzerstubs \ +)) + +$(eval $(call gb_Executable_add_exception_objects,sftfuzzer,\ + vcl/workben/sftfuzzer \ +)) + +$(eval $(call gb_Executable_add_libs,sftfuzzer,\ + -lFuzzingEngine \ +)) + +# vim: set noet sw=4 ts=4: diff --git a/vcl/Module_vcl.mk b/vcl/Module_vcl.mk index 7d3bfb5d77b3..59e5b9c2045f 100644 --- a/vcl/Module_vcl.mk +++ b/vcl/Module_vcl.mk @@ -172,6 +172,7 @@ $(eval $(call gb_Module_add_targets,vcl,\ Executable_mmlfuzzer \ Executable_mtpfuzzer \ Executable_htmlfuzzer \ + Executable_sftfuzzer \ )) endif diff --git a/vcl/workben/sftfuzzer.cxx b/vcl/workben/sftfuzzer.cxx new file mode 100644 index 000000000000..31b96e7cff6d --- /dev/null +++ b/vcl/workben/sftfuzzer.cxx @@ -0,0 +1,42 @@ +/* -*- 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 <vcl/font.hxx> +#include "commonfuzzer.hxx" + +#include <config_features.h> +#include <osl/detail/component-mapping.h> + +const lib_to_factory_mapping* lo_get_factory_map(void) +{ + static lib_to_factory_mapping map[] = { { 0, 0 } }; + + return map; +} + +const lib_to_constructor_mapping* lo_get_constructor_map(void) +{ + static lib_to_constructor_mapping map[] = { { 0, 0 } }; + + return map; +} + +extern "C" int LLVMFuzzerInitialize(int* argc, char*** argv) +{ + TypicalFuzzerInitialize(argc, argv); + return 0; +} + +extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) +{ + (void)vcl::Font::identifyFont(data, size); + return 0; +} + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ commit 1af6354b46f32603365b53be16178ee792ba428a Author: Kohei Yoshida <[email protected]> Date: Thu Feb 8 20:01:16 2018 -0500 Pick up cell border colors when importing via orcus. Change-Id: Iee2d79930d0c917518b180fdd63fe30c6860b9b1 Reviewed-on: https://gerrit.libreoffice.org/49466 Tested-by: Jenkins <[email protected]> Reviewed-by: Kohei Yoshida <[email protected]> diff --git a/external/liborcus/0001-xls-xml-Pick-up-border-colors.patch b/external/liborcus/0001-xls-xml-Pick-up-border-colors.patch new file mode 100644 index 000000000000..1dff6bf93415 --- /dev/null +++ b/external/liborcus/0001-xls-xml-Pick-up-border-colors.patch @@ -0,0 +1,69 @@ +From 0a4e8c44fc8229818191c6b9b46e4de079d0ca3b Mon Sep 17 00:00:00 2001 +From: Kohei Yoshida <[email protected]> +Date: Thu, 8 Feb 2018 17:59:11 -0500 +Subject: [PATCH] xls-xml: Pick up border colors. + +(cherry picked from commit e065d26dabafea465ec49e7d79775e62014ac0db) +--- + src/liborcus/xls_xml_context.cpp | 10 ++++++++++ + src/liborcus/xls_xml_context.hpp | 1 + + 2 files changed, 11 insertions(+) + +diff --git a/src/liborcus/xls_xml_context.cpp b/src/liborcus/xls_xml_context.cpp +index 790dfed..917ff86 100644 +--- a/src/liborcus/xls_xml_context.cpp ++++ b/src/liborcus/xls_xml_context.cpp +@@ -1069,6 +1069,7 @@ void xls_xml_context::start_element_border(const xml_token_pair_t& parent, const + + spreadsheet::border_direction_t dir = spreadsheet::border_direction_t::unknown; + spreadsheet::border_style_t style = spreadsheet::border_style_t::unknown; ++ spreadsheet::color_rgb_t color; + long weight = 0; + + for (const xml_token_attr_t& attr : attrs) +@@ -1093,6 +1094,11 @@ void xls_xml_context::start_element_border(const xml_token_pair_t& parent, const + weight = to_long(attr.value); + break; + } ++ case XML_Color: ++ { ++ color = spreadsheet::to_color_rgb(attr.value.data(), attr.value.size()); ++ break; ++ } + default: + ; + } +@@ -1105,6 +1111,7 @@ void xls_xml_context::start_element_border(const xml_token_pair_t& parent, const + border_style_type& bs = m_current_style->borders.back(); + bs.dir = dir; + bs.style = style; ++ bs.color = color; + + switch (bs.style) + { +@@ -1525,7 +1532,10 @@ void xls_xml_context::commit_styles() + styles->set_border_count(style->borders.size()); + + for (const border_style_type& b : style->borders) ++ { + styles->set_border_style(b.dir, b.style); ++ styles->set_border_color(b.dir, 255, b.color.red, b.color.green, b.color.blue); ++ } + + size_t border_id = styles->commit_border(); + styles->set_xf_border(border_id); +diff --git a/src/liborcus/xls_xml_context.hpp b/src/liborcus/xls_xml_context.hpp +index 47cd01c..93dceca 100644 +--- a/src/liborcus/xls_xml_context.hpp ++++ b/src/liborcus/xls_xml_context.hpp +@@ -107,6 +107,7 @@ class xls_xml_context : public xml_context_base + { + spreadsheet::border_direction_t dir = spreadsheet::border_direction_t::unknown; + spreadsheet::border_style_t style = spreadsheet::border_style_t::unknown; ++ spreadsheet::color_rgb_t color; + }; + + struct font_style_type +-- +2.7.4 + diff --git a/external/liborcus/UnpackedTarball_liborcus.mk b/external/liborcus/UnpackedTarball_liborcus.mk index 3b49e0a58f63..a35ad9eec002 100644 --- a/external/liborcus/UnpackedTarball_liborcus.mk +++ b/external/liborcus/UnpackedTarball_liborcus.mk @@ -20,6 +20,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,liborcus,\ external/liborcus/rpath.patch.0 \ external/liborcus/0001-Alpha-value-of-0-means-fully-transparent.-I-m-sure-2.patch \ external/liborcus/0002-We-are-supposed-to-use-the-foreground-color-for-soli.patch \ + external/liborcus/0001-xls-xml-Pick-up-border-colors.patch \ )) ifeq ($(OS),WNT) _______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
