From 9b0e878acc2fe19d1f5ea6345c58812c91ba2564 Mon Sep 17 00:00:00 2001 From: Dongge Liu Date: Sun, 5 Mar 2023 23:52:15 +1100 Subject: [PATCH] [SBFT'23] 10 more bug-based benchmarks for final evaluation (#1776) --- .../Dockerfile | 35 ++++ .../benchmark.yaml | 57 ++++++ .../build.sh | 72 +++++++ .../testcases/20665 | Bin 0 -> 110616 bytes .../testcases/20666 | Bin 0 -> 2762 bytes .../testcases/20669 | Bin 0 -> 51723 bytes .../testcases/20670 | Bin 0 -> 1335 bytes .../testcases/20675 | Bin 0 -> 37124 bytes .../testcases/20681 | 1 + .../testcases/20682 | Bin 0 -> 2894 bytes .../testcases/20683 | Bin 0 -> 10066 bytes .../testcases/20685 | Bin 0 -> 112834 bytes .../testcases/20686 | Bin 0 -> 1463 bytes .../testcases/20695 | Bin 0 -> 2900 bytes .../testcases/20696 | Bin 0 -> 44422 bytes .../testcases/20697 | Bin 0 -> 53036 bytes .../testcases/20698 | Bin 0 -> 1707 bytes .../testcases/20711 | Bin 0 -> 10273 bytes .../testcases/20721 | Bin 0 -> 8749 bytes .../testcases/20733 | Bin 0 -> 1706 bytes .../testcases/20735 | Bin 0 -> 10735 bytes .../testcases/20837 | Bin 0 -> 73228 bytes .../testcases/20849 | Bin 0 -> 1553 bytes .../testcases/20897 | Bin 0 -> 12147 bytes .../testcases/20937 | Bin 0 -> 15009 bytes .../testcases/20940 | Bin 0 -> 98545 bytes .../testcases/20989 | Bin 0 -> 1461 bytes .../testcases/21009 | Bin 0 -> 44781 bytes .../testcases/21010 | Bin 0 -> 520 bytes .../testcases/21101 | Bin 0 -> 211 bytes .../testcases/21106 | Bin 0 -> 172 bytes .../testcases/21147 | Bin 0 -> 56 bytes .../testcases/21166 | Bin 0 -> 47731 bytes .../testcases/21251 | Bin 0 -> 1027 bytes .../testcases/21453 | Bin 0 -> 172 bytes .../testcases/21567 | Bin 0 -> 173 bytes .../testcases/26064 | Bin 0 -> 692 bytes .../thrift.patch | 22 +++ .../aspell_aspell_fuzzer_e8eb74/Dockerfile | 31 ++++ .../benchmark.yaml | 50 +++++ .../aspell_aspell_fuzzer_e8eb74/build.sh | 21 +++ .../assimp_assimp_fuzzer_4d451f/Dockerfile | 23 +++ .../benchmark.yaml | 5 + .../assimp_assimp_fuzzer_4d451f/build.sh | 27 +++ .../Dockerfile | 111 +++++++++++ .../benchmark.yaml | 47 +++++ .../bionic.list | 2 + .../build.sh | 175 ++++++++++++++++++ .../group_seed_corpus.py | 138 ++++++++++++++ .../nasm_apt.pin | 7 + .../testcases/15111 | 1 + .../testcases/15113 | 1 + .../testcases/15117 | 1 + .../testcases/15118 | Bin 0 -> 69 bytes .../testcases/15123 | 1 + .../testcases/15151 | Bin 0 -> 5877 bytes .../testcases/15166 | Bin 0 -> 207 bytes .../testcases/15174 | Bin 0 -> 60 bytes .../testcases/15205 | Bin 0 -> 297721 bytes .../testcases/15271 | 1 + .../testcases/15286 | Bin 0 -> 308 bytes .../testcases/15365 | Bin 0 -> 373 bytes .../testcases/15480 | Bin 0 -> 8501 bytes .../testcases/15496 | Bin 0 -> 77491 bytes .../testcases/15604 | Bin 0 -> 369 bytes .../testcases/15633 | Bin 0 -> 45 bytes .../testcases/15922 | Bin 0 -> 115191 bytes .../testcases/16022 | Bin 0 -> 44 bytes .../testcases/16057 | Bin 0 -> 25 bytes .../testcases/16079 | Bin 0 -> 15800 bytes .../testcases/16127 | Bin 0 -> 24779 bytes .../testcases/16430 | Bin 0 -> 24302 bytes .../testcases/16624 | Bin 0 -> 246 bytes .../testcases/17640 | Bin 0 -> 69 bytes .../testcases/17828 | 1 + .../testcases/18768 | Bin 0 -> 17 bytes .../testcases/20873 | Bin 0 -> 68 bytes .../testcases/22520 | Bin 0 -> 73 bytes .../testcases/23162 | Bin 0 -> 48 bytes .../testcases/23167 | 3 + .../testcases/23490 | 4 + .../testcases/23491 | Bin 0 -> 604 bytes .../testcases/24193 | 3 + .../testcases/24457 | Bin 0 -> 12 bytes .../testcases/24708 | Bin 0 -> 2049 bytes .../testcases/24793 | 1 + .../testcases/24908 | 1 + .../file_magic_fuzzer_2d5f85/Dockerfile | 32 ++++ benchmarks/file_magic_fuzzer_2d5f85/README.md | 29 +++ .../file_magic_fuzzer_2d5f85/benchmark.yaml | 11 ++ benchmarks/file_magic_fuzzer_2d5f85/build.sh | 37 ++++ .../fuzzer_temp_file.h | 81 ++++++++ .../file_magic_fuzzer_2d5f85/magic_fuzzer.cc | 54 ++++++ .../magic_fuzzer_fd.cc | 58 ++++++ .../magic_fuzzer_loaddb.cc | 36 ++++ .../Dockerfile | 27 +++ .../benchmark.yaml | 27 +++ .../build.sh | 26 +++ .../Dockerfile | 31 ++++ .../benchmark.yaml | 25 +++ .../build.sh | 32 ++++ .../cms_transform_all_fuzzer.c | 59 ++++++ .../seeds/seed | Bin 0 -> 800 bytes .../libaom_av1_dec_fuzzer_6e1848/Dockerfile | 23 +++ .../libaom_av1_dec_fuzzer_6e1848/README.md | 52 ++++++ .../benchmark.yaml | 5 + .../libaom_av1_dec_fuzzer_6e1848/build.sh | 69 +++++++ .../libpcap_fuzz_filter_98b0a2/Dockerfile | 29 +++ .../libpcap_fuzz_filter_98b0a2/benchmark.yaml | 34 ++++ .../libpcap_fuzz_filter_98b0a2/build.sh | 40 ++++ .../Dockerfile | 30 +++ .../benchmark.yaml | 8 + service/test_automatic_run_experiment.py | 3 + 113 files changed, 1700 insertions(+) create mode 100644 benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/Dockerfile create mode 100644 benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/benchmark.yaml create mode 100755 benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/build.sh create mode 100644 benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/20665 create mode 100644 benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/20666 create mode 100644 benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/20669 create mode 100644 benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/20670 create mode 100644 benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/20675 create mode 100644 benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/20681 create mode 100644 benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/20682 create mode 100644 benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/20683 create mode 100644 benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/20685 create mode 100644 benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/20686 create mode 100644 benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/20695 create mode 100644 benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/20696 create mode 100644 benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/20697 create mode 100644 benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/20698 create mode 100644 benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/20711 create mode 100644 benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/20721 create mode 100644 benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/20733 create mode 100644 benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/20735 create mode 100644 benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/20837 create mode 100644 benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/20849 create mode 100644 benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/20897 create mode 100644 benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/20937 create mode 100644 benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/20940 create mode 100644 benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/20989 create mode 100644 benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/21009 create mode 100644 benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/21010 create mode 100644 benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/21101 create mode 100644 benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/21106 create mode 100644 benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/21147 create mode 100644 benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/21166 create mode 100644 benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/21251 create mode 100644 benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/21453 create mode 100644 benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/21567 create mode 100644 benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/26064 create mode 100644 benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/thrift.patch create mode 100644 benchmarks/aspell_aspell_fuzzer_e8eb74/Dockerfile create mode 100644 benchmarks/aspell_aspell_fuzzer_e8eb74/benchmark.yaml create mode 100755 benchmarks/aspell_aspell_fuzzer_e8eb74/build.sh create mode 100644 benchmarks/assimp_assimp_fuzzer_4d451f/Dockerfile create mode 100644 benchmarks/assimp_assimp_fuzzer_4d451f/benchmark.yaml create mode 100644 benchmarks/assimp_assimp_fuzzer_4d451f/build.sh create mode 100644 benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/Dockerfile create mode 100644 benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/benchmark.yaml create mode 100644 benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/bionic.list create mode 100755 benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/build.sh create mode 100755 benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/group_seed_corpus.py create mode 100644 benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/nasm_apt.pin create mode 100644 benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/15111 create mode 100644 benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/15113 create mode 100644 benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/15117 create mode 100644 benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/15118 create mode 100644 benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/15123 create mode 100644 benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/15151 create mode 100644 benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/15166 create mode 100644 benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/15174 create mode 100644 benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/15205 create mode 100644 benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/15271 create mode 100644 benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/15286 create mode 100644 benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/15365 create mode 100644 benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/15480 create mode 100644 benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/15496 create mode 100644 benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/15604 create mode 100644 benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/15633 create mode 100644 benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/15922 create mode 100644 benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/16022 create mode 100644 benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/16057 create mode 100644 benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/16079 create mode 100644 benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/16127 create mode 100644 benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/16430 create mode 100644 benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/16624 create mode 100644 benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/17640 create mode 100644 benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/17828 create mode 100644 benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/18768 create mode 100644 benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/20873 create mode 100644 benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/22520 create mode 100644 benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/23162 create mode 100644 benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/23167 create mode 100644 benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/23490 create mode 100644 benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/23491 create mode 100644 benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/24193 create mode 100644 benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/24457 create mode 100644 benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/24708 create mode 100644 benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/24793 create mode 100644 benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/24908 create mode 100644 benchmarks/file_magic_fuzzer_2d5f85/Dockerfile create mode 100644 benchmarks/file_magic_fuzzer_2d5f85/README.md create mode 100644 benchmarks/file_magic_fuzzer_2d5f85/benchmark.yaml create mode 100755 benchmarks/file_magic_fuzzer_2d5f85/build.sh create mode 100644 benchmarks/file_magic_fuzzer_2d5f85/fuzzer_temp_file.h create mode 100644 benchmarks/file_magic_fuzzer_2d5f85/magic_fuzzer.cc create mode 100644 benchmarks/file_magic_fuzzer_2d5f85/magic_fuzzer_fd.cc create mode 100644 benchmarks/file_magic_fuzzer_2d5f85/magic_fuzzer_loaddb.cc create mode 100644 benchmarks/grok_grk_decompress_fuzzer_9cd001/Dockerfile create mode 100644 benchmarks/grok_grk_decompress_fuzzer_9cd001/benchmark.yaml create mode 100755 benchmarks/grok_grk_decompress_fuzzer_9cd001/build.sh create mode 100644 benchmarks/lcms_cms_transform_all_fuzzer_97d37d/Dockerfile create mode 100644 benchmarks/lcms_cms_transform_all_fuzzer_97d37d/benchmark.yaml create mode 100755 benchmarks/lcms_cms_transform_all_fuzzer_97d37d/build.sh create mode 100644 benchmarks/lcms_cms_transform_all_fuzzer_97d37d/cms_transform_all_fuzzer.c create mode 100644 benchmarks/lcms_cms_transform_all_fuzzer_97d37d/seeds/seed create mode 100644 benchmarks/libaom_av1_dec_fuzzer_6e1848/Dockerfile create mode 100644 benchmarks/libaom_av1_dec_fuzzer_6e1848/README.md create mode 100644 benchmarks/libaom_av1_dec_fuzzer_6e1848/benchmark.yaml create mode 100755 benchmarks/libaom_av1_dec_fuzzer_6e1848/build.sh create mode 100644 benchmarks/libpcap_fuzz_filter_98b0a2/Dockerfile create mode 100644 benchmarks/libpcap_fuzz_filter_98b0a2/benchmark.yaml create mode 100644 benchmarks/libpcap_fuzz_filter_98b0a2/build.sh create mode 100644 benchmarks/systemd_fuzz-network-parser_288baf/Dockerfile create mode 100644 benchmarks/systemd_fuzz-network-parser_288baf/benchmark.yaml diff --git a/benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/Dockerfile b/benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/Dockerfile new file mode 100644 index 000000000..c5d22a343 --- /dev/null +++ b/benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/Dockerfile @@ -0,0 +1,35 @@ +# Copyright 2020 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +################################################################################ + +FROM gcr.io/oss-fuzz-base/base-builder@sha256:87ca1e9e19235e731fac8de8d1892ebe8d55caf18e7aa131346fc582a2034fdd + +ENV DEBIAN_FRONTEND noninteractive +RUN apt-get update && \ + apt-get install -y -q --no-install-recommends \ + bison \ + build-essential \ + cmake \ + flex \ + libboost-all-dev \ + ninja-build \ + python3 + +RUN git clone \ + --recurse-submodules \ + https://github.com/apache/arrow.git \ + $SRC/arrow + +COPY build.sh thrift.patch $SRC/ diff --git a/benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/benchmark.yaml b/benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/benchmark.yaml new file mode 100644 index 000000000..c89a242df --- /dev/null +++ b/benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/benchmark.yaml @@ -0,0 +1,57 @@ +# 4846902008479744 +commit: 1A34A078B29C3F119C93DE10631D26FC0D52739A +commit_date: 2022-08-19T03:19:28+0000 +fuzz_target: arrow-ipc-stream-fuzz +project: arrow +type: bug +unsupported_fuzzers: + - honggfuzz # To Be Fixed. + - aflcc + - afl_qemu + - aflplusplus_qemu + - aflplusplus_qemu_tracepc + - aflplusplus_frida + - honggfuzz_qemu + - klee + - weizz_qemu + - lafintel + - neuzz + - aflplusplus_qemu_tracepc + - aflplusplus_qemu_cmplog + - aflplusplus_qemu_cmplog_inmem + - aflplusplus_qemu_inmem + - aflplusplus_classic_ctx + - aflplusplus_classic_ctx_18 + - aflplusplus_classic_ctx_20 + - aflplusplus_classic_ctx_21 + - aflplusplus_classic_ctx_23 + - aflplusplus_pcguard + - cfctx_basic + - cfctx_bottom + - cfctx_dataflow_seadsa + - cfctx_dataflow_svf + - cfctx_params + - cfctx_plain + - cfctx_randomic + - cfctx_bottom_llc + - cfctx_dataflow_seadsa_llc + - cfctx_dataflow_svf_llc + - cfctx_randomic_llc + - cfctx_params_llc + - cfctx_params_1mb + - cfctx_params_2mb + - cfctx_params_4mb + - cfctx_params_512kb + - cfctx_params_768kb + - cfctx_full + - aflplusplus_cmplog_double + - symcc_aflplusplus_single + - eclipser_aflplusplus + - aflplusplus_qemu_double + - fuzzolic_aflplusplus_z3 + - symqemu_aflplusplus + - fuzzolic_aflplusplus_fuzzy + - fuzzolic_aflplusplus_z3dict + - aflplusplus_gcc + - aflplusplus_classic + - tortoisefuzz diff --git a/benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/build.sh b/benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/build.sh new file mode 100755 index 000000000..31e12b625 --- /dev/null +++ b/benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/build.sh @@ -0,0 +1,72 @@ +#!/bin/bash -eu +# Copyright 2020 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +################################################################################ + +set -ex + +# Fix thrift download. +# This needs to be done in build.sh because the checkout happens after the +# builder.Dockerfile completes. +cd $SRC/arrow +git apply ../thrift.patch || true +cd - +ARROW=${SRC}/arrow/cpp + +cd ${WORK} + +# The CMake build setup compiles and runs the Thrift compiler, but ASAN +# would report leaks and error out. +export ASAN_OPTIONS="detect_leaks=0" + +cmake ${ARROW} -GNinja \ + -DCMAKE_BUILD_TYPE=Release \ + -DARROW_DEPENDENCY_SOURCE=BUNDLED \ + -DBOOST_SOURCE=SYSTEM \ + -DCMAKE_C_FLAGS="${CFLAGS}" \ + -DCMAKE_CXX_FLAGS="${CXXFLAGS}" \ + -DARROW_EXTRA_ERROR_CONTEXT=off \ + -DARROW_JEMALLOC=off \ + -DARROW_MIMALLOC=off \ + -DARROW_FILESYSTEM=off \ + -DARROW_PARQUET=on \ + -DARROW_BUILD_SHARED=off \ + -DARROW_BUILD_STATIC=on \ + -DARROW_BUILD_TESTS=off \ + -DARROW_BUILD_INTEGRATION=off \ + -DARROW_BUILD_BENCHMARKS=off \ + -DARROW_BUILD_EXAMPLES=off \ + -DARROW_BUILD_UTILITIES=off \ + -DARROW_TEST_LINKAGE=static \ + -DPARQUET_BUILD_EXAMPLES=off \ + -DPARQUET_BUILD_EXECUTABLES=off \ + -DPARQUET_REQUIRE_ENCRYPTION=off \ + -DARROW_WITH_BROTLI=on \ + -DARROW_WITH_BZ2=off \ + -DARROW_WITH_LZ4=off \ + -DARROW_WITH_SNAPPY=off \ + -DARROW_WITH_ZLIB=off \ + -DARROW_WITH_ZSTD=off \ + -DARROW_USE_GLOG=off \ + -DARROW_USE_ASAN=off \ + -DARROW_USE_UBSAN=off \ + -DARROW_USE_TSAN=off \ + -DARROW_FUZZING=on \ + +cmake --build . + +cp -a release/* ${OUT} + +${ARROW}/build-support/fuzzing/generate_corpuses.sh ${OUT} diff --git a/benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/20665 b/benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/20665 new file mode 100644 index 0000000000000000000000000000000000000000..1434f1fa7c8ba7fa51b850748df322c788b836c9 GIT binary patch literal 110616 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

8Po?U<6f^No}yb#+x#Od9FFs`gNqloq4cjHrHG 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

N*2R10FN^+U| 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 literal 0 HcmV?d00001 diff --git a/benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/20666 b/benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/20666 new file mode 100644 index 0000000000000000000000000000000000000000..e32f56158243fc028875114534e123fb87fe4a16 GIT binary patch literal 2762 zcmai$3vg7`8OOiu-ra20L;~SncayC|Oioq>YG~O>H6!5I4x<@mKU@{RQE>TOG0d!D#M4S2`7%)Z}Q8@jbU5F@Q$ef#d z&v(!HfB*0Q|IVGAK6OUEZQ1u_FpBJM%eF>|{N_8YvwOAPeWA!;NaPcj$o4+1ALL!u z7!h?y>!;F0_J65$+Ci;jhqeBg^_?D(`fs#8`CqL!ct!G4MO?)Dxn2VEk&{}F6p`Gc zTL1G4tvBb2OdKuJ8xZ;H|Fmvm{=spr4`zu>wncKj)jD%P>l5ruJuc`3tPG&tg1LPNC?}M`+zN0_adY?~Z4ZQC@p!GuXUHG-u$zZ(*&yGt(R^?} z{$A^H=2zs1Oa)^TSOwsBn))vlxtICZ=rtR?Ut-=tt(o{Why2&T=jwgl zvB(j$f%^iqTtU4zeulehNO-d#tI0Wh-Q`&;&o zh5K%FT?2Ls`%CGEo#>H=wp-A7q2V&9^_>4`eL1mS^j`_rr|~=g0+Cx-NxoJ*yb|6|qv3pVm2n-QFK>Z!2p(@RpZKBH^<24dx8R*czmEAz>nJ+h z5B3f;Nn`Ep>>C4iEAJns?yIP)6F+m|wSjkEux1AN?gryB_-#e!qtx>(efxLtZ>1l0 zqGvO8{StjQqWwDhX#|>d!|y$6tHXmve4_odfcX{u5gj4YM&2pta2&oZ__6@3H>hD6 z8k93%g+6z}Yc)Nygj}`Ytfr4*#BZRMwdip_T=MCYiNx#R9UxybobN^JSHP-)$8%sj zfmgS}@fmuii`@56M+w?4K*v%v?FN56&yS(YDEJgnOCkM~1>Y+8{tm1=sOvVoi=ff3 zdCp+}gS?*wufz2C@2O|}CtByhx0UBVkh7Me^XRj^w8 zsNF~Yw}`Kz$851Arv&xp0EII{Mat4%vNUm5sdwyB*vQt1#*N9+Yuw3oR48diRCEg(E zZE^ZM&byfmwJAgS&QqA$IwNHJPw$?W*xes-`Xj3QdexZ~3i$ri-1fK76Rv9mzAM^h z*UYSOZF3|%Oq6O=eMQJlJ&jhJKx@f#S~6ANLbY#ZC{mvkc2_T%7gtbi-DZVsE3v#F zX?|RYxBzT?;Tq?I-EMQKzZ`I@LlrO?kw*^x0={E=>305{j@0llVb-YV+kg-0Qj*}( zkmNKZsit;I9p7#t&E*Cy{-2u8m>GaipYoVua*eL1rB9%A&2qYCskJeyFw$h|SzZyZ z$Jx~2L3|7`PaF}gSDd)7Q{VJ#DEw{N;Tdz;;t>q;7(uaIXqNcb{F@JcNu%T1m3Hp#iKk=z? zXNns9SIT*OdalKP4xbu|orYo+{dY=XWO>-CUO25J;nS1RxKDWF@HpCKjOyGD$`B1> z)PUP*PiLscH~p&aAAV?j9ye;7F$%yRXQqzkF9G<8PXO%6VW_n|e$~|ufUju7)%RUc zX?z-(yzRs66$zitjvBx{Kg8=gb+FB004Xi>tYqifR6=~6?E z)3)AaF7^6HsjB6K;o=^0ssHq8iYAAL2^%uo)`LDIk8ueyiPO}zE=_G-mv$bP_Ur`U z?9&8Fw1A<0_H}jY9(R+%*kT?>TM`~yIk#%boh8f07gtthFE6QDTDG_%JAcBY3Hjq^ b-Z*vo%xO2>94zMx`?Dc0@*`n7zheInBFxbL literal 0 HcmV?d00001 diff --git a/benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/20669 b/benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/20669 new file mode 100644 index 0000000000000000000000000000000000000000..a56194a210f858f6009673dbf65d07f1135ef82c GIT binary patch literal 51723 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 literal 0 HcmV?d00001 diff --git a/benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/20670 b/benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/20670 new file mode 100644 index 0000000000000000000000000000000000000000..e92ea43564035de2eaffe2ff1058ad904d6d8b92 GIT binary patch literal 1335 zcmZ`(Uu+ab82@&5cG=rr^=z}lT-}gM<;IQj0P0;DX%u`SrU{MJM`+sXMH+kjk%pQJ z$fdqWA$UN05NU`H4H)Ig2k^l(c$AY=B@G${9?*~`5(tIVQh0zY-?w{rR*aL`$<8

zxk$f{X1*GVe#>GAkCebE!kYpLIWCDl1Z&6ndms}bv_3Gj-6!7@ArZerG-oq zI$X4-@W0Ptj@i*pGcNf+|IR@N3J%9@ynis81E+~RvJ|R07KDnnGP!K)w(h?E%%BVd z33N}y2h`;j7r~@Bm~l<(aX`%3V!B06x3Km8;>(lWd%E_patxH;tSndZKNP66m`|%e z-&U8NccHL*V)ASED0@X(wao%NtLle2RQez!^!$!qi4#!g%G`B${EY4|#@n>M0DXWO zGk^Jp`0W>+KJ~?QT^U79*Rl>Y z%^9MkVOJmj&eiOBjwg7D+=3B-E}2n)8^;aTiEj&R2z&=(cdRKoi)E(IpSVu4D^Jt|Yi=Uc^z7{3p z#3;(;ICgb$*i;jD4L3cad3t_ZJ{04-A0urjMk*0C|0BlK>tgnM9lsaUhIeu1NTWJ^q|s%zs@$^O_x5@$p9>Yacc_udBgOqdkrhD$^0+z7O-YC;GufH4+T)=QA}DVi&P7sQrXm?N)9)C ze>s**@E!7L(Oyl literal 0 HcmV?d00001 diff --git a/benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/20675 b/benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/20675 new file mode 100644 index 0000000000000000000000000000000000000000..7419df89a6efadf156bf4ced602b7ea830add58b GIT binary patch literal 37124 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

5iT;Uer(=#V#izIW@rE)+IVw{t5dw5%G!P zfnm;e!6A0Z@qvXIZUxrX4uSC=K0bvuRQulI)Hu(uq%Hwt=}+r}+iB^mV&^uxp}CVxohat#^TgFO{F4wR3QSn>fWGGsiw7Alk;? z!^zdbIW5(m#ugjy*#EsgaZ4l z)POi=4?m9(@8CpVPLf0OEHWX+Hz1C)kBkm*;gWK!WC9xTD8iFFy{CuqAf^0(FBOUUc(%iBn z_K_}r0p2-wJ}xwtytrhCJl{|o7r#i?0M0sD?3w13AW2Aw@u%g%E<81{FgPwCf|dtg zE-OAIKQqSKE;Kqb$0s>HIwH$9IMmK7CdMO-VjUA*7#kMp=p1jI=;|IuPsy_7qCISa zW0S01Tpfa4#SXD9g#m8)z5zKlu5MI&;&}T=aePXub$SYo*3;1~JloknL+lmel^7i5 zofQ>s>ztlO-=K;}_6dzkbI-^Y=Q!ut#KmQ#C#Gb1Q>N2h<)5IQ9u?q}of#ue^6?5t z^>FcY&rBBw$M^?_=1@;uJrn%=ZMg8D2u@NM5$@+H4)QI?aZWFgB-nUT=0md5ebNej z{WwnSn39%EOIxyEj#orjyu^l!Euf4P=2QJR23fn=#5hGcCkLeYCqy}ihsXQ*6}X0l zQzio(U2@5HDU%P84)btINJ{nf%*eCLvdztq1V$ue;hx1i7XA`ow2& zF^+V8+o(`mmkbYwfIPoYcQ+Sm!^bAZ+9xtHIM~i1B;O;;DJ?xTEj=uki;qgnpes&v zToNbA%L>cMPKxvn<-)V<11P4M4jEBFwmwmjvGPx@=WY2aE6AO=INZ56z^P^o*L~&Yg(39PKZ;8cczCom63~YK&D$-T53*~IM&%F zMI4oq?&zD67Utz9c8qYQ6)ZR}T;ge0;FswUn3kU68=VwnlR)K_6d0G5ne7=~5E%n+ZtoHv66s(^z5tpWEl5d;_KzwE^-Rd-a)ZNDQsspzG%LxMLgZhNU>|CmVizqT zrHAY@v@^%rJ|;OPA6i2MWmJs} zJEWzD$0SCRuTL=eE;1+?Lw?LJuF@VqD$`P_Fkk*=vc8hhhLMb+YF2bYY-*&w7Nf7! zSILl#>}%$-zl$z)RbPX4L^1kWbQ|55kux-sJde>=(pPn%Z=Q}+HdIbY%*xhRV)T{C zFy+MT*i@K`{Wnw8#BZly$e>!sXuMI1`CVgE;tTmCLE<+XsrXL8>&6Dxjm`IVF;_D+ zRIVX!{u(L|BX2<)EMzVJZI{gd|Lzy>{@;DSq51hLWmA1+h3jM37&#Df07wv}6Ad2T z6VYGuEiXmppVG)z0RP{-L26!di5UMEF0l$+R5&bo;FRNzwor-mb&@Ro9h1qPrD9l{5L$Ujy6~wZC>)X`uI_~mdb_k4zUWJ)|JS4BHS2| zr+P}1sM{Bam4CTGi6V)AQJ4IfZ>ZETUwA}=xba?2)IdrUG5EjtXdF8}5(EE*Ct~1! zAM#_q{H=z0^+jSp&1KEFVoeF<>HDOrCuVsHp8n5XYVdxWJT4?Q{jyMEa7kzKW4__1 zhWX`B8m6NnNI6PXu++GWl&}9LnO65Ps932)f6Y%m)iOWaPJI#mi>0Q=V5y{o<$vg= z&Qz@=*8c?$Wr;YW$foKQ+UEOLX#Wo^{a;pBgN3U^WC}_PeX6I-SoV@cW@hBXW)F&% tNX&9$GqV!Y)69kr9yxgEAa6I$!`s2#$0&uYf&Y&mW)E2*JUFkR{|l~XRp$Tz literal 0 HcmV?d00001 diff --git a/benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/20681 b/benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/20681 new file mode 100644 index 000000000..fe94e1c4e --- /dev/null +++ b/benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/20681 @@ -0,0 +1 @@ +˙˙˙˙PAR1 \ No newline at end of file diff --git a/benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/20682 b/benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/20682 new file mode 100644 index 0000000000000000000000000000000000000000..b36e17ba58da395d5143c40c57a6af787f47af0e GIT binary patch literal 2894 zcmai$3s6RDzEXrXkb_O^h|ogidSYAVnoen~IE@gjgRWrM@s|2r)z>yWimoF-k{fAI{n9 z?ESBQ{r}o$?(Fo;B+ag^jbLPGU3SeLF7nf_m5S|A>gZh}10Io2tRe?`mD<3&mh$Uh*W%`)Zl-WstyoI3Kp>v@8fz4%ohfg8Y?0RmzDa< zIi+?bh$Kgf^teU-@Rd@v%s;%U)ae+J>6%FVmr6zVD|MZ{YhpzLc<*4}X+xxq*bMH^ z!7Ck}U4g6zr=R>n>;rI4!Z-4)QYV}uo8bM_DW#T@@2=043Iyv-c(#3CWFvd_fY;^{ z`4Wt47LhbKN3kb`Sc^@h1k5*rM8=*}YC4=I@;=@!^5S@rF!I;2rkH(~(B%y@d%91l zFmxG2qg||h=o_VWA6M!ioPNxHgS_2{@hlpZg`olQG&nytj{V;g`QlThzJ^!eHKp>H z-xDvA4#rNfQowIF>;HksGt56nuleZx7V|c0jmED9w2F6HUs{`GYu-Wn8tadzlA(YFq}Q`c$azd$4XUjCBWSd?-=@Z!e>fVqQg3{528s3 zYv-|V0@#hbf1bMUrLK1TOn_H4@6NF%lYCEs@k97Eqw{6z*-qd73H(RthePODPhCGk z-#WD4LO+F~Nf-Ryr?zrDsKF=NPYIZx(I1teB2DB?Lx-#IZNQf$V7*HXGtnTAc`5ol z0k4hp%t~^VfwPf5Y9;;vwQNR@b#O_dPm+n3!`n^1dN@CW*6)B-43F2rcp0xAh2!t( znGSM4O&!^2y96C`(6kHutvtVoF5&RWpq5nnDF(g;@cji?k5kuUc;`c-pYR;P{tdjJ z3$Kgx_%Eqv(kDtK!ncvg5*iO;g00#$`LLTSA(8i;MT34YvfIxpX+v z5;*u(Z37^v~V~&5c=lWrm&pSUZXqH%=?zC-d z*V&xm-bb3Ztt$x(i2m zq?*eNED|l)yk{jy2C|5c=f#>;3&==iHr4L7=jE;{)U2Y}S!T~I%wBc_D*GlV6C!Z= ziusFkvkGqj=^dd_sZn{xk!TNGrrISSiu9W3y$=1K(F|i}gyFn{xJGlPM{^DDUgY21 z=hORqM%VpDdyL2J{7rq+A3ZNyXSkjBG|exbQ*7O@i+7YL)fg4aJzDTET9zNJAzE*U zHhPyDC+2v36&A0pXyu|I1&!wYc8_NFFHf;79ui_m05HR1jbM=n7#^zRgs;}0pXZ7--di0%D4#dY0^NC}MIluiYAR{bpxYHV? zw?-MIZ##_E8V4*&hPpr8?EV_M|J$iaV|_0OqdTzClZBdwd}?)hM+uvBD%wFGQRq89)f@^k2L2Uv2cKSVaQz>jsktsRqZ`qV#t|HrXw{65_tH35%( zGgQ}&gKZur04u^7M$LfBXuaU__!jUvTIP4@@}`hmT`C-QsVZJ?+G;f~<8Q}#CQ(WFv)Xi}@I77jInt!h)4gWEW1#%FmBoon5dhcg6D9q{&k!Crz63VEXJiGiN;% SmB$zMmLYHQLuEFTZ=wGa3552xFihWPhDnq}XzCz@xWI3Q-x-j(yN_XpB7`)X80K;f!{llrq^p2X zy%Ith9SoBK_0lee`Jjr>LPdnewlR!KE5r1{*a&rmB%xgb#(m%;R0KQ$oOgg;81$?d z0R2HuE6k68_Y&m11AP^~Fig1=Li<7QweK0m8|EAQonZ!mtW%(8(P)JBz?d5#uSf== zHjvTHK}ZjDR)#UNfp=F7p{*b@OB$h}?-*tw=rj@9$BHAgZzMu;F#ieYvjN6^16;BI zvyIIRBL}$j0YB|7kqycaJ~)oPQYm>*e4F-fbh?jW-t6SL3eS`TNUDU)K`Xy2OKto?E8R;EcA7Paic)?O=#Z1jlKL&x!uMi*cLlC+R^XdT(U7+s;@QWA7x(+rN0tWt2j{$tbK(9RzGr=%d zEXdgdaa0I=6R;%#@YoExOocen1^zD3TM6bn2|8~Atj~k24WLIR$oLg}Wd}N@Ld=xF z+#A6TPr%j-aP$F8D?t81xZVf2$b&wnV9Pv+Csoil1oT}3vi!glnwD-1vte5K3yP-0sn3Q z+ofQB0{j?=F-4?UC<(_z#YPE8Zjy?UYD(fXX()+P*Yb98wEt2Cuol2i>;sP@d%JPN zhFf3cIRmP{{jR_n(AUu@#}R8C$q~D)%Ta9j{nnT6`d7F5t^%`$#~E1m>PGMH(AlYW zxU@OqN-623MQ;|9lGk35pSF4H067iAM7`r%whvU&^?99teCy63>Vg<0oW3n~n6_p1 z3X;Bk_wXrhMTz*tjy4rxH8M_Wm zSaHGUjWA>PuajMbG0OUxaYv^4Jj-5Lkhv#mR#0Wp5&f*a$L2;h*Ssmn+LyX8nk%ic zC_DbRevJG$ySv%@PZ-2&7#&@7Dj~xpQP;QZ?x_P==4pahmBl#+Pg!MKp0c}_bLjN) zJhul&7oR?S#{ODJZP~rkzn*i>-y*HLBscNAdr`tT`@-BK7rjf;jgpp}IeK~3>kGbb z3(q874XhBxsv4Y4z8+fh?3Dfev&ZI!e5<&3VAejT`Rh8GK0m*@&w1e{21zQ+j(5RZ z2Mpy~UyFCu-#KLTl7qANyDi>5e1hAf?BFr?_l{h+Wze{gu@4gX=IN%VLNp&9)^Ub= zkP`oyikc!QH2CbxzFsV+@MF7jTrVyPuvIlzZo|m<72iN>Gudl- zLr2E}3A`lP1U@X@R5?#jw>1=*X#4F;Wghnt2C%{jd5 z9?`X(?qEHnh4{_r%AMuK5x7QnhHd=VLZ1AXn7pGD38D%YgoY|1q4dK+#tm8=VZi;l zk?SXS;KYs@ua|U{;}E53U6&hcNm0aRt0CFnNJ`(V>&K6p{9d$bvm@K*v=6IHR+nW9{q+hvs@jwU;jp~O_(Lt zIK2{2AMy2uS9BBJ(X}l+>EU;BA+31wgby6SC5=W$yQbGf{LtAu-qGD;{Y$HN;R!E^ zX=ZJ=*vB4HH{@wZxC2MHE%(_MxxjinvEo(evqwE7Kks1awA#lc$8pmf&2t^t;-Hn; zV6A4Xra85ypaKc9NA<0azR-!e=C^H22G^5oW6t>64R6Nz!|G&5Pyb3hN{?rEWLDxD zpHi{#%iY+2)>8ek6RPpRH`aR+G#KLl-g%{f^Mm*diF)EY0|^ugbY>u>R#K8RF70?` z2|1LTRes`A8(IJP%&$7>jo8orU9iW(N@9_%wai?v4x7#FJ(OFGgq?d_f+lY7!G|&$ zVn0T3ghS&%@xbS`+hm$?XUV!3+hVzb z&r5H2?KW*C@mpm3)LuQteHIJs1udUQWl+s4lF>o9k2FxKZZlbb^7d)9U%7%8QkqY% zTth7Jj#6>QUg9I=oqG9W4Kd8U6m5E=o>awbFq>l8 zhj)$mO+6v13A>$Bj4=29M1t0DIM0#mAkXHyA4x24$1@Y|m48x2f|AS!O#7BbToGiI z%yjkQvBJ5Hl`mTG#KgVBD~BV&CDYzKgTNkKQu=gsn??ziIApNi;S~~AAN{tWYhw>l z3)!mv*zYS2y4T{faZ3fZZt83!Hgz~sZo$#|z-sIjDGYq1){d>UGe24UUPgM>-4omA z(}ArY-N|d8#NeXhj8Vr%mf^e|?~t;vlgyT$w`$73Hmr8xn?X`WHNN(Bw7H(oGkj&` zz1aDQ&G`Lt#YK-_Ac6XtT#q$&_i)0)8=JcWzT+F-%IoU$eh{HT+PJ>JDq=CR^R3&r z3ha~k%f?l2n{i59$bp)YN|Jp{>(!A<=M_8eq-s0AB1)FLO;A!P^1b5?$ zkJs^f@#Ov6OOb60iC$EXyAGD&Tj_@)f^vJwVBV4<8&i&O#o0q=CT4uX--Aw03+QVl zL3cJPN{{+R;)lzg`)1Tkc*8EOzqO#1JbKx|9E$<;_?G3Lca#0+etde{9@R!aV*VeS*nx#!hXFC!)=}f(~#ig1g zR*VmOCi@DnAFAcC{Qy@`chart+`u-%w>}*&ce;W!932yQNVS0!O@1EzbXo(}?=`Y6 z^XMY!(Y10%r5lJ}$a}l&MW2b&#fPTJ+Py?3uI+3~W;1R}({M_ijf7qnsmr|9ci^&= zArj9mxPm;-mzgV%!~OWgId6na4JqCb)9vEbLlnv_-oL5p!d*I3mUJBJAgH=Y`{=zS zY}FID_2}eo@+j?XwSP}9w!N{UC1rdkuE-wbeCxMcSgKIP$0Vm4`^oMY;(EP;8oq2M={wGpIr(?s8%B#Z_@3toqLU;tn*;@T{A;tPNx468 zPOOUZ6xUX=pzPUmIlUh^nsao9PjeaGc=wl(4=0cyU-kYJ=^ag&-%`ZmLmXS_nac-F zM#AFfajF+I+wmi`-dsB$38UA;b@=?}+DB_Jda8AHcUKRt#*>u4Z)?Nqnc~05U%P_+yxJy&rFG%L>gT~f8!i*vUsWLGY=m)JIly>)9TO54>u6?%^D4(oUUWF_Yn@&O5bs(MMlBGgfC>g?vwUhyFMb9 z)%C148wn1++F59zh6KsnSobW$uXy0zfaqf;-$_N`>d4|Fg#@7)FBDFP<0z$*lQKqs z$Fp;?o@k19;|aH&H&|`p3QP9Oyxn#C9=TMoc-HfdM*QsMqSaQaO~i2Yjz*LACcGg2 zPL5=D8(vb`Cb`A4lc>o(iu4=WiXU}-*tc;RSJ-54StIm)fGsAZhi}(_p! zd%B-2t(7)f;By_DMQ!gk*wX;-IiWoL zBh5rF+Ryt=bsctT<_}Xa&&M)1Pb9Cjg!eS-09)KsgyUApo3)#K!8Xf_lY+fEiE+g* zR!+mXf-df?xalPw*uQ;9_pZ4;sw6|l}i|G9J6+3(JHRs z=J431D-u3pJHzQWpN4-URhw^Qz8J;e-1~*wJf-VN{*MCd4em8q?)t^*+oKEd`24!y z-s(@_H>a1wk96u4)z*6_?q%@7?QdGHl)NV~Ems?pPJO|p=Ur8J4?mNqj=CSmjOidH zs?JQB4@0syeQLZpq8;m<$(Z$dQz6-SX@Sc8O?9NvV_^06d2Lum>bq0swC^~7ZeZ#F zcX*$1+jOYB74rA&ADr1EyNOc3MSBk1hf@-5mc;^&@M%{e3CCYQ?WF#AIZ%@NBaC=R z`zKuZjDRn5)F{D`cK*-j+CM(mev4?Te2`>tF6Gv`&gR;;_s^x?*@VPo)C}{|$X2Og z;~k3fju-5d8)KYocs~8!Zl!5{PsPVfuAX&7{CrC_MVUW7``r3J`l;!UcMtd&_r=_tEWvw(eqNfNmTec;LR%|RiXeD$xEd^^S%Vn`M6&6Sf zOpB$I>(I|#MX!xkh0^ZcL9`6Fq~+o@w87ezRmVNjj@Cl#TIMb7Jm_9uPxUrKg z5=78pre3tPH=@({(dM;F9Vo{zke17rQI=OIt7(`GJ7N)ATCJq*=B&YnAy#y_FD)V| z+aQFN{i=9|yHFWxR(jKBecE8@NK02I$`5kI^rUYXK~H9$=CsMtfR_HOAB4s?;>`u$Y*0fx`iZ-$ih_nr* z*9Np;eeTIxwuUub-+C?Ovn~qq@}Wb`{3yqtUM^!pWu*-}%!frMVx>E4bi_(}66mv0 z?ZVn&$}Y1wSkQ)5A#8AjvnX4;Qi&{V7F4V=8{+0Hnx?_D&7O|&3ug^5jG~q04y=p4 z>}WF^#BNLI*kCq@&HdRBv|7yG43X?`0~dCntutLMMxHDr`YhU(tX;0gR1_OUW;U!_ z&4L{0RF0M`^0tAjnk?86Y_NJPX1yt31CxzHm!)iMEoBj92d|1`frzqmp|cvX{_*a& z-HmbB=Hw%Z~FjU_HNv4OM*>V$0QZh!yKGvoHa*-;qw?A7xHY4z_H77(1?@wFnRP zPPXx(-PqV-=Mb2&;k}FvOV-HcY-~8#)5oX;9DjL?&fLq<7K6kF>!=9Lf#1O1%v0;$ zD{w~lIXC`Zf2*VHdvAL;T`C7U4lBWw=xQ@1C0OC6B(KrWmxonkN;$BSOGyn@swru~ zYA_`XyAhQ9VTXlMCG6f%n$|C#`OIp8&>>hUrX&rk%9LjP=$E${R*xyo7tQ-rG%odR zKmW0)Ulpt_Q`!tG+?4VuKtQjQ`_Cn?f=uZMtWZ;u66w_ftKpRBE)}H|5nl^-b0~2| z{3wxrVj}w%zzQ`bo=6XlNIx@?on5f01KkR-`>V_Q@N<&2UONsOtF4A|Z$d4JY@=i%vlP<3g2nclc z@O59)|FkW!;g#6%6AH!W%}k*o5+1-R!^=4=0c)_ZE=#Xq$3WSiA9qFKpBHHhm3f8A z{FrkR{K8}jSf|~}F2u{zh4^Gxi2p|w^yF`81PMQX-ltbf@Z+z71gR;jBAn`dxB?}q z`v>odHOF#=^ojq^Tq>|VMp8|2&>t@l?)@e`Q|3KW<`->|=`k%|#p8e_^=I{=4_{oo@`JIoX0ip3!8e4*0f2mOcnHOZJJwNf& zVRznPcYgfu((`79Yl}yD8+!Kp>1aIbC-4mqE)}@cQBMj$%Aab`)$~>|-d#C3_{n!< z_`5F3fEr&|M@^)T0)hXiQ8iB1f`GsI2?V?t3kN@;N`_x@7X(O|CeDo>7)1Tlx={E= zJ)+-F|IDQVU-YnciPrb2pFrSVc{upVoihBwIvKT@F529v)%{*-Dmfs_&pjafZ_s-2 zSoUXVf#~?zaPaRQlASj*1jI)6W3}s$7|cuI;lZVXIMUV#at#R%^IS8@Jt#;$+%qK9 zH!whbs?H3ZsgtbCu!WVOxwW!C>_z>z1D%39&jMRc6(zP2G))7EixSUhQDT@cx}lw6 z>zC3RQR37b-QT|pw%sThi4s&CY)4ZXFG{p>2*aitrBadP&+2Rklq9;J0SdqpO zuyIGJN|ahOL~_#sAxdhZ6zJ7oMbV;pF2klGB?r+>Bo7;vls3_S3;?CTCNQOuA|%>H zkCt*#Dm^cfe?w%?WKrtliBjTAHl?ytZxK297m+IFA~}!fqaDaZ^mLLCIXSJ7W&bTC;Vw;v9SX@% zcOTEyu8M<@B3F|O8(^C1rn$r9s6vV|l;MUH2hp>;CNiZ+%z$eTMXsWx={#B!S7H;H zA{Qx&LpL^|i9~t+MHChBNA?#9;*|_ho(C!8f3*Mhzxx@--y87HIsJkP?}7@y(VJgx zrS`XX8GgP{{9k7D>;=5i=VJ87PkS%MuM2>*HRR8P-u}8j0C+`%w12_|VEOU)K=_}T z^lu40<*qott3dqUq^Qayc;fvuq5tQ>`=1Bz|GfwAet4q(i`S#WV|lj^a_NtMt!xng pLN9#@5c~6PYX0MHiXWi;6E?k@ga<+T-|i-ORQJCg{eOAj{};EgC`SMQ literal 0 HcmV?d00001 diff --git a/benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/20685 b/benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/20685 new file mode 100644 index 0000000000000000000000000000000000000000..e256e841870cebdf7dbe426b752da11ecb2bfa1f GIT binary patch literal 112834 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 z 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%0Dyc%e@j;<-1*hhM;Z3-VAe#NRt?UqVh3 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 literal 0 HcmV?d00001 diff --git a/benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/20686 b/benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/20686 new file mode 100644 index 0000000000000000000000000000000000000000..28c1eacf766714e9749753c65c0bcbb6815eaf84 GIT binary patch literal 1463 zcmai!ZAep57{~AK%i3;}OudKQb%_z}>Czh&Y)FlwK1E1L*0Y^`#`n zDqB%QA|!f)V1e}^R;{_B(uPTBL`6uEg2fP#DAsfCbyHL6a_)A{vvdCU|2)6@taLAf zm&D2uCu21>d8)m2<&p&h4%TWYci8vbEzDm?cZf7l!AKVR?Qt+A3PzncuasEHSmLHD z-pbe3G&M`i35myTd`+{rZbHiIu$N?|sKh*9{r<`tPxFKjNiC4waxL`Q6!hZc8KaDk zml!f4ke4}G7luPUut7%1S|FN=TY@9IaEK#Z!^eK`htLD+wqBat>!AKQ+C{tWPgUSUCRakK| zK0D4U60dJBHdJbb&XmUwyoE$-g z*$G|$DnRG~Dwx(BY}q$lO&L9J>*CU992%p4qimcCj-58ngw!jOUKw7TG(yJ@L2==G z!UgIBI;Kaj%yVK&tS5s{IeJ5E*aZD&jOZpm$H{;>(TgNSb!s@1(SD$If<367tI#w~ zk!~}Lzc&Ae(~YP&2dA)yggp>?V|KgzDj%rY>eV@232B_pb_xWiMJxr?^9)s}4STkY zMmdtm#{rSYBDCHY(Z)9o)Jh5p1t(WDkB;vsFpU!m^ex2!=LbbdB~ZXra(Tmv`3;oQ z=%)C9y+!Y(nNcd(_gl+rqOoZ+pwwAz>U2s!&*jZYDZG@#+E{wS z!}k`5{-IvD9Hn%&n?m!{Y2n2hJZdK1hU(KOp&7lKQWx^z?uESnQ0nVOftlTeDxqQ= zkhqxVb~R!;M|4K57dgzAVj(y!;u&>GLwn<)!`|Z=PeX&?VsrT8}tah$myQ*ya Z=F+mQJ9f#n_z(NfU~UNvQ@VNQ+P}%6aR~qb literal 0 HcmV?d00001 diff --git a/benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/20695 b/benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/20695 new file mode 100644 index 0000000000000000000000000000000000000000..2bced3be416c14f1c63188a0d9e8ea2ac2c0063d GIT binary patch literal 2900 zcmai$4Nz3q8HT^zy}K+cLr>)f>QrxeXCQX>Qklq|Ettimqgh$S=g+0p}!q6VEDj!Y#59-jAJ9Y7zPF`b4QHuwH>@%hyCUuxB@T zEgq52z_?};nG9zidoqbNIYich`BJpVh?7c9g3}n@r)nZkj}(a`|8~}tv+p9hyo6?t zcPkZ#F8ye7N!moMcp9r7(PvA>}NQk%}jt#_u z7tsdp3(;~F^*(q8jo~sAO)Aj&ozWsoxN2GV8ux$nDOK98)Ka{AfE+zwB*XW+>>UmF zBj~yj>}d8E&<_XEBOPsbqw^w*ORrM%{-f00#5&P`9bBKs?~Gw053$DHq15&ykzA+9 zYVLNtZ$Rfp=Dp}Ng8DS}mEdK7dM=d`=8kM%d4O7IL$mKX~*kT*I%FFkhjkiUe zxp*ki7S(^HE6(QV8EJDgj<@L-4(&O6t@FJ-{ksUBGi<|-zqh;Z5Q}#h=Pv(A^i*Fjny$p6v&Io~f^Jw1CWTqS4Pta;NHn@11E`t=xJnz(%4sHJlk z6y~ka#prPup-hI^^h|74ury#VTTM+Oy4_bZLA#po9Yo>X%qQd1Xbi3#p%e2B3`AY_%@^65$Afk#R zqy~VDw&A`kUy*q@$q$zannl}|3*#=Q@y{fNxg)`J-$7z??@Yh$`EvLC$nNf-(H%6~ ze_*yI`@Qa;*ERmZ|Eztg*L_dp-13}q`#wVgLqw^@tSYt?9N>}{L90(P>XXc_Mdpbd zf3V6HaFi{ZA6C%ZyHE4$T4Z^qZ9!OwumEg)d7|;|5r=h|+fF&m^TjY3o=y(_yza}# zICuOREir*1!mKevZvj52OMZk)wauuunYB%td3C>rGnIXq#v^H)FySq!+->@%8u=K9y1W^;`b z7VE-iAl^CyHJpL#Q;WuvT_6nY&>XFU@%cBEZ-g0zTL_E4RY5`te z@4D5b!#?A%&un?pW!7DE`hy%rN7>S{h)oS|N8i?_ru&SJHyzexHg>wrV-=ifcif;) zHfjp{)a(fi5w_@5wSqpV&`mzo9E>)5{}p`)pI)r@+{UNsJfk|#3>}Kj3a$)jWs9ce zM|}EiDC`s77(6E0Eu&iZgEC0NGKz!W6vr@Y{_Zg=|LlRr*|1S#ETaItKC|km`v`!W zd;;KTD#P5=;W68q0B~n-y?@QH63eHaN&DVUSrzf=)~E$|^owv^HykDatKu1EO|Qpn zKJW1d=kYmO5^?F$M!sIRIZV~5M&lN{b(w!V9%I(`SzH{0E_Hu-nnF>5A;K1!eOo{u zl*e)jGLh5NwmH_^xjFU@F5UETy?&ZN8S?9DR6gS%g=LHNn5ao$bV+XMvPbh*jLj=4 sNm-d+y1Z~{aZ1Lx3F9)x<~%rMM$WY9vwTH-VgGN)EBsuU!SCt+0hxvbiU0rr literal 0 HcmV?d00001 diff --git a/benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/20696 b/benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/20696 new file mode 100644 index 0000000000000000000000000000000000000000..1d36f9fcaaf5e0a7b0ce71fc21ce7b25df0e1422 GIT binary patch literal 44422 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 p&fY+*r!x|E)~|0^U%$@3tqC& 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 literal 0 HcmV?d00001 diff --git a/benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/20721 b/benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/20721 new file mode 100644 index 0000000000000000000000000000000000000000..5c5b900604145705fe29dec91ecc72876d5ddefc GIT binary patch literal 8749 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 literal 0 HcmV?d00001 diff --git a/benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/20733 b/benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/20733 new file mode 100644 index 0000000000000000000000000000000000000000..1635d2e4780fb53b978559580c2c830208d24eda GIT binary patch literal 1706 zcmai!e{7RQ7{{N!@7vPVR_3<%(v~-|G4yOy2qU(lHkuiPDvfN+u^`UUb%kzrU1{q^ z8%YSp1g2>!j7p>-#wNHqm8i^SEC&3E27hg4n!1o_gxBZZcPqnn;muup z_uReT``+_;?-~K>#r5L8S}b1iq96)20Qdea%eE<5K6f*~tOW1_2QWG<%g^K3idzBb zq%0pZ0et(rEPsvj#_SZ*tY^no*?R~yz(}v{MSmU-xPq-z}^~Cy+72{poc1B`}CSTIOvo*fevuX22 zukT5}XTzSZTW~ZP4hLG>lWk3*L__a(U$`56fTu0q)q>`rH5uC2_HdXdnRQrb{)ox# ziaEH{9y1Pt$XRkuFze!hP_WxC8Zlt!%o@Ml<~>crg{=#CC_s zi8`;F^#rpJ?u;iy4nzT`37v^x_ncI4ffSQi7U}VIbOsW0LZrCd;R4mD;cuV>0R`jX33S-IQZ1= zb|r)K)QBL7f;xSjrb9`Dk^p@1jR(k==Xh4>tKac-GJ;N)-;QhGW7c0jFDnl@V{}vq z;~bhfjpF6J1XV9t4asWg@w`C)85J-!cQ7^O7x%QF#{_;nre&M4v%JoyUR5c!kYWox zR1n;*<7_{@5oJH*L{^K*Mu#kd<9(YGf3pp*icuoOS!vN(F z(6uhJv40vBDieC`XD!XVj|%!VPxn1F6=IA&892?C4yue6N15Q|1G>eK#w}#rLeK2i z(ZN5ok_*2RKGl;_F@5-1)smR<_mN8<^Q_Y0DLp-ZP={`+%bYa0C-#tn!BHX1?4-v~ zy_})zIOWb((b>6pvFc~ zrEG(Nn&C;l8Vk*RWT5@;8qmfs3aGmnC=|TbWBVBV4F#^_gaQ*QvCu=8478X>0loL= z{rhf;GEOrOj$E+yshk!^nc&2~%D(0fHakoxn6AM>bF&6om^4VP9e5petCaqH$+RS; z>`F2`z_Cg{_{vC!t}rirnNn%~G-Z}KDukJtkpWaMr-xBOGwNw79yZaFhfO!2G;tOM z7M~_msd&4R{v$jt!LYDqodAy8qW;+KXM%}UfoRm$8;r#}dm^^_)y~!RtC}BcXl(Xu Ue%unq8}@$%-o#72v0+R7f9!b8f&c&j literal 0 HcmV?d00001 diff --git a/benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/20735 b/benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/20735 new file mode 100644 index 0000000000000000000000000000000000000000..87277d139ca86eb30d378b4c214992e0b156737c GIT binary patch literal 10735 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∾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

NgEfM1ODGWDXY*3AtXe7{x1!j!WIAk literal 0 HcmV?d00001 diff --git a/benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/20849 b/benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/20849 new file mode 100644 index 0000000000000000000000000000000000000000..e1225b59b464a893e59eb1cc320f1da9d602bf49 GIT binary patch literal 1553 zcmbVMJ5Iwu5Vb=B6lwU_vXP5d5GyT3B8oKhDNrOXK+Op#>1YX1aRDScq+9?rs*EAj)fl=3uwVZLaViX}ah@-ebI!KRl zY-NlEv`j(Ih|vPJc$)J;mKc{Z7X^h~y`jmSK$Bzi)4CAfVqMUD)!vHlRg7+pRJ_rE zvGll1B}?(6kM-7PgiF9-5*TeyeK(X0pp!KeV~N5>BFE)m_?kf};o?K3n%IMhWd@fJ zm(2N|@0||~(X_}YT=d0=iDR2+lVS(G=(WJOaDcNZ27Lm`d|>jCU@iE(Ws?|?oJn02 zDW>Y57Jm^WD!*WgR|C$X9L;ffvMgPY#Y)rh!ZhKO`S^@TnQ>G^K&Vo~)13Txl;hDy zsFo+qhgYPDem2tEtOKd^Z9LKV zh3`Eb)O5}7y@by?hwCxcO-JAz8PjUm;uBd}Cv%z!&viAUd=QOlW2=||CvA{=*V33`;H@<%l=`Ic951{&O-)!|PTM?C*_sz5v1CWG?^! literal 0 HcmV?d00001 diff --git a/benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/20897 b/benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/20897 new file mode 100644 index 0000000000000000000000000000000000000000..e5b7879c4317766a6e21406ceadb6e7ad6b4bb4b GIT binary patch literal 12147 zcmeHNe@q)y9DluDS*Z|k<8Ey|CsBAd-TvTLyP`y7iHR{JE?c%}Oq@{ah7R@%H$zy! z`Hv%pRL0OKS=5k4=l;S3H5z1$)nz&)lbCHWx|qd9X3&ti%pVJWzxS?Ouf3MGP*|le z*X#9N?|a|(zVG|<^PGgW)ico8B}bfUYlHSVp4!@!e`>ziotWn!t*r~tN`OX?p3}Kj zz0_Q-R#?PNhjSyjzJuFfHGkD}#yEYL8-bhj=4)A!kYjW4B+F(scm*O(nZye=IOy3! zS+xImljQC+IE<~kTCGToe(`m-B=GD3kD-Cz*|@KTZ*1{3!K0%O8Q?GC)lohOZe-ZY!19{pt zW|jobR?5cjW8?2Nh`k2dcRrim`X*bl@=o~YQ}S6P4*8q)A%Wuq7M#FhoWB*#yS6nn zdRqj7^l=dZeXF4!sNOJ&6Gd>)?yD9$K5BtUseS9=j=OfFKyFlzTq-=kjR1A?utD1k zv(4EmDm-PbN|(n|wtjtOS$S!>r*ea*#N#e?dqNq12HwaRKOW9FAt)MXkE$b=N%JML zwWNz6RSv0re6{|0V7|oUQFW|=C@R{9l!A}O=s(`8-G{xOJOa z28^?z;q*mRX%Gx=~kvfQ~a!A?@T1C`4)XdR)2y8l@9FEn3ESh-BdULmKMxMe}(7M1AgqhzQ*&iSf{uK_hniSe28_N@C{sPYFNDsV?v#~)WaaKSUpD^5k zcmNC4$B*RFlSgtDlz|mk00%INez)lN(9xs0Rqnko;+N$S!|VH8#G19wyTjL1C*%-; zE9R_*y5hpxldJOY2BriHcGMFg2fw|=q*j973b<|%IH8;;5J$OqtBl(Sq(k80Z?ZvC zNcloYA&DTSp%4f+hGg!Xse1rrmJRD^Jj|dmvkH>mT|^dK1BswL{wuZa&Dsk;q=8*3}#dVGY>D z0Xv=APJh@exw{a++EdTg%w6~Ox75%K%)jQFAN{%E9=Zr~)3u%dz0d{eF&z<|!? zILvvorG#KNvf@7j#AoM41F9Sw<>}w2d99!e!{MZ#-!bXHNjN{_Ti~GG0lvz049By- zSsssgqSpksK_GZlKnMuu^+6yq%Y`DHfK3e8=*F5&j|KWnz{RVwfL5Y_`anSHPaMag zDWG7nl`%yON~jDa^!_g<>i+~Nm`h$f@T?Y5L;x$Y7YWV_XDpAv8PVa!bh_vdBk@J- zRq}{r%ZD%+9FIQihjQxm!a@DtW>>lQJNVY^kNcRM-uBCK0@;XgS-_#7#!drxs1X#{ zh0%OCXy2C>+W9fyg#0yGQ0qWY_X0un7qZd+D-h6VQqn*p!-FUOmEp_~JUGk(Tcp8o z0~`en*4kh?a2r8S)z~VQHQWa47+i&!dHAhvoU5*}#ATia383fBN&u6srp!aS@kAxp zq67Jh7L_z>H3GC@NUtajhD#fk=%@tRpy-W{eoN7%Obn7QE{j%z}9;Z~ESa8k0A=F9|U?WVlPIA%>TSVd-5m`M2+8INRwF+&5dwv% G(*FQVlfAS6 literal 0 HcmV?d00001 diff --git a/benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/20937 b/benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/20937 new file mode 100644 index 0000000000000000000000000000000000000000..6a92b5e4aa7c8c62f6ada380352f5e765147eadf GIT binary patch literal 15009 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 wgi_e+y|Ar)XaT2#C(d($6 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ⓈkqCzn><#q? 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

$nC|SLM2?fdHOna| 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 literal 0 HcmV?d00001 diff --git a/benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/21010 b/benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/21010 new file mode 100644 index 0000000000000000000000000000000000000000..37e61e0a12b819b31bdeffe5aa9a19a838f0b844 GIT binary patch literal 520 zcmah`F%H5o4795di3bEFQ^ioawzN%Wet`Hv7?{|)_dSSLV&j%H63|S^>3q36d$rfj zVlbV;oG*NL^w2K5Uxz{E&SCKeD*`Ry7V2ck1PeAG5BCc6VVf0?zEzDUCFm0BQ}n?L zI>Gb9>~Y~yWXq#B0ae@dUks7!7=>N4wFDyzD+<;H?1I5LH-emGjH@cCvSMaI s9W%#fDLE6PWocjoa6aj&j{i%LIIBzG?d>L`iq$Xm+}vkTOHL-77jOkV2LJ#7 literal 0 HcmV?d00001 diff --git a/benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/21101 b/benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/21101 new file mode 100644 index 0000000000000000000000000000000000000000..245a18b3bf40ce85b56d5af2f5d23e280634fa76 GIT binary patch literal 211 zcmWG=3^EjD5M>lS!>A)_0A#U=$}li6FeT=SGD+%q@Dvv$7G=j5CugMQCWu)thp#F-StCMS(J6lbC==jl)KQC4rNHL4qX( zXtWpugQN`5BA{6y9#Dw^P(VU6zbIWVu^=(olaWEsLeEG+BdIhKr~m{$n42XVr==Mh WrWu+gYcgP}2mtzmaU)PAhyeid86>y> literal 0 HcmV?d00001 diff --git a/benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/21106 b/benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/21106 new file mode 100644 index 0000000000000000000000000000000000000000..5cefec65e801828ef0b91da8403e35d68c7f608e GIT binary patch literal 172 zcmWG=3^EjD5M9LtL^`4dKqi|g8v_Fq0|SErBO?RD9}tUE00KmrBy~&~B-o0RGg5OC zMVS~xc~qGsSj!S~N>f$2L|H^RM0ps*3?yYFWz;xiM0q4xC84sSKw+^9OhBZ@!N34w z88B$5d4vTinCcnp8R%OoXyjz(l~%;3=VT@&8|j(qR+yRSnwcbJmS{4R1Dy~6bSD7s C0v{y+ literal 0 HcmV?d00001 diff --git a/benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/21147 b/benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/21147 new file mode 100644 index 0000000000000000000000000000000000000000..1dd7f46c62e8d712b8a009ceb25b6d832c33d87c GIT binary patch literal 56 tcmWetNCW~#Hc1W^h5sO+APR&mAVL(v1~HQ)Im8sez<_~)A;2-n5CEr944wc0 literal 0 HcmV?d00001 diff --git a/benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/21166 b/benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/21166 new file mode 100644 index 0000000000000000000000000000000000000000..23f479e459bb550a92a0204ae6242526d8e0118e GIT binary patch literal 47731 zcmeFacT`hN^fr190i;*}>7dd`$51``OvqC+aJ8buIqzDcE{+N9F! zKcv!EX#9Nzg4pm&DwTYeO3M`qV){sekVE}F=;sKMxmF^TsuKiZ-Yu1$YL`k6n-hes zCP94HC5QukQt2*q{&YYpZ8IQ1=)70|pk3xc?b`snDm z3fV;=JKv2!cQO+fla|CCBcAX$fyoi~jM zVm+F39?83@LJ)tD3^7R%4#;LbG{+wGU8NC35t4aOnIP2PNTrLAO_R}eGkJp8IG!NX zkp6vW%u+P33*mAQVYaMCDpf0gNKnfDsSWh_CIqJBeU<3-drs|#U+Y>!7+3Xs2^Ul7K~79WI33Bvh_ z2|=WypIvBN13KOsl1ek*Nu}v1b_}HBH~%tOO_1%65U!h$Y-Kc`i}-L4;bDoe zJ&$lsz_#>DrI8<{Qft)r9pPVuY~6|CJzbR`{LvV>Pg3bVeS(NmAP6Bk%Awd_L^wC0 z^L~VrI`U5*&Euh1S|NXaAS}4Zr(H;=7s6Nt;iQc)H9<#vgv)s}-x9@Pe6Lh`4B0dl z**6w(NrLoUL@~5McJD+O#v)yb=;tlsr9ZOS5ZQ4Ko!h>UN;jY%b7Z?bvfBXhb;7?= zX(_^?0Li|AFd2o$hNF2CknD@-`fB9&T;$h%6i;(xS2?=Yj>h;PeYr@+L}cG(gmX9Y zryBA0D3TwH_;3&5xgYs84dJ^FVZR0OX$->T9kTBZ@@)-@!44EBL_aBkWd4izQ96bo znvh-xgu?)`_c)46Jd$+|`M^RLq@eR+gbyFtwH|RM1L-P3a@HdrT}SgjptdAjCOOYKlNXB*)t6*f~Zp4{Zqx^V2A-}><>}Da1W}x?D(fpO@ItSVH193b6`7`Cc zRBDOry@=k2BAq43X-mYj=SW8>vNH+ss21`46T+zk;WL0_Nl|>4BHxveei7;~MjX>3 zw5}_nf0MO36;N?g)KWCmmB&RxS00B}dktyzKTZ)?3(*g)O`9Cm)VXx&rLP*~h%a6L zXp$o&eVu9~?e}<+)?`O&{rKn7SMm2}mn3IUXS+73`tsTNp?}ce@NYWGUWA;IuEU&6dgWRjo9LV6 z)V@{g4eT@9pNsab-Z;UbP)U!zzj%`=YqM2Q%l?urmh5U)1^vL9vPpr*xi4A{tld5> zvZYwhv1VO`9rs~v(3P6?RkL{?ZdN!R+^}<=u&4dSm4h31FIq0Atk0+|-RoGaF){dR z?WTRqQWKX-#-Ysz+{$eeUtT@5<)GIddWpVM-PS|CwLXV}uho^+2Q)_Cs&uN~b|mC% z=C_yE>bEyUTrN~La6VjqEav9si6PeySDZ*_t#+w$K2muq`T6n0SJ#hJok@S!Qewb7 zy5n3{`@=&aH;(R{m)Z61+LqZH!xt>>>;C-c%*KdC`BFkr)4nv4DjK0~;diz)%5n7= zW9O~*o1&f8>P(8hTbp5eW5f7Gg(D|sn%&xL;Z^N^DAWATwy6;)2XV7_sBfqxr#Dlc zP}I{UqqGR^P6h4T`sklU-B=5y|CazG7IaTV|J-GaK$Kc>>c)xXwy#9JSvzW@fBX@d z^>em*TqWoZdqy*tuR9=8;_mL97bK>(ojA-W^cbMbzOvTFnaj~nHVPCY4c=3Y8=giq zZ@eRt+iWGB!0Z(jyNo{iL^4FFY5rZQw{D2KndWccrT2#-T%TDmEek{&e9lju8cNU; zd|D>Iv+fl&i%;7wn%ys27yM51+tyqY+4|22 z^&9g`lr(eT@a%Y!9wqGOFMIz>bpP+<9jl%a^t|f}v$AxF7Uer5U4K}TEonFA371Uk zqssecK6f5?O=arZ4V>!yCb}so@EudzCE6t^^1iy8Xld=ysohiELz%pl^A+9dr7qHA zttYa+Q_E{_=SCR3rsld&T)w%zPc+aU+8el%r1QFMy`n0+sG5UOVJpvdiOx=%P3xTT zftoSy-}CXyyQx(JD{`vt{1hGEb9>sPHj;kQq%$nI`?*NI>}Yesa zYrctT?*~O4V;*GYgpw^Q4nO>=mj0cZ{O(!S!@Gl`%Z*!~+I_nxste1XYu?aDvA6nq zj<)Qf49%yvUwKE+YbQujmmlw^cqt93@u9l>I6%m=5-z$QTh#L2B zeAYjEMfpwIbuO{CU!;_h_27Zl0QD_m{IpT$$d)DSH=}OXf1x53M~3Ccv``N8?~|FD zM=7QEwXYv9dMdg<=<|N&3*IxRVvTu~>ubJXe{SuMM+jXi@FT1J8 zyAKQ-XGo~!@AQ*xRl7ufq31208$S^dOG82pxV4nS=%xk9zI*zV&@@>5vs7x%Hf-cd-C@TUEhBx*Q(GnxA+58-4fafUro6dTl)ph|LT7f#Zt$t z{;2d&{jG~1uPBkDfA(k^SnK{{COXh3lDlg{?6&O@ zE!p2xZ@68K{#eQU!RfO^3(?j(p>)nZ$|$2sl3)0TQky&en7M#x*|U4wzNPl3snU#h zK}#04P{q4$H|+ZOp0c@hGhH+ChKLAUnt91aDq1$}_1iT!e^bO^QulV>1`$^&VfU%` z?IPCUlgr)De;0i!Ug~M%BcaxeyI{0AubYZ)&=Pnhd=&APEImf5^@$$Ni>WAo-Am2d zeC_o|1A^XKb4%J=*h#(P`RS`H?*Aj=bWlRIg_YmazfkeQ zmh`)Zy_BC-%}4e>FGYikuhBMg`zXJ=&5gZNq}0vZ2PW(s|B`B4^@h-E=@;26&rh~d z{X-cZ?_yRR_(Gli*VxN}`;a;vbgg7Tc@OnAK#OtjF+n%VJ{+4Je2vz(>7PXG@%^u&yWUaUa{Fb;uX?Cm>oT{rw|)@S?zDV%vh;`OB;Q>B z^>ni3omKU(=wGKPcgqplmX}HT)zaI0JG6(WX`5C)CH#MhmNULn16yBGm#WJIyu(AH z(b~>8Iqqaj;L)-plMj5Pe)9I)rAdB^c+JbSlqYnFN_9pxbh-41w8x%Ya%tgj(cLF~ z(w)Wsie}U&nUDVcj>>*I=6gYTx5#>A?W-HRx+(Tg$E=b`|5COwZ$=H}d=aVTky8)0 zUZb{s?O$~^`w!Lb(M?QUNwkDdoqnk>@{6eaoi+dAsAtp?b<5b5Tjb~+`=h%XRR4%9 z{OU{9>feceRGOxj8T=64oc3t>1G^uTWu3g-2{TdSl#^nxMTXAMZyrj#FtD z-CkNOj*K4^X})H^eer348klP1+_$q&M11MCs=QW3`3|lts+=Yk-QDx*OUmF7<$pf# z*DmXR>Rs)~h)WkPQA*eKxo&l0DrwZJF;VBC3AWYP#uHDC_5*52_CTrRqxb^=zVkix$3o_(;v+FSVSk zoXPEZNiDlNC$nuILBDKp!$x^kH)ZkbrnUv*v9E)d25%bCa{JLbgX8AC)LmkUm(^vW zWqEe#xwi*JqTjpEEQz3zEw2|A7mn|cQYl{#EOiupqI&CYYd!Ytq5N_dJhG~6r-%oZ zN7oJvQeUVkdOuhEp^R$e=V+WgO(n(unZ(~SKwYn$v?Q0`OSOJD@oUMt4$9`>QOj== z2PxZK&8yC@>87TN7Pw!YA{7;v%r~P152(>j!WFNSNV>+Q)FRU+Q!5I3tj6yBLhae9?=PzApaT87wJ%H_6miv3gFUN1 zP>n5*OGBB@M4HW(I?-xm3oDATB|!W}MEtYk>`T4(B6iHYZ8xhVB7c{Aj>MWCYE1Od z`=`fxMDs7K(72-AD|$Y!eukpyQ|h^g&$7_fQp)GM9%pSvkLX?6hfe)sIeOoI>%%{P zku515i%#c`>ZW{VN{p%KUaH&W;9s*WlD^L5(7E5cpNgg~`a1vRy;Ifo~=W_PnN+8&;H`MRh|d$u)KJwI0eS(W;<9t&94Rs}vh< zgyJLcZwXcC5II-uRBUGVQjOCRrw%B6qvFY{pEB3$MWOPlKy zYyVKrAO0v7#`TK~)$R(D)PGZV2ii6+^OkGr4)JMkNxVg|CspUHw0tCTP<`_w%IOuw zz8_Fk{Nf9xDBgcTYtL_y-<|VzPnCN_?DE};cl$nz8v813KJ5EL&ELj)F*03D8O21l z@pT(Tn`?{{&iv>Q+0-W9zNYYrS|-ykA*d)>ZLoPgU^8S(uh z*LQP#!^g_e2jph2o6*`wrSy&wubDR}x|%5B8MytR%!)r=*Wf=9E&1(UuGcE1T#Iv8 z-%OUHU(_k_2;BUh3TDl?_#mfC^r_%{&EpAD>hO*0E8>*Di!T4Y;0C)N^M>F;@9ccw<6(4mQK~7uhi3HQTp0cL`e5=rJ~yWkDV9C^->N;4$S_Xe_gcfhMCX^i{*CIl{a@04yjY~0b|QpCd1zD4@h(9)qF?RaDWZS>^H)2i z|85R+mHwlVHevO@=|#Urpx?}iP6bjq;{X43?f?9B?Si2D!>uZ2!>&t<`+L5DcPT8G|j+n@5V+W$2Ep7$M@gbV&z*G zdh7UsJKJqyZtrk8QFE`#KC9#PtrG|T+3irIGS2m6?Sp-+E!JVTPab-7kiE}!r|YS@ zC-s3RlHS}tRsXCZ^2(ZVZl@2wIKh2X7k20LkymGUA8+q;J99LQu(<4FsHO7XuYJ+O zzxMUa((ajM@y^xazJa0c|0d4=x6#MH298Dl+_iSmWS?~6UoJx&(Tj{2xy&3Ay=CFv z05?n(KAVku7`VsR55LX8-FX?&_}~>P#9iU|B^AH8;cPp z;*+cZ{7TQoU6D=^SXerKq40|b?hPI8O~&tClC$ve1Rj3P@xiZ7+4zE=zs#H%VK6?+ z435GFiW`9s5qw8{NQ;&!VbBG5ntMEc4ROJ0lJMnRk5JshO2@AO-nc71OJ*sbBb&jH zz4`{>>s~U4S((0gdLn)i;%;UpejPR?E+-Pp$PP-tmmTp1pD_Fy6^{FPQ4~HnvIO|x z8RvyBg)#AKiYyMUsfqX`NOpmniG?`h7Y-gDo9B%$X30#ZhvWC5Zun{*e(REfUlaJa zLq-fId>$iHm>D5s2|E^xN#n}=a82alq3(E8h%CCSY*%~|;E(%dNby5(2O}1D_~N(G z6n@Q!!LLq!_%$^dUz7zv=%0n(Gx3Wo=5aF5vSqG2`sLz&S%`S?Ts+k?3HPMnx85?U z1aV~3xH5DEK`}C?1wr^gca*U@Qs#%d>|>TtHolOYDI-UY3}wG4EKvp<8;gyQQQS+0 zrh5jy7J}y_<;Wah<>8ZnP+5rMgYjhsGMU50!(`l&>7aYc=h@G`1^{{4?- zbk+vaiiQds`W%%Y=As|fp_)UB-)fS^l8DZKzF+El`E#gO{8o~muR+q@s*$54itmHwEax{5TL2(4Bq^zPkk{m^j9z&|BYmC*@($*n$ z_4Ex4$#LT+kVeL&iK&^ng(Yc4PPCphdCJsjq|J0&yBRZQ&9JBrSmc}$*kF$s%&aN^;fe;u3Pr z+I8#6gbf?XQgY;`QRJe{Teg;w+qRciR95ZC*}01(caz?G$i3D3$m;zEY7W+thwAFF z6p}oAdpMv^>soFq?>Cr_OodFJdn@;rIr;-#i$vf{F+<;vA-Bzc{@ar4&gJ9ka* zncuhAkY=bg^1o#+W_X!9uCIMu-=Z_Y;0nF0D-8@D|4 z@i=arzr)9uXbTIsGsCCSAoTG)ZvN<_eB6rA$M3j3L?6N9wh(O%;AVXuKZF%7K z1WykL_`rGJGn{Lm&0ymWMu* z#VrtRuiz$IX3_CDrZ;M}!v|sy+Sb8s7utfr?HS0;!22Vp-9?}BXbT0mbuj-e$lZXm54Ce>3k0`xv<-;cTfO1qV;G-|wkvS+2mBQQ zzgD#6ftxSdy1?x;_z@5DByha|;!%yZyKsAmwr_Bw84u4JMB5~|xdOf?!7dKkR>5ru z>@P%HA-J6!9xiP{+lRRA2OfBW96Rts3h^6&c$@~_41gVr0q1VOqsU}f{#(G83Ho27 zEgjsh%E|^ow4?1V+~z~vx1sGB+r!VmiYg8g-1e<0KdK9Ki+=CO&9Rd0Ngd8F4TdYhQM1(@P`6>Q=ndb09@@r&u8$f3~e3arVRCH zHpHs{;<*6yK7e_!h;s$xrxMup3vG|$hQGFe+b-z0 zMBDqg$w7Y}*hd5Z7NRXn+_b?C672H?KL?;*Bm-{6fXCtCX;Rtk57Ntm{y-ya1wqUP zJn(iXZh;`5J$#u61AFoIHg20BpT!Ep=VQQsC9p#W?41sAJOJ^p0(@>k-M0ffeuMv3 zfOCWPuv{D9Qzq1zslY2E$ZNdKi(44*p%Qpy2!1RCxf8*T2VmC(&|fvIhVTb}IFR>7 zP)`J)#|7#`5S;%2d#XUrd(e9UK{8t0N3SqsN z0(nM4d9~yINyYM=U_d$0`V?|Ix`OPWj@rIC2cY@q@BR;hmaq+kf(0|KP`yccJSlP ze{}@bTLSzk0vy%=Kl33TCt(~P>dr~fV}!l}f|~^7mje#RK;9j=->86m+XDXKuM6RJ z@#XMw2Jmq^mihaIJ-WbpiZdLq0wM``REr_-jnKHGscX za36rb_JW%w*!2K-rUv%S1wMFyA0@C(zJfga4f#73?5_hpE{FV9wHVfW807iG^&Nok zBB;$j2+-M+M}CEAUAN^6Mw?*ckYB4X%3v&Xo`cJ;|`&BS9|# z_CEn$_JO~ppYvq{Z-E_$LC+A_eHPB=0}krI6CvO@2KZtL_N;;XhdSubfO*caE@uM| z7lB=-V6QgteF);@3VO!C`Z)-AO$K{nU|uMUw}pB#4R|pUcu@=Xj08MW0KYuIO&$2L z0dOyX`x6%EDTH0fJ+A0 zQwQf;z@BlC*NXs$XTbXd5WjJ4GO zxB~UB74q~1ezbl^E%X%1h{Yb z2K?IwcIZR@1>l_!^3(xv4+DSf;dl@5set?bl@O=-P+tNEhYg(%yj6yL`2lv80q;J& z93IyR`LPe=PKM(auQ6Auc*FF9yyN!A>KH9!gP{O&0IwGimw4c_ zg88t%HprhEsHYW>r|BT~0Ql7d`6z<*y$Sre0rIxN{7rysDO^7T{P+XIF8}tr6AI9nK@IksALCyAJI$eP zDT3c_fZwA3>LK(CAf8QNmm=h6)3ABOJBZ&Gs1I9#SJrLA0{4PljS#n8!26TH3ohUz z1^GS@*LzUMPJo;PkdH-xe=WpG1$e#y`hB3T?SZ&lhPao2-xq+-1K|IDu=fS%zXH5@ z4tVQ>e+m%)8G!#gsJ|@0btm|78|rO3$nOOnUjch=!F@{SyJ7b&zMHfM4Z+*G2HN0OF|!dUpUXR9+0n=U?EfF7UDkaOJ{yE8ulD_?ZWO zPlx!=g?jWC^yCBHg@D5rsL!%36EtTH#7mntET9SM%u!e`=%8-|@a7<_3kM)Bi$MMa zu(KQd*adOi3Oo}*z1|Ca2n2ig!~A~8t1ZB*vw-t6@aGW7Nr829D#S$<@@X6Np9Z;q zz|UN$7a6?@y!QjwayK3%LJ`0K0bq z?jg{B66DVUoYTP1t01Qx?4AebhQPxsP+!&qpH_oCZNQ6Yuzx<_YYq963gcy)TgX&f zuqPAh?pdf;0U)30S}t~TkoJw%COXJ8mynE;J(5E zb0rx#~Adl7p|B69w0*vE>Ur!)jqk#{tU{@L7YX$MyC>h4@0N929tOhr4 zz&8Tc|9>Ek?_s^_gZzvDxp$#HodG*GLLDW6Pba{iqee1Vi4S1kbm099v*CU|#KRJJ z^)KMm2>dXBcy_`u72+@h;=2Lz=O*OKbKpZ9=&=T#CPJM(5BRx5{A)qqU-0KI;QVyh zJfaN7J%GCN1^9Fw_;CmBd+lJIYy-W@v|#~JAlC-`%>n&WAWjEB&WzzONH2lBK8V9h zAm~Nl8~$@J-1Hz%4#54T7T|IYc$g03bisZ(7&jH}EB}RctDKhDE(3*;5hkaz;?|9)7HhAfKMU#aR6|R0Y0@u-3SJI@t>sPhX1S+H)rUth4pGW;BXOeoc`ZB1Npk)zdVIH zavtvUY@p6pgMBfuP85J2A0WP^P#5k&ohgR%e6U{*_)rCST>`tJpsvROKhA-FtD#<4 z0}s&OImwy_)SWFbe;(kl1&)i_WcW{nwAu@1w}CmoPk0^utIv9pK8NSz_g z9sykfV7xrQcL&@(2J{~Z%ghfb52qnrkAc~Xz`f02*Aajv1#Uxk|F;Z)Js*KaLy)#3 zfd)6AoP`XtP5K?^?*i9n0n8zw=P1Bu3gz@Rl;@d{J~LtY<3hO7AT2+D9V5W6xj>8U z|D`YJEd(6a0IolWqeVo(?f+Ns!vydXz`Tz@*SpX^3+!AB;m3ceiCZ1`5pFar*dJ)= z2IW=^`VO|qhD#M7y_P{7>cF28D60zq&m-X1WVj7&9iA>Vhj?Ftv@wJ9oeTDL1HP`n zryYtpyO}A^FHW%4tnnX_iGvG34$_l8kV&kfEyk7=LWnv40!#5`8xpbYS32? zcCLkGU;^+Y7wX&s;D;{oEEMnz1V4X49PR*K?Qs4TaGV2Wq8ZtVO?(FSJOf@)5T_lG zZ?@o{Cg5WMd3h1y7YlalLtLH!zgoclb|`Bvz|L04qjKPd0`N`@Jh%_>w*&oJuzc(W z-0#4$;RW+wLLR>c`7Drk5At^Ee|!NPs-V9K{QL#wX$bT^0(|wf_iox^qhq}Z~O1| z2JHI){slofp9kaZfCsLSzbuH)Zt#CE#C13DTpjXmGVn|eZpT)DJUZl0EFAq{oFmks zX7KY3zW1S?&4cTI0OwV(93O7bVl z`PdD7n+W=*1D_kgPeUUa{KR$0g9nheOu*+Q)Uhcbk7yf?4+rvK9LO(&ytM!xje>l7 z3;a6(_~wIN0_>>-yv6`NmSE2&SdaVx9|pwF74o)bM}T)L)UmZ7e-Qd7 z0MDNM9rnWk?Cpa3!iBgl0eeP4|3uL52>RV&xyMf*!0i;Q2a%A+_-PEd@c}Odn1}!3 z9k!Du)@hO8k^aAWX3i!vv zb$f{4F2MUfkOPnz}7~+xkW|)T=kl&+?WW$Le;28&Yp9TNS;J)EL)S*{khc)DH zJN)`n0X$3u`8|+N

t13nqih7G+0`lrEtk_Px01OAN!T&6(WK0;nPLL4qae7=C6 z&9E+cfd8eCe@yT{3*>KtdSC~9Mc>cf6@&gw)~a3j-xDm9##jy;sjJlcd^jB1H%D6i zZ@SSi{C#qogh47uy3oTaBo^pRzCEejDQOd%k*bn|`IAw1wtjN4#zmv(Upa^2KVTx@72HGinlj zlGcg77(QTuWZ9DnuZPT#EZjS2h34h=452TIOZ?ERwk9idCEo;{+L9v%o0~PT+%wJE zXebhZI+X{+eG)75c0Q>*c&1HYNRAljlbO?odOPjW6;1Sm1P*ABqXyfCUN!ewlOwvt zNQOew5Yo8}JKlzTYub%PB2xy_@swC}3B!TJEJMT6tg&fgF#~;}eFmw}iKZ$nY(sua zhR`EF29Vot2ODfi<^Eq?5^ZvfMEtf{lHWX)91+`wEK%qbW8p^V2g}wcRe%5d+Vy&} z?A!6Qj;X`_Z_#r?I@_9ucI%P~y?ywZBG3N8c%ye0#rep9!8Y;R$;eWKJMAUtWyHWZ_zi$LybzBH5{fn7d79}U9-Opuw)Sg|!4kHC|l2azmW)P`MZ`-{GcPeW31 zCryGZLC7k97?eE1nvVYCt0zx+D^@v{~9F z?y4V8n<9}m4M?ONlCCasS68Q0(k%VnC2dAxq+Lx&j5_JJN|26bNptg%q_Y{7pMkFL;(=yq*W#`&EK!4| zE|Gq%|Bg);qv1%SE;47J^SdrhwMo(?>BNdJs3C8qU0oWq2~FrDN#x3fF64k%dI33v z1~nr$CE`x;QB5?rOWJ8hqjhv@)6_d94OlMz5lg%3rD`-<6OvDpNHuAb&Lf{M97SL> zAhVh!$UCuA+<@R}#&9)VXlg)qiX~}Mq;>={q6u4za!1pnvqcSd?gdwh)yJ3+@*^`B<*Z&K*G^D zB<_M(7C$6c4cWfVK;8$x&ByNs8TzvB@v8^j3GrUt|z zaVN5H=(9RYS@sPY*L#?>XwrFjig~KIlh}TQj;^WkuzhaI; zHlA{Msd8nb@{U&JUERui)Ksc%RQ9t~YIrKOr7CreDu-KDj&`dws;M5gQ9a34J=0yiw0f zN4;zu^}2P`+wM{C)JA`>8U2Yp`U`J#d+F$o#?e1oM|XCQ?!G+Yr_q>S4rBgAj_F%I z=I@>{;>%-(-i?tGYNW9mjZ#yHQX5gAro2~8RirlRz1kR3UENrHETyg$rLI$;uD4g+ zK%_qIz4`=F!`N8El+rMd(y%Phn7CJCl1O99dyQ%2*y+Y&?WnOcqsGoI7&~Y0*mH0jed8Qz-C8Jet3ny$w*-5+Rr{?ufvYxzvq^7Gd6&(I3oq!oNjEA)X@ z_)o1!b?stuWDLBXW37k z#oYsE#9QN=9uof2f7=6>XxeOZJw^T)mv{{hThWUdKG*1sziD_-|HPy z)7eex?={xnN9iAk(mzoOFn#hy%`hwH%%BgHev9= z1j)|{gocrvt&zNskz%Hi(qm}rZ92QqbWXMDycW|1A50g? znNcQYj&w7pXftM^nM<{qTZ@^;2Qx1@b8i!KU%ELb+B~4pJgC|{q{Te!gL#CUMU;s} z4Ba9w+9ILQBC*;cxy2&&gGIWWWrm4m7TuB`Z7C?U%&oRu++w-(gJr&)Re_0B5#4HK zwAJcDtCDJ~wJlcbKUi&)o4Cnj;uiYEvgnE13nx}oPpoR0xbwrr-E!7@O|19Ptq(+7 zA1t&!RBc_~VtwR;b%WfbVSA8a5 z&zyX7^W@vdC*OTI`F_vjR*fkSZKpi;nesGq%5x3N7u8cQVM?3a)b}P+Khmdu zj-L9paO$_}soz_s{`+BSm)x|UCewb=r~QeZ)>k;~Z}l{B%d{c6k&>Qi#8?|SI~#dl z8^tUer7bopCu~MOvKjr$Ms4i$UB=VLI!@P$nXXebU2orXgDca=eVjglW@~I}YwBog z9%E}+WIJ)6ZB?V~` z;S@82Sv13C-wd}aGd#wQ@ibNPqRsR+o$2d1lM^#DplD{$zL_CcW`=#789|#BWjZUy zaaLT+tc0RjiTh?HUzwHqaaKBQc82NfEXUdWnAw7&*}3~>FTOH+>BrgmH2VTm`yxmC zl`;0Ki|kAG*{{7~zy72BM%tWBrgOFw>1_3#vn^{*`Ib4AC+6&UG-ubZIeW&=t+t!H z-*;|J*4)}HbL&pboqBohk&km5X!DMl&O6~a?^MjZGez^x?VESu%DhV-=QY#ji%jQV zah!iGX8w($`M37XzjI~&y^r(%p)Gh|y5N!Hf+sNxZt@m9-?HH4i3RzuA1!$MYr(s* z3qRN`{N%gvOV+~nEektNEd23kVQ0*|F504>ri)(5+5K`{^e1LfU(uq!`xc3>EE@W_ zNJ?`c%^YY92ZdON5i1;&_dBRwbr|)@VT?SbZbpq|P+GB+&I(FzKjn0SGJH%evr`){ z?=V50Zfr(3WzfxI>6R<#6a6f${iaO1N}uwHK26?nx|yRL!*OP;R~WioWq5pIc*#3?n>qP1oH(&g0V|w>_B(}Kbqf3B z6d~^%W#$~iaE^<0PFUfbxZgQ>g>lMb=d|C>JWXci3}&_;GbfuV+{(;5$z1Z7x$HM{ zxhAXd@r)t{Yh^5J^$J$We%9Knto5H*8|7U#nYnCXxRk}ZY+vD0vEQZYs>{w#F1zJj zjWt}WXSnY7bFImCt=;NcchdFnW7ngF0Jj+wJUDxAQ06Ep>+%*iR=D4~>U{g8``yRx#m3tAf4jG8dOV!r@z~GfX|~7ntsXB=dc1z@ z@%FceI^p@=%=06|^K-1{*A<@M_IrN6>iO>{&n|hdpJraa7+!y3z4}&o{mq^`|ZDV-&pA&Alt8duwvMwfWwLCcRm(~rUNbLRW8%KThU`ME#w^Zer{PjbA?IlksTejJWJpA%Td2|mRM zeZmR@LkDlot%khur`*X|ulTP`kJn>KaLc2p9CNM6Wpj3l7D<=$VpDfX@1DrvXJwq zLM}cDY5Eg#Su3<%d9+-!v%?NwU346*9dtMgy z@>JOCCt+{@guT-W|1dNB6DRx&KfJvxyyH~(k0;@sf5N-9B6?;<{EnOaCoV#j7tvo9 zF>oqk@JWQ^PXwVIDK{%p-ak??CsJu!q{`{YkxwH>_eQFnwo$i;%A6Uc=^v$?6Q#Q? zO8<0J-DelWr%|r&qb4Xu8(T!1I!BwwM_aCno>&t->3Z~(FVWK!W2Rfg*g40{jE|YU zDrQbi%)IL{3%$0KE^pdESn@PsS#QGfUiShEZjm#0WjuHFDsD*)ckOlV`Y+s#iiw*n61RM@-0GjWEhn*j zTVmzu#2rr)cl9Rj(N3zKm9*bKsU|0>c3V>2)A9A!la5>;d$c#nLO%JJMe+&fU!#%FR5*cY40u4K02p;j!*l#D(%}U$Bxr!Kc1#__NH}fr}xZC z|LvdN+dHCfRr=qWbn*4{p)cv7Khp^vp4@Dnd;m{Tz*E}JQ#r#M`HVNZkEf=Sp)or{ zGay4-kfFOhL;p;i!HtY@&lJY@Wfa?r`9&(3B9WIGG8S=+N+nOwIU*&biB zy+-i8E&0AoJ|}@6u$muqkRQUd41LBA@8kbV5^_TMIouJ`5)bAi-^fY* znv>3C^K=B6vjzJY0)B!(JzF5$F37VCS$spV^s7LxTadq8M_4#pxFSHfN+2xWE?jd) zSRfLv|0>)#B6pKz?iOZlSwimi)wvT&b1To}?s%5Ft1owtPG0rwy!`=rHG;g_?Rj-) z@(w@C6Mo2RxDn8(v-tSz#U}$6pB5}WyM6KbGm9@iTin#Q__EHDmf1_L1}wQQSaNgw zlG|t0@7!2&@9UC(Ml5|`x%AO$^Tz>8p9+>f-@f$anWdR6OW%B5+9vRMH)8&K%Vi&# z%RVP8YtC8LzI|E8nPoqoE$i%C)~%D@Gdur;L;jzH{Jz!se-Gx1Zzv8v%a`=!6S~Xg z?3c^8n<{XZk0@UL@Al;?XP1wBzI=55ay8uo4f_JkzyhuK0-fRlz1jkUn+4+nQcMH?dA%P_7z@AE4{5&`m$DXxGMvSR|eIt47s^-&7+lWUsjg? zUKy#oD%yTkENfvLcU401s>Iq=$v0P}wy#R>59ZlNW>~GxVy)(vC*}xO3u|L?t;Xe@ zUA=@=xU_wBzEW|4RdErkcqO-Zb@7Vg^5QjTi`P9b_G>TRs8q7as$>hRq|829iay>e zFHt{OQgyRrXM4$Rr8Rr4*6d@gQD?8I5w1xrSaYa$P5sR^)*ADVw6AGUT3fHZ_PG7p zD#x{_xNGxs)}Ae2d;aX&i_h1Vw6ASeTBohOu7&G-g|+S)cimvtx|`+eZl7Iu_xZZ} z{p(tF*FUsh|2S~{Q{npO!L$~h69{Y{I12^^xH};orr1o!I(zr3{>c*k=jZ&pja$+gXrBorYbVP}&QbnoC zxzdp@N=N@KRnyy~F=vxz&?Z{UCY_Q^=QnTCKey>f%cgPPHce38T&lgdCcZLyuR<*d_|nTcCwmu#7HXv@4?Tb4Z7vheQ~2feNN^f_A@ zL0iAaZDp2hbvd-vv76(TsOSD-tH+0}Udm;6#+LcaDf0^|^Uo~{tSAdUR~GuBEPPI2 zgz~niiQ8gawmExmi_hK0t=N`yZd=NWZE1hE@&0bhP@bGQXM1+g_MF`9XIF2}J+yuC zt?f&{ZO>OOFPKO@>0Eu&2uWY232g!tthXk zs61D(<3+`;zZHA*Dy!#I?hmT0$*rudsH{6zdH6-;(Z7|AdR52gRGkc}I-Of}wxa6% zxvGmVs+#^*UDn&t^1|qf%Z_V_J8qQhxOHg9om)HZecSPm^3Df`=nv=Yd>pj%>EBJy zN_M_DwDZ-iop0uBd;53iyK{2yC+_;_vg>o=uCFD#z9m+6oZI!|#jei3ySnvu_srS- zJ7{-r?(Y7I-2>-#55Cwf$xW6j?;)-C*iYXhAG}8~Z;w*t9>e{6RM(6g`Et+bfjw%j z)6}i^j&2`I*gX*aR)i$onrd#i`bKN&HY2WNM`{vZ`n|FKPf{uNQRQ6NW`yJ=bVFd4Y&fCwb z-0ymRzq|fokBV)^Q+0rDlv)P4wKF*x;J@ zyc%w0O;T`d^6i?`j+%6pgBjKbyXPFt4nCNZcTiY)FmH|8;@bz8b{xzPUb$Sqws3Ck z3fI{ylWJG5sV%9iU3lUG+;Syy+y?(oaHqXTt~`t`@>)}IWn*Nmw@v!?!BUHygI^_M#8 zn^g{rtPfvtJ$xmxu2U9B$P=@^J2v$H7PF2}ho-Ir5_J$gA5& z-gF#kQ#txxU;fzj8K2CKehkj}6ns=a^61yPlJ?4@IfssZzkT%Ij-y>F4L_|Lez`XM z8Sw4RYv`|R@GDq5aK6EO@MXjN&ka(QMsiXk&8<=4RgL1}My0Aol?#m{Up2PBZ*1*r zR5LiHG4EKE^D(XDV>)Y(>D3=IxO42`lVjt>$BYb)n_RFnbvtgJeB3fb;h)vVC)OXI zw6mKBjm)a#V72mPRzY6Cnux%Q+> z{YkewCq3%Nc#2Q54Nm#YJLMO0%Kz26fVHQH?Wck-oCLiKdiq|-5Or{j`O zC#*f4SbsYC&gsWVmt9TAj&qJHt;tBe+n3zDsLyxkcVkOMdtPDfVQnd`e@yVR~~l{zoMs${f{%$jrWewGv&xm1;V2A8nW~McuaNN@Pk~ok=olxi(OacEe5X0 zqbF7WKgdFwOF8JDOgABWbos1Z_`y6mX|gTKxk#7lzv;hv&uEaUDeDK@&?o()1|p75 z`TJCtG*~vYSopQCtqFZ<+;;(e^gk7CfrMwF4U6_iU3iNC@7fCR)}wP+gs)3TLV!zn zZVrPLDU3@@4vS$21}BFxqR?dmZyU!(r3mphUKS%OCo$72E0V?ZjG%nNz5Rj$(Q~EI z6?%Mbc8GtJdn_wCAvM{b#fVLe7Nn*5;mt5_R;EX8W_$wEGu0Q5jZAXpg))+u8DTDA zAxR7ur#LD+E07h8H$>CjJ<>8bfvHSC_oRS?NT)F0phTuKAMb^w`K81}CuC+Y@dl;` zJ2;8sEOg6u4o;>r6M`JGax-1M;-Uf+(Z$frs03yr-uFxPONh&L56N?mbPM$KOiNAl z8Gg=FP8#;#1#is-=0$kruw5BWE_g#YA&eeI1x3X&ol;$#@#P$skgO~>C$=yXgXI+E z6%-r6@b_e7al@mSj@*!pTtAK=n#YRp$7cCC`Um*a{dwLD{{WZt45p8#i!diI$&ZdV z`C{Ti{aEo_7Y-wr$(MaSEt47Jljo8f6UYb^M7lCO#hfmKHFnq#N>9J7(QO<5DLcHJ3h~?+-)0~}{Y`VKEkL7{)V11pPv$#Q#E|_A` zT#t-k?_75eUT^}AQ--T=x_d;7j~6e(iO+OR3rH3wWd!9!`^NhEU@KGcrm>e-WD+mV z*~woJin$V=k-&{+1w;e|r?J8re#yLGE@nikZ(6)xN}@0{EGs1q@7?mVW1YS7ydxt$ zBJu)4{PS25L9(ZxxnUu}xm08lCyWsvpOWLB6zvl z&rm^XiknA9VtjNiD+3$EjNkf#j` z9_q@)sCxQ%J5xNqN1j^(73S^|iFd}svI7`d5tOHQUYdWZ3zMDY8!zzmbBc)0e}iVb4&>CsUE%w*YP61Wkc|L(Te%YA$94GfIN1;b>vXJTPBJ@k4C&vh) zgQ77B*6)LDBSh*+=2=W1knY9co-NRUIt#QG*>G6ShRW~#rhHy;xy-8(xW-7P0m z5X|#(^Ps}$0nrf&$sW!wS)no5<*dB8sC1Sal@l2#U?i};6CxcMf+%KQm}j&wI|P5V z$b&=0`1%ClZ+nCanNd!%aunC`_ex`pJVFmW<5lH${{ zDX&O>o<}y97s*X>W^)~}N?-Ssl=!%)+~9OxtglCKj1Mo*KiieXmoXzcEh{OImFW|f z?&}-ENQiNb4@&m%$Z?Hzbd{CS40ayZHJOnTnV#dAl$e?n?;o7w;e)~uEFbSKQ8t50{gKf$S31ftWB=geZGZ<+C4%ay|J2?c8a0`tJ$-%G%bAz~1 zvM+HZMx_M=JFx{QvzP&S&Ny|1j(m7ByYF)bjMUGf)SU_!hVP4Wh6&)qmr`od{Q%#ef;>oiP<@LLP{tj#xt9W zOAJVIL!S&f#X1Sx@Ve}l%gJyG;U?w5c3}&! z=^WS0R0@~u*p%F)EUtS3FFrUoh8-IgjiZ?5$&GXKj;AMJ^yxh3_<*z+r-U4*3{Fmf z(276wPFNCdep}9FZNsj}6NRjZ5)~$qD9#anm`Gj_x?jc@!ssDO3Ev+ItS@D64cQ zA%V~Yk%R=0&KRUDA_P&|o!)!zy-%iB6%ddv9R$UdrP**<0To>q_y+_93xX(32oP#$ zh87^nyzdT{_36HP_MG?5&YXWTGxxvu>$m*y6}FWkReNn#dpML9`x7C7Fy_YUSJ7Ew zjKS#?3PV<<+m;lG{j_McEW|c3f+DvSgNbwG{Aw9i3f-sUni33l(1w4>1Xi|0tFlI{ z7?d^WX5s@tSQ4bg&5D%O=?#m7iiph_Ov29XW4P_iT$)T2#nvQJXq*O?1%EXrX*_Pg zg6XK%aH>n7dRsEa)24V)g+gt!VEu{HL9tZMF)Mxagvsm-b8~=r24&I`&3WBw z4e{K8)MK?r8BDXx%rxn->{EC}XF0qEG)h(chyt0^G%Jl|NQUFi;rIq(c&R%J7f~0ez9dU0U`Hv~O^)fo)~w*U z+5WU$FV}?wF@4y>j9HB;iquJUMX^Ne)d8kapNOlpW{Z}>z!Hm!;&d@$3ANbVs9`GA zrorpFL{3F9rk7&Ta)NpvRU(aAu?Wlwj?<&FYy2j5+DB#3B61Cz<>M;-ZY+YJTBPO+ zVlItH7-K4!j+B&|G8xSjOqr4!G6{T|s7cNd`K(es#gMIaGcy?q2kea4kOJh<#S_PypS@gB`&@{!d3>nE-~g!E>b(hLLN^k(aMY_ zf7laYiR5+{J>jv^NrEh)mMl`V{vYQkNx@3?V zw8CN5hpk_%is+eod04H0qBu&1CLYl!TvSIjM{Z#Sa`}Tz>D(?G&>>hTl6I5Ao>b%c z%v9=`9IKq=q*ED6VYQW!PH<#8mpH2NYxUT!_$Gl|=+UYia<4KZ!2IecGAZKwLms(+ zsnaR=-k5+QL|6e{yH*?ta{Tg8oaGkDT?R?Szz|bXTqYkMbJ9$Uz$O#ff-;#Sl5oo~ zFt*#pQzXn0SyFDKOI2<`*epVEd`HC%a9Em%G9lB_xl%2lq?jmjEGMTw#>(Y&jtj9J z(L+?40k(1}P0CL>M4B+)iDe>_!b0mz(ZDiO9IHFc=TSl|S3=3Nq*Qb{bRgk?-lWAL4`CFVo~gBt5ksH zpcEJ#ut6}YMFD?6skNyjY6bKYb^jfZ4Lsz;i)jB_g5*F$4gp5gimP85@ zLyJaCL5*0N6sp2_?UE`}28-1v^ci9fJ0+-;XyBn3E5MS{$xL``NXyhPa$?};(iaPj zxrY}6(qMRgt63}nLWO(*8!xMLmoTC?Ncf?oP|kMB=}7G{1n5+SA9K!iR`c;L`|VQb1uctyCi~!4GhAHXLNrQ`VT?!ZkbGTD34G zlZgeAxZUAP#npJ)DI`Lwm%)fTxHN^#MUhyUR&zLFLJ=>vaC=mt_rOCg*GZ526j=IE zg-*zKyM0_v%tuqG<9;fNNw4xv-!13Fa61~X;ExA}Cb1-R-8)9*+_n;vWS84*n z6h{%!xC|)@;;A_zmtE^s;ng(CMlSdl1I)0%Ld!{6PvZvtRGXH{rs(aduvQWZW#Kgz zy5Lvd@&ADw@{a!x~o6!Mn^1)MbT&48m&~%A{LLUGg1w~5Ds;41$=gAL?dMd zf(Z{BN6A3ws8y}tN0dy7(UJ%=l{BGP>Y^LzTB=HH!eK{@NXpDj8TlG!Oemo1xF}(S z5G@YeA?4yK6AXQTVq#W9M72bwNBmp>lbWwFTcv6n!=M)h)N)ZSK!qYzLE5sglL4VT zY8TaDW(hI7V!cK|cgJ%9A10G5!Dre143LkW6FL6LY;6ikth#ZwEoX}ZjVAj&Cb zQCV@Ihu4ERL8Fb9(D?QC5Z}cUF;X~&FU?~yEv68nX>foc8}q3W$*BwnglSVv?jX~` zMOdEBunr~Jb`FD>gfQo}b=yA7B#1d0EiAd1MU}-!-6GhKf#==}X z4hE5_g8~TD!X#VcDTOznqKFh6UYM`rU{GOwBAjAtDY*b{M2*>W0*is7h?|{sSTNDu%z1{sbbt3_hP*#`GdfRA}^BlwlV{^X6iZ z+_qdepqA@(iGqoA*e!LW-Ch+-#1#qR8b%Ta!+HEzdMQ!T7L9BC$v{{k2|9x^DMrEy zTQCA8}qk@emPv^g}aMJ5BvL+E07*$Whc0JrJok%GQ_+9Ig_#Y z9%;;GM}D8p>VcLJ6c#YR%(xFqp9jSn`a?G5tzZRJ{Yj*CFzc2;0U8`R_b|+ju}#@5 zuG?O4GMl{uefL41iM>grTL8B&h`2BG(L*HEmjI*qZZ=zWG@G45hA==t`XLl-DTAUC z#ULSEQxXT&&x17F@4>9s0^18g5(i*>Zzyo`B@`7Erj50 zhWAZ?|2&o%^e=_6LD0_~p!sv)qY3(Y0N2Nm!FvYC3)km$fu#-yeJz3{*_WU#3b2Mi z`#zxOeV9rEp_s!)_|+Gz zx&z#w1E07~@OJ1k8uWM@c;UL}mh#ZU&q_-}##=b?Q8 z=(iYPr-A0@fQI&9hq%DV8Gs=LnVo<>CXmxDz@-6t=K`F$C$iZW0Z#+alLb1Pfrifk z_f^pQQusa&+INAj!XOhe=tu-I;{on-(6$TY6@$5O6Zjeea%=!O%?2Gfi(x*1y)A)h z+yQ9W1jRafgU)dcz+nK>0Cdj=9Vvl^?a+pc1PMTni@~OPfX!b4`euRrPJW-w+JUT- z&_@h3rGb`nz{?F7+xKKPI|y_d2E1DUUoW_ii*R+j3wS}_$3SK~fW9igVS@1s0e=Y; zleqyfmjE7IVCgfk#diQ^Cm0t1{+@+mAq)CJOda6t4WDk{l?`xfp>GYyZ!GZq6wo>q z+8P1xUxAj+Am2{F|6tJdPT&>N$7h>B?pkQa#i=?1A8fF<>DcSn_|1*q8OsW~HBV@oc;~ys7^S`G9jMRIc5L&r*S_jn z(E5XECr9-uXmxv>yfvRxSW-TI<)jx{lys_8?O6H3lvW-4u$GPg)8rT1mJf3s-tng? z(>wH{%qT~zrp|n%Qu3yXSoPxUE<-J!E<>xQz0~cg@P)&~>gn@(j-OmoL0L0nL0{Iw zN_A$<%teohRiqu%~}4W>%g1po$FqDb!71Lr^~5t z%zf>dWPSPmP1A)v$4w*^cN#uJ)SEiJV}Hr!8REXodA;ZhhtHJs=e|7Deqi%V>0`pz z$G_NV#4OnW=^LW8lJ{rH2P!w1K3O+>zT2#!A$K0AKdGt-B>_Hpd;(T|>O^@l%h zP2Ie7q+7UyaqRQ=8*bgW)4??Ug%+*Lh9^6kDKECIsERgpw9sZgGC;98`LLDoQnyj@ zn+*@!SPS~X1k1h1b3TAg>F2az<_G)H?uxSA733KkipjfI6hqpuUv&6emBJ=GeZLXu_{15vq79J#q)?Ryi;JNP!SLo@A zKYw(Ns0mkkHci`u2KAdfFR=GCsuie}{h}v`=NOw%=;A$;z8|LzOOq%!_pf=~@eqmf z>00ivFQ)BByVkNNCVJjL7e+6C>pgoDdT&v0Lz^X}OrNh4=O67)%8=fDWxH_C5!CTm z-)*0333UC=zM9$Rt|KzBx|8nR8iIFi-H9j1o9zQ)9(T|@pJ68bHYsCy=*7jOif^Lvcjf(09BoF+>g|kK zYEq`x*N0}zp>82u7lWgxHe1qnr^Cj1bz1P3s%r_QhI`^(Ty;j(W z#vkQhX&SMa2u?Y_|B|AH==Ij3XG1SHqm}Xp<_wrr^6wkCm`Ih_Fh)u2Q z4lNx?$_za?s$gi*G2~jjvHiQI1L)?%7mE~4_ffQTXP2xrizdujwp6~mj@UJ_ZiBb! zHZkgnC!ZQQv?{198Ed>v@Z^-kRqvc9+C{!3z3Vq5UhM2)X( z-J>0LAE6Rn+VeP1)WYt z8jw&iu}!nPnTS4fHqN?t8y(M%Jhkz{U82_V?U~1SHxQTK98nWreF_a4)n(s=@@vGT z^}Ie84jn;TB(AB?9{w7UmI|7;)a)Q0`i5Vqul)f{Y8u({miQnMy!+bx^FN$LJq&LQ zx3s^3b};tzZX9-p2$x$XoC{(T=t=v+Y|qqF`LTyx-rl1ZUy13nR?i z=<^t_>!`l9=>2V>GOv%6*(Dr5^p5u|S}^#tkfKX7;aPa3=bE+Wh?`d*ZZKp>nR52T zf#b=f%(55KD~D}pBFHa|8Al#)ftWe+{#n7e`^4yM-(!RJHX<}B`BeYO1)2D|*~34w zHxa$2zc@m0;WiQtqn+JV^bKnF$?M1G?=Hw(wjF=+gE5WhFqQQhx_gEAIy~{wb(3!p z`+7d(pHy{|xb^AgVEv}+#EN&5wW8T1%3|)h)4{qMs86+1K5*Yz;+1!kq0*9i;_j9! znd##SGB+O^->mI?iBNqvas8VszDCPV^IFb-^(4AnbT2Dk5ByU%9{Tf{i|FzGkum;D zSBdqbW_y)guMtDN2}7N$kka{~$hSSrr_h=T|Di)IYLR7HfYzrQi9*^^;-2}|6|{Bp zXug$lo9NCwS>Zf$A1y2K)D2`cqDjxcA-H(_42s_3-K#ipAMJ>>l5))l(3W{#{nStm zVk~H*tE~9}8IB!$V#@5R#0R9quReV60x|yns#hL<^)@=vdWE$5WIfS~b$tIzukR*y zENu*`M_fj%&Iiwyq_b$!mP>V0&n`hFTe`kK`iJwx8gc08hCiG~rozbX0q6vpzj6GB zUmqk<))41k-zTX@HEmZ$$fO;_Yn_bUb;b1rYuq;@8qc&q4jgQ7| z5|_H1dUpHud&D47vQ|5?2@Rd#yxXto2+F**>i(5L0i~p$*0E;O5h61tdi?WvGtuzc z>F-{9@)WA?H*Zkg+JekqZmm4h@m3aAt?-p;=@Y12>%O>Z+Ho|AK8Cd0+Js&|e0_$P z4y*2fS-sNasmSp0!F%MZ1({d24!EKV-yw?jd{jB6}pXxvDAOL=G=|jlxW$p$Ha+dWE&q0+y2&!NGIPb5^mi{kVq?6 zp1Dv!SOXAHy0H$z-s>?cGd*BO)nAW!k(p zmx1RNDtvHOBhl=9i=LTI3V9SbI+3I-nMvp&fAdBA-+Ms2*`jRzQ*e=YEoncxDqLBZ zPU7bb5^S3*Mv%%|MyxKo-(1=b8u}NO7nu9^;;nzABOH}TrEPG7g;d%Oe_H#KcsRku z2>5P;oS!Xuqw%kz@?1{Q(n3;c5p>Jt7X1;F{qI0w5I;RN{s^dSe}{_E6+ZHTuD{*F z_jWDY+m-zGBjgg;zfb0lWW(^0Y!)2Je)$Rb$vY(7OWQoiZwjsu z@^NYRs<}9)XvmV2;6F9F>i;?;>VN5h{Z~0s%idmE4A1kR5c~}e%AlMd4_Lzn+3P-fx*U+kS#pL-P!V#_Hr}eYE*%+wSVy;KwEV4-4pfvKs33njxg~kc zwc_qoU?(lof%F44ZQa-UALhW_^>kS+(E`88+v-ZlhiA3~YC1j!c;HoDQUFGWUuC=7 zRQ^sg^dZmv5}^Nl1pQU!+7(~4CO3TE`ajNGOJ29J&F{@y_=lCHR=CLXziK_YDqdNX zcCzd_hRR-o4n;{JMzXROiPQO zwN!ujM=i~7Rrx#3n3&9Bfc~?1u$F+B2l<8fFKSO-zo`9xqNV@l>RL8yNee)M)q=lv zE+SR-37W&9m_0h!8VvS|+rtrept{!+Lq-gFVz5+zL{gSeR^fvc_TOEkx8QMHgd|V= E8?l~P!T()L=lwq)F*Zjg73m^f+`^kk zh(ri!;6({tqD$8kkxEo1L_kq&G@1f%oeElC5{Y(M@Lfun$hO%w^Z+Rg>(EXTMrOj` zyrEN)N6B^+1v^d@q_JJrg%dmyV=5bX*xzg*Dke652&oTrF(3Qk13!$*l&=MNEEK1y z(}@)X<>x13?cul6dOfc?I+b#33$Z`(3TFrG07e}+T|je!_WqVMb?$i+i!yw@DkQ~Y zz4%bplj(IknKEM`lUlhUEE_W@wm&Wf8HF|vA}cM3P$dD}Xx|RJq(VYf6fU_|?CnhB zJwF^*s!|su#L{}Eu{GIEAtq|NcJ|K+!ugf|O{!>px&rlT%U#F@K;W5J?aE9OO7eRX z-Zlw=k8>4S^rnQK&cOxlCOm5CRLmz;Ygx*LEQC)IoZte(nXFSe=c-PY>5gRh+(PW4 zty85)S2egy_ofZUZRB3e>r~CT-}|1zoN@T6z&i!uuWAL?#*uP1v*D!*M=ElEY+X5} z6is&TFxx%$TxKF!9{Q7AE3l0F-rm%YLc?5HUFqJqJ-mB!G~C=WmhF8%_+kvKwSnu} nrpNhUt-sN;SGm(&x1Dv~H$BJfbv=`F?rdBmAMlU9gTMbTxpLOr literal 0 HcmV?d00001 diff --git a/benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/21453 b/benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/testcases/21453 new file mode 100644 index 0000000000000000000000000000000000000000..3255e1d29d857b99be9bb2be537e5897f106f135 GIT binary patch literal 172 zcmWGw;4&0t5M2dCOgf?&qC%oT5)2Fs{}~v8Bm^)4sToY7Op-bl3=(X`$r)<7 ziK0vlq8zGB60Bv3Ikl;#T%s(Z9HKl7Vg`~jk}_%>GNL?^tdbI}iDfyZsiHt(v5QP% z7nsyI7#M(*m;r+Z%y>OheM<$6oXot^ium-L%p?W}JyYEZF%t%TlcdZNO@?xyw`nyO zbMYn2?0mg_18cs@h)yXq|^G2+gUaO^b5cbEKo_!7Iv zR>Ib<#U2_=O9T^~NDDXUaq+nbq&(A<;@an_xhZZ}K=3blToXHP$@dPpU1Ik&&!-QU zALYx_+oN4XN5n;?z>EgCQJt%=^jfvjG?dgMm9dzrj_LicN5qmpW`0T&sM2>*Bk=ka zlJ~TjYoH+CP_X?%JYlaRe!95lAk7}}?CiD!_ l37LGL!u$r6_QO6U^{j#Q30^(SsH){z{83s&oz9)+Co6AnjoknM literal 0 HcmV?d00001 diff --git a/benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/thrift.patch b/benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/thrift.patch new file mode 100644 index 000000000..abdbf6255 --- /dev/null +++ b/benchmarks/arrow_arrow-ipc-stream-fuzz_1a34a0/thrift.patch @@ -0,0 +1,22 @@ +diff --git a/cpp/cmake_modules/ThirdpartyToolchain.cmake b/cpp/cmake_modules/ThirdpartyToolchain.cmake +index 9c062f86a..5d04ef92c 100644 +--- a/cpp/cmake_modules/ThirdpartyToolchain.cmake ++++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake +@@ -39,7 +39,7 @@ endif() + # ---------------------------------------------------------------------- + # We should not use the Apache dist server for build dependencies + +-set(APACHE_MIRROR "") ++set(APACHE_MIRROR "https://archive.apache.org") + + macro(get_apache_mirror) + if(APACHE_MIRROR STREQUAL "") +@@ -1129,7 +1129,7 @@ macro(build_thrift) + get_apache_mirror() + set( + THRIFT_SOURCE_URL +- "${APACHE_MIRROR}/thrift/${ARROW_THRIFT_BUILD_VERSION}/thrift-${ARROW_THRIFT_BUILD_VERSION}.tar.gz" ++ "${APACHE_MIRROR}/dist/thrift/${ARROW_THRIFT_BUILD_VERSION}/thrift-${ARROW_THRIFT_BUILD_VERSION}.tar.gz" + ) + endif() + diff --git a/benchmarks/aspell_aspell_fuzzer_e8eb74/Dockerfile b/benchmarks/aspell_aspell_fuzzer_e8eb74/Dockerfile new file mode 100644 index 000000000..262954263 --- /dev/null +++ b/benchmarks/aspell_aspell_fuzzer_e8eb74/Dockerfile @@ -0,0 +1,31 @@ +# Copyright 2019 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +################################################################################ + +FROM gcr.io/oss-fuzz-base/base-builder@sha256:87ca1e9e19235e731fac8de8d1892ebe8d55caf18e7aa131346fc582a2034fdd + +RUN git clone \ + https://github.com/gnuaspell/aspell.git \ + $SRC/aspell + +RUN git clone \ + https://github.com/gnuaspell/aspell-fuzz.git \ + $SRC/aspell-fuzz && \ + git -C $SRC/aspell-fuzz checkout fa4aa32c6bf9573801a7675137e1c31b9f13247f + + +WORKDIR $SRC/aspell-fuzz +COPY build.sh $SRC/ + diff --git a/benchmarks/aspell_aspell_fuzzer_e8eb74/benchmark.yaml b/benchmarks/aspell_aspell_fuzzer_e8eb74/benchmark.yaml new file mode 100644 index 000000000..c12a4c7c5 --- /dev/null +++ b/benchmarks/aspell_aspell_fuzzer_e8eb74/benchmark.yaml @@ -0,0 +1,50 @@ +# 4546146634170368 +commit: e8eb74793bce4fab381cc40f1c60f9572a99fb94 +commit_date : 2022-06-01T23:38:41+0000 +fuzz_target: aspell_fuzzer +project: aspell +type: bug +unsupported_fuzzers: + - aflcc + - afl_qemu + - aflplusplus_qemu + - aflplusplus_qemu_tracepc + - aflplusplus_frida + - honggfuzz_qemu + - klee + - lafintel + - weizz_qemu + - aflplusplus_classic_ctx + - aflplusplus_classic_ctx_18 + - aflplusplus_classic_ctx_20 + - aflplusplus_classic_ctx_21 + - aflplusplus_classic_ctx_23 + - aflplusplus_pcguard + - aflplusplus_classic + - cfctx_basic + - cfctx_bottom + - cfctx_dataflow_seadsa + - cfctx_dataflow_svf + - cfctx_params + - cfctx_plain + - cfctx_randomic + - cfctx_bottom_llc + - cfctx_dataflow_seadsa_llc + - cfctx_dataflow_svf_llc + - cfctx_randomic_llc + - cfctx_params_llc + - cfctx_params_1mb + - cfctx_params_2mb + - cfctx_params_4mb + - cfctx_params_512kb + - cfctx_params_768kb + - cfctx_full + - aflplusplus_cmplog_double + - symcc_aflplusplus_single + - eclipser_aflplusplus + - aflplusplus_qemu_double + - fuzzolic_aflplusplus_z3 + - symqemu_aflplusplus + - fuzzolic_aflplusplus_fuzzy + - fuzzolic_aflplusplus_z3dict + - tortoisefuzz diff --git a/benchmarks/aspell_aspell_fuzzer_e8eb74/build.sh b/benchmarks/aspell_aspell_fuzzer_e8eb74/build.sh new file mode 100755 index 000000000..e77ebd3e6 --- /dev/null +++ b/benchmarks/aspell_aspell_fuzzer_e8eb74/build.sh @@ -0,0 +1,21 @@ +#!/bin/bash -eu +# Copyright 2019 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +################################################################################ + +# Run the OSS-Fuzz script in the fuzzer project. +pushd $SRC/aspell-fuzz +./ossfuzz.sh +popd diff --git a/benchmarks/assimp_assimp_fuzzer_4d451f/Dockerfile b/benchmarks/assimp_assimp_fuzzer_4d451f/Dockerfile new file mode 100644 index 000000000..6fca7685b --- /dev/null +++ b/benchmarks/assimp_assimp_fuzzer_4d451f/Dockerfile @@ -0,0 +1,23 @@ +# Copyright 2021 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +################################################################################ + +FROM gcr.io/oss-fuzz-base/base-builder@sha256:87ca1e9e19235e731fac8de8d1892ebe8d55caf18e7aa131346fc582a2034fdd + +RUN apt-get update && apt-get install -y cmake ninja-build +RUN git clone --recursive https://github.com/assimp/assimp.git +WORKDIR assimp +COPY build.sh $SRC/ + diff --git a/benchmarks/assimp_assimp_fuzzer_4d451f/benchmark.yaml b/benchmarks/assimp_assimp_fuzzer_4d451f/benchmark.yaml new file mode 100644 index 000000000..37255c481 --- /dev/null +++ b/benchmarks/assimp_assimp_fuzzer_4d451f/benchmark.yaml @@ -0,0 +1,5 @@ +# 4515118433566720 +commit: 4D451FE437195025CB933C69670AACF4F92968B3 +fuzz_target: assimp_fuzzer +project: assimp +type: bug diff --git a/benchmarks/assimp_assimp_fuzzer_4d451f/build.sh b/benchmarks/assimp_assimp_fuzzer_4d451f/build.sh new file mode 100644 index 000000000..4cb8bea37 --- /dev/null +++ b/benchmarks/assimp_assimp_fuzzer_4d451f/build.sh @@ -0,0 +1,27 @@ +#!/bin/bash -eu +# Copyright 2021 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +################################################################################ + +# generate build env and build assimp +cmake CMakeLists.txt -G "Ninja" -DBUILD_SHARED_LIBS=OFF -DASSIMP_BUILD_ZLIB=ON \ + -DASSIMP_BUILD_TESTS=OFF -DASSIMP_BUILD_ASSIMP_TOOLS=OFF \ + -DASSIMP_BUILD_SAMPLES=OFF +cmake --build . + +# Build the fuzzer +$CXX $CXXFLAGS $LIB_FUZZING_ENGINE -std=c++11 -I$SRC/assimp/include \ + fuzz/assimp_fuzzer.cc -o $OUT/assimp_fuzzer \ + ./lib/libassimp.a ./contrib/zlib/libzlibstatic.a diff --git a/benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/Dockerfile b/benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/Dockerfile new file mode 100644 index 000000000..a5b6390f1 --- /dev/null +++ b/benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/Dockerfile @@ -0,0 +1,111 @@ +# Copyright 2016 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +################################################################################ + +FROM gcr.io/oss-fuzz-base/base-builder@sha256:87ca1e9e19235e731fac8de8d1892ebe8d55caf18e7aa131346fc582a2034fdd + +RUN apt-get update && \ + apt-get install -y \ + make \ + autoconf \ + libtool \ + build-essential \ + libass-dev \ + libfreetype6-dev \ + libsdl1.2-dev \ + libvdpau-dev \ + libxcb1-dev \ + libxcb-shm0-dev \ + libdrm-dev \ + pkg-config \ + texinfo \ + libbz2-dev \ + zlib1g-dev \ + yasm \ + cmake \ + mercurial \ + wget \ + xutils-dev \ + libpciaccess-dev \ + nasm \ + meson \ + rsync && \ + curl \ + -LO \ + http://mirrors.kernel.org/ubuntu/pool/main/a/automake-1.16/automake_1.16.5-1.3_all.deb && \ + apt install ./automake_1.16.5-1.3_all.deb && \ + rm automake_1.16.5-1.3_all.deb + +RUN git clone \ + --branch v1.2.8 \ + --depth 1 \ + https://github.com/alsa-project/alsa-lib.git + +RUN git clone \ + --branch v2.0.2 \ + --depth 1 \ + https://github.com/mstorsjo/fdk-aac.git + +RUN git clone \ + --branch libXext-1.3.5 \ + --depth 1 \ + https://gitlab.freedesktop.org/xorg/lib/libxext.git + +RUN git clone \ + --depth 1 \ + --branch 2.16.0 \ + https://github.com/intel/libva + +RUN git clone \ + --depth 1 \ + --branch libvdpau-1.2 \ + https://gitlab.freedesktop.org/vdpau/libvdpau.git + +RUN git clone \ + --depth 1 \ + --branch v1.12.0 \ + https://chromium.googlesource.com/webm/libvpx + +RUN git clone \ + --depth 1 \ + --branch v1.3.5 \ + https://github.com/xiph/ogg + +RUN git clone \ + --depth 1 \ + --branch v1.3.1 \ + https://github.com/xiph/opus + +RUN git clone \ + --depth 1 \ + --branch v1.1.1 \ + https://github.com/xiph/theora + +RUN git clone \ + --depth 1 \ + --branch v1.3.7 \ + https://github.com/xiph/vorbis + +RUN git clone \ + --depth 1 \ + --branch v2.10.3 \ + https://gitlab.gnome.org/GNOME/libxml2.git + +RUN git clone \ + --branch n5.1.2 \ + --depth 1 \ + https://git.ffmpeg.org/ffmpeg.git + +COPY build.sh group_seed_corpus.py $SRC/ diff --git a/benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/benchmark.yaml b/benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/benchmark.yaml new file mode 100644 index 000000000..dd5d60f7a --- /dev/null +++ b/benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/benchmark.yaml @@ -0,0 +1,47 @@ +# 5706852010164224 +commit: 7adeeff91f974ec5a69967dffe18331f666530eb +fuzz_target: ffmpeg_DEMUXER_fuzzer +project: ffmpeg +type: bug +unsupported_fuzzers: + - aflcc + - afl_qemu + - aflplusplus_qemu + - aflplusplus_qemu_tracepc + - aflplusplus_zafl + - aflplusplus_frida + - honggfuzz_qemu + - klee + - weizz_qemu + - lafintel + - eclipser + - eclipser_aflplusplus + - aflplusplus_qemu_inmem + - symcc_afl + - symcc_afl_single + - symcc_aflplusplus + - symcc_aflplusplus_single + - aflplusplus_unusual_enabled + - aflplusplus_unusual_disabled + - aflplusplus_cmplog_double + - symcc_aflplusplus_single + - eclipser_aflplusplus + - aflplusplus_qemu_double + - fuzzolic_aflplusplus_z3 + - symqemu_aflplusplus + - fuzzolic_aflplusplus_fuzzy + - fuzzolic_aflplusplus_z3dict + - cfctx_bottom + - cfctx_dataflow_seadsa + - cfctx_dataflow_svf + - cfctx_randomic + - cfctx_params + - cfctx_params_512kb + - afldd + - aflpp_vs_dd + - aflplusplus_gcc + - libfuzzer_dataflow + - libfuzzer_dataflow_load + - libfuzzer_dataflow_store + - libfuzzer_dataflow_pre + - wingfuzz diff --git a/benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/bionic.list b/benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/bionic.list new file mode 100644 index 000000000..8621803a7 --- /dev/null +++ b/benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/bionic.list @@ -0,0 +1,2 @@ +# use nasm 2.13.02 from bionic +deb http://archive.ubuntu.com/ubuntu/ bionic universe diff --git a/benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/build.sh b/benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/build.sh new file mode 100755 index 000000000..d45d543c2 --- /dev/null +++ b/benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/build.sh @@ -0,0 +1,175 @@ +#!/bin/bash -eux +# Copyright 2016 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +################################################################################ + +# Disable UBSan vptr since several targets built with -fno-rtti. +export CFLAGS="$CFLAGS -fno-sanitize=vptr" +export CXXFLAGS="$CXXFLAGS -fno-sanitize=vptr" + +# Build dependencies. +export FFMPEG_DEPS_PATH="$SRC/ffmpeg_deps" +mkdir -p $FFMPEG_DEPS_PATH + +export PATH="$FFMPEG_DEPS_PATH/bin:$PATH" +export LD_LIBRARY_PATH="$FFMPEG_DEPS_PATH/lib" +export PKG_CONFIG_PATH="$LD_LIBRARY_PATH/pkgconfig:$LD_LIBRARY_PATH/x86_64-linux-gnu/pkgconfig" + +(cd $SRC/alsa-lib +./gitcompile +./configure --prefix="$FFMPEG_DEPS_PATH" --enable-static --disable-shared +make clean +make -j$(nproc) all +make install) + +(cd $SRC/fdk-aac +autoreconf -fiv +CXXFLAGS="$CXXFLAGS -fno-sanitize=shift-base" \ +./configure --prefix="$FFMPEG_DEPS_PATH" --disable-shared +make clean +make -j$(nproc) all +make install) + +(cd $SRC/libxext +./autogen.sh +./configure --prefix="$FFMPEG_DEPS_PATH" --enable-static +make clean +make -j$(nproc) +make install) + +(cd $SRC/libva +./autogen.sh +./configure --prefix="$FFMPEG_DEPS_PATH" --enable-static --disable-shared +make clean +make -j$(nproc) all +make install) + +(cd $SRC/libvdpau +# Requires libpciaccess-dev +./autogen.sh +./configure --prefix="$FFMPEG_DEPS_PATH" --enable-static --disable-shared +make clean +make -j$(nproc) all +make install) + +(cd $SRC/libvpx +LDFLAGS="$CXXFLAGS" ./configure --prefix="$FFMPEG_DEPS_PATH" \ + --disable-examples --disable-unit-tests \ + --size-limit=12288x12288 \ + --extra-cflags="-DVPX_MAX_ALLOCABLE_MEMORY=1073741824" +make clean +make -j$(nproc) all +make install) + +(cd $SRC/ogg +./autogen.sh +./configure --prefix="$FFMPEG_DEPS_PATH" --enable-static --disable-crc +make clean +make -j$(nproc) +make install) + +(cd $SRC/opus +./autogen.sh +./configure --prefix="$FFMPEG_DEPS_PATH" --enable-static +make clean +make -j$(nproc) all +make install) + +(cd $SRC/theora +# theora requires ogg, need to pass its location to the "configure" script. +CFLAGS="$CFLAGS -fPIC" LDFLAGS="-L$FFMPEG_DEPS_PATH/lib/" \ + CPPFLAGS="$CXXFLAGS -I$FFMPEG_DEPS_PATH/include/" \ + LD_LIBRARY_PATH="$FFMPEG_DEPS_PATH/lib/" \ + ./autogen.sh +./configure --with-ogg="$FFMPEG_DEPS_PATH" --prefix="$FFMPEG_DEPS_PATH" \ + --enable-static --disable-examples +make clean +make -j$(nproc) +make install) + +(cd $SRC/vorbis +./autogen.sh +./configure --prefix="$FFMPEG_DEPS_PATH" --enable-static +make clean +make -j$(nproc) +make install) + +(cd $SRC/libxml2 +./autogen.sh --prefix="$FFMPEG_DEPS_PATH" --enable-static \ + --without-debug --without-ftp --without-http \ + --without-legacy --without-python +make clean +make -j$(nproc) +make install) + +# Remove shared libraries to avoid accidental linking against them. +rm $FFMPEG_DEPS_PATH/lib/*.so +rm $FFMPEG_DEPS_PATH/lib/*.so.* + +# Build ffmpeg. +cd $SRC/ffmpeg +PKG_CONFIG_PATH="$FFMPEG_DEPS_PATH/lib/pkgconfig" ./configure \ + --cc=$CC --cxx=$CXX --ld="$CXX $CXXFLAGS -std=c++11" \ + --extra-cflags="-I$FFMPEG_DEPS_PATH/include" \ + --extra-ldflags="-L$FFMPEG_DEPS_PATH/lib" \ + --prefix="$FFMPEG_DEPS_PATH" \ + --pkg-config-flags="--static" \ + --enable-ossfuzz \ + --libfuzzer=$LIB_FUZZING_ENGINE \ + --optflags=-O1 \ + --enable-gpl \ + --enable-libass \ + --enable-libfdk-aac \ + --enable-libfreetype \ + --enable-libopus \ + --enable-libtheora \ + --enable-libvorbis \ + --enable-libvpx \ + --enable-libxml2 \ + --enable-nonfree \ + --disable-muxers \ + --disable-protocols \ + --disable-demuxer=rtp,rtsp,sdp \ + --disable-devices \ + --disable-shared +make clean +make -j$(nproc) install + +# Download test sampes, will be used as seed corpus. +# DISABLED. +# TODO: implement a better way to maintain a minimized seed corpora +# for all targets. As of 2017-05-04 now the combined size of corpora +# is too big for ClusterFuzz (over 10Gb compressed data). +# export TEST_SAMPLES_PATH=$SRC/ffmpeg/fate-suite/ +# make fate-rsync SAMPLES=$TEST_SAMPLES_PATH + +# Build the fuzzers. +cd $SRC/ffmpeg + +FUZZ_TARGET_SOURCE=$SRC/ffmpeg/tools/target_dec_fuzzer.c + +export TEMP_VAR_CODEC="AV_CODEC_ID_H264" +export TEMP_VAR_CODEC_TYPE="VIDEO" + + +# Build fuzzer for demuxer +fuzzer_name=ffmpeg_DEMUXER_fuzzer +echo -en "[libfuzzer]\nmax_len = 1000000\n" > $OUT/${fuzzer_name}.options +make tools/target_dem_fuzzer +mv tools/target_dem_fuzzer $OUT/${fuzzer_name} + +# Find relevant corpus in test samples and archive them for every fuzzer. +#cd $SRC +#python group_seed_corpus.py $TEST_SAMPLES_PATH $OUT/ diff --git a/benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/group_seed_corpus.py b/benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/group_seed_corpus.py new file mode 100755 index 000000000..1e1d51cd6 --- /dev/null +++ b/benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/group_seed_corpus.py @@ -0,0 +1,138 @@ +#!/usr/bin/env python +# Copyright 2016 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +################################################################################ + +from __future__ import print_function +import logging +import os +import re +import sys +import zipfile + + +logging.basicConfig(level=logging.INFO, format='INFO: %(message)s') +CODEC_NAME_REGEXP = re.compile(r'codec_id_(.+?)_fuzzer') + + +def get_fuzzer_tags(fuzzer_name): + """Extract tags (are used to filter samples) from the given fuzzer name.""" + tags = [] + fuzzer_name = fuzzer_name.lower() + # All subtitle samples are in 'sub' directory, need to add 'sub' tag manually. + if 'subtitle' in fuzzer_name: + tags.append('sub') + m = CODEC_NAME_REGEXP.search(fuzzer_name) + if m: + codec_name = m.group(1) + # Some names are complex, need to split them and filter common strings. + codec_name_parts = codec_name.split('_') + for codec in codec_name_parts: + # Remove common strings from codec names like 'mpeg1video' or 'msvideo1'. + codec = codec.split('video')[0] + codec = codec.split('audio')[0] + codec = codec.split('subtitle')[0] + codec = codec.split('text')[0] + if codec: + # Some codec names have trailing characters: 'VP6F','FLV1', 'JPEGLS'. + # Use only first 3 characters for long enough codec names. + if len(codec) > 3: + tags.append(codec[:3]) + else: + tags.append(codec) + + return tags + + +def parse_corpus(corpus_directory): + """Recursively list all files in the given directory and ignore checksums.""" + all_corpus_files = [] + for root, dirs, files in os.walk(corpus_directory): + for filename in files: + # Skip checksum files, they are useless in corpus. + if 'md5sum' in filename: + continue + path = os.path.join(root, filename) + all_corpus_files.append(path) + + logging.info('Parsed %d corpus files from %s' % (len(all_corpus_files), + corpus_directory)) + return all_corpus_files + + +def parse_fuzzers(fuzzers_directory): + """Recursively list all fuzzers in the given directory.""" + all_fuzzers = [] + for filename in os.listdir(fuzzers_directory): + # Skip non-ffmpeg and non-fuzzer files in the given directory, + if not filename.startswith('ffmpeg_') or not filename.endswith('_fuzzer'): + continue + fuzzer_path = os.path.join(fuzzers_directory, filename) + all_fuzzers.append(fuzzer_path) + + logging.info('Parsed %d fuzzers from %s' % (len(all_fuzzers), + fuzzers_directory)) + return all_fuzzers + + +def zip_relevant_corpus(corpus_files, fuzzers): + """Find relevant corpus files and archive them for every fuzzer given.""" + for fuzzer in fuzzers: + fuzzer_name = os.path.basename(fuzzer) + fuzzer_directory = os.path.dirname(fuzzer) + fuzzer_tags = get_fuzzer_tags(fuzzer_name) + relevant_corpus_files = set() + for filename in corpus_files: + # Remove 'ffmpeg' substring to do not use everything for 'MPEG' codec. + sanitized_filename = filename.replace('ffmpeg', '').lower() + for tag in fuzzer_tags: + if tag in sanitized_filename: + relevant_corpus_files.add(filename) + + if not relevant_corpus_files: + # Strip last symbol from tags if we haven't found relevant corpus. + # It helps for such codecs as 'RV40' ('RV4' -> 'RV') or 'PCX' (-> 'PC'). + for tag in fuzzer_tags: + if tag[:-1] in sanitized_filename: + relevant_corpus_files.add(filename) + + logging.info( + 'Found %d relevant samples for %s' % (len(relevant_corpus_files), + fuzzer_name)) + + if not relevant_corpus_files: + continue + + zip_archive_name = fuzzer + "_seed_corpus.zip" + with zipfile.ZipFile(zip_archive_name, 'w') as archive: + for filename in relevant_corpus_files: + archive.write(filename) + + +def main(): + if len(sys.argv) < 3: + print('Usage: %s ' % __file__) + sys.exit(1) + + seed_corpus_directory = sys.argv[1] + fuzzers_directory = sys.argv[2] + + corpus_files = parse_corpus(seed_corpus_directory) + fuzzers = parse_fuzzers(fuzzers_directory) + zip_relevant_corpus(corpus_files, fuzzers) + + +if __name__ == '__main__': + sys.exit(main()) diff --git a/benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/nasm_apt.pin b/benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/nasm_apt.pin new file mode 100644 index 000000000..69099026b --- /dev/null +++ b/benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/nasm_apt.pin @@ -0,0 +1,7 @@ +Package: * +Pin: release n=bionic +Pin-Priority: 1 + +Package: nasm +Pin: release n=bionic +Pin-Priority: 555 diff --git a/benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/15111 b/benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/15111 new file mode 100644 index 000000000..7f006e05e --- /dev/null +++ b/benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/15111 @@ -0,0 +1 @@ + KPV ˙˙ K  \ No newline at end of file diff --git a/benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/15113 b/benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/15113 new file mode 100644 index 000000000..f4f504dff --- /dev/null +++ b/benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/15113 @@ -0,0 +1 @@ +904444:4 \ No newline at end of file diff --git a/benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/15117 b/benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/15117 new file mode 100644 index 000000000..def776441 --- /dev/null +++ b/benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/15117 @@ -0,0 +1 @@ +@5@44444442˙ \ No newline at end of file diff --git a/benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/15118 b/benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/15118 new file mode 100644 index 0000000000000000000000000000000000000000..beab19b9baffe44bd8be017a3e6e3f28cd08205d GIT binary patch literal 69 wcmXTREXzzuEH*Iy4*~UzYzzzxj0^@0?ic_l&d3OrWpoGfHcxE;ay$P608bSY)c^nh literal 0 HcmV?d00001 diff --git a/benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/15123 b/benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/15123 new file mode 100644 index 000000000..165f81ed6 --- /dev/null +++ b/benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/15123 @@ -0,0 +1 @@ +1bit ˙˙ ˙˙ ˙ \ No newline at end of file diff --git a/benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/15151 b/benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/15151 new file mode 100644 index 0000000000000000000000000000000000000000..8ac930ba28762fc5288bcd6bd9ca6196a441556d GIT binary patch literal 5877 zcmZQz7-ZlBgUEonNC2D7|NsC0j7^;N0az3${Rx{i{l)%2q^6x%!-AR?44_#Y17o)Y zS=N3eOV=RP1k5eZ(VV7$#-|sTk--6E6)z3#tEZva)H3@2e`=XDVCFEAVKXg!y&ew8 za1cQ)zZe*RXcVA_!2j3iBDnZWxFqn10}HGNc%-Q>1*&&3>!(4LOAk}e*9z1#3T)CN zO7gY110}A3L{T(8K#B1r=^eNxG)c}xC{~6s6<~}}8Z!i_890)d#?w*+mM?jc0m4FH zG5Zg}!^?u1gjW$Z$vK8cS~8`%1c0EQ0YoMPRe|b+fB)`bQ%|~>An97Dql5I$8Y9Cy zvICL=H{)z=lhcO7>yCQ7vJ^_PP^cfLc4kZ&QB0vBCPI9>3z!O!6T%O?9wn{>lfr8T zeIKE z!lPUrO~G78cVKZ|lJoE1Cb!V2DBTc8cP*eJ7#W!U?*|E}0tJ8y80!9k08kp3+Fq9c znVZ~_GZ{ESqcXS^bVCFZ6G5pESc3fj42&|6FB*W|fdBvg|7T80OicVgD>1PiNdEzv zmEwZ}{{0ob?_Y2H&r5l09|KdT@yX*dK-+)y^Y7gE0bl*|59Ztu$6pK$7v&b5+kEW% zg!{*r`#3<&cSEtK0m8F~3*Nphd;9k7J3x#G2cUabl;nV%4+UQs7Z3bWz+`j!CKlpzeRG~*P)OU56x-;0N YFi6#hI35Ef0RhKk_uH3lBUcA00AH3L`v3p{ literal 0 HcmV?d00001 diff --git a/benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/15166 b/benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/15166 new file mode 100644 index 0000000000000000000000000000000000000000..0a64b8a8027954b357b051465640aebb8258f8e0 GIT binary patch literal 207 qcmXTREXzzuEH*G!U}R9h0RN!?LxLIt3~)n$w!qmq83Yx9%mV=ASSQT@ literal 0 HcmV?d00001 diff --git a/benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/15174 b/benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/15174 new file mode 100644 index 0000000000000000000000000000000000000000..f0e491a57432a7e0a2ee150c4eb4f605c0ee7109 GIT binary patch literal 60 qcmdmfgF(UE^OoQ;KL+-facg@OVBkNL0izWZAS?z32C&S3h5rB<6%Y~t literal 0 HcmV?d00001 diff --git a/benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/15205 b/benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/15205 new file mode 100644 index 0000000000000000000000000000000000000000..b439058e69e5e64c1a514ea745bc29e473541e6c GIT binary patch literal 297721 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

4+h4q;-@DRW$m@;zp31aVY5nn3F8)wTX}La zcosaHp>ZqEsfxDqr2rf+!tr9hGYqX~O#$7XVyJCB(~QIMVu)Nw=t2tUJ__uTT%@_r z(9paxXS|3qnW_soUNo$NR%2^`c19(g-k)6W8>Any*V+GtdZb@A3;VT<$N)`UvmH@` z+2VGR(mwxf>dBkjE#-WifhHCBb9zQUet&K$BV~i zYW4bXV++u<{cV`8(iB!J%5|q+q}hI=azLJP0s)Q}6@6CG4{$fY-4s0CfxF2@*>c5r zxM+ZjhNeOX$BVjA1Gt-lm-e*X0e8cc1MVj6{7GLAd-!%?Br(v&CfSLAY3`$>V3g|eP&{*_LGY-H^h+IhM zLJH`%CA$b_VkzQkoe30H7XZu{*cSk1Vp$~$RT5iarJ2{Pv;m_&05b+b(q6{Fd{mnY zq}Zoz+^gqV4FH(Q3ZYZ{7eMi)QgPpQ`bg{h0L*x7jlT&g0Kg0YGYO|kR>c6A$wt`% zU?%W|7dWaRzdHcT=;jFkX0lqdb8ZKK8743QGdWMQh~}~RZWl%j98BU%0A>J~iD0$N zlEAazSpa4-W2bIz2)G;IZn}B?uEw$JaGKEl>zQU8xSJ5UkkEw`&`nf!NiG1TF)$=% zE#Pi+k20cndj#=-yNP8L;BI2clPWU~!2(A$L{d1a$<8wla5s;fWF!z_!ieu&Z$naf z8%oN%EpbFfL&@y*a8zTE4VOd#;BJ7sDVPy}yD`exAy+}LDqUvD}-!5My2HF?}fx7|jCW_axN(0Y=XMwxPikmWO z2U@+IDWTQlv(I!WhW458*=H*+^fj#*ZW$Za09t)UOLpGPK&xj8L#xkwo`u_ohF}*) z3}rp>CA4~I^xm?$*J3^0c1L6T!YVndnO bjQ~j^*@(j;1xHNth!89^#n)t%7hdRYo|I0f!X` P1q|fqr%?NUqV)p+c+HVu literal 0 HcmV?d00001 diff --git a/benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/15480 b/benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/15480 new file mode 100644 index 0000000000000000000000000000000000000000..686c5c70f56d028af5f78d172e11fcc72c5dde31 GIT binary patch literal 8501 zcmeGhZD?Cn^t`5Q*0HQ><{z1(wModLg*EB6#0+dSZS2?vZb^q>v&1Hwb4`L|E#er7 zKPGe*EB>4cf>M}KkiH*U_hU+(?AL}MiWaiD5uJYosZ@&TyPo^*eII%GTBlAo-br}( z-gD1A=iGDdJLlwP;@HHoL_E9A3qmVY!r{u{>P9V_CZJ{i$ibmd+1 zg0Q(~Gk^nGpch1uY6FW-2W%0pAxI9~3+|_NtsQ%DvKE0Y|2_VL_RPPd8%)o-X}G#2ZL1j7K*2}zP>2emN{CFz_F zQIkNwf)n^DM?!2%D48;*&<{pNUC|hc5t2tDNg{11ThS!WVYkvLLmu5KQP*1jAVfja zwj6i}8OXrV7uQ@wXaV}s2d^jI=;}=3(+aLq*Y%+w*Qh`uBofu1wWK~v_ zE#JdG+UU1M`#Fp|6)}l;+sBT6w<~odVn&RCU?Ko^zI`vus z9;`R@pW~%FtN{z4ghg5mnS;@}m8re&w7>57MN-0VUxyPc09}N*SPI18e?JE3U4zj9 zt}agjHJ2l$sIcOKg5g?}&>BWsH9H{5u$*XW(aH)iQl=9C%}ILFUlpOKE2iEG#xbh* z_PE#Y8BHYpp49UR=;~*C!9>hD^eLR*Qa$hi==9pdjiu9wDWaN|SyZ#9!5{-I6rwSi z4=y6P@B@)(3{9$<;wO-LB32wH7*oUK85uf#K981?kFykwE>&%MWZ&Va5uT=qWW)#* z`wV^PU}53&1q2!nvAII~2#S$;($=huh??17_Hfil_jWY^M^%vGW^_jcuGW?@>yZzn zzfO(Pi9XeemYQ0cMT~mx@1Y__%jC^^N|n~6(7x0#ANe{OXM(Umh>Mk2da1yf*jZrOWP3=~MJoYFgW+$9Z@n zQ0f{ovnd z=I%%g)X#hu=1o8&cmAC@^CsX{tY_W?s6T(rn*h}m=1qX|--CG*!2Z23|IW~gvwx#! T7JRpot*U8q=1sueeiQH)BkoCZ literal 0 HcmV?d00001 diff --git a/benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/15496 b/benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/15496 new file mode 100644 index 0000000000000000000000000000000000000000..c87568078a6b981d8dfaa47dd41ef87a6fd06b84 GIT binary patch literal 77491 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 BZ!`b^ literal 0 HcmV?d00001 diff --git a/benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/16127 b/benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/16127 new file mode 100644 index 0000000000000000000000000000000000000000..3dcad940564dcecab6f1ec48617879873aa33808 GIT binary patch literal 24779 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 literal 0 HcmV?d00001 diff --git a/benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/22520 b/benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/22520 new file mode 100644 index 0000000000000000000000000000000000000000..144039b56cc2fb932eb7067d3252c71d792f4288 GIT binary patch literal 73 VcmWIX2w+h74+IL>0WNV2)c|}L4d?&> literal 0 HcmV?d00001 diff --git a/benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/23162 b/benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/23162 new file mode 100644 index 0000000000000000000000000000000000000000..74be838b1d31023f733f6c1428c0bf7d6e6f6e8e GIT binary patch literal 48 gcmWIX2w+f9_^n0@-0D~ppXaE2J literal 0 HcmV?d00001 diff --git a/benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/24193 b/benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/24193 new file mode 100644 index 000000000..64222f1fe --- /dev/null +++ b/benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/24193 @@ -0,0 +1,3 @@ + +0:0:0.1,0:0:1.1 + \ No newline at end of file diff --git a/benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/24457 b/benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/24457 new file mode 100644 index 0000000000000000000000000000000000000000..d45dd1fb055e77f0ac1d5c6f7f7bb8f604f6c189 GIT binary patch literal 12 TcmZo*VBk+HsVq?V|6c(B7mx&z literal 0 HcmV?d00001 diff --git a/benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/24708 b/benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/24708 new file mode 100644 index 0000000000000000000000000000000000000000..64898df5e53cf9bd2ad48705c78a3e3dd5f9ad85 GIT binary patch literal 2049 zcmZQz00LFKfH8o9iBW~2fpIefquZVhJMS|xFeospGB7Z1WBC5Rp5d;5wDcC5s<}3rbd|61UL&B g12aV>);fm@=Hg6{ICB*hLJ1Kv=(Q$7h6;WI00-n1GXMYp literal 0 HcmV?d00001 diff --git a/benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/24793 b/benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/24793 new file mode 100644 index 000000000..8af873008 --- /dev/null +++ b/benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/24793 @@ -0,0 +1 @@ +.raý ˙ Int4 \ No newline at end of file diff --git a/benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/24908 b/benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/24908 new file mode 100644 index 000000000..b86c2ca06 --- /dev/null +++ b/benchmarks/ffmpeg_ffmpeg_demuxer_fuzzer_7adeef/testcases/24908 @@ -0,0 +1 @@ +DEXA a ˙˙  \ No newline at end of file diff --git a/benchmarks/file_magic_fuzzer_2d5f85/Dockerfile b/benchmarks/file_magic_fuzzer_2d5f85/Dockerfile new file mode 100644 index 000000000..becc5c2e1 --- /dev/null +++ b/benchmarks/file_magic_fuzzer_2d5f85/Dockerfile @@ -0,0 +1,32 @@ +# Copyright 2016 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +################################################################################ + +FROM gcr.io/oss-fuzz-base/base-builder@sha256:87ca1e9e19235e731fac8de8d1892ebe8d55caf18e7aa131346fc582a2034fdd + +RUN apt-get update && apt install -y make autoconf automake libtool shtool +RUN apt-get update && apt install -y libbz2-dev liblzma-dev zlib1g-dev libzstd-dev liblz4-dev +RUN apt-get update && apt install -y libbz2-dev:i386 liblzma-dev:i386 zlib1g-dev:i386 libzstd-dev:i386 liblz4-dev:i386 +RUN git clone https://github.com/file/file.git + +# Supplement file's existing test files +RUN git clone https://github.com/DavidKorczynski/binary-samples.git && \ + git -C binary-samples checkout 50f4f6ad752e982f26fab167665e763b6877c942 +RUN git clone https://github.com/corkami/pocs && \ + git -C pocs checkout 127008ce71f27a722cb0e6fdcc3b161cae1f8d13 + + +WORKDIR file +COPY build.sh fuzzer_temp_file.h magic_fuzzer.cc magic_fuzzer_loaddb.cc magic_fuzzer_fd.cc $SRC/ diff --git a/benchmarks/file_magic_fuzzer_2d5f85/README.md b/benchmarks/file_magic_fuzzer_2d5f85/README.md new file mode 100644 index 000000000..343b00730 --- /dev/null +++ b/benchmarks/file_magic_fuzzer_2d5f85/README.md @@ -0,0 +1,29 @@ +# file v5.35 + +Modified the source `magic_fuzzer.cc` to exercise the functionality that exposes +these four CVEs (use `magic_file` versus `magic_buffer`). These bugs are related, +but not easily found within 24hr fuzzing. + +- bug benchmark +- 4 known bugs with POCs + +## CVE-2019-8904 +- [bug report](https://bugs.astron.com/view.php?id=62) +- [POC input](https://bugs.astron.com/file_download.php?file_id=40&type=bug) +- [patch](https://github.com/file/file/commit/94b7501f48e134e77716e7ebefc73d6bbe72ba55) + Avoid non-nul-terminated string read. + +## CVE-2019-8905 +- [bug report](https://bugs.astron.com/view.php?id=63) +- [POC input](https://bugs.astron.com/file_download.php?file_id=41&type=bug) +- [patch](https://github.com/file/file/commit/d65781527c8134a1202b2649695d48d5701ac60b) + limit size of file_printable. + +## CVE-2019-8906 +- [bug report](https://bugs.astron.com/view.php?id=64) +- [POC input](https://bugs.astron.com/file_download.php?file_id=42&type=bug) + +## CVE-2019-8907 +- [bug report](https://bugs.astron.com/view.php?id=65) +- [POC input](https://bugs.astron.com/file_download.php?file_id=43&type=bug) + diff --git a/benchmarks/file_magic_fuzzer_2d5f85/benchmark.yaml b/benchmarks/file_magic_fuzzer_2d5f85/benchmark.yaml new file mode 100644 index 000000000..ada6b247c --- /dev/null +++ b/benchmarks/file_magic_fuzzer_2d5f85/benchmark.yaml @@ -0,0 +1,11 @@ +# 4575106269839360 +commit: 2D5F85874BF3C9C4841C08D18E97E0FE16BAE19F +commit_date: 2022-09-16T16:52:35+0000 +fuzz_target: magic_fuzzer +project: file +type: bug +unsupported_fuzzers: + - aflcc + - klee + - lafintel + - honggfuzz diff --git a/benchmarks/file_magic_fuzzer_2d5f85/build.sh b/benchmarks/file_magic_fuzzer_2d5f85/build.sh new file mode 100755 index 000000000..fa8fbea1d --- /dev/null +++ b/benchmarks/file_magic_fuzzer_2d5f85/build.sh @@ -0,0 +1,37 @@ +#!/bin/bash -eu +# Copyright 2016 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +################################################################################ + +autoreconf -i +./configure --enable-static --enable-fsect-man5 +make V=1 all + +$CXX $CXXFLAGS -std=c++11 -Isrc/ \ + $SRC/magic_fuzzer.cc -o $OUT/magic_fuzzer \ + $LIB_FUZZING_ENGINE ./src/.libs/libmagic.a -l:libz.a -l:liblz4.a -l:libbz2.a -l:liblzma.a -l:libzstd.a +$CXX $CXXFLAGS -std=c++11 -Isrc/ \ + $SRC/magic_fuzzer_loaddb.cc -o $OUT/magic_fuzzer_loaddb \ + $LIB_FUZZING_ENGINE ./src/.libs/libmagic.a -l:libz.a -l:liblz4.a -l:libbz2.a -l:liblzma.a -l:libzstd.a +$CXX $CXXFLAGS -std=c++11 -Isrc/ \ + $SRC/magic_fuzzer_fd.cc -o $OUT/magic_fuzzer_fd \ + $LIB_FUZZING_ENGINE ./src/.libs/libmagic.a -l:libz.a -l:liblz4.a -l:libbz2.a -l:liblzma.a -l:libzstd.a + +cp ./magic/magic.mgc $OUT/ + +mkdir pocs_all +find $SRC/pocs/ -type f -print0 | xargs -0 -I % mv -f % ./pocs_all + +zip -j $OUT/magic_fuzzer_seed_corpus.zip ./tests/*.testfile $SRC/binary-samples/{elf,pe}-* $SRC/pocs_all diff --git a/benchmarks/file_magic_fuzzer_2d5f85/fuzzer_temp_file.h b/benchmarks/file_magic_fuzzer_2d5f85/fuzzer_temp_file.h new file mode 100644 index 000000000..1af66594a --- /dev/null +++ b/benchmarks/file_magic_fuzzer_2d5f85/fuzzer_temp_file.h @@ -0,0 +1,81 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Adapter utility from fuzzer input to a temporary file, for fuzzing APIs that +// require a file instead of an input buffer. + +#ifndef FUZZER_TEMP_FILE_H_ +#define FUZZER_TEMP_FILE_H_ + +#include +#include +#include +#include +#include + +// Pure-C interface for creating and cleaning up temporary files. + +static char* fuzzer_get_tmpfile(const uint8_t* data, size_t size) { + char* filename_buffer = strdup("/tmp/generate_temporary_file.XXXXXX"); + if (!filename_buffer) { + perror("Failed to allocate file name buffer."); + abort(); + } + const int file_descriptor = mkstemp(filename_buffer); + if (file_descriptor < 0) { + perror("Failed to make temporary file."); + abort(); + } + FILE* file = fdopen(file_descriptor, "wb"); + if (!file) { + perror("Failed to open file descriptor."); + close(file_descriptor); + abort(); + } + const size_t bytes_written = fwrite(data, sizeof(uint8_t), size, file); + if (bytes_written < size) { + close(file_descriptor); + fprintf(stderr, "Failed to write all bytes to file (%zu out of %zu)", + bytes_written, size); + abort(); + } + fclose(file); + return filename_buffer; +} + +static void fuzzer_release_tmpfile(char* filename) { + if (unlink(filename) != 0) { + perror("WARNING: Failed to delete temporary file."); + } + free(filename); +} + +// C++ RAII object for creating temporary files. + +#ifdef __cplusplus +class FuzzerTemporaryFile { + public: + FuzzerTemporaryFile(const uint8_t* data, size_t size) + : filename_(fuzzer_get_tmpfile(data, size)) {} + + ~FuzzerTemporaryFile() { fuzzer_release_tmpfile(filename_); } + + const char* filename() const { return filename_; } + + private: + char* filename_; +}; +#endif + +#endif // FUZZER_TEMP_FILE_H_ diff --git a/benchmarks/file_magic_fuzzer_2d5f85/magic_fuzzer.cc b/benchmarks/file_magic_fuzzer_2d5f85/magic_fuzzer.cc new file mode 100644 index 000000000..0d788b00a --- /dev/null +++ b/benchmarks/file_magic_fuzzer_2d5f85/magic_fuzzer.cc @@ -0,0 +1,54 @@ +// Copyright 2016 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#include +#include +#include +#include +#include +#include + +#include + +struct Environment { + Environment(std::string data_dir) { + magic = magic_open(MAGIC_COMPRESS|MAGIC_CONTINUE|MAGIC_NO_COMPRESS_FORK); + std::string magic_path = data_dir + "/magic"; + if (magic_load(magic, magic_path.c_str())) { + fprintf(stderr, "error loading magic file: %s\n", magic_error(magic)); + exit(1); + } + } + + magic_t magic; +}; + +static Environment* env; + +extern "C" int LLVMFuzzerInitialize(int* argc, char*** argv) { + char* exe_path = (*argv)[0]; + // dirname() can modify its argument. + char* exe_path_copy = strdup(exe_path); + char* dir = dirname(exe_path_copy); + env = new Environment(dir); + free(exe_path_copy); + return 0; +} + +extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { + if (size < 1) + return 0; + magic_buffer(env->magic, data, size); + return 0; +} diff --git a/benchmarks/file_magic_fuzzer_2d5f85/magic_fuzzer_fd.cc b/benchmarks/file_magic_fuzzer_2d5f85/magic_fuzzer_fd.cc new file mode 100644 index 000000000..a5fc28096 --- /dev/null +++ b/benchmarks/file_magic_fuzzer_2d5f85/magic_fuzzer_fd.cc @@ -0,0 +1,58 @@ +// Copyright 2022 Google LLC. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#include +#include +#include +#include +#include +#include +#include + +#include "fuzzer_temp_file.h" + +#include + +struct Environment { + Environment(std::string data_dir) { + magic = magic_open(MAGIC_COMPRESS|MAGIC_CONTINUE|MAGIC_NO_COMPRESS_FORK); + std::string magic_path = data_dir + "/magic"; + if (magic_load(magic, magic_path.c_str())) { + fprintf(stderr, "error loading magic file: %s\n", magic_error(magic)); + exit(1); + } + } + + magic_t magic; +}; + +static Environment* env; + +extern "C" int LLVMFuzzerInitialize(int* argc, char*** argv) { + char* exe_path = (*argv)[0]; + // dirname() can modify its argument. + char* exe_path_copy = strdup(exe_path); + char* dir = dirname(exe_path_copy); + env = new Environment(dir); + free(exe_path_copy); + return 0; +} + +extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { + FuzzerTemporaryFile ftf (data, size); + int fd = open(ftf.filename(), O_RDONLY); + magic_descriptor(env->magic, fd); + close(fd); + return 0; +} diff --git a/benchmarks/file_magic_fuzzer_2d5f85/magic_fuzzer_loaddb.cc b/benchmarks/file_magic_fuzzer_2d5f85/magic_fuzzer_loaddb.cc new file mode 100644 index 000000000..b47eb29bc --- /dev/null +++ b/benchmarks/file_magic_fuzzer_2d5f85/magic_fuzzer_loaddb.cc @@ -0,0 +1,36 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#include +#include +#include +#include +#include + +#include + +#include "fuzzer_temp_file.h" + +extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { + if (size < 1) + return 0; + + FuzzerTemporaryFile ftf (data, size); + magic_t magic = magic_open(MAGIC_NONE); + + magic_check(magic, ftf.filename()); + magic_compile(magic, ftf.filename()); + magic_close(magic); + return 0; +} diff --git a/benchmarks/grok_grk_decompress_fuzzer_9cd001/Dockerfile b/benchmarks/grok_grk_decompress_fuzzer_9cd001/Dockerfile new file mode 100644 index 000000000..a87646f8b --- /dev/null +++ b/benchmarks/grok_grk_decompress_fuzzer_9cd001/Dockerfile @@ -0,0 +1,27 @@ +# Copyright 2020 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +################################################################################ + +FROM gcr.io/oss-fuzz-base/base-builder@sha256:87ca1e9e19235e731fac8de8d1892ebe8d55caf18e7aa131346fc582a2034fdd + +RUN git clone \ + https://github.com/GrokImageCompression/grok.git \ + grok +RUN git clone https://github.com/GrokImageCompression/grok-test-data.git \ + grok-data + +WORKDIR grok +COPY build.sh $SRC/ + diff --git a/benchmarks/grok_grk_decompress_fuzzer_9cd001/benchmark.yaml b/benchmarks/grok_grk_decompress_fuzzer_9cd001/benchmark.yaml new file mode 100644 index 000000000..494cf92f1 --- /dev/null +++ b/benchmarks/grok_grk_decompress_fuzzer_9cd001/benchmark.yaml @@ -0,0 +1,27 @@ + +commit: 9cd001d3bb41e4a24e4fbaea95855110fbf3068a +commit_date: 2022-12-07T16:22:50+0000 +fuzz_target: grk_decompress_fuzzer +project: grok +type: bug +unsupported_fuzzers: + - centipede + - aflcc + - afl_qemu + - aflplusplus_qemu + - aflplusplus_qemu_tracepc + - aflplusplus_frida + - honggfuzz_qemu + - klee + - lafintel + - weizz_qemu + - cfctx_dataflow_seadsa + - cfctx_dataflow_seadsa_llc + - aflplusplus_cmplog_double + - symcc_aflplusplus_single + - eclipser_aflplusplus + - aflplusplus_qemu_double + - fuzzolic_aflplusplus_z3 + - symqemu_aflplusplus + - fuzzolic_aflplusplus_fuzzy + - fuzzolic_aflplusplus_z3dict diff --git a/benchmarks/grok_grk_decompress_fuzzer_9cd001/build.sh b/benchmarks/grok_grk_decompress_fuzzer_9cd001/build.sh new file mode 100755 index 000000000..21ee2269b --- /dev/null +++ b/benchmarks/grok_grk_decompress_fuzzer_9cd001/build.sh @@ -0,0 +1,26 @@ +#!/bin/bash -eu +# Copyright 2020 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +################################################################################ + +mkdir build +cd build +cmake .. -DGRK_BUILD_CODEC=OFF -DBUILD_SHARED_LIBS=OFF -DGRK_BUILD_THIRDPARY=ON +make clean -s +make -j$(nproc) -s +cd .. + +./tests/fuzzers/build_google_oss_fuzzers.sh +./tests/fuzzers/build_seed_corpus.sh diff --git a/benchmarks/lcms_cms_transform_all_fuzzer_97d37d/Dockerfile b/benchmarks/lcms_cms_transform_all_fuzzer_97d37d/Dockerfile new file mode 100644 index 000000000..a62ded5df --- /dev/null +++ b/benchmarks/lcms_cms_transform_all_fuzzer_97d37d/Dockerfile @@ -0,0 +1,31 @@ +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +################################################################################ + +FROM gcr.io/oss-fuzz-base/base-builder@sha256:87ca1e9e19235e731fac8de8d1892ebe8d55caf18e7aa131346fc582a2034fdd + +RUN apt-get update && \ + apt-get install -y \ + make \ + automake \ + libtool \ + wget + +RUN git clone https://github.com/mm2/Little-CMS.git + +RUN wget -qO $OUT/cms_transform_all_fuzzer.dict \ + https://raw.githubusercontent.com/google/fuzzing/master/dictionaries/icc.dict +COPY cms_transform_all_fuzzer.c build.sh $SRC/ +ADD seeds /opt/seeds diff --git a/benchmarks/lcms_cms_transform_all_fuzzer_97d37d/benchmark.yaml b/benchmarks/lcms_cms_transform_all_fuzzer_97d37d/benchmark.yaml new file mode 100644 index 000000000..bb62332c0 --- /dev/null +++ b/benchmarks/lcms_cms_transform_all_fuzzer_97d37d/benchmark.yaml @@ -0,0 +1,25 @@ +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# 5883733894365184 +commit: 97D37DF9C961638E80C639FEB2F31B38C40A14BA +commit_date: 2022-07-26T14:34:48+0000 +fuzz_target: cms_transform_all_fuzzer +project: lcms +unsupported_fuzzers: + - symcc_afl + - symcc_afl_single + - symcc_aflplusplus + - afldd + - aflpp_vs_dd diff --git a/benchmarks/lcms_cms_transform_all_fuzzer_97d37d/build.sh b/benchmarks/lcms_cms_transform_all_fuzzer_97d37d/build.sh new file mode 100755 index 000000000..283d68df0 --- /dev/null +++ b/benchmarks/lcms_cms_transform_all_fuzzer_97d37d/build.sh @@ -0,0 +1,32 @@ +#!/bin/bash -ex +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +cd Little-CMS +./autogen.sh +./configure +make -j $(nproc) + +# build your fuzzer(s) +FUZZERS="cms_transform_all_fuzzer" + +for F in $FUZZERS; do + $CC $CFLAGS -c -Iinclude \ + $SRC/$F.c -o $SRC/$F.o + $CXX $CXXFLAGS \ + $SRC/$F.o -o $OUT/$F \ + $LIB_FUZZING_ENGINE src/.libs/liblcms2.a +done + +cp -r /opt/seeds $OUT/ diff --git a/benchmarks/lcms_cms_transform_all_fuzzer_97d37d/cms_transform_all_fuzzer.c b/benchmarks/lcms_cms_transform_all_fuzzer_97d37d/cms_transform_all_fuzzer.c new file mode 100644 index 000000000..0684505ee --- /dev/null +++ b/benchmarks/lcms_cms_transform_all_fuzzer_97d37d/cms_transform_all_fuzzer.c @@ -0,0 +1,59 @@ +/* Copyright 2022 Google LLC +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + http://www.apache.org/licenses/LICENSE-2.0 +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +#include +#include "lcms2.h" + +void +run_test(const uint8_t *data, + size_t size, + uint32_t intent_id, + uint32_t input_format, + uint32_t output_format, + uint32_t flags) { + if (size < 2) { + return; + } + + size_t mid = size / 2; + + cmsHPROFILE hInProfile, hOutProfile; + cmsHTRANSFORM hTransform; + + hInProfile = cmsOpenProfileFromMem(data, mid); + hOutProfile = cmsOpenProfileFromMem(data + mid, size - mid); + hTransform = cmsCreateTransform(hInProfile, input_format, hOutProfile, + output_format, intent_id, flags); + cmsCloseProfile(hInProfile); + cmsCloseProfile(hOutProfile); + + if (hTransform) { + cmsDeleteTransform(hTransform); + } +} + +int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { + if (size < 16) { + return 0; + } + + // Generate a random set of args for cmsCreateTransform + uint32_t input_format = *((const uint32_t *)data); + uint32_t output_format = *((const uint32_t *)data+1); + uint32_t flags = *((const uint32_t *)data+2); + uint32_t intent = *((const uint32_t *)data+3) % 16; + data += 16; + size -= 16; + + run_test(data, size, intent, input_format, output_format, flags); + return 0; +} diff --git a/benchmarks/lcms_cms_transform_all_fuzzer_97d37d/seeds/seed b/benchmarks/lcms_cms_transform_all_fuzzer_97d37d/seeds/seed new file mode 100644 index 0000000000000000000000000000000000000000..84618ba47aa6d163a2e9cd0500a09a1995cf8521 GIT binary patch literal 800 zcmd5)u}T9$5PjJo7=OTa?ewbTENnwoP$4#{l5}^Al`Di?1TDg*5=(!^f3VhH5KL`p z(DCgh;f{-yh4}7ZX5Q`&Z+O!m47J!p)9vvGj(R7Zs80?hBsLqJ0U{+XPisp;-mp_3 z=R_VwJ}dY4LoIT@rne7fAyvn5r^)yVu%R|E4mWX@=<`-|+90J;r7}D2CaK13VA3)0 z)ZCLG>p@v}J>laR^>$4Wp(A0O&U@S``+haLn8?@S1$BPFEwDuyVVok8-!0eG^S`S9 zgN7ew{n*sCb_7*NE|-p=vnp8x;= literal 0 HcmV?d00001 diff --git a/benchmarks/libaom_av1_dec_fuzzer_6e1848/Dockerfile b/benchmarks/libaom_av1_dec_fuzzer_6e1848/Dockerfile new file mode 100644 index 000000000..17658fab1 --- /dev/null +++ b/benchmarks/libaom_av1_dec_fuzzer_6e1848/Dockerfile @@ -0,0 +1,23 @@ +# Copyright 2018 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +################################################################################ + +FROM gcr.io/oss-fuzz-base/base-builder@sha256:87ca1e9e19235e731fac8de8d1892ebe8d55caf18e7aa131346fc582a2034fdd + +RUN apt-get update && apt-get install -y cmake yasm wget +RUN git clone https://aomedia.googlesource.com/aom +ADD https://storage.googleapis.com/aom-test-data/fuzzer/dec_fuzzer_seed_corpus.zip $SRC/ +COPY build.sh $SRC/ +WORKDIR aom diff --git a/benchmarks/libaom_av1_dec_fuzzer_6e1848/README.md b/benchmarks/libaom_av1_dec_fuzzer_6e1848/README.md new file mode 100644 index 000000000..5d90b688c --- /dev/null +++ b/benchmarks/libaom_av1_dec_fuzzer_6e1848/README.md @@ -0,0 +1,52 @@ +# Submit a Patch to oss-fuzz repo + +## One-time Setup + +1. Create github account if needed (with @google.com email address, preferably) + and log in. +1. To allow “git push” to work, you’ll have to add an SSH key: + https://help.github.com/articles/connecting-to-github-with-ssh/ +1. Go to https://github.com/google/oss-fuzz and click on “Fork”. +1. Go to your own fork of the repo, which will be at + https://github.com/\/oss-fuzz +1. Click on “clone or download” and pick “Clone with SSH” method (I found that + easier to use for “git push”). Then copy that URL and run “git clone \” + in terminal. Now you have a local repo, and **your fork** of the remote repo + will be called “**origin**” in your git config. +1. Configure a remote repo pointing to the **upstream repo** + (https://github.com/google/oss-fuzz) so that it’s called “**upstream**”: + * cd \/oss-fuzz + * git remote add upstream git@github.com:google/oss-fuzz.git + * git remote -v + +NOTE: For trivial changes it's possible to edit the files in the web UI on the +main project and create a commit + pull request from that. + +## Workflow for a Pull Request (Patch) + +1. Go to your repo: + * cd \/oss-fuzz +1. Create a new branch: + * git checkout master + * git checkout -b new_feature_xyz +1. Make your changes and commit them locally with “git commit” +1. Push your changes to your fork on github + * git push -u origin HEAD + * (This will create a branch of the same name “new_feature_xyz” on your + fork “origin”). +1. Open your fork in browser and click on “Compare & pull request” and follow + the prompts. +1. If changes are requested to the patch: + * make changes to the same local branch + * commit them locally with “git commit” (but DO NOT amend!) + * git push -u origin HEAD +1. Once pull request is closed: + * Delete “new_feature_xyz” branch on your fork using the “Delete branch” + button on the pull request + * Delete local “new_feature_xyz” branch locally with “git checkout master + && git branch -D new_feature_xyz” + * Sync your local repo and your fork with upstream repo: + * git checkout master + * git fetch upstream + * git merge upstream/master + * git push origin master diff --git a/benchmarks/libaom_av1_dec_fuzzer_6e1848/benchmark.yaml b/benchmarks/libaom_av1_dec_fuzzer_6e1848/benchmark.yaml new file mode 100644 index 000000000..ccab9d1e1 --- /dev/null +++ b/benchmarks/libaom_av1_dec_fuzzer_6e1848/benchmark.yaml @@ -0,0 +1,5 @@ +# 4601636403675136 +commit: 6E184898310E49E33231B508618D6FDE8B84AB90 +fuzz_target: av1_dec_fuzzer +project: libaom +type: bug diff --git a/benchmarks/libaom_av1_dec_fuzzer_6e1848/build.sh b/benchmarks/libaom_av1_dec_fuzzer_6e1848/build.sh new file mode 100755 index 000000000..53c87ebfc --- /dev/null +++ b/benchmarks/libaom_av1_dec_fuzzer_6e1848/build.sh @@ -0,0 +1,69 @@ +#!/bin/bash -eu +# Copyright 2018 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +################################################################################ + +# Build libaom +build_dir=$WORK/build +mkdir -p ${build_dir} +pushd ${build_dir} +# Remove files generated by the previous build. +rm -rf ./* + +# oss-fuzz has 2 GB total memory allocation limit. So, we limit per-allocation +# limit in libaom to 1 GB to avoid OOM errors. A smaller per-allocation is +# needed for MemorySanitizer (see bug oss-fuzz:9497 and bug oss-fuzz:9499). +if [[ $CFLAGS = *sanitize=memory* ]]; then + extra_c_flags='-DAOM_MAX_ALLOCABLE_MEMORY=536870912' +else + extra_c_flags='-DAOM_MAX_ALLOCABLE_MEMORY=1073741824' +fi +# Also, enable DO_RANGE_CHECK_CLAMP to suppress the noise of integer overflows +# in the transform functions. +extra_c_flags+=' -DDO_RANGE_CHECK_CLAMP=1' + +extra_cmake_flags= +# MemorySanitizer requires that all program code is instrumented. Therefore we +# need to replace all inline assembly code that writes to memory with pure C +# code. Disable all assembly code for MemorySanitizer. +if [[ $CFLAGS = *sanitize=memory* ]]; then + extra_cmake_flags+="-DAOM_TARGET_CPU=generic" +fi + +cmake $SRC/aom -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_FLAGS_RELEASE='-O3 -g' \ + -DCMAKE_CXX_FLAGS_RELEASE='-O3 -g' -DCONFIG_PIC=1 -DCONFIG_LOWBITDEPTH=1 \ + -DCONFIG_AV1_ENCODER=0 -DENABLE_EXAMPLES=0 -DENABLE_DOCS=0 -DENABLE_TESTS=0 \ + -DCONFIG_SIZE_LIMIT=1 -DDECODE_HEIGHT_LIMIT=12288 -DDECODE_WIDTH_LIMIT=12288 \ + -DAOM_EXTRA_C_FLAGS="${extra_c_flags}" -DENABLE_TOOLS=0 \ + -DAOM_EXTRA_CXX_FLAGS="${extra_c_flags}" ${extra_cmake_flags} +make -j$(nproc) +popd + +# build fuzzers +fuzzer_src_name=av1_dec_fuzzer +fuzzer_name=${fuzzer_src_name} + +$CXX $CXXFLAGS -std=c++11 \ + -I$SRC/aom \ + -I${build_dir} \ + -Wl,--start-group \ + $LIB_FUZZING_ENGINE \ + $SRC/aom/examples/${fuzzer_src_name}.cc -o $OUT/${fuzzer_name} \ + ${build_dir}/libaom.a -Wl,--end-group + +# copy seed corpus. +cp $SRC/dec_fuzzer_seed_corpus.zip $OUT/${fuzzer_name}_seed_corpus.zip +cp $SRC/aom/examples/av1_dec_fuzzer.dict $OUT/${fuzzer_name}.dict + diff --git a/benchmarks/libpcap_fuzz_filter_98b0a2/Dockerfile b/benchmarks/libpcap_fuzz_filter_98b0a2/Dockerfile new file mode 100644 index 000000000..338edfedd --- /dev/null +++ b/benchmarks/libpcap_fuzz_filter_98b0a2/Dockerfile @@ -0,0 +1,29 @@ +# Copyright 2018 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +################################################################################ + +FROM gcr.io/oss-fuzz-base/base-builder@sha256:87ca1e9e19235e731fac8de8d1892ebe8d55caf18e7aa131346fc582a2034fdd +RUN apt-get update && \ + apt-get install -y make cmake flex bison + +RUN git clone https://github.com/the-tcpdump-group/libpcap.git libpcap + +# For corpus as wireshark. +RUN git clone https://github.com/the-tcpdump-group/tcpdump.git tcpdump && \ + git -C tcpdump checkout 032e4923e5202ea4d5a6d1cead83ed1927135874 + +WORKDIR $SRC +COPY build.sh $SRC/ + diff --git a/benchmarks/libpcap_fuzz_filter_98b0a2/benchmark.yaml b/benchmarks/libpcap_fuzz_filter_98b0a2/benchmark.yaml new file mode 100644 index 000000000..88db5a666 --- /dev/null +++ b/benchmarks/libpcap_fuzz_filter_98b0a2/benchmark.yaml @@ -0,0 +1,34 @@ +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# 4503656338161664 +commit: 98B0A25B92C09850079325D780EF521B8ED6453E +commit_date: 2023-02-25T22:56:01+0000 +fuzz_target: fuzz_filter +project: libpcap +unsupported_fuzzers: + - klee + - symcc_afl + - symcc_afl_single + - symcc_aflplusplus + - symcc_aflplusplus_single + - aflplusplus_cmplog_double + - eclipser_aflplusplus + - aflplusplus_qemu_double + - fuzzolic_aflplusplus_z3 + - symqemu_aflplusplus + - fuzzolic_aflplusplus_fuzzy + - fuzzolic_aflplusplus_z3dict + - afldd + - aflpp_vs_dd diff --git a/benchmarks/libpcap_fuzz_filter_98b0a2/build.sh b/benchmarks/libpcap_fuzz_filter_98b0a2/build.sh new file mode 100644 index 000000000..f99be06e5 --- /dev/null +++ b/benchmarks/libpcap_fuzz_filter_98b0a2/build.sh @@ -0,0 +1,40 @@ +#!/bin/bash -eu +# Copyright 2018 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +################################################################################ + +cd libpcap +# build project +mkdir build +cd build +cmake -DDISABLE_DBUS=1 .. +make + +# build fuzz targets +$CC $CFLAGS -I.. -c ../testprogs/fuzz/fuzz_filter.c -o fuzz_filter.o +$CXX $CXXFLAGS fuzz_filter.o -o $OUT/fuzz_filter libpcap.a $LIB_FUZZING_ENGINE + +# export other associated stuff +cd .. +cp testprogs/fuzz/fuzz_*.options $OUT/ +# builds corpus +cd $SRC/tcpdump/ +zip -r fuzz_pcap_seed_corpus.zip tests/ +cp fuzz_pcap_seed_corpus.zip $OUT/ +cd $SRC/libpcap/testprogs/BPF +mkdir corpus +ls *.txt | while read i; do tail -1 $i > corpus/$i; done +zip -r fuzz_filter_seed_corpus.zip corpus/ +cp fuzz_filter_seed_corpus.zip $OUT/ diff --git a/benchmarks/systemd_fuzz-network-parser_288baf/Dockerfile b/benchmarks/systemd_fuzz-network-parser_288baf/Dockerfile new file mode 100644 index 000000000..10d6e1887 --- /dev/null +++ b/benchmarks/systemd_fuzz-network-parser_288baf/Dockerfile @@ -0,0 +1,30 @@ +# Copyright 2018 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +################################################################################ + +FROM gcr.io/oss-fuzz-base/base-builder@sha256:87ca1e9e19235e731fac8de8d1892ebe8d55caf18e7aa131346fc582a2034fdd + +RUN apt-get update && \ + apt-get install -y libcap-dev + +RUN git clone \ + --depth 1 \ + --branch v252 \ + https://github.com/systemd/systemd && \ + cp $SRC/systemd/tools/oss-fuzz.sh $SRC/build.sh && \ + # Move shared libraries and tweak rpath for all $ARCHITECTURE. + sed -i '119d;126d' $SRC/build.sh + +WORKDIR systemd diff --git a/benchmarks/systemd_fuzz-network-parser_288baf/benchmark.yaml b/benchmarks/systemd_fuzz-network-parser_288baf/benchmark.yaml new file mode 100644 index 000000000..79647621e --- /dev/null +++ b/benchmarks/systemd_fuzz-network-parser_288baf/benchmark.yaml @@ -0,0 +1,8 @@ +# 6326353730863104 +commit: 288BAFA952B1D515E10BDF8C8F0ADDE3ACBBE4BE +commit_date: 2022-06-10T20:01:24+0000 +fuzz_target: fuzz-network-parser +project: systemd +unsupported_fuzzers: + - centipede + - wingfuzz diff --git a/service/test_automatic_run_experiment.py b/service/test_automatic_run_experiment.py index cd61d42d7..363a3e356 100644 --- a/service/test_automatic_run_experiment.py +++ b/service/test_automatic_run_experiment.py @@ -76,15 +76,18 @@ def test_run_requested_experiment(mocked_get_requested_experiments, 'curl_curl_fuzzer_http', 'jsoncpp_jsoncpp_fuzzer', 'libpcap_fuzz_both', + 'libpcap_fuzz_filter_98b0a2', 'libxslt_xpath', 'mbedtls_fuzz_dtlsclient', 'openssl_x509', 'sqlite3_ossfuzz', 'systemd_fuzz-link-parser', + 'systemd_fuzz-network-parser_288baf', 'zlib_zlib_uncompress_fuzzer', 'freetype2_ftfuzzer', 'harfbuzz_hb-shape-fuzzer', 'lcms_cms_transform_fuzzer', + 'lcms_cms_transform_all_fuzzer_97d37d', 'libjpeg-turbo_libjpeg_turbo_fuzzer', 'libpng_libpng_read_fuzzer', 'libxml2_xml',