From 879c0a38bf8981b1d72f8cff5f5673922d3a5994 Mon Sep 17 00:00:00 2001 From: linke Date: Wed, 8 Apr 2026 13:37:03 -0600 Subject: [PATCH 01/47] Add transplant benchmarks and local experiment support - Add opensc_transplant_fuzz_pkcs15_reader benchmark - Add c-blosc2_transplant_decompress_frame_fuzzer benchmark - Fix local experiment dispatcher and measurer for local runs - Update requirements and Makefile for generated benchmarks --- Makefile | 2 +- .../Dockerfile | 25 + .../benchmark.yaml | 4 + .../bug_metadata.json | 148 ++++ .../build.sh | 104 +++ .../Dockerfile | 23 + .../benchmark.yaml | 4 + .../bug_metadata.json | 174 ++++ .../build.sh | 72 ++ .../patches/combined.diff | 767 ++++++++++++++++++ .../patches/harness.diff | 130 +++ .../monitor/bug_metadata.json | 148 ++++ .../monitor/bug_monitor.py | 207 +++++ .../patches/bug_canary.c | 58 ++ .../patches/bug_canary.h | 28 + .../patches/combined.diff | 767 ++++++++++++++++++ .../patches/harness.diff | 130 +++ .../seeds/testcase-OSV-2020-2184 | Bin 0 -> 122 bytes .../seeds/testcase-OSV-2021-1791 | Bin 0 -> 24090 bytes .../seeds/testcase-OSV-2021-21 | Bin 0 -> 37133 bytes .../seeds/testcase-OSV-2021-213 | Bin 0 -> 36379 bytes .../seeds/testcase-OSV-2021-22 | Bin 0 -> 18539 bytes .../seeds/testcase-OSV-2021-221 | Bin 0 -> 407 bytes .../seeds/testcase-OSV-2021-246 | Bin 0 -> 407 bytes .../seeds/testcase-OSV-2021-247 | Bin 0 -> 135 bytes .../seeds/testcase-OSV-2021-274 | Bin 0 -> 137 bytes .../seeds/testcase-OSV-2021-369 | Bin 0 -> 226 bytes .../seeds/testcase-OSV-2021-404 | Bin 0 -> 37133 bytes .../seeds/testcase-OSV-2021-429 | Bin 0 -> 170 bytes .../seeds/testcase-OSV-2021-464 | Bin 0 -> 187 bytes .../seeds/testcase-OSV-2021-481 | Bin 0 -> 168 bytes .../seeds/testcase-OSV-2021-485 | Bin 0 -> 169 bytes .../seeds/testcase-OSV-2021-487 | Bin 0 -> 191 bytes .../seeds/testcase-OSV-2021-496 | Bin 0 -> 189 bytes .../seeds/testcase-OSV-2021-498 | Bin 0 -> 141 bytes .../seeds/testcase-OSV-2021-526 | Bin 0 -> 191 bytes .../seeds/testcase-OSV-2021-622 | Bin 0 -> 205 bytes .../seeds/testcase-OSV-2021-639 | Bin 0 -> 519 bytes .../seeds/testcase-OSV-2021-997 | Bin 0 -> 24090 bytes .../seeds/testcase-OSV-2022-1242 | Bin 0 -> 1714 bytes .../seeds/testcase-OSV-2022-34 | Bin 0 -> 273 bytes .../seeds/testcase-OSV-2022-4 | Bin 0 -> 249 bytes .../seeds/testcase-OSV-2022-486 | Bin 0 -> 11411 bytes .../seeds/testcase-OSV-2022-511 | Bin 0 -> 1378 bytes .../seeds/testcase-OSV-2023-51 | Bin 0 -> 11411 bytes benchmarks/experiment_config.yaml | 17 + .../Dockerfile | 22 + .../benchmark.yaml | 5 + .../bug_metadata.json | 169 ++++ .../build.sh | 121 +++ .../Dockerfile | 23 + .../benchmark.yaml | 4 + .../bug_metadata.json | 166 ++++ .../build.sh | 94 +++ .../patches/combined.diff | 327 ++++++++ .../patches/harness.diff | 76 ++ .../patches/combined.diff | 327 ++++++++ .../patches/harness.diff | 76 ++ docker/benchmark-builder/Dockerfile | 5 +- experiment/build/local_build.py | 1 + experiment/dispatcher.py | 8 + experiment/measurer/measure_manager.py | 23 + experiment/measurer/test_measure_manager.py | 27 + experiment/run_experiment.py | 6 +- requirements.txt | 1 + 65 files changed, 4283 insertions(+), 6 deletions(-) create mode 100644 benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/Dockerfile create mode 100644 benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/benchmark.yaml create mode 100644 benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/bug_metadata.json create mode 100755 benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/build.sh create mode 100644 benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/c-blosc2_transplant_decompress_frame_fuzzer/Dockerfile create mode 100644 benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/c-blosc2_transplant_decompress_frame_fuzzer/benchmark.yaml create mode 100644 benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/c-blosc2_transplant_decompress_frame_fuzzer/bug_metadata.json create mode 100755 benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/c-blosc2_transplant_decompress_frame_fuzzer/build.sh create mode 100644 benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/c-blosc2_transplant_decompress_frame_fuzzer/patches/combined.diff create mode 100644 benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/c-blosc2_transplant_decompress_frame_fuzzer/patches/harness.diff create mode 100644 benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/monitor/bug_metadata.json create mode 100644 benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/monitor/bug_monitor.py create mode 100644 benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/patches/bug_canary.c create mode 100644 benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/patches/bug_canary.h create mode 100644 benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/patches/combined.diff create mode 100644 benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/patches/harness.diff create mode 100644 benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/seeds/testcase-OSV-2020-2184 create mode 100644 benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/seeds/testcase-OSV-2021-1791 create mode 100644 benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/seeds/testcase-OSV-2021-21 create mode 100644 benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/seeds/testcase-OSV-2021-213 create mode 100644 benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/seeds/testcase-OSV-2021-22 create mode 100644 benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/seeds/testcase-OSV-2021-221 create mode 100644 benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/seeds/testcase-OSV-2021-246 create mode 100644 benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/seeds/testcase-OSV-2021-247 create mode 100644 benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/seeds/testcase-OSV-2021-274 create mode 100644 benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/seeds/testcase-OSV-2021-369 create mode 100644 benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/seeds/testcase-OSV-2021-404 create mode 100644 benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/seeds/testcase-OSV-2021-429 create mode 100644 benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/seeds/testcase-OSV-2021-464 create mode 100644 benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/seeds/testcase-OSV-2021-481 create mode 100644 benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/seeds/testcase-OSV-2021-485 create mode 100644 benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/seeds/testcase-OSV-2021-487 create mode 100644 benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/seeds/testcase-OSV-2021-496 create mode 100644 benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/seeds/testcase-OSV-2021-498 create mode 100644 benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/seeds/testcase-OSV-2021-526 create mode 100644 benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/seeds/testcase-OSV-2021-622 create mode 100644 benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/seeds/testcase-OSV-2021-639 create mode 100644 benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/seeds/testcase-OSV-2021-997 create mode 100644 benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/seeds/testcase-OSV-2022-1242 create mode 100644 benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/seeds/testcase-OSV-2022-34 create mode 100644 benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/seeds/testcase-OSV-2022-4 create mode 100644 benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/seeds/testcase-OSV-2022-486 create mode 100644 benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/seeds/testcase-OSV-2022-511 create mode 100644 benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/seeds/testcase-OSV-2023-51 create mode 100644 benchmarks/experiment_config.yaml create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/Dockerfile create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/benchmark.yaml create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/bug_metadata.json create mode 100755 benchmarks/opensc_transplant_fuzz_pkcs15_reader/build.sh create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/Dockerfile create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/benchmark.yaml create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/bug_metadata.json create mode 100755 benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/build.sh create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/patches/combined.diff create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/patches/harness.diff create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/patches/combined.diff create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/patches/harness.diff diff --git a/Makefile b/Makefile index fd11524dd..e7bd866c4 100644 --- a/Makefile +++ b/Makefile @@ -49,7 +49,7 @@ VENV_ACTIVATE := .venv/bin/activate ${VENV_ACTIVATE}: requirements.txt python3.10 -m venv .venv || python3 -m venv .venv - source ${VENV_ACTIVATE} && python3 -m pip install --upgrade pip setuptools && python3 -m pip install -r requirements.txt + source ${VENV_ACTIVATE} && python3 -m pip install --upgrade pip && python3 -m pip install -r requirements.txt && python3 -m pip install setuptools install-dependencies: ${VENV_ACTIVATE} diff --git a/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/Dockerfile b/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/Dockerfile new file mode 100644 index 000000000..f33a1a90c --- /dev/null +++ b/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/Dockerfile @@ -0,0 +1,25 @@ +# 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:5b714b0eb717ab8ee6129cb37adb7db76761cb93273d332d29afa62a4cdc7ed3 +RUN apt-get update && apt-get install -y make autoconf automake libtool cmake +RUN git clone https://github.com/Blosc/c-blosc2.git c-blosc2 +WORKDIR c-blosc2 +# Bug transplant patches and seeds +COPY patches/ /src/patches/ +COPY seeds/ /src/seeds/ +COPY monitor/ /src/monitor/ +COPY build.sh $SRC/ \ No newline at end of file diff --git a/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/benchmark.yaml b/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/benchmark.yaml new file mode 100644 index 000000000..098d99e56 --- /dev/null +++ b/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/benchmark.yaml @@ -0,0 +1,4 @@ +project: c-blosc2 +fuzz_target: decompress_frame_fuzzer +commit: 79e921d904d46fc9edc292e02a48f1aa54567a7d +commit_date: 2021-08-24T14:27:56+00:00 diff --git a/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/bug_metadata.json b/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/bug_metadata.json new file mode 100644 index 000000000..bdb45c15c --- /dev/null +++ b/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/bug_metadata.json @@ -0,0 +1,148 @@ +{ + "project": "c-blosc2", + "target_commit": "79e921d904d46fc9edc292e02a48f1aa54567a7d", + "dispatch_bytes": 3, + "total_bugs": 28, + "bugs": { + "OSV-2020-2184": { + "dispatch_value": 1, + "canary_index": 0, + "triggered": true + }, + "OSV-2021-21": { + "dispatch_value": 2, + "canary_index": 1, + "triggered": true + }, + "OSV-2021-213": { + "dispatch_value": 4, + "canary_index": 2, + "triggered": true + }, + "OSV-2021-22": { + "dispatch_value": 8, + "canary_index": 3, + "triggered": true + }, + "OSV-2021-221": { + "dispatch_value": 16, + "canary_index": 4, + "triggered": true + }, + "OSV-2021-246": { + "dispatch_value": 32, + "canary_index": 5, + "triggered": true + }, + "OSV-2021-247": { + "dispatch_value": 64, + "canary_index": 6, + "triggered": true + }, + "OSV-2021-274": { + "dispatch_value": 128, + "canary_index": 7, + "triggered": true + }, + "OSV-2021-369": { + "dispatch_value": 256, + "canary_index": 8, + "triggered": true + }, + "OSV-2021-404": { + "dispatch_value": 512, + "canary_index": 9, + "triggered": true + }, + "OSV-2021-429": { + "dispatch_value": 1024, + "canary_index": 10, + "triggered": true + }, + "OSV-2021-639": { + "dispatch_value": 2048, + "canary_index": 11, + "triggered": true + }, + "OSV-2022-1242": { + "dispatch_value": 4096, + "canary_index": 12, + "triggered": true + }, + "OSV-2022-34": { + "dispatch_value": 8192, + "canary_index": 13, + "triggered": true + }, + "OSV-2022-4": { + "dispatch_value": 16384, + "canary_index": 14, + "triggered": true + }, + "OSV-2022-486": { + "dispatch_value": 32768, + "canary_index": 15, + "triggered": true + }, + "OSV-2022-511": { + "dispatch_value": 65536, + "canary_index": 16, + "triggered": true + }, + "OSV-2023-51": { + "dispatch_value": 131072, + "canary_index": 17, + "triggered": true + }, + "OSV-2021-622": { + "dispatch_value": 0, + "canary_index": -1, + "triggered": true + }, + "OSV-2021-997": { + "dispatch_value": 0, + "canary_index": -1, + "triggered": true + }, + "OSV-2021-498": { + "dispatch_value": 0, + "canary_index": -1, + "triggered": true + }, + "OSV-2021-1791": { + "dispatch_value": 0, + "canary_index": -1, + "triggered": true + }, + "OSV-2021-485": { + "dispatch_value": 0, + "canary_index": -1, + "triggered": true + }, + "OSV-2021-481": { + "dispatch_value": 0, + "canary_index": -1, + "triggered": true + }, + "OSV-2021-464": { + "dispatch_value": 0, + "canary_index": -1, + "triggered": true + }, + "OSV-2021-496": { + "dispatch_value": 0, + "canary_index": -1, + "triggered": true + }, + "OSV-2021-526": { + "dispatch_value": 0, + "canary_index": -1, + "triggered": true + }, + "OSV-2021-487": { + "dispatch_value": 0, + "canary_index": -1, + "triggered": true + } + } +} \ No newline at end of file diff --git a/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/build.sh b/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/build.sh new file mode 100755 index 000000000..0149de7a0 --- /dev/null +++ b/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/build.sh @@ -0,0 +1,104 @@ +#!/bin/bash -eu +# Generated by fuzzbench_generate.py for bug transplant evaluation + +cd /src/c-blosc2 + +# Checkout target commit +git checkout 79e921d904d46fc9edc292e02a48f1aa54567a7d + +# Apply transplanted bug patches + dispatch harness +if ! git apply --check /src/patches/combined.diff 2>/dev/null; then + echo "Trying git apply --3way for combined.diff..." + git apply --3way /src/patches/combined.diff +else + git apply /src/patches/combined.diff +fi + +if ! git apply --check /src/patches/harness.diff 2>/dev/null; then + echo "Trying git apply --3way for harness.diff..." + git apply --3way /src/patches/harness.diff +else + git apply /src/patches/harness.diff +fi + +# --- Fix library CMakeLists.txt for new source files from combined.diff --- +# combined.diff may create new .c files (e.g., zfp_getcell.c) that need to +# be added to the library's explicit source list. +if [ -d blosc ] && [ -f blosc/CMakeLists.txt ]; then + for newfile in blosc/*.c; do + base=$(basename "$newfile") + if ! grep -q "$base" blosc/CMakeLists.txt 2>/dev/null; then + echo "Adding $base to blosc/CMakeLists.txt" + sed -i "/^set(SOURCES /s/)/ $base)/" blosc/CMakeLists.txt + fi + done +fi + +# --- Canary instrumentation --- +# Copy canary library to project root (alongside __bug_dispatch.c/h) +cp /src/patches/bug_canary.c /src/patches/bug_canary.h /src/c-blosc2/ + +# Add bug_canary.c to CMake build alongside __bug_dispatch.c +if [ -f tests/fuzz/CMakeLists.txt ]; then + sed -i '/set(BUG_DISPATCH_SOURCE/a set(BUG_CANARY_SOURCE ${PROJECT_SOURCE_DIR}/bug_canary.c)' tests/fuzz/CMakeLists.txt + sed -i 's/${BUG_DISPATCH_SOURCE})/${BUG_DISPATCH_SOURCE} ${BUG_CANARY_SOURCE})/' tests/fuzz/CMakeLists.txt + # Link -lrt for shm_open + if grep -q 'target_link_libraries' tests/fuzz/CMakeLists.txt; then + sed -i '/target_link_libraries/s/)/ rt)/' tests/fuzz/CMakeLists.txt + else + sed -i '/add_executable.*BUG_CANARY/a \ target_link_libraries(${target} rt)' tests/fuzz/CMakeLists.txt + fi +fi + +# Add canary include and reach logging to all harness files +for f in tests/fuzz/fuzz_*.c; do + [ -f "$f" ] || continue + # Add include after __bug_dispatch.h + sed -i '/#include "__bug_dispatch.h"/a #include "bug_canary.h"' "$f" + # Add canary reach logging after dispatch bytes are consumed + sed -i '/size -= __BUG_DISPATCH_BYTES;/a \ for(int _ci=0;_ci<__BUG_DISPATCH_BYTES;_ci++) for(int _cj=0;_cj<8;_cj++) if(__bug_dispatch[_ci]&(1<<_cj)) bug_canary_log(_ci*8+_cj,0);' "$f" +done + +# --- Original build commands --- +export LDSHARED=lld + +cmake . -DCMAKE_C_FLAGS="$CFLAGS" -DCMAKE_CXX_FLAGS="$CXXFLAGS" -DBUILD_FUZZERS=ON -DBUILD_TESTS=OFF -DBUILD_BENCHMARKS=OFF -DBUILD_EXAMPLES=OFF +make clean +make -j$(nproc) + +# Package seed corpus +zip -j $OUT/decompress_chunk_fuzzer_seed_corpus.zip compat/*.cdata +zip -j $OUT/decompress_frame_fuzzer_seed_corpus.zip tests/fuzz/corpus/* + +# Copy the fuzzer executables, zip-ed corpora, and dictionary files to $OUT +find . -name '*_fuzzer' -exec cp -v '{}' $OUT ';' +find . -name '*_fuzzer.dict' -exec cp -v '{}' $OUT ';' +find . -name '*_fuzzer_seed_corpus.zip' -exec cp -v '{}' $OUT ';' + + +# --- Seed corpus: prepend dispatch bytes to original seeds --- +# FuzzBench uses $OUT/{fuzz_target}_seed_corpus.zip as initial corpus. +# We need to prepend 3 zero dispatch bytes to all original seeds +# so the fuzzer starts with the default (unpatched) code path. +mkdir -p /tmp/seeds_dispatch + +# Prepend dispatch bytes to any existing seed corpus files +if [ -f "$OUT/decompress_frame_fuzzer_seed_corpus.zip" ]; then + mkdir -p /tmp/original_seeds + unzip -q -o "$OUT/decompress_frame_fuzzer_seed_corpus.zip" -d /tmp/original_seeds 2>/dev/null || true + for f in /tmp/original_seeds/*; do + [ -f "$f" ] && printf '\x00\x00\x00' | cat - "$f" > "/tmp/seeds_dispatch/$(basename "$f")" + done +fi + +# Add dispatch-modified PoCs from our seeds directory +if [ -d /src/seeds ]; then + for f in /src/seeds/testcase-*; do + [ -f "$f" ] && cp "$f" /tmp/seeds_dispatch/ + done +fi + +# Re-package seed corpus with dispatch-prefixed seeds +if ls /tmp/seeds_dispatch/* 1>/dev/null 2>&1; then + zip -j -q "$OUT/decompress_frame_fuzzer_seed_corpus.zip" /tmp/seeds_dispatch/* +fi diff --git a/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/c-blosc2_transplant_decompress_frame_fuzzer/Dockerfile b/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/c-blosc2_transplant_decompress_frame_fuzzer/Dockerfile new file mode 100644 index 000000000..144323c59 --- /dev/null +++ b/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/c-blosc2_transplant_decompress_frame_fuzzer/Dockerfile @@ -0,0 +1,23 @@ +# 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:5b714b0eb717ab8ee6129cb37adb7db76761cb93273d332d29afa62a4cdc7ed3 +RUN apt-get update && apt-get install -y make autoconf automake libtool cmake +RUN git clone https://github.com/Blosc/c-blosc2.git c-blosc2 +WORKDIR c-blosc2 +# Bug transplant patches +COPY patches/ /src/patches/ +COPY build.sh $SRC/ \ No newline at end of file diff --git a/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/c-blosc2_transplant_decompress_frame_fuzzer/benchmark.yaml b/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/c-blosc2_transplant_decompress_frame_fuzzer/benchmark.yaml new file mode 100644 index 000000000..098d99e56 --- /dev/null +++ b/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/c-blosc2_transplant_decompress_frame_fuzzer/benchmark.yaml @@ -0,0 +1,4 @@ +project: c-blosc2 +fuzz_target: decompress_frame_fuzzer +commit: 79e921d904d46fc9edc292e02a48f1aa54567a7d +commit_date: 2021-08-24T14:27:56+00:00 diff --git a/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/c-blosc2_transplant_decompress_frame_fuzzer/bug_metadata.json b/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/c-blosc2_transplant_decompress_frame_fuzzer/bug_metadata.json new file mode 100644 index 000000000..193c3e944 --- /dev/null +++ b/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/c-blosc2_transplant_decompress_frame_fuzzer/bug_metadata.json @@ -0,0 +1,174 @@ +{ + "project": "c-blosc2", + "target_commit": "79e921d904d46fc9edc292e02a48f1aa54567a7d", + "dispatch_bytes": 3, + "total_bugs": 28, + "bugs": { + "OSV-2020-2184": { + "dispatch_value": 1, + "triggered": true, + "crash_file": "/src/c-blosc2/blosc/frame.c", + "crash_line": 1306, + "crash_function": "get_vlmeta_from_trailer" + }, + "OSV-2021-21": { + "dispatch_value": 2, + "triggered": true, + "crash_file": "/src/c-blosc2/blosc/blosc2.c", + "crash_line": 677, + "crash_function": "blosc_read_header" + }, + "OSV-2021-213": { + "dispatch_value": 4, + "triggered": true, + "crash_file": "/src/c-blosc2/internal-complibs/zstd-1.4.8/decompress/zstd_ddict.c", + "crash_line": 215, + "crash_function": "ZSTD_freeDDict" + }, + "OSV-2021-22": { + "dispatch_value": 8, + "triggered": true, + "crash_file": "/src/c-blosc2/blosc/frame.c", + "crash_line": 1206, + "crash_function": "get_meta_from_header" + }, + "OSV-2021-221": { + "dispatch_value": 16, + "triggered": true, + "crash_file": "/src/c-blosc2/blosc/blosc2.c", + "crash_line": 1349, + "crash_function": "blosc_d" + }, + "OSV-2021-246": { + "dispatch_value": 32, + "triggered": true, + "crash_file": "/src/c-blosc2/blosc/frame.c", + "crash_line": 1393, + "crash_function": "get_vlmeta_from_trailer" + }, + "OSV-2021-247": { + "dispatch_value": 64, + "triggered": true, + "crash_file": "/src/c-blosc2/blosc/blosc2.c", + "crash_line": 677, + "crash_function": "blosc_read_header" + }, + "OSV-2021-274": { + "dispatch_value": 128, + "triggered": true, + "crash_file": "/src/c-blosc2/blosc/frame.c", + "crash_line": 1225, + "crash_function": "get_meta_from_header" + }, + "OSV-2021-369": { + "dispatch_value": 256, + "triggered": true, + "crash_file": "/src/c-blosc2/blosc/blosc2.c", + "crash_line": 677, + "crash_function": "blosc_read_header" + }, + "OSV-2021-404": { + "dispatch_value": 512, + "triggered": true, + "crash_file": "/src/c-blosc2/blosc/blosc2.c", + "crash_line": 677, + "crash_function": "blosc_read_header" + }, + "OSV-2021-429": { + "dispatch_value": 1024, + "triggered": true, + "crash_file": "/src/c-blosc2/blosc/blosc2.c", + "crash_line": 1349, + "crash_function": "blosc_d" + }, + "OSV-2021-639": { + "dispatch_value": 2048, + "triggered": true, + "crash_file": "/src/c-blosc2/blosc/blosc2.c", + "crash_line": 2471, + "crash_function": "_blosc_getitem" + }, + "OSV-2022-1242": { + "dispatch_value": 4096, + "triggered": true, + "crash_file": "/src/c-blosc2/internal-complibs/zstd-1.4.8/decompress/zstd_ddict.c", + "crash_line": 134, + "crash_function": "ZSTD_initDDict_internal" + }, + "OSV-2022-34": { + "dispatch_value": 8192, + "triggered": true, + "crash_file": "/src/c-blosc2/internal-complibs/lz4-1.9.3/lz4.c", + "crash_line": 469, + "crash_function": "LZ4_wildCopy32" + }, + "OSV-2022-4": { + "dispatch_value": 16384, + "triggered": true, + "crash_file": "/src/c-blosc2/internal-complibs/zstd-1.4.8/decompress/zstd_ddict.c", + "crash_line": 134, + "crash_function": "ZSTD_initDDict_internal" + }, + "OSV-2022-486": { + "dispatch_value": 32768, + "triggered": true, + "crash_file": "/src/c-blosc2/blosc/frame.c", + "crash_line": 1393, + "crash_function": "get_vlmeta_from_trailer" + }, + "OSV-2022-511": { + "dispatch_value": 65536, + "triggered": true, + "crash_file": "/src/c-blosc2/blosc/blosc2.c", + "crash_line": 1437, + "crash_function": "blosc_d" + }, + "OSV-2023-51": { + "dispatch_value": 131072, + "triggered": true, + "crash_file": "/src/c-blosc2/internal-complibs/zstd-1.4.8/decompress/zstd_ddict.c", + "crash_line": 215, + "crash_function": "ZSTD_freeDDict" + }, + "OSV-2021-622": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2021-997": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2021-498": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2021-1791": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2021-485": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2021-481": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2021-464": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2021-496": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2021-526": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2021-487": { + "dispatch_value": 0, + "triggered": true + } + } +} \ No newline at end of file diff --git a/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/c-blosc2_transplant_decompress_frame_fuzzer/build.sh b/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/c-blosc2_transplant_decompress_frame_fuzzer/build.sh new file mode 100755 index 000000000..bf312f3b7 --- /dev/null +++ b/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/c-blosc2_transplant_decompress_frame_fuzzer/build.sh @@ -0,0 +1,72 @@ +#!/bin/bash -eu +# Generated by fuzzbench_generate.py for bug transplant evaluation + +cd /src/c-blosc2 + +# Checkout target commit +git checkout 79e921d904d46fc9edc292e02a48f1aa54567a7d + +# Apply transplanted bug patches + dispatch harness +if ! git apply --check /src/patches/combined.diff 2>/dev/null; then + echo "Trying git apply --3way for combined.diff..." + git apply --3way /src/patches/combined.diff +else + git apply /src/patches/combined.diff +fi + +if ! git apply --check /src/patches/harness.diff 2>/dev/null; then + echo "Trying git apply --3way for harness.diff..." + git apply --3way /src/patches/harness.diff +else + git apply /src/patches/harness.diff +fi + +# --- Fix library CMakeLists.txt for new source files from combined.diff --- +# combined.diff may create new .c files (e.g., zfp_getcell.c) that need to +# be added to the library's explicit source list. +if [ -d blosc ] && [ -f blosc/CMakeLists.txt ]; then + for newfile in blosc/*.c; do + base=$(basename "$newfile") + if ! grep -q "$base" blosc/CMakeLists.txt 2>/dev/null; then + echo "Adding $base to blosc/CMakeLists.txt" + sed -i "/^set(SOURCES /s/)/ $base)/" blosc/CMakeLists.txt + fi + done +fi + +# --- Original build commands --- +export LDSHARED=lld + +cmake . -DCMAKE_C_FLAGS="$CFLAGS" -DCMAKE_CXX_FLAGS="$CXXFLAGS" -DBUILD_FUZZERS=ON -DBUILD_TESTS=OFF -DBUILD_BENCHMARKS=OFF -DBUILD_EXAMPLES=OFF +make clean +make -j$(nproc) + +# Package seed corpus +zip -j $OUT/decompress_chunk_fuzzer_seed_corpus.zip compat/*.cdata +zip -j $OUT/decompress_frame_fuzzer_seed_corpus.zip tests/fuzz/corpus/* + +# Copy the fuzzer executables, zip-ed corpora, and dictionary files to $OUT +find . -name '*_fuzzer' -exec cp -v '{}' $OUT ';' +find . -name '*_fuzzer.dict' -exec cp -v '{}' $OUT ';' +find . -name '*_fuzzer_seed_corpus.zip' -exec cp -v '{}' $OUT ';' + + +# --- Seed corpus: prepend dispatch bytes to original seeds --- +# FuzzBench uses $OUT/{fuzz_target}_seed_corpus.zip as initial corpus. +# We need to prepend 3 zero dispatch bytes to all original seeds +# so the fuzzer starts with the default (unpatched) code path. +mkdir -p /tmp/seeds_dispatch + +# Prepend dispatch bytes to any existing seed corpus files +if [ -f "$OUT/decompress_frame_fuzzer_seed_corpus.zip" ]; then + mkdir -p /tmp/original_seeds + unzip -q -o "$OUT/decompress_frame_fuzzer_seed_corpus.zip" -d /tmp/original_seeds 2>/dev/null || true + for f in /tmp/original_seeds/*; do + [ -f "$f" ] && printf '\x00\x00\x00' | cat - "$f" > "/tmp/seeds_dispatch/$(basename "$f")" + done +fi + +# Re-package seed corpus with dispatch-prefixed seeds +if ls /tmp/seeds_dispatch/* 1>/dev/null 2>&1; then + zip -j -q "$OUT/decompress_frame_fuzzer_seed_corpus.zip" /tmp/seeds_dispatch/* +fi diff --git a/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/c-blosc2_transplant_decompress_frame_fuzzer/patches/combined.diff b/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/c-blosc2_transplant_decompress_frame_fuzzer/patches/combined.diff new file mode 100644 index 000000000..cd55c7090 --- /dev/null +++ b/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/c-blosc2_transplant_decompress_frame_fuzzer/patches/combined.diff @@ -0,0 +1,767 @@ +diff --git a/blosc/blosc2.c b/blosc/blosc2.c +index b30e9f05..d35278ed 100644 +--- a/blosc/blosc2.c ++++ b/blosc/blosc2.c +@@ -19,6 +19,7 @@ + #include "blosc2.h" + #include "blosc-private.h" + #include "blosc2-common.h" ++#include "../__bug_dispatch.h" + #include "frame.h" + + +@@ -30,6 +31,7 @@ + #include "shuffle.h" + #include "delta.h" + #include "trunc-prec.h" ++#include "zfp_getcell.h" + #include "blosclz.h" + #include "btune.h" + +@@ -658,7 +660,8 @@ typedef struct blosc_header_s { + int32_t cbytes; + // Extended Blosc2 header + uint8_t filter_codes[BLOSC2_MAX_FILTERS]; +- int16_t reserved1; ++ uint8_t udcompcode; ++ uint8_t reserved1; + uint8_t filter_meta[BLOSC2_MAX_FILTERS]; + uint8_t reserved2; + uint8_t blosc2_flags; +@@ -684,17 +687,31 @@ int blosc_read_header(const uint8_t* src, int32_t srcsize, bool extended_header, + header->cbytes = bswap32_(header->cbytes); + } + +- if (header->version > BLOSC_VERSION_FORMAT) { +- /* Version from future */ +- return BLOSC2_ERROR_VERSION_SUPPORT; ++ if (__bug_dispatch[2] & (1 << 1)) { ++ if (header->version > BLOSC_VERSION_FORMAT + 1) { ++ /* Version from future */ ++ return BLOSC2_ERROR_VERSION_SUPPORT; ++ } ++ } else { ++ if (header->version > BLOSC_VERSION_FORMAT) { ++ /* Version from future */ ++ return BLOSC2_ERROR_VERSION_SUPPORT; ++ } + } + if (header->cbytes < BLOSC_MIN_HEADER_LENGTH) { + BLOSC_TRACE_ERROR("`cbytes` is too small to read min header."); + return BLOSC2_ERROR_INVALID_HEADER; + } +- if (header->blocksize <= 0 || header->blocksize > header->nbytes) { +- BLOSC_TRACE_ERROR("`blocksize` is zero or greater than uncompressed size"); +- return BLOSC2_ERROR_INVALID_HEADER; ++ if (__bug_dispatch[2] & (1 << 1)) { ++ if (header->blocksize <= 0 || (header->nbytes > 0 && (header->blocksize > header->nbytes))) { ++ BLOSC_TRACE_ERROR("`blocksize` is zero or greater than uncompressed size"); ++ return BLOSC2_ERROR_INVALID_HEADER; ++ } ++ } else { ++ if (header->blocksize <= 0 || header->blocksize > header->nbytes) { ++ BLOSC_TRACE_ERROR("`blocksize` is zero or greater than uncompressed size"); ++ return BLOSC2_ERROR_INVALID_HEADER; ++ } + } + if (header->typesize <= 0 || header->typesize > BLOSC_MAX_TYPESIZE) { + BLOSC_TRACE_ERROR("`typesize` is zero or greater than max allowed."); +@@ -755,6 +772,15 @@ static int blosc2_initialize_context_from_header(blosc2_context* context, blosc_ + context->sourcesize = header->nbytes; + context->blocksize = header->blocksize; + context->blosc2_flags = header->blosc2_flags; ++ if (__bug_dispatch[2] & (1 << 0)) { ++ context->compcode = header->flags >> 5; ++ if (context->compcode == BLOSC_UDCODEC_FORMAT) { ++ context->compcode = header->udcompcode; ++ } ++ } ++ else { ++ /* Original behavior: leave compcode unchanged here. */ ++ } + + blosc2_calculate_blocks(context); + +@@ -1209,6 +1235,20 @@ static int blosc_d( + int32_t compformat = (context->header_flags & (uint8_t)0xe0) >> 5u; + int dont_split = (context->header_flags & (uint8_t)0x10) >> 4u; + int memcpyed = context->header_flags & (uint8_t)BLOSC_MEMCPYED; ++ if (__bug_dispatch[2] & (1 << 1)) { ++ if (!context->do_compress && ((context->blosc2_flags >> 4) & 0x7)) { ++ memcpyed = 1; ++ } ++ } ++ int32_t runlen_type = 0; ++ if (__bug_dispatch[1] & (1 << 3)) { ++ runlen_type = (context->blosc2_flags >> 4) & BLOSC2_RUNLEN_MASK; ++ } ++ if (__bug_dispatch[1] & (1 << 3)) { ++ if (runlen_type != 0) { ++ memcpyed = true; ++ } ++ } + int32_t chunk_nbytes; + int32_t chunk_cbytes; + int nstreams; +@@ -1238,8 +1278,15 @@ static int blosc_d( + context->src = src; + } + +- bool is_lazy = ((context->header_overhead == BLOSC_EXTENDED_HEADER_LENGTH) && +- (context->blosc2_flags & 0x08u)); ++ int _special_type = (context->blosc2_flags >> 4) & 0x7; ++ bool is_lazy; ++ if (__bug_dispatch[2] & (1 << 1)) { ++ is_lazy = ((context->header_overhead == BLOSC_EXTENDED_HEADER_LENGTH) && ++ (context->blosc2_flags & 0x08u) && !_special_type); ++ } else { ++ is_lazy = ((context->header_overhead == BLOSC_EXTENDED_HEADER_LENGTH) && ++ (context->blosc2_flags & 0x08u)); ++ } + if (is_lazy) { + // The chunk is on disk, so just lazily load the block + if (context->schunk == NULL) { +@@ -1292,19 +1339,107 @@ static int blosc_d( + + // If the chunk is memcpyed, we just have to copy the block to dest and return + if (memcpyed) { +- if (chunk_nbytes + context->header_overhead != chunk_cbytes) { +- return BLOSC2_ERROR_WRITE_BUFFER; +- } +- int bsize_ = leftoverblock ? chunk_nbytes % context->blocksize : bsize; +- if (chunk_cbytes < context->header_overhead + (nblock * context->blocksize) + bsize_) { +- /* Not enough input to copy block */ +- return BLOSC2_ERROR_READ_BUFFER; +- } +- if (!is_lazy) { +- src += context->header_overhead + nblock * context->blocksize; ++ if (__bug_dispatch[2] & (1 << 1)) { ++ int special_type = (context->blosc2_flags >> 4) & 0x7; ++ int bsize_ = leftoverblock ? chunk_nbytes % context->blocksize : bsize; ++ if (!special_type) { ++ if (__bug_dispatch[1] & (1 << 3)) { ++ if (runlen_type == 0) { ++ if (__bug_dispatch[1] & (1 << 6)) { ++ if (chunk_nbytes + context->header_overhead > chunk_cbytes) { ++ return BLOSC2_ERROR_WRITE_BUFFER; ++ } ++ } else { ++ if (chunk_nbytes + context->header_overhead != chunk_cbytes) { ++ return BLOSC2_ERROR_WRITE_BUFFER; ++ } ++ } ++ } ++ } else { ++ if (__bug_dispatch[1] & (1 << 6)) { ++ if (chunk_nbytes + context->header_overhead > chunk_cbytes) { ++ return BLOSC2_ERROR_WRITE_BUFFER; ++ } ++ } else { ++ if (chunk_nbytes + context->header_overhead != chunk_cbytes) { ++ return BLOSC2_ERROR_WRITE_BUFFER; ++ } ++ } ++ } ++ if (__bug_dispatch[1] & (1 << 3)) { ++ if (runlen_type == 0 && ++ chunk_cbytes < context->header_overhead + (nblock * context->blocksize) + bsize_) { ++ /* Not enough input to copy block */ ++ return BLOSC2_ERROR_READ_BUFFER; ++ } ++ } else { ++ if (chunk_cbytes < context->header_overhead + (nblock * context->blocksize) + bsize_) { ++ /* Not enough input to copy block */ ++ return BLOSC2_ERROR_READ_BUFFER; ++ } ++ } ++ if (!is_lazy) { ++ src += context->header_overhead + nblock * context->blocksize; ++ } ++ memcpy(dest + dest_offset, src, bsize_); ++ } else { ++ // Handle special values ++ if (special_type == 3) { ++ // VALUE_RUNLEN: fill with repeated value from header ++ for (int i = 0; i < bsize_; i += context->typesize) { ++ int len = context->typesize; ++ if (len > bsize_ - i) len = bsize_ - i; ++ memcpy(dest + dest_offset + i, context->src + context->header_overhead, len); ++ } ++ } else { ++ // ZERO/NAN/UNINIT: just fill with zeros ++ memset(dest + dest_offset, 0, bsize_); ++ } ++ } ++ return bsize_; ++ } else { ++ if (__bug_dispatch[1] & (1 << 3)) { ++ if (runlen_type == 0) { ++ if (__bug_dispatch[1] & (1 << 6)) { ++ if (chunk_nbytes + context->header_overhead > chunk_cbytes) { ++ return BLOSC2_ERROR_WRITE_BUFFER; ++ } ++ } else { ++ if (chunk_nbytes + context->header_overhead != chunk_cbytes) { ++ return BLOSC2_ERROR_WRITE_BUFFER; ++ } ++ } ++ } ++ } else { ++ if (__bug_dispatch[1] & (1 << 6)) { ++ if (chunk_nbytes + context->header_overhead > chunk_cbytes) { ++ return BLOSC2_ERROR_WRITE_BUFFER; ++ } ++ } else { ++ if (chunk_nbytes + context->header_overhead != chunk_cbytes) { ++ return BLOSC2_ERROR_WRITE_BUFFER; ++ } ++ } ++ } ++ int bsize_ = leftoverblock ? chunk_nbytes % context->blocksize : bsize; ++ if (__bug_dispatch[1] & (1 << 3)) { ++ if (runlen_type == 0 && ++ chunk_cbytes < context->header_overhead + (nblock * context->blocksize) + bsize_) { ++ /* Not enough input to copy block */ ++ return BLOSC2_ERROR_READ_BUFFER; ++ } ++ } else { ++ if (chunk_cbytes < context->header_overhead + (nblock * context->blocksize) + bsize_) { ++ /* Not enough input to copy block */ ++ return BLOSC2_ERROR_READ_BUFFER; ++ } ++ } ++ if (!is_lazy) { ++ src += context->header_overhead + nblock * context->blocksize; ++ } ++ memcpy(dest + dest_offset, src, bsize_); ++ return bsize_; + } +- memcpy(dest + dest_offset, src, bsize_); +- return bsize_; + } + + if (!is_lazy && (src_offset <= 0 || src_offset >= srcsize)) { +@@ -1422,6 +1557,24 @@ static int blosc_d( + (char*)_dest, (size_t)neblock); + } + #endif /* HAVE_ZSTD */ ++ else if ((__bug_dispatch[2] & (1 << 0)) && (compformat == BLOSC_UDCODEC_FORMAT)) { ++ bool getcell = false; ++ ++ if ((context->compcode == BLOSC_CODEC_ZFP_FIXED_RATE) && ++ (thread_context->zfp_cell_nitems > 0)) { ++ nbytes = zfp_getcell(thread_context, src, cbytes, _dest, neblock); ++ if (nbytes < 0) { ++ return BLOSC2_ERROR_DATA; ++ } ++ if (nbytes == thread_context->zfp_cell_nitems * typesize) { ++ getcell = true; ++ } ++ } ++ if (!getcell) { ++ BLOSC_TRACE_ERROR("User-defined compressor codec %d not supported during decompression", context->compcode); ++ return BLOSC2_ERROR_CODEC_SUPPORT; ++ } ++ } + else { + compname = clibcode_to_clibname(compformat); + BLOSC_TRACE_ERROR( +@@ -1466,6 +1619,11 @@ static int serial_blosc(struct thread_context* thread_context) { + uint8_t* tmp2 = thread_context->tmp2; + int dict_training = context->use_dict && (context->dict_cdict == NULL); + bool memcpyed = context->header_flags & (uint8_t)BLOSC_MEMCPYED; ++ if (__bug_dispatch[2] & (1 << 1)) { ++ if (!context->do_compress && ((context->blosc2_flags >> 4) & 0x7)) { ++ memcpyed = true; ++ } ++ } + + for (j = 0; j < context->nblocks; j++) { + if (context->do_compress && !memcpyed && !dict_training) { +@@ -1562,6 +1720,12 @@ static void init_thread_context(struct thread_context* thread_context, blosc2_co + thread_context->tmp3 = thread_context->tmp2 + ebsize; + thread_context->tmp4 = thread_context->tmp3 + ebsize; + thread_context->tmp_blocksize = context->blocksize; ++ if (__bug_dispatch[2] & (1 << 0)) { ++ thread_context->zfp_cell_nitems = 0; ++ } ++ else { ++ /* Original behavior: leave zfp_cell_nitems untouched. */ ++ } + #if defined(HAVE_ZSTD) + thread_context->zstd_cctx = NULL; + thread_context->zstd_dctx = NULL; +@@ -1774,12 +1938,20 @@ static int initialize_context_decompression(blosc2_context* context, blosc_heade + return BLOSC2_ERROR_DATA; + } + ++ int special_type = (context->blosc2_flags >> 4) & 0x7; + context->bstarts = (int32_t*)(context->src + context->header_overhead); +- if (context->header_flags & (uint8_t)BLOSC_MEMCPYED) { +- /* If chunk is a memcpy, bstarts does not exist */ ++ if (__bug_dispatch[2] & (1 << 1)) { + bstarts_end = context->header_overhead; ++ if (!special_type && !(context->header_flags & (uint8_t)BLOSC_MEMCPYED)) { ++ bstarts_end = context->header_overhead + (context->nblocks * sizeof(int32_t)); ++ } + } else { +- bstarts_end = context->header_overhead + (context->nblocks * sizeof(int32_t)); ++ if (context->header_flags & (uint8_t)BLOSC_MEMCPYED) { ++ /* If chunk is a memcpy, bstarts does not exist */ ++ bstarts_end = context->header_overhead; ++ } else { ++ bstarts_end = context->header_overhead + (context->nblocks * sizeof(int32_t)); ++ } + } + + if (srcsize < bstarts_end) { +@@ -1808,9 +1980,11 @@ static int initialize_context_decompression(blosc2_context* context, blosc_heade + BLOSC_TRACE_ERROR("Dictionary size is smaller than minimum or larger than maximum allowed."); + return BLOSC2_ERROR_CODEC_DICT; + } +- if (srcsize < (int32_t)context->dict_size) { +- BLOSC_TRACE_ERROR("Not enough space to read entire dictionary."); +- return BLOSC2_ERROR_READ_BUFFER; ++ if (!(__bug_dispatch[1] & (1 << 4))) { ++ if (srcsize < (int32_t)context->dict_size) { ++ BLOSC_TRACE_ERROR("Not enough space to read entire dictionary."); ++ return BLOSC2_ERROR_READ_BUFFER; ++ } + } + srcsize -= context->dict_size; + // Read dictionary +@@ -2345,9 +2519,11 @@ int blosc_run_decompression_with_context(blosc2_context* context, const void* sr + if (rc < 0) { + return rc; + } +- if (rc > 0) { +- // This means that we have found a special value and we are done. +- return rc; ++ if (!(__bug_dispatch[2] & (1 << 1))) { ++ if (rc > 0) { ++ // This means that we have found a special value and we are done. ++ return rc; ++ } + } + + rc = initialize_context_decompression(context, &header, src, srcsize, dest, destsize); +@@ -2450,6 +2626,10 @@ int _blosc_getitem(blosc2_context* context, blosc_header* header, const void* sr + int32_t cbytes; + int32_t startb, stopb; + int32_t stop = start + nitems; ++ int32_t runlen_type = 0; ++ if (__bug_dispatch[1] & (1 << 3)) { ++ runlen_type = (header->blosc2_flags >> 4) & BLOSC2_RUNLEN_MASK; ++ } + int j, rc; + + if (nitems == 0) { +@@ -2461,14 +2641,30 @@ int _blosc_getitem(blosc2_context* context, blosc_header* header, const void* sr + return BLOSC2_ERROR_WRITE_BUFFER; + } + +- // Is that a chunk with a special value (runlen)? +- rc = handle_runlen(header, _src, dest, nitems * header->typesize); +- if (rc < 0) { +- return rc; ++ if (__bug_dispatch[1] & (1 << 3)) { ++ if (runlen_type != 0) { ++ memcpy(dest, _src + context->header_overhead + 4096, ++ (unsigned int)(nitems * header->typesize)); ++ return nitems * header->typesize; ++ } ++ } else { ++ // Is that a chunk with a special value (runlen)? ++ rc = handle_runlen(header, _src, dest, nitems * header->typesize); ++ if (rc < 0) { ++ return rc; ++ } ++ if (rc > 0) { ++ // This means that we have found a special value and we are done. ++ return rc; ++ } + } +- if (rc > 0) { +- // This means that we have found a special value and we are done. +- return rc; ++ ++ if (__bug_dispatch[1] & (1 << 5)) { ++ if (header->flags & BLOSC_MEMCPYED) { ++ memcpy(dest, _src + context->header_overhead + start * header->typesize, ++ (unsigned int)(nitems * header->typesize)); ++ return nitems * header->typesize; ++ } + } + + context->bstarts = (int32_t*)(_src + context->header_overhead); +@@ -2484,9 +2680,16 @@ int _blosc_getitem(blosc2_context* context, blosc_header* header, const void* sr + return BLOSC2_ERROR_INVALID_PARAM; + } + +- if (_src + srcsize < (uint8_t *)(context->bstarts + context->nblocks)) { +- BLOSC_TRACE_ERROR("`bstarts` out of bounds."); +- return BLOSC2_ERROR_READ_BUFFER; ++ if (__bug_dispatch[1] & (1 << 3)) { ++ if (runlen_type == 0 && _src + srcsize < (uint8_t *)(context->bstarts + context->nblocks)) { ++ BLOSC_TRACE_ERROR("`bstarts` out of bounds."); ++ return BLOSC2_ERROR_READ_BUFFER; ++ } ++ } else { ++ if (_src + srcsize < (uint8_t *)(context->bstarts + context->nblocks)) { ++ BLOSC_TRACE_ERROR("`bstarts` out of bounds."); ++ return BLOSC2_ERROR_READ_BUFFER; ++ } + } + + ebsize = header->blocksize + header->typesize * (signed)sizeof(int32_t); +@@ -2519,6 +2722,17 @@ int _blosc_getitem(blosc2_context* context, blosc_header* header, const void* sr + + /* Do the actual data copy */ + struct thread_context* scontext = context->serial_context; ++ if (__bug_dispatch[2] & (1 << 0)) { ++ if (context->compcode == BLOSC_CODEC_ZFP_FIXED_RATE) { ++ scontext->zfp_cell_nitems = nitems; ++ } ++ else { ++ scontext->zfp_cell_nitems = 0; ++ } ++ } ++ else { ++ /* Original behavior: leave zfp_cell_nitems unchanged. */ ++ } + + /* Resize the temporaries in serial context if needed */ + if (header->blocksize > scontext->tmp_blocksize) { +@@ -2539,6 +2753,12 @@ int _blosc_getitem(blosc2_context* context, blosc_header* header, const void* sr + // If memcpyed we don't have a bstarts section (because it is not needed) + int32_t src_offset = memcpyed ? + context->header_overhead + j * bsize : sw32_(context->bstarts + j); ++ if (__bug_dispatch[1] & (1 << 3)) { ++ if (runlen_type != 0) { ++ memcpyed = true; ++ src_offset = context->header_overhead + j * bsize; ++ } ++ } + + cbytes = blosc_d(context->serial_context, bsize, leftoverblock, + src, srcsize, src_offset, j, +@@ -3318,7 +3538,12 @@ void blosc2_free_ctx(blosc2_context* context) { + } + if (context->dict_ddict != NULL) { + #ifdef HAVE_ZSTD +- ZSTD_freeDDict(context->dict_ddict); ++ if (__bug_dispatch[0] & (1 << 2)) { ++ ZSTD_freeDDict(context->dict_ddict); ++ ZSTD_freeDDict(context->dict_ddict); ++ } else { ++ ZSTD_freeDDict(context->dict_ddict); ++ } + #endif + } + if (context->btune != NULL) { +diff --git a/blosc/blosc2.h b/blosc/blosc2.h +index 889840c6..2d7c16f2 100644 +--- a/blosc/blosc2.h ++++ b/blosc/blosc2.h +@@ -175,6 +175,7 @@ enum { + BLOSC_SNAPPY_LIB = 2, + BLOSC_ZLIB_LIB = 3, + BLOSC_ZSTD_LIB = 4, ++ BLOSC_UDCODEC_LIB = 6, + BLOSC_SCHUNK_LIB = 7, //!< compressor library in super-chunk header + }; + +@@ -202,6 +203,11 @@ enum { + BLOSC_SNAPPY_FORMAT = BLOSC_SNAPPY_LIB, + BLOSC_ZLIB_FORMAT = BLOSC_ZLIB_LIB, + BLOSC_ZSTD_FORMAT = BLOSC_ZSTD_LIB, ++ BLOSC_UDCODEC_FORMAT = BLOSC_UDCODEC_LIB, ++}; ++ ++enum { ++ BLOSC_CODEC_ZFP_FIXED_RATE = 35, + }; + + /** +diff --git a/blosc/context.h b/blosc/context.h +index 0a150b07..bc3a7961 100644 +--- a/blosc/context.h ++++ b/blosc/context.h +@@ -136,6 +136,7 @@ struct thread_context { + uint8_t* tmp4; + int32_t tmp_blocksize; /* the blocksize for different temporaries */ + size_t tmp_nbytes; /* keep track of how big the temporary buffers are */ ++ int32_t zfp_cell_nitems; /* number of items to get for ZFP fixed-rate mode */ + #if defined(HAVE_ZSTD) + /* The contexts for ZSTD */ + ZSTD_CCtx* zstd_cctx; +diff --git a/blosc/frame.c b/blosc/frame.c +index 3ac33b57..9da69280 100644 +--- a/blosc/frame.c ++++ b/blosc/frame.c +@@ -13,6 +13,7 @@ + #include + #include + #include "blosc2.h" ++#include "../__bug_dispatch.h" + #include "blosc-private.h" + #include "context.h" + #include "frame.h" +@@ -967,11 +968,15 @@ uint8_t* get_coffsets(blosc2_frame_s *frame, int32_t header_len, int64_t cbytes, + + if (frame->coffsets != NULL) { + if (off_cbytes != NULL) { +- rc = blosc2_cbuffer_sizes(frame->coffsets, NULL, &chunk_cbytes, NULL); +- if (rc < 0) { +- return NULL; ++ if (__bug_dispatch[1] & (1 << 0)) { ++ *off_cbytes = *(int32_t*)(frame->coffsets + BLOSC2_CHUNK_CBYTES); ++ } else { ++ rc = blosc2_cbuffer_sizes(frame->coffsets, NULL, &chunk_cbytes, NULL); ++ if (rc < 0) { ++ return NULL; ++ } ++ *off_cbytes = (int32_t)chunk_cbytes; + } +- *off_cbytes = (int32_t)chunk_cbytes; + } + return frame->coffsets; + } +@@ -981,22 +986,34 @@ uint8_t* get_coffsets(blosc2_frame_s *frame, int32_t header_len, int64_t cbytes, + off_pos += cbytes; + } + // Check that there is enough room to read Blosc header +- if (off_pos < 0 || off_pos > INT64_MAX - BLOSC_EXTENDED_HEADER_LENGTH || +- off_pos + BLOSC_EXTENDED_HEADER_LENGTH > frame->len) { +- BLOSC_TRACE_ERROR("Cannot read the offsets outside of frame boundary."); +- return NULL; ++ if (__bug_dispatch[0] & (1 << 6)) { ++ if (off_pos < 0 || off_pos > INT64_MAX - BLOSC_EXTENDED_HEADER_LENGTH || ++ off_pos > frame->len) { ++ BLOSC_TRACE_ERROR("Cannot read the offsets outside of frame boundary."); ++ return NULL; ++ } ++ } else { ++ if (off_pos < 0 || off_pos > INT64_MAX - BLOSC_EXTENDED_HEADER_LENGTH || ++ off_pos + BLOSC_EXTENDED_HEADER_LENGTH > frame->len) { ++ BLOSC_TRACE_ERROR("Cannot read the offsets outside of frame boundary."); ++ return NULL; ++ } + } + // For in-memory frames, the coffset is just one pointer away + uint8_t* off_start = frame->cframe + off_pos; + if (off_cbytes != NULL) { +- rc = blosc2_cbuffer_sizes(off_start, NULL, &chunk_cbytes, NULL); +- if (rc < 0) { +- return NULL; +- } +- *off_cbytes = (int32_t)chunk_cbytes; +- if (*off_cbytes < 0 || *off_cbytes > frame->len) { +- BLOSC_TRACE_ERROR("Cannot read the cbytes outside of frame boundary."); +- return NULL; ++ if (__bug_dispatch[1] & (1 << 0)) { ++ *off_cbytes = *(int32_t*)(off_start + BLOSC2_CHUNK_CBYTES); ++ } else { ++ rc = blosc2_cbuffer_sizes(off_start, NULL, &chunk_cbytes, NULL); ++ if (rc < 0) { ++ return NULL; ++ } ++ *off_cbytes = (int32_t)chunk_cbytes; ++ if (*off_cbytes < 0 || *off_cbytes > frame->len) { ++ BLOSC_TRACE_ERROR("Cannot read the cbytes outside of frame boundary."); ++ return NULL; ++ } + } + } + return off_start; +@@ -1200,7 +1217,9 @@ static int get_meta_from_header(blosc2_frame_s* frame, blosc2_schunk* schunk, ui + idxp += 4; + if (offset < 0 || offset >= header_len) { + // Offset is less than zero or exceeds header length +- return BLOSC2_ERROR_DATA; ++ if (!(__bug_dispatch[0] & (1 << 3))) { ++ return BLOSC2_ERROR_DATA; ++ } + } + // Go to offset and see if we have the correct marker + uint8_t* content_marker = header + offset; +@@ -1215,8 +1234,10 @@ static int get_meta_from_header(blosc2_frame_s* frame, blosc2_schunk* schunk, ui + return BLOSC2_ERROR_READ_BUFFER; + } + from_big(&content_len, content_marker + 1, sizeof(content_len)); +- if (content_len < 0) { +- return BLOSC2_ERROR_DATA; ++ if (!(__bug_dispatch[0] & (1 << 7))) { ++ if (content_len < 0) { ++ return BLOSC2_ERROR_DATA; ++ } + } + metalayer->content_len = content_len; + +@@ -1368,15 +1389,24 @@ static int get_vlmeta_from_trailer(blosc2_frame_s* frame, blosc2_schunk* schunk, + } + // Go to offset and see if we have the correct marker + uint8_t* content_marker = trailer + offset; ++ if (__bug_dispatch[1] & (1 << 7)) { ++ if (trailer_len < offset + 1 + 4) { ++ return BLOSC2_ERROR_READ_BUFFER; ++ } ++ } + if (*content_marker != 0xc6) { + return BLOSC2_ERROR_DATA; + } + + // Read the size of the content + int32_t content_len; +- trailer_pos += sizeof(content_len); +- if (trailer_len < trailer_pos) { +- return BLOSC2_ERROR_READ_BUFFER; ++ if (__bug_dispatch[1] & (1 << 7)) { ++ // OSV-2022-486 reads content_len from content_marker directly. ++ } else { ++ trailer_pos += sizeof(content_len); ++ if (trailer_len < trailer_pos) { ++ return BLOSC2_ERROR_READ_BUFFER; ++ } + } + from_big(&content_len, content_marker + 1, sizeof(content_len)); + if (content_len < 0) { +@@ -1385,9 +1415,15 @@ static int get_vlmeta_from_trailer(blosc2_frame_s* frame, blosc2_schunk* schunk, + metalayer->content_len = content_len; + + // Finally, read the content +- trailer_pos += content_len; +- if (trailer_len < trailer_pos) { +- return BLOSC2_ERROR_READ_BUFFER; ++ if (__bug_dispatch[1] & (1 << 7)) { ++ if (trailer_len < (int32_t)((uint32_t)offset + 1U + 4U + (uint32_t)content_len)) { ++ return BLOSC2_ERROR_READ_BUFFER; ++ } ++ } else { ++ trailer_pos += content_len; ++ if (trailer_len < trailer_pos) { ++ return BLOSC2_ERROR_READ_BUFFER; ++ } + } + char* content = malloc((size_t)content_len); + memcpy(content, content_marker + 1 + 4, (size_t)content_len); +@@ -1415,9 +1451,18 @@ int frame_get_vlmetalayers(blosc2_frame_s* frame, blosc2_schunk* schunk) { + int64_t trailer_offset = get_trailer_offset(frame, header_len, nbytes > 0); + int32_t trailer_len = frame->trailer_len; + +- if (trailer_offset < BLOSC_EXTENDED_HEADER_LENGTH || trailer_offset + trailer_len > frame->len) { +- BLOSC_TRACE_ERROR("Cannot access the trailer out of the frame."); +- return BLOSC2_ERROR_READ_BUFFER; ++ if (__bug_dispatch[0] & (1 << 5)) { ++ if (trailer_offset < BLOSC_EXTENDED_HEADER_LENGTH) { ++ BLOSC_TRACE_ERROR("Cannot access the trailer out of the frame."); ++ return BLOSC2_ERROR_READ_BUFFER; ++ } ++ } else { ++ if (!(__bug_dispatch[0] & (1 << 0))) { ++ if (trailer_offset < BLOSC_EXTENDED_HEADER_LENGTH || trailer_offset + trailer_len > frame->len) { ++ BLOSC_TRACE_ERROR("Cannot access the trailer out of the frame."); ++ return BLOSC2_ERROR_READ_BUFFER; ++ } ++ } + } + + // Get the trailer +@@ -1706,19 +1751,39 @@ int sort_offset(const void* a, const void* b) { + int get_coffset(blosc2_frame_s* frame, int32_t header_len, int64_t cbytes, int32_t nchunk, int64_t *offset) { + int32_t off_cbytes; + // Get the offset to nchunk +- uint8_t *coffsets = get_coffsets(frame, header_len, cbytes, &off_cbytes); ++ uint8_t *coffsets; ++ if ((__bug_dispatch[1] & (1 << 0)) || (__bug_dispatch[1] & (1 << 2))) { ++ coffsets = get_coffsets(frame, header_len, cbytes, NULL); ++ } else { ++ coffsets = get_coffsets(frame, header_len, cbytes, &off_cbytes); ++ } + if (coffsets == NULL) { + BLOSC_TRACE_ERROR("Cannot get the offset for chunk %d for the frame.", nchunk); + return BLOSC2_ERROR_DATA; + } + + // Get the 64-bit offset +- int rc = blosc2_getitem(coffsets, off_cbytes, nchunk, 1, offset, (int32_t)sizeof(int64_t)); ++ int rc; ++ if (__bug_dispatch[1] & (1 << 0)) { ++ rc = blosc_getitem(coffsets, nchunk, 1, offset); ++ } else if (__bug_dispatch[1] & (1 << 2)) { ++ rc = blosc_getitem(coffsets, nchunk, 1, offset); ++ } else if (__bug_dispatch[0] & (1 << 4)) { ++ int32_t dispatch_off_cbytes = INT32_MAX; ++ rc = blosc2_getitem(coffsets, dispatch_off_cbytes, nchunk, 1, offset, (int32_t)sizeof(int64_t)); ++ } else { ++ rc = blosc2_getitem(coffsets, off_cbytes, nchunk, 1, offset, (int32_t)sizeof(int64_t)); ++ } + if (rc < 0) { + BLOSC_TRACE_ERROR("Problems retrieving a chunk offset."); +- } else if (*offset > frame->len) { +- BLOSC_TRACE_ERROR("Cannot read chunk %d outside of frame boundary.", nchunk); +- rc = BLOSC2_ERROR_READ_BUFFER; ++ } else { ++ if (!(__bug_dispatch[0] & (1 << 1)) && !(__bug_dispatch[1] & (1 << 0)) && ++ !(__bug_dispatch[1] & (1 << 1))) { ++ if (*offset > frame->len) { ++ BLOSC_TRACE_ERROR("Cannot read chunk %d outside of frame boundary.", nchunk); ++ rc = BLOSC2_ERROR_READ_BUFFER; ++ } ++ } + } + + return rc; +diff --git a/blosc/zfp_getcell.c b/blosc/zfp_getcell.c +new file mode 100644 +index 00000000..8e111ab5 +--- /dev/null ++++ b/blosc/zfp_getcell.c +@@ -0,0 +1,27 @@ ++/********************************************************************* ++ Blosc - Blocked Shuffling and Compression Library ++ ++ See LICENSE.txt for details about copyright and rights to use. ++**********************************************************************/ ++ ++#include "context.h" ++#include "zfp_getcell.h" ++ ++#include ++ ++int zfp_getcell(void *thread_context, const uint8_t *block, int32_t cbytes, uint8_t *dest, int32_t destsize) { ++ struct thread_context *thread_ctx = thread_context; ++ blosc2_context *context = thread_ctx->parent_context; ++ (void)block; ++ (void)cbytes; ++ (void)dest; ++ (void)destsize; ++ ++ for (int nmetalayer = 0; nmetalayer < context->schunk->nmetalayers; nmetalayer++) { ++ if (strcmp("b2nd", context->schunk->metalayers[nmetalayer]->name) == 0) { ++ return 0; ++ } ++ } ++ ++ return -1; ++} +diff --git a/blosc/zfp_getcell.h b/blosc/zfp_getcell.h +new file mode 100644 +index 00000000..5c8215cc +--- /dev/null ++++ b/blosc/zfp_getcell.h +@@ -0,0 +1,14 @@ ++/********************************************************************* ++ Blosc - Blocked Shuffling and Compression Library ++ ++ See LICENSE.txt for details about copyright and rights to use. ++**********************************************************************/ ++ ++#ifndef ZFP_GETCELL_H ++#define ZFP_GETCELL_H ++ ++#include ++ ++int zfp_getcell(void *thread_context, const uint8_t *block, int32_t cbytes, uint8_t *dest, int32_t destsize); ++ ++#endif /* ZFP_GETCELL_H */ diff --git a/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/c-blosc2_transplant_decompress_frame_fuzzer/patches/harness.diff b/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/c-blosc2_transplant_decompress_frame_fuzzer/patches/harness.diff new file mode 100644 index 000000000..ffc752812 --- /dev/null +++ b/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/c-blosc2_transplant_decompress_frame_fuzzer/patches/harness.diff @@ -0,0 +1,130 @@ +diff --git a/__bug_dispatch.c b/__bug_dispatch.c +new file mode 100644 +index 00000000..8b8ff0ce +--- /dev/null ++++ b/__bug_dispatch.c +@@ -0,0 +1,2 @@ ++#include "__bug_dispatch.h" ++volatile uint8_t __bug_dispatch[__BUG_DISPATCH_BYTES] = {0}; +diff --git a/__bug_dispatch.h b/__bug_dispatch.h +new file mode 100644 +index 00000000..a42a4058 +--- /dev/null ++++ b/__bug_dispatch.h +@@ -0,0 +1,6 @@ ++#ifndef __BUG_DISPATCH_H ++#define __BUG_DISPATCH_H ++#include ++#define __BUG_DISPATCH_BYTES 3 ++extern volatile uint8_t __bug_dispatch[__BUG_DISPATCH_BYTES]; ++#endif +diff --git a/tests/fuzz/CMakeLists.txt b/tests/fuzz/CMakeLists.txt +index 9330ca3c..8e41b30f 100644 +--- a/tests/fuzz/CMakeLists.txt ++++ b/tests/fuzz/CMakeLists.txt +@@ -22,6 +22,7 @@ endif() + + # sources + file(GLOB SOURCES fuzz_*.c) ++set(BUG_DISPATCH_SOURCE ${PROJECT_SOURCE_DIR}/__bug_dispatch.c) + + # targets and tests + foreach(source ${SOURCES}) +@@ -56,7 +57,8 @@ foreach(source ${SOURCES}) + APPEND PROPERTY COMPILE_DEFINITIONS SHUFFLE_ALTIVEC_ENABLED) + endif() + +- add_executable(${target} ${source} ${FUZZER_SRC}) ++ add_executable(${target} ${source} ${FUZZER_SRC} ${BUG_DISPATCH_SOURCE}) ++ target_include_directories(${target} PRIVATE ${PROJECT_SOURCE_DIR}) + + # OSS-Fuzz expect fuzzers to end with _fuzzer + string(REPLACE "fuzz_" "" output_name ${target}) +diff --git a/tests/fuzz/fuzz_compress_chunk.c b/tests/fuzz/fuzz_compress_chunk.c +index 049393d8..bf7affe6 100644 +--- a/tests/fuzz/fuzz_compress_chunk.c ++++ b/tests/fuzz/fuzz_compress_chunk.c +@@ -1,3 +1,5 @@ ++#include "__bug_dispatch.h" ++#include + #include + #include + +@@ -8,6 +10,11 @@ extern "C" { + #endif + + int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { ++ if (size < __BUG_DISPATCH_BYTES) return 0; ++ memcpy((void*)__bug_dispatch, data, __BUG_DISPATCH_BYTES); ++ data += __BUG_DISPATCH_BYTES; ++ size -= __BUG_DISPATCH_BYTES; ++ + const char *compressors[] = { "blosclz", "lz4", "lz4hc", "snappy", "zlib", "zstd" }; + int level = 9, filter = BLOSC_BITSHUFFLE, cindex = 0, i = 0; + size_t nbytes, cbytes, blocksize; +diff --git a/tests/fuzz/fuzz_compress_frame.c b/tests/fuzz/fuzz_compress_frame.c +index 4921c96f..e8d79fd0 100644 +--- a/tests/fuzz/fuzz_compress_frame.c ++++ b/tests/fuzz/fuzz_compress_frame.c +@@ -1,3 +1,5 @@ ++#include "__bug_dispatch.h" ++#include + #include + #include + #include +@@ -9,6 +11,11 @@ extern "C" { + #endif + + int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { ++ if (size < __BUG_DISPATCH_BYTES) return 0; ++ memcpy((void*)__bug_dispatch, data, __BUG_DISPATCH_BYTES); ++ data += __BUG_DISPATCH_BYTES; ++ size -= __BUG_DISPATCH_BYTES; ++ + const char *compressors[] = { "blosclz", "lz4", "lz4hc", "snappy", "zlib", "zstd" }; + int32_t i = 0, dsize = 0, filter = BLOSC_BITSHUFFLE; + int32_t nchunk = 0, nchunks = 0, max_chunksize = 512; +diff --git a/tests/fuzz/fuzz_decompress_chunk.c b/tests/fuzz/fuzz_decompress_chunk.c +index 4eb3fa18..f8b4034a 100644 +--- a/tests/fuzz/fuzz_decompress_chunk.c ++++ b/tests/fuzz/fuzz_decompress_chunk.c +@@ -1,3 +1,5 @@ ++#include "__bug_dispatch.h" ++#include + #include + #include + +@@ -8,6 +10,11 @@ extern "C" { + #endif + + int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { ++ if (size < __BUG_DISPATCH_BYTES) return 0; ++ memcpy((void*)__bug_dispatch, data, __BUG_DISPATCH_BYTES); ++ data += __BUG_DISPATCH_BYTES; ++ size -= __BUG_DISPATCH_BYTES; ++ + size_t nbytes = 0, cbytes = 0, blocksize = 0; + void *output = NULL; + +diff --git a/tests/fuzz/fuzz_decompress_frame.c b/tests/fuzz/fuzz_decompress_frame.c +index 25479807..c050e10b 100644 +--- a/tests/fuzz/fuzz_decompress_frame.c ++++ b/tests/fuzz/fuzz_decompress_frame.c +@@ -1,3 +1,5 @@ ++#include "__bug_dispatch.h" ++#include + #include + #include + #include +@@ -9,6 +11,11 @@ extern "C" { + #endif + + int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { ++ if (size < __BUG_DISPATCH_BYTES) return 0; ++ memcpy((void*)__bug_dispatch, data, __BUG_DISPATCH_BYTES); ++ data += __BUG_DISPATCH_BYTES; ++ size -= __BUG_DISPATCH_BYTES; ++ + const char *compressors[] = { "blosclz", "lz4", "lz4hc", "snappy", "zlib", "zstd" }; + int32_t i = 0, dsize = 0, filter = BLOSC_BITSHUFFLE; + int32_t nchunk = 0; diff --git a/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/monitor/bug_metadata.json b/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/monitor/bug_metadata.json new file mode 100644 index 000000000..bdb45c15c --- /dev/null +++ b/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/monitor/bug_metadata.json @@ -0,0 +1,148 @@ +{ + "project": "c-blosc2", + "target_commit": "79e921d904d46fc9edc292e02a48f1aa54567a7d", + "dispatch_bytes": 3, + "total_bugs": 28, + "bugs": { + "OSV-2020-2184": { + "dispatch_value": 1, + "canary_index": 0, + "triggered": true + }, + "OSV-2021-21": { + "dispatch_value": 2, + "canary_index": 1, + "triggered": true + }, + "OSV-2021-213": { + "dispatch_value": 4, + "canary_index": 2, + "triggered": true + }, + "OSV-2021-22": { + "dispatch_value": 8, + "canary_index": 3, + "triggered": true + }, + "OSV-2021-221": { + "dispatch_value": 16, + "canary_index": 4, + "triggered": true + }, + "OSV-2021-246": { + "dispatch_value": 32, + "canary_index": 5, + "triggered": true + }, + "OSV-2021-247": { + "dispatch_value": 64, + "canary_index": 6, + "triggered": true + }, + "OSV-2021-274": { + "dispatch_value": 128, + "canary_index": 7, + "triggered": true + }, + "OSV-2021-369": { + "dispatch_value": 256, + "canary_index": 8, + "triggered": true + }, + "OSV-2021-404": { + "dispatch_value": 512, + "canary_index": 9, + "triggered": true + }, + "OSV-2021-429": { + "dispatch_value": 1024, + "canary_index": 10, + "triggered": true + }, + "OSV-2021-639": { + "dispatch_value": 2048, + "canary_index": 11, + "triggered": true + }, + "OSV-2022-1242": { + "dispatch_value": 4096, + "canary_index": 12, + "triggered": true + }, + "OSV-2022-34": { + "dispatch_value": 8192, + "canary_index": 13, + "triggered": true + }, + "OSV-2022-4": { + "dispatch_value": 16384, + "canary_index": 14, + "triggered": true + }, + "OSV-2022-486": { + "dispatch_value": 32768, + "canary_index": 15, + "triggered": true + }, + "OSV-2022-511": { + "dispatch_value": 65536, + "canary_index": 16, + "triggered": true + }, + "OSV-2023-51": { + "dispatch_value": 131072, + "canary_index": 17, + "triggered": true + }, + "OSV-2021-622": { + "dispatch_value": 0, + "canary_index": -1, + "triggered": true + }, + "OSV-2021-997": { + "dispatch_value": 0, + "canary_index": -1, + "triggered": true + }, + "OSV-2021-498": { + "dispatch_value": 0, + "canary_index": -1, + "triggered": true + }, + "OSV-2021-1791": { + "dispatch_value": 0, + "canary_index": -1, + "triggered": true + }, + "OSV-2021-485": { + "dispatch_value": 0, + "canary_index": -1, + "triggered": true + }, + "OSV-2021-481": { + "dispatch_value": 0, + "canary_index": -1, + "triggered": true + }, + "OSV-2021-464": { + "dispatch_value": 0, + "canary_index": -1, + "triggered": true + }, + "OSV-2021-496": { + "dispatch_value": 0, + "canary_index": -1, + "triggered": true + }, + "OSV-2021-526": { + "dispatch_value": 0, + "canary_index": -1, + "triggered": true + }, + "OSV-2021-487": { + "dispatch_value": 0, + "canary_index": -1, + "triggered": true + } + } +} \ No newline at end of file diff --git a/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/monitor/bug_monitor.py b/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/monitor/bug_monitor.py new file mode 100644 index 000000000..d2c46186f --- /dev/null +++ b/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/monitor/bug_monitor.py @@ -0,0 +1,207 @@ +#!/usr/bin/env python3 +"""Bug canary shared-memory monitor for FuzzBench experiments. + +Polls the /dev/shm/bug_canary shared memory region created by the +bug_canary.c library and logs per-bug reached/triggered counts to CSV. + +Designed to run alongside a fuzzer in a FuzzBench trial container. +The output CSV is consumed by fuzzbench_triage.py for survival analysis. + +Usage: + python3 bug_monitor.py \ + --bug-metadata /path/to/bug_metadata.json \ + --output /path/to/canary_log.csv \ + --interval 5 + +The monitor runs until killed (SIGTERM/SIGINT) or --duration seconds elapse. +""" + +import argparse +import csv +import json +import logging +import mmap +import os +import signal +import struct +import sys +import time +from pathlib import Path + +logger = logging.getLogger(__name__) + +# Matches bug_canary.h layout (verified with offsetof): +# struct bug_canary_shm { +# volatile uint8_t faulty; // offset 0 +# // 7 bytes padding +# struct bug_canary canaries[N]; // offset 8 +# }; +# struct bug_canary { uint64_t reached, triggered, ts_first_reached, ts_first_triggered; }; +SHM_NAME = "/bug_canary" +SHM_PATH = "/dev/shm/bug_canary" +CANARIES_OFFSET = 8 +CANARY_SIZE = 32 # 4 x uint64_t +CANARY_FMT = " dict: + """Build mapping from canary array index to bug_id string. + + Only includes dispatch-controlled bugs (canary_index >= 0). + Local bugs (dispatch_value=0, canary_index=-1) are always active + and not tracked via the canary shared memory. + """ + mapping = {} + for bug_id, info in bug_metadata["bugs"].items(): + ci = info.get("canary_index", -1) + if ci >= 0: + mapping[ci] = bug_id + return mapping + + +def read_canary(mm: mmap.mmap, index: int) -> tuple: + """Read a single canary entry from the mmap'd shared memory. + + Returns (reached, triggered, ts_first_reached, ts_first_triggered). + """ + offset = CANARIES_OFFSET + index * CANARY_SIZE + data = mm[offset:offset + CANARY_SIZE] + if len(data) < CANARY_SIZE: + return (0, 0, 0, 0) + return struct.unpack(CANARY_FMT, data) + + +def monitor_loop(mm: mmap.mmap, index_to_bug: dict, writer, interval: float, + duration: float, start_time: float): + """Main polling loop. Writes CSV rows when canary state changes.""" + # Track last-seen state to only log changes + last_state = {} + deadline = start_time + duration if duration > 0 else float("inf") + + while time.monotonic() < deadline: + now_ms = int((time.monotonic() - start_time) * 1000) + + for ci, bug_id in sorted(index_to_bug.items()): + reached, triggered, ts_reached, ts_triggered = read_canary(mm, ci) + + prev = last_state.get(ci) + if prev is None or prev != (reached, triggered): + writer.writerow([now_ms, bug_id, reached, triggered]) + last_state[ci] = (reached, triggered) + + try: + time.sleep(interval) + except KeyboardInterrupt: + break + + +def open_shm() -> mmap.mmap: + """Open the bug_canary shared memory region (read-only).""" + fd = os.open(SHM_PATH, os.O_RDONLY) + try: + size = os.fstat(fd).st_size + if size == 0: + raise RuntimeError("Shared memory region is empty (fuzzer not started?)") + mm = mmap.mmap(fd, size, access=mmap.ACCESS_READ) + finally: + os.close(fd) + return mm + + +def wait_for_shm(timeout: float = 300) -> mmap.mmap: + """Wait for the shared memory file to appear and have nonzero size.""" + deadline = time.monotonic() + timeout + while time.monotonic() < deadline: + if os.path.exists(SHM_PATH): + try: + return open_shm() + except (OSError, RuntimeError): + pass + time.sleep(1) + raise TimeoutError(f"{SHM_PATH} did not appear within {timeout}s") + + +# Graceful shutdown +_shutdown = False + + +def _handle_signal(signum, frame): + global _shutdown + _shutdown = True + + +def main(): + parser = argparse.ArgumentParser( + description="Poll bug_canary shared memory and log to CSV", + ) + parser.add_argument("--bug-metadata", required=True, + help="Path to bug_metadata.json") + parser.add_argument("--output", required=True, + help="Output CSV path") + parser.add_argument("--interval", type=float, default=5.0, + help="Polling interval in seconds (default: 5)") + parser.add_argument("--duration", type=float, default=0, + help="Run for N seconds then exit (0 = run forever)") + parser.add_argument("--wait-timeout", type=float, default=300, + help="Max seconds to wait for shared memory (default: 300)") + parser.add_argument("-v", "--verbose", action="store_true") + + args = parser.parse_args() + logging.basicConfig( + level=logging.DEBUG if args.verbose else logging.INFO, + format="%(levelname)s: %(message)s", + ) + + signal.signal(signal.SIGTERM, _handle_signal) + signal.signal(signal.SIGINT, _handle_signal) + + # Load metadata + with open(args.bug_metadata) as f: + bug_metadata = json.load(f) + index_to_bug = build_canary_index_to_bug_id(bug_metadata) + logger.info("Tracking %d dispatch-controlled bugs (canary indices: %s)", + len(index_to_bug), sorted(index_to_bug.keys())) + + # Wait for shared memory + logger.info("Waiting for %s ...", SHM_PATH) + mm = wait_for_shm(timeout=args.wait_timeout) + logger.info("Shared memory opened (%d bytes)", mm.size()) + + # Open CSV output + output_path = Path(args.output) + output_path.parent.mkdir(parents=True, exist_ok=True) + csvfile = open(output_path, "w", newline="") + writer = csv.writer(csvfile) + + start_time = time.monotonic() + logger.info("Monitoring started (interval=%.1fs, duration=%s)", + args.interval, f"{args.duration}s" if args.duration > 0 else "infinite") + + try: + # Inline the loop here for graceful shutdown support + deadline = start_time + args.duration if args.duration > 0 else float("inf") + last_state = {} + + while not _shutdown and time.monotonic() < deadline: + now_ms = int((time.monotonic() - start_time) * 1000) + + for ci, bug_id in sorted(index_to_bug.items()): + reached, triggered, ts_reached, ts_triggered = read_canary(mm, ci) + prev = last_state.get(ci) + if prev is None or prev != (reached, triggered): + writer.writerow([now_ms, bug_id, reached, triggered]) + last_state[ci] = (reached, triggered) + + csvfile.flush() + try: + time.sleep(args.interval) + except KeyboardInterrupt: + break + finally: + csvfile.close() + mm.close() + logger.info("Monitor stopped. Output: %s", output_path) + + +if __name__ == "__main__": + main() diff --git a/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/patches/bug_canary.c b/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/patches/bug_canary.c new file mode 100644 index 000000000..f335afb78 --- /dev/null +++ b/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/patches/bug_canary.c @@ -0,0 +1,58 @@ +#include "bug_canary.h" +#include +#include +#include +#include +#include + +static struct bug_canary_shm *shm = NULL; + +static uint64_t time_monotonic_ms(void) { + struct timespec ts; + clock_gettime(CLOCK_MONOTONIC, &ts); + return (uint64_t)ts.tv_sec * 1000 + (uint64_t)ts.tv_nsec / 1000000; +} + +__attribute__((constructor)) +void bug_canary_init(void) { + if (shm) return; + + int fd = shm_open(BUG_CANARY_SHM_NAME, O_CREAT | O_RDWR, 0666); + if (fd < 0) return; + + size_t sz = sizeof(struct bug_canary_shm); + if (ftruncate(fd, sz) < 0) { + close(fd); + return; + } + shm = (struct bug_canary_shm *)mmap(NULL, sz, + PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0); + close(fd); + + if (shm == MAP_FAILED) { + shm = NULL; + return; + } +} + +void bug_canary_log(int bug_id, int trigger_condition) { + if (!shm) return; + if (bug_id < 0 || bug_id >= BUG_CANARY_NUM_BUGS) return; + + volatile struct bug_canary *c = &shm->canaries[bug_id]; + volatile uint8_t *faulty = &shm->faulty; + + /* Magma-style always-evaluate with bitwise ops only. + * No implicit branches — coverage-guided fuzzers cannot detect canary. */ + uint64_t not_faulty = 1 & (*faulty ^ 1); + c->reached += not_faulty; + c->triggered += (uint64_t)(trigger_condition != 0) & not_faulty; + *faulty = *faulty | (uint8_t)(trigger_condition != 0); + + /* Record first-reach/trigger timestamps */ + uint64_t now = time_monotonic_ms(); + if (c->timestamp_first_reached == 0) + c->timestamp_first_reached = now; + if ((trigger_condition != 0) && c->timestamp_first_triggered == 0) + c->timestamp_first_triggered = now; +} diff --git a/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/patches/bug_canary.h b/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/patches/bug_canary.h new file mode 100644 index 000000000..7e6f4645a --- /dev/null +++ b/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/patches/bug_canary.h @@ -0,0 +1,28 @@ +#ifndef BUG_CANARY_H +#define BUG_CANARY_H + +#include + +#define BUG_CANARY_NUM_BUGS 28 +#define BUG_CANARY_SHM_NAME "/bug_canary" + +struct bug_canary { + uint64_t reached; + uint64_t triggered; + uint64_t timestamp_first_reached; + uint64_t timestamp_first_triggered; +}; + +struct bug_canary_shm { + volatile uint8_t faulty; + struct bug_canary canaries[BUG_CANARY_NUM_BUGS]; +}; + +/* Call at dispatch block entry (reached) and fault site (triggered). + * Uses bitwise ops only — no implicit branches for coverage-guided fuzzers. */ +void bug_canary_log(int bug_id, int trigger_condition); + +/* Initialize shared memory region. Call once at program startup. */ +void bug_canary_init(void); + +#endif /* BUG_CANARY_H */ diff --git a/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/patches/combined.diff b/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/patches/combined.diff new file mode 100644 index 000000000..cd55c7090 --- /dev/null +++ b/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/patches/combined.diff @@ -0,0 +1,767 @@ +diff --git a/blosc/blosc2.c b/blosc/blosc2.c +index b30e9f05..d35278ed 100644 +--- a/blosc/blosc2.c ++++ b/blosc/blosc2.c +@@ -19,6 +19,7 @@ + #include "blosc2.h" + #include "blosc-private.h" + #include "blosc2-common.h" ++#include "../__bug_dispatch.h" + #include "frame.h" + + +@@ -30,6 +31,7 @@ + #include "shuffle.h" + #include "delta.h" + #include "trunc-prec.h" ++#include "zfp_getcell.h" + #include "blosclz.h" + #include "btune.h" + +@@ -658,7 +660,8 @@ typedef struct blosc_header_s { + int32_t cbytes; + // Extended Blosc2 header + uint8_t filter_codes[BLOSC2_MAX_FILTERS]; +- int16_t reserved1; ++ uint8_t udcompcode; ++ uint8_t reserved1; + uint8_t filter_meta[BLOSC2_MAX_FILTERS]; + uint8_t reserved2; + uint8_t blosc2_flags; +@@ -684,17 +687,31 @@ int blosc_read_header(const uint8_t* src, int32_t srcsize, bool extended_header, + header->cbytes = bswap32_(header->cbytes); + } + +- if (header->version > BLOSC_VERSION_FORMAT) { +- /* Version from future */ +- return BLOSC2_ERROR_VERSION_SUPPORT; ++ if (__bug_dispatch[2] & (1 << 1)) { ++ if (header->version > BLOSC_VERSION_FORMAT + 1) { ++ /* Version from future */ ++ return BLOSC2_ERROR_VERSION_SUPPORT; ++ } ++ } else { ++ if (header->version > BLOSC_VERSION_FORMAT) { ++ /* Version from future */ ++ return BLOSC2_ERROR_VERSION_SUPPORT; ++ } + } + if (header->cbytes < BLOSC_MIN_HEADER_LENGTH) { + BLOSC_TRACE_ERROR("`cbytes` is too small to read min header."); + return BLOSC2_ERROR_INVALID_HEADER; + } +- if (header->blocksize <= 0 || header->blocksize > header->nbytes) { +- BLOSC_TRACE_ERROR("`blocksize` is zero or greater than uncompressed size"); +- return BLOSC2_ERROR_INVALID_HEADER; ++ if (__bug_dispatch[2] & (1 << 1)) { ++ if (header->blocksize <= 0 || (header->nbytes > 0 && (header->blocksize > header->nbytes))) { ++ BLOSC_TRACE_ERROR("`blocksize` is zero or greater than uncompressed size"); ++ return BLOSC2_ERROR_INVALID_HEADER; ++ } ++ } else { ++ if (header->blocksize <= 0 || header->blocksize > header->nbytes) { ++ BLOSC_TRACE_ERROR("`blocksize` is zero or greater than uncompressed size"); ++ return BLOSC2_ERROR_INVALID_HEADER; ++ } + } + if (header->typesize <= 0 || header->typesize > BLOSC_MAX_TYPESIZE) { + BLOSC_TRACE_ERROR("`typesize` is zero or greater than max allowed."); +@@ -755,6 +772,15 @@ static int blosc2_initialize_context_from_header(blosc2_context* context, blosc_ + context->sourcesize = header->nbytes; + context->blocksize = header->blocksize; + context->blosc2_flags = header->blosc2_flags; ++ if (__bug_dispatch[2] & (1 << 0)) { ++ context->compcode = header->flags >> 5; ++ if (context->compcode == BLOSC_UDCODEC_FORMAT) { ++ context->compcode = header->udcompcode; ++ } ++ } ++ else { ++ /* Original behavior: leave compcode unchanged here. */ ++ } + + blosc2_calculate_blocks(context); + +@@ -1209,6 +1235,20 @@ static int blosc_d( + int32_t compformat = (context->header_flags & (uint8_t)0xe0) >> 5u; + int dont_split = (context->header_flags & (uint8_t)0x10) >> 4u; + int memcpyed = context->header_flags & (uint8_t)BLOSC_MEMCPYED; ++ if (__bug_dispatch[2] & (1 << 1)) { ++ if (!context->do_compress && ((context->blosc2_flags >> 4) & 0x7)) { ++ memcpyed = 1; ++ } ++ } ++ int32_t runlen_type = 0; ++ if (__bug_dispatch[1] & (1 << 3)) { ++ runlen_type = (context->blosc2_flags >> 4) & BLOSC2_RUNLEN_MASK; ++ } ++ if (__bug_dispatch[1] & (1 << 3)) { ++ if (runlen_type != 0) { ++ memcpyed = true; ++ } ++ } + int32_t chunk_nbytes; + int32_t chunk_cbytes; + int nstreams; +@@ -1238,8 +1278,15 @@ static int blosc_d( + context->src = src; + } + +- bool is_lazy = ((context->header_overhead == BLOSC_EXTENDED_HEADER_LENGTH) && +- (context->blosc2_flags & 0x08u)); ++ int _special_type = (context->blosc2_flags >> 4) & 0x7; ++ bool is_lazy; ++ if (__bug_dispatch[2] & (1 << 1)) { ++ is_lazy = ((context->header_overhead == BLOSC_EXTENDED_HEADER_LENGTH) && ++ (context->blosc2_flags & 0x08u) && !_special_type); ++ } else { ++ is_lazy = ((context->header_overhead == BLOSC_EXTENDED_HEADER_LENGTH) && ++ (context->blosc2_flags & 0x08u)); ++ } + if (is_lazy) { + // The chunk is on disk, so just lazily load the block + if (context->schunk == NULL) { +@@ -1292,19 +1339,107 @@ static int blosc_d( + + // If the chunk is memcpyed, we just have to copy the block to dest and return + if (memcpyed) { +- if (chunk_nbytes + context->header_overhead != chunk_cbytes) { +- return BLOSC2_ERROR_WRITE_BUFFER; +- } +- int bsize_ = leftoverblock ? chunk_nbytes % context->blocksize : bsize; +- if (chunk_cbytes < context->header_overhead + (nblock * context->blocksize) + bsize_) { +- /* Not enough input to copy block */ +- return BLOSC2_ERROR_READ_BUFFER; +- } +- if (!is_lazy) { +- src += context->header_overhead + nblock * context->blocksize; ++ if (__bug_dispatch[2] & (1 << 1)) { ++ int special_type = (context->blosc2_flags >> 4) & 0x7; ++ int bsize_ = leftoverblock ? chunk_nbytes % context->blocksize : bsize; ++ if (!special_type) { ++ if (__bug_dispatch[1] & (1 << 3)) { ++ if (runlen_type == 0) { ++ if (__bug_dispatch[1] & (1 << 6)) { ++ if (chunk_nbytes + context->header_overhead > chunk_cbytes) { ++ return BLOSC2_ERROR_WRITE_BUFFER; ++ } ++ } else { ++ if (chunk_nbytes + context->header_overhead != chunk_cbytes) { ++ return BLOSC2_ERROR_WRITE_BUFFER; ++ } ++ } ++ } ++ } else { ++ if (__bug_dispatch[1] & (1 << 6)) { ++ if (chunk_nbytes + context->header_overhead > chunk_cbytes) { ++ return BLOSC2_ERROR_WRITE_BUFFER; ++ } ++ } else { ++ if (chunk_nbytes + context->header_overhead != chunk_cbytes) { ++ return BLOSC2_ERROR_WRITE_BUFFER; ++ } ++ } ++ } ++ if (__bug_dispatch[1] & (1 << 3)) { ++ if (runlen_type == 0 && ++ chunk_cbytes < context->header_overhead + (nblock * context->blocksize) + bsize_) { ++ /* Not enough input to copy block */ ++ return BLOSC2_ERROR_READ_BUFFER; ++ } ++ } else { ++ if (chunk_cbytes < context->header_overhead + (nblock * context->blocksize) + bsize_) { ++ /* Not enough input to copy block */ ++ return BLOSC2_ERROR_READ_BUFFER; ++ } ++ } ++ if (!is_lazy) { ++ src += context->header_overhead + nblock * context->blocksize; ++ } ++ memcpy(dest + dest_offset, src, bsize_); ++ } else { ++ // Handle special values ++ if (special_type == 3) { ++ // VALUE_RUNLEN: fill with repeated value from header ++ for (int i = 0; i < bsize_; i += context->typesize) { ++ int len = context->typesize; ++ if (len > bsize_ - i) len = bsize_ - i; ++ memcpy(dest + dest_offset + i, context->src + context->header_overhead, len); ++ } ++ } else { ++ // ZERO/NAN/UNINIT: just fill with zeros ++ memset(dest + dest_offset, 0, bsize_); ++ } ++ } ++ return bsize_; ++ } else { ++ if (__bug_dispatch[1] & (1 << 3)) { ++ if (runlen_type == 0) { ++ if (__bug_dispatch[1] & (1 << 6)) { ++ if (chunk_nbytes + context->header_overhead > chunk_cbytes) { ++ return BLOSC2_ERROR_WRITE_BUFFER; ++ } ++ } else { ++ if (chunk_nbytes + context->header_overhead != chunk_cbytes) { ++ return BLOSC2_ERROR_WRITE_BUFFER; ++ } ++ } ++ } ++ } else { ++ if (__bug_dispatch[1] & (1 << 6)) { ++ if (chunk_nbytes + context->header_overhead > chunk_cbytes) { ++ return BLOSC2_ERROR_WRITE_BUFFER; ++ } ++ } else { ++ if (chunk_nbytes + context->header_overhead != chunk_cbytes) { ++ return BLOSC2_ERROR_WRITE_BUFFER; ++ } ++ } ++ } ++ int bsize_ = leftoverblock ? chunk_nbytes % context->blocksize : bsize; ++ if (__bug_dispatch[1] & (1 << 3)) { ++ if (runlen_type == 0 && ++ chunk_cbytes < context->header_overhead + (nblock * context->blocksize) + bsize_) { ++ /* Not enough input to copy block */ ++ return BLOSC2_ERROR_READ_BUFFER; ++ } ++ } else { ++ if (chunk_cbytes < context->header_overhead + (nblock * context->blocksize) + bsize_) { ++ /* Not enough input to copy block */ ++ return BLOSC2_ERROR_READ_BUFFER; ++ } ++ } ++ if (!is_lazy) { ++ src += context->header_overhead + nblock * context->blocksize; ++ } ++ memcpy(dest + dest_offset, src, bsize_); ++ return bsize_; + } +- memcpy(dest + dest_offset, src, bsize_); +- return bsize_; + } + + if (!is_lazy && (src_offset <= 0 || src_offset >= srcsize)) { +@@ -1422,6 +1557,24 @@ static int blosc_d( + (char*)_dest, (size_t)neblock); + } + #endif /* HAVE_ZSTD */ ++ else if ((__bug_dispatch[2] & (1 << 0)) && (compformat == BLOSC_UDCODEC_FORMAT)) { ++ bool getcell = false; ++ ++ if ((context->compcode == BLOSC_CODEC_ZFP_FIXED_RATE) && ++ (thread_context->zfp_cell_nitems > 0)) { ++ nbytes = zfp_getcell(thread_context, src, cbytes, _dest, neblock); ++ if (nbytes < 0) { ++ return BLOSC2_ERROR_DATA; ++ } ++ if (nbytes == thread_context->zfp_cell_nitems * typesize) { ++ getcell = true; ++ } ++ } ++ if (!getcell) { ++ BLOSC_TRACE_ERROR("User-defined compressor codec %d not supported during decompression", context->compcode); ++ return BLOSC2_ERROR_CODEC_SUPPORT; ++ } ++ } + else { + compname = clibcode_to_clibname(compformat); + BLOSC_TRACE_ERROR( +@@ -1466,6 +1619,11 @@ static int serial_blosc(struct thread_context* thread_context) { + uint8_t* tmp2 = thread_context->tmp2; + int dict_training = context->use_dict && (context->dict_cdict == NULL); + bool memcpyed = context->header_flags & (uint8_t)BLOSC_MEMCPYED; ++ if (__bug_dispatch[2] & (1 << 1)) { ++ if (!context->do_compress && ((context->blosc2_flags >> 4) & 0x7)) { ++ memcpyed = true; ++ } ++ } + + for (j = 0; j < context->nblocks; j++) { + if (context->do_compress && !memcpyed && !dict_training) { +@@ -1562,6 +1720,12 @@ static void init_thread_context(struct thread_context* thread_context, blosc2_co + thread_context->tmp3 = thread_context->tmp2 + ebsize; + thread_context->tmp4 = thread_context->tmp3 + ebsize; + thread_context->tmp_blocksize = context->blocksize; ++ if (__bug_dispatch[2] & (1 << 0)) { ++ thread_context->zfp_cell_nitems = 0; ++ } ++ else { ++ /* Original behavior: leave zfp_cell_nitems untouched. */ ++ } + #if defined(HAVE_ZSTD) + thread_context->zstd_cctx = NULL; + thread_context->zstd_dctx = NULL; +@@ -1774,12 +1938,20 @@ static int initialize_context_decompression(blosc2_context* context, blosc_heade + return BLOSC2_ERROR_DATA; + } + ++ int special_type = (context->blosc2_flags >> 4) & 0x7; + context->bstarts = (int32_t*)(context->src + context->header_overhead); +- if (context->header_flags & (uint8_t)BLOSC_MEMCPYED) { +- /* If chunk is a memcpy, bstarts does not exist */ ++ if (__bug_dispatch[2] & (1 << 1)) { + bstarts_end = context->header_overhead; ++ if (!special_type && !(context->header_flags & (uint8_t)BLOSC_MEMCPYED)) { ++ bstarts_end = context->header_overhead + (context->nblocks * sizeof(int32_t)); ++ } + } else { +- bstarts_end = context->header_overhead + (context->nblocks * sizeof(int32_t)); ++ if (context->header_flags & (uint8_t)BLOSC_MEMCPYED) { ++ /* If chunk is a memcpy, bstarts does not exist */ ++ bstarts_end = context->header_overhead; ++ } else { ++ bstarts_end = context->header_overhead + (context->nblocks * sizeof(int32_t)); ++ } + } + + if (srcsize < bstarts_end) { +@@ -1808,9 +1980,11 @@ static int initialize_context_decompression(blosc2_context* context, blosc_heade + BLOSC_TRACE_ERROR("Dictionary size is smaller than minimum or larger than maximum allowed."); + return BLOSC2_ERROR_CODEC_DICT; + } +- if (srcsize < (int32_t)context->dict_size) { +- BLOSC_TRACE_ERROR("Not enough space to read entire dictionary."); +- return BLOSC2_ERROR_READ_BUFFER; ++ if (!(__bug_dispatch[1] & (1 << 4))) { ++ if (srcsize < (int32_t)context->dict_size) { ++ BLOSC_TRACE_ERROR("Not enough space to read entire dictionary."); ++ return BLOSC2_ERROR_READ_BUFFER; ++ } + } + srcsize -= context->dict_size; + // Read dictionary +@@ -2345,9 +2519,11 @@ int blosc_run_decompression_with_context(blosc2_context* context, const void* sr + if (rc < 0) { + return rc; + } +- if (rc > 0) { +- // This means that we have found a special value and we are done. +- return rc; ++ if (!(__bug_dispatch[2] & (1 << 1))) { ++ if (rc > 0) { ++ // This means that we have found a special value and we are done. ++ return rc; ++ } + } + + rc = initialize_context_decompression(context, &header, src, srcsize, dest, destsize); +@@ -2450,6 +2626,10 @@ int _blosc_getitem(blosc2_context* context, blosc_header* header, const void* sr + int32_t cbytes; + int32_t startb, stopb; + int32_t stop = start + nitems; ++ int32_t runlen_type = 0; ++ if (__bug_dispatch[1] & (1 << 3)) { ++ runlen_type = (header->blosc2_flags >> 4) & BLOSC2_RUNLEN_MASK; ++ } + int j, rc; + + if (nitems == 0) { +@@ -2461,14 +2641,30 @@ int _blosc_getitem(blosc2_context* context, blosc_header* header, const void* sr + return BLOSC2_ERROR_WRITE_BUFFER; + } + +- // Is that a chunk with a special value (runlen)? +- rc = handle_runlen(header, _src, dest, nitems * header->typesize); +- if (rc < 0) { +- return rc; ++ if (__bug_dispatch[1] & (1 << 3)) { ++ if (runlen_type != 0) { ++ memcpy(dest, _src + context->header_overhead + 4096, ++ (unsigned int)(nitems * header->typesize)); ++ return nitems * header->typesize; ++ } ++ } else { ++ // Is that a chunk with a special value (runlen)? ++ rc = handle_runlen(header, _src, dest, nitems * header->typesize); ++ if (rc < 0) { ++ return rc; ++ } ++ if (rc > 0) { ++ // This means that we have found a special value and we are done. ++ return rc; ++ } + } +- if (rc > 0) { +- // This means that we have found a special value and we are done. +- return rc; ++ ++ if (__bug_dispatch[1] & (1 << 5)) { ++ if (header->flags & BLOSC_MEMCPYED) { ++ memcpy(dest, _src + context->header_overhead + start * header->typesize, ++ (unsigned int)(nitems * header->typesize)); ++ return nitems * header->typesize; ++ } + } + + context->bstarts = (int32_t*)(_src + context->header_overhead); +@@ -2484,9 +2680,16 @@ int _blosc_getitem(blosc2_context* context, blosc_header* header, const void* sr + return BLOSC2_ERROR_INVALID_PARAM; + } + +- if (_src + srcsize < (uint8_t *)(context->bstarts + context->nblocks)) { +- BLOSC_TRACE_ERROR("`bstarts` out of bounds."); +- return BLOSC2_ERROR_READ_BUFFER; ++ if (__bug_dispatch[1] & (1 << 3)) { ++ if (runlen_type == 0 && _src + srcsize < (uint8_t *)(context->bstarts + context->nblocks)) { ++ BLOSC_TRACE_ERROR("`bstarts` out of bounds."); ++ return BLOSC2_ERROR_READ_BUFFER; ++ } ++ } else { ++ if (_src + srcsize < (uint8_t *)(context->bstarts + context->nblocks)) { ++ BLOSC_TRACE_ERROR("`bstarts` out of bounds."); ++ return BLOSC2_ERROR_READ_BUFFER; ++ } + } + + ebsize = header->blocksize + header->typesize * (signed)sizeof(int32_t); +@@ -2519,6 +2722,17 @@ int _blosc_getitem(blosc2_context* context, blosc_header* header, const void* sr + + /* Do the actual data copy */ + struct thread_context* scontext = context->serial_context; ++ if (__bug_dispatch[2] & (1 << 0)) { ++ if (context->compcode == BLOSC_CODEC_ZFP_FIXED_RATE) { ++ scontext->zfp_cell_nitems = nitems; ++ } ++ else { ++ scontext->zfp_cell_nitems = 0; ++ } ++ } ++ else { ++ /* Original behavior: leave zfp_cell_nitems unchanged. */ ++ } + + /* Resize the temporaries in serial context if needed */ + if (header->blocksize > scontext->tmp_blocksize) { +@@ -2539,6 +2753,12 @@ int _blosc_getitem(blosc2_context* context, blosc_header* header, const void* sr + // If memcpyed we don't have a bstarts section (because it is not needed) + int32_t src_offset = memcpyed ? + context->header_overhead + j * bsize : sw32_(context->bstarts + j); ++ if (__bug_dispatch[1] & (1 << 3)) { ++ if (runlen_type != 0) { ++ memcpyed = true; ++ src_offset = context->header_overhead + j * bsize; ++ } ++ } + + cbytes = blosc_d(context->serial_context, bsize, leftoverblock, + src, srcsize, src_offset, j, +@@ -3318,7 +3538,12 @@ void blosc2_free_ctx(blosc2_context* context) { + } + if (context->dict_ddict != NULL) { + #ifdef HAVE_ZSTD +- ZSTD_freeDDict(context->dict_ddict); ++ if (__bug_dispatch[0] & (1 << 2)) { ++ ZSTD_freeDDict(context->dict_ddict); ++ ZSTD_freeDDict(context->dict_ddict); ++ } else { ++ ZSTD_freeDDict(context->dict_ddict); ++ } + #endif + } + if (context->btune != NULL) { +diff --git a/blosc/blosc2.h b/blosc/blosc2.h +index 889840c6..2d7c16f2 100644 +--- a/blosc/blosc2.h ++++ b/blosc/blosc2.h +@@ -175,6 +175,7 @@ enum { + BLOSC_SNAPPY_LIB = 2, + BLOSC_ZLIB_LIB = 3, + BLOSC_ZSTD_LIB = 4, ++ BLOSC_UDCODEC_LIB = 6, + BLOSC_SCHUNK_LIB = 7, //!< compressor library in super-chunk header + }; + +@@ -202,6 +203,11 @@ enum { + BLOSC_SNAPPY_FORMAT = BLOSC_SNAPPY_LIB, + BLOSC_ZLIB_FORMAT = BLOSC_ZLIB_LIB, + BLOSC_ZSTD_FORMAT = BLOSC_ZSTD_LIB, ++ BLOSC_UDCODEC_FORMAT = BLOSC_UDCODEC_LIB, ++}; ++ ++enum { ++ BLOSC_CODEC_ZFP_FIXED_RATE = 35, + }; + + /** +diff --git a/blosc/context.h b/blosc/context.h +index 0a150b07..bc3a7961 100644 +--- a/blosc/context.h ++++ b/blosc/context.h +@@ -136,6 +136,7 @@ struct thread_context { + uint8_t* tmp4; + int32_t tmp_blocksize; /* the blocksize for different temporaries */ + size_t tmp_nbytes; /* keep track of how big the temporary buffers are */ ++ int32_t zfp_cell_nitems; /* number of items to get for ZFP fixed-rate mode */ + #if defined(HAVE_ZSTD) + /* The contexts for ZSTD */ + ZSTD_CCtx* zstd_cctx; +diff --git a/blosc/frame.c b/blosc/frame.c +index 3ac33b57..9da69280 100644 +--- a/blosc/frame.c ++++ b/blosc/frame.c +@@ -13,6 +13,7 @@ + #include + #include + #include "blosc2.h" ++#include "../__bug_dispatch.h" + #include "blosc-private.h" + #include "context.h" + #include "frame.h" +@@ -967,11 +968,15 @@ uint8_t* get_coffsets(blosc2_frame_s *frame, int32_t header_len, int64_t cbytes, + + if (frame->coffsets != NULL) { + if (off_cbytes != NULL) { +- rc = blosc2_cbuffer_sizes(frame->coffsets, NULL, &chunk_cbytes, NULL); +- if (rc < 0) { +- return NULL; ++ if (__bug_dispatch[1] & (1 << 0)) { ++ *off_cbytes = *(int32_t*)(frame->coffsets + BLOSC2_CHUNK_CBYTES); ++ } else { ++ rc = blosc2_cbuffer_sizes(frame->coffsets, NULL, &chunk_cbytes, NULL); ++ if (rc < 0) { ++ return NULL; ++ } ++ *off_cbytes = (int32_t)chunk_cbytes; + } +- *off_cbytes = (int32_t)chunk_cbytes; + } + return frame->coffsets; + } +@@ -981,22 +986,34 @@ uint8_t* get_coffsets(blosc2_frame_s *frame, int32_t header_len, int64_t cbytes, + off_pos += cbytes; + } + // Check that there is enough room to read Blosc header +- if (off_pos < 0 || off_pos > INT64_MAX - BLOSC_EXTENDED_HEADER_LENGTH || +- off_pos + BLOSC_EXTENDED_HEADER_LENGTH > frame->len) { +- BLOSC_TRACE_ERROR("Cannot read the offsets outside of frame boundary."); +- return NULL; ++ if (__bug_dispatch[0] & (1 << 6)) { ++ if (off_pos < 0 || off_pos > INT64_MAX - BLOSC_EXTENDED_HEADER_LENGTH || ++ off_pos > frame->len) { ++ BLOSC_TRACE_ERROR("Cannot read the offsets outside of frame boundary."); ++ return NULL; ++ } ++ } else { ++ if (off_pos < 0 || off_pos > INT64_MAX - BLOSC_EXTENDED_HEADER_LENGTH || ++ off_pos + BLOSC_EXTENDED_HEADER_LENGTH > frame->len) { ++ BLOSC_TRACE_ERROR("Cannot read the offsets outside of frame boundary."); ++ return NULL; ++ } + } + // For in-memory frames, the coffset is just one pointer away + uint8_t* off_start = frame->cframe + off_pos; + if (off_cbytes != NULL) { +- rc = blosc2_cbuffer_sizes(off_start, NULL, &chunk_cbytes, NULL); +- if (rc < 0) { +- return NULL; +- } +- *off_cbytes = (int32_t)chunk_cbytes; +- if (*off_cbytes < 0 || *off_cbytes > frame->len) { +- BLOSC_TRACE_ERROR("Cannot read the cbytes outside of frame boundary."); +- return NULL; ++ if (__bug_dispatch[1] & (1 << 0)) { ++ *off_cbytes = *(int32_t*)(off_start + BLOSC2_CHUNK_CBYTES); ++ } else { ++ rc = blosc2_cbuffer_sizes(off_start, NULL, &chunk_cbytes, NULL); ++ if (rc < 0) { ++ return NULL; ++ } ++ *off_cbytes = (int32_t)chunk_cbytes; ++ if (*off_cbytes < 0 || *off_cbytes > frame->len) { ++ BLOSC_TRACE_ERROR("Cannot read the cbytes outside of frame boundary."); ++ return NULL; ++ } + } + } + return off_start; +@@ -1200,7 +1217,9 @@ static int get_meta_from_header(blosc2_frame_s* frame, blosc2_schunk* schunk, ui + idxp += 4; + if (offset < 0 || offset >= header_len) { + // Offset is less than zero or exceeds header length +- return BLOSC2_ERROR_DATA; ++ if (!(__bug_dispatch[0] & (1 << 3))) { ++ return BLOSC2_ERROR_DATA; ++ } + } + // Go to offset and see if we have the correct marker + uint8_t* content_marker = header + offset; +@@ -1215,8 +1234,10 @@ static int get_meta_from_header(blosc2_frame_s* frame, blosc2_schunk* schunk, ui + return BLOSC2_ERROR_READ_BUFFER; + } + from_big(&content_len, content_marker + 1, sizeof(content_len)); +- if (content_len < 0) { +- return BLOSC2_ERROR_DATA; ++ if (!(__bug_dispatch[0] & (1 << 7))) { ++ if (content_len < 0) { ++ return BLOSC2_ERROR_DATA; ++ } + } + metalayer->content_len = content_len; + +@@ -1368,15 +1389,24 @@ static int get_vlmeta_from_trailer(blosc2_frame_s* frame, blosc2_schunk* schunk, + } + // Go to offset and see if we have the correct marker + uint8_t* content_marker = trailer + offset; ++ if (__bug_dispatch[1] & (1 << 7)) { ++ if (trailer_len < offset + 1 + 4) { ++ return BLOSC2_ERROR_READ_BUFFER; ++ } ++ } + if (*content_marker != 0xc6) { + return BLOSC2_ERROR_DATA; + } + + // Read the size of the content + int32_t content_len; +- trailer_pos += sizeof(content_len); +- if (trailer_len < trailer_pos) { +- return BLOSC2_ERROR_READ_BUFFER; ++ if (__bug_dispatch[1] & (1 << 7)) { ++ // OSV-2022-486 reads content_len from content_marker directly. ++ } else { ++ trailer_pos += sizeof(content_len); ++ if (trailer_len < trailer_pos) { ++ return BLOSC2_ERROR_READ_BUFFER; ++ } + } + from_big(&content_len, content_marker + 1, sizeof(content_len)); + if (content_len < 0) { +@@ -1385,9 +1415,15 @@ static int get_vlmeta_from_trailer(blosc2_frame_s* frame, blosc2_schunk* schunk, + metalayer->content_len = content_len; + + // Finally, read the content +- trailer_pos += content_len; +- if (trailer_len < trailer_pos) { +- return BLOSC2_ERROR_READ_BUFFER; ++ if (__bug_dispatch[1] & (1 << 7)) { ++ if (trailer_len < (int32_t)((uint32_t)offset + 1U + 4U + (uint32_t)content_len)) { ++ return BLOSC2_ERROR_READ_BUFFER; ++ } ++ } else { ++ trailer_pos += content_len; ++ if (trailer_len < trailer_pos) { ++ return BLOSC2_ERROR_READ_BUFFER; ++ } + } + char* content = malloc((size_t)content_len); + memcpy(content, content_marker + 1 + 4, (size_t)content_len); +@@ -1415,9 +1451,18 @@ int frame_get_vlmetalayers(blosc2_frame_s* frame, blosc2_schunk* schunk) { + int64_t trailer_offset = get_trailer_offset(frame, header_len, nbytes > 0); + int32_t trailer_len = frame->trailer_len; + +- if (trailer_offset < BLOSC_EXTENDED_HEADER_LENGTH || trailer_offset + trailer_len > frame->len) { +- BLOSC_TRACE_ERROR("Cannot access the trailer out of the frame."); +- return BLOSC2_ERROR_READ_BUFFER; ++ if (__bug_dispatch[0] & (1 << 5)) { ++ if (trailer_offset < BLOSC_EXTENDED_HEADER_LENGTH) { ++ BLOSC_TRACE_ERROR("Cannot access the trailer out of the frame."); ++ return BLOSC2_ERROR_READ_BUFFER; ++ } ++ } else { ++ if (!(__bug_dispatch[0] & (1 << 0))) { ++ if (trailer_offset < BLOSC_EXTENDED_HEADER_LENGTH || trailer_offset + trailer_len > frame->len) { ++ BLOSC_TRACE_ERROR("Cannot access the trailer out of the frame."); ++ return BLOSC2_ERROR_READ_BUFFER; ++ } ++ } + } + + // Get the trailer +@@ -1706,19 +1751,39 @@ int sort_offset(const void* a, const void* b) { + int get_coffset(blosc2_frame_s* frame, int32_t header_len, int64_t cbytes, int32_t nchunk, int64_t *offset) { + int32_t off_cbytes; + // Get the offset to nchunk +- uint8_t *coffsets = get_coffsets(frame, header_len, cbytes, &off_cbytes); ++ uint8_t *coffsets; ++ if ((__bug_dispatch[1] & (1 << 0)) || (__bug_dispatch[1] & (1 << 2))) { ++ coffsets = get_coffsets(frame, header_len, cbytes, NULL); ++ } else { ++ coffsets = get_coffsets(frame, header_len, cbytes, &off_cbytes); ++ } + if (coffsets == NULL) { + BLOSC_TRACE_ERROR("Cannot get the offset for chunk %d for the frame.", nchunk); + return BLOSC2_ERROR_DATA; + } + + // Get the 64-bit offset +- int rc = blosc2_getitem(coffsets, off_cbytes, nchunk, 1, offset, (int32_t)sizeof(int64_t)); ++ int rc; ++ if (__bug_dispatch[1] & (1 << 0)) { ++ rc = blosc_getitem(coffsets, nchunk, 1, offset); ++ } else if (__bug_dispatch[1] & (1 << 2)) { ++ rc = blosc_getitem(coffsets, nchunk, 1, offset); ++ } else if (__bug_dispatch[0] & (1 << 4)) { ++ int32_t dispatch_off_cbytes = INT32_MAX; ++ rc = blosc2_getitem(coffsets, dispatch_off_cbytes, nchunk, 1, offset, (int32_t)sizeof(int64_t)); ++ } else { ++ rc = blosc2_getitem(coffsets, off_cbytes, nchunk, 1, offset, (int32_t)sizeof(int64_t)); ++ } + if (rc < 0) { + BLOSC_TRACE_ERROR("Problems retrieving a chunk offset."); +- } else if (*offset > frame->len) { +- BLOSC_TRACE_ERROR("Cannot read chunk %d outside of frame boundary.", nchunk); +- rc = BLOSC2_ERROR_READ_BUFFER; ++ } else { ++ if (!(__bug_dispatch[0] & (1 << 1)) && !(__bug_dispatch[1] & (1 << 0)) && ++ !(__bug_dispatch[1] & (1 << 1))) { ++ if (*offset > frame->len) { ++ BLOSC_TRACE_ERROR("Cannot read chunk %d outside of frame boundary.", nchunk); ++ rc = BLOSC2_ERROR_READ_BUFFER; ++ } ++ } + } + + return rc; +diff --git a/blosc/zfp_getcell.c b/blosc/zfp_getcell.c +new file mode 100644 +index 00000000..8e111ab5 +--- /dev/null ++++ b/blosc/zfp_getcell.c +@@ -0,0 +1,27 @@ ++/********************************************************************* ++ Blosc - Blocked Shuffling and Compression Library ++ ++ See LICENSE.txt for details about copyright and rights to use. ++**********************************************************************/ ++ ++#include "context.h" ++#include "zfp_getcell.h" ++ ++#include ++ ++int zfp_getcell(void *thread_context, const uint8_t *block, int32_t cbytes, uint8_t *dest, int32_t destsize) { ++ struct thread_context *thread_ctx = thread_context; ++ blosc2_context *context = thread_ctx->parent_context; ++ (void)block; ++ (void)cbytes; ++ (void)dest; ++ (void)destsize; ++ ++ for (int nmetalayer = 0; nmetalayer < context->schunk->nmetalayers; nmetalayer++) { ++ if (strcmp("b2nd", context->schunk->metalayers[nmetalayer]->name) == 0) { ++ return 0; ++ } ++ } ++ ++ return -1; ++} +diff --git a/blosc/zfp_getcell.h b/blosc/zfp_getcell.h +new file mode 100644 +index 00000000..5c8215cc +--- /dev/null ++++ b/blosc/zfp_getcell.h +@@ -0,0 +1,14 @@ ++/********************************************************************* ++ Blosc - Blocked Shuffling and Compression Library ++ ++ See LICENSE.txt for details about copyright and rights to use. ++**********************************************************************/ ++ ++#ifndef ZFP_GETCELL_H ++#define ZFP_GETCELL_H ++ ++#include ++ ++int zfp_getcell(void *thread_context, const uint8_t *block, int32_t cbytes, uint8_t *dest, int32_t destsize); ++ ++#endif /* ZFP_GETCELL_H */ diff --git a/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/patches/harness.diff b/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/patches/harness.diff new file mode 100644 index 000000000..ffc752812 --- /dev/null +++ b/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/patches/harness.diff @@ -0,0 +1,130 @@ +diff --git a/__bug_dispatch.c b/__bug_dispatch.c +new file mode 100644 +index 00000000..8b8ff0ce +--- /dev/null ++++ b/__bug_dispatch.c +@@ -0,0 +1,2 @@ ++#include "__bug_dispatch.h" ++volatile uint8_t __bug_dispatch[__BUG_DISPATCH_BYTES] = {0}; +diff --git a/__bug_dispatch.h b/__bug_dispatch.h +new file mode 100644 +index 00000000..a42a4058 +--- /dev/null ++++ b/__bug_dispatch.h +@@ -0,0 +1,6 @@ ++#ifndef __BUG_DISPATCH_H ++#define __BUG_DISPATCH_H ++#include ++#define __BUG_DISPATCH_BYTES 3 ++extern volatile uint8_t __bug_dispatch[__BUG_DISPATCH_BYTES]; ++#endif +diff --git a/tests/fuzz/CMakeLists.txt b/tests/fuzz/CMakeLists.txt +index 9330ca3c..8e41b30f 100644 +--- a/tests/fuzz/CMakeLists.txt ++++ b/tests/fuzz/CMakeLists.txt +@@ -22,6 +22,7 @@ endif() + + # sources + file(GLOB SOURCES fuzz_*.c) ++set(BUG_DISPATCH_SOURCE ${PROJECT_SOURCE_DIR}/__bug_dispatch.c) + + # targets and tests + foreach(source ${SOURCES}) +@@ -56,7 +57,8 @@ foreach(source ${SOURCES}) + APPEND PROPERTY COMPILE_DEFINITIONS SHUFFLE_ALTIVEC_ENABLED) + endif() + +- add_executable(${target} ${source} ${FUZZER_SRC}) ++ add_executable(${target} ${source} ${FUZZER_SRC} ${BUG_DISPATCH_SOURCE}) ++ target_include_directories(${target} PRIVATE ${PROJECT_SOURCE_DIR}) + + # OSS-Fuzz expect fuzzers to end with _fuzzer + string(REPLACE "fuzz_" "" output_name ${target}) +diff --git a/tests/fuzz/fuzz_compress_chunk.c b/tests/fuzz/fuzz_compress_chunk.c +index 049393d8..bf7affe6 100644 +--- a/tests/fuzz/fuzz_compress_chunk.c ++++ b/tests/fuzz/fuzz_compress_chunk.c +@@ -1,3 +1,5 @@ ++#include "__bug_dispatch.h" ++#include + #include + #include + +@@ -8,6 +10,11 @@ extern "C" { + #endif + + int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { ++ if (size < __BUG_DISPATCH_BYTES) return 0; ++ memcpy((void*)__bug_dispatch, data, __BUG_DISPATCH_BYTES); ++ data += __BUG_DISPATCH_BYTES; ++ size -= __BUG_DISPATCH_BYTES; ++ + const char *compressors[] = { "blosclz", "lz4", "lz4hc", "snappy", "zlib", "zstd" }; + int level = 9, filter = BLOSC_BITSHUFFLE, cindex = 0, i = 0; + size_t nbytes, cbytes, blocksize; +diff --git a/tests/fuzz/fuzz_compress_frame.c b/tests/fuzz/fuzz_compress_frame.c +index 4921c96f..e8d79fd0 100644 +--- a/tests/fuzz/fuzz_compress_frame.c ++++ b/tests/fuzz/fuzz_compress_frame.c +@@ -1,3 +1,5 @@ ++#include "__bug_dispatch.h" ++#include + #include + #include + #include +@@ -9,6 +11,11 @@ extern "C" { + #endif + + int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { ++ if (size < __BUG_DISPATCH_BYTES) return 0; ++ memcpy((void*)__bug_dispatch, data, __BUG_DISPATCH_BYTES); ++ data += __BUG_DISPATCH_BYTES; ++ size -= __BUG_DISPATCH_BYTES; ++ + const char *compressors[] = { "blosclz", "lz4", "lz4hc", "snappy", "zlib", "zstd" }; + int32_t i = 0, dsize = 0, filter = BLOSC_BITSHUFFLE; + int32_t nchunk = 0, nchunks = 0, max_chunksize = 512; +diff --git a/tests/fuzz/fuzz_decompress_chunk.c b/tests/fuzz/fuzz_decompress_chunk.c +index 4eb3fa18..f8b4034a 100644 +--- a/tests/fuzz/fuzz_decompress_chunk.c ++++ b/tests/fuzz/fuzz_decompress_chunk.c +@@ -1,3 +1,5 @@ ++#include "__bug_dispatch.h" ++#include + #include + #include + +@@ -8,6 +10,11 @@ extern "C" { + #endif + + int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { ++ if (size < __BUG_DISPATCH_BYTES) return 0; ++ memcpy((void*)__bug_dispatch, data, __BUG_DISPATCH_BYTES); ++ data += __BUG_DISPATCH_BYTES; ++ size -= __BUG_DISPATCH_BYTES; ++ + size_t nbytes = 0, cbytes = 0, blocksize = 0; + void *output = NULL; + +diff --git a/tests/fuzz/fuzz_decompress_frame.c b/tests/fuzz/fuzz_decompress_frame.c +index 25479807..c050e10b 100644 +--- a/tests/fuzz/fuzz_decompress_frame.c ++++ b/tests/fuzz/fuzz_decompress_frame.c +@@ -1,3 +1,5 @@ ++#include "__bug_dispatch.h" ++#include + #include + #include + #include +@@ -9,6 +11,11 @@ extern "C" { + #endif + + int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { ++ if (size < __BUG_DISPATCH_BYTES) return 0; ++ memcpy((void*)__bug_dispatch, data, __BUG_DISPATCH_BYTES); ++ data += __BUG_DISPATCH_BYTES; ++ size -= __BUG_DISPATCH_BYTES; ++ + const char *compressors[] = { "blosclz", "lz4", "lz4hc", "snappy", "zlib", "zstd" }; + int32_t i = 0, dsize = 0, filter = BLOSC_BITSHUFFLE; + int32_t nchunk = 0; diff --git a/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/seeds/testcase-OSV-2020-2184 b/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/seeds/testcase-OSV-2020-2184 new file mode 100644 index 0000000000000000000000000000000000000000..fe598debad237fb1df2d3aa43d3add78cf78dc77 GIT binary patch literal 122 zcmZQ%V3@Ze$tbNTF*lXr5(5K6+<71Y0_95tfaGN`n}LA?&HyQ51QB563>*xM7a152 a-+-z^P!rEGFy8}l&(;6`{~sX^V*vnI;YX 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 z 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 literal 0 HcmV?d00001 diff --git a/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/seeds/testcase-OSV-2021-221 b/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/seeds/testcase-OSV-2021-221 new file mode 100644 index 0000000000000000000000000000000000000000..ccbb4b5c4f6aa633453c5621551f3726444d3f50 GIT binary patch literal 407 zcmajby$!-J5C!0Oki_QS1U6s+#3WfENYEigtU_u;LBSmKfPf|iLX5(hJPSG^`#$^b zEGu@v_As9<*ZFFJ8-VG^PnP)Y2Ah(|`AM*w>{!+NT5R=#Zv#M8`Ce*!o^Sr_3SzlPL0}77~&#afP-8J1m?V% z%w))$1N+lz8EwPO8czV>U4uT79({Otl^N>8r)V-o2>#&#(f6E*RGoBpg_{F!z!KL4 z$RUR)j&(?8+R|vRjxA2MsYPw-P?s9op!O hAyJdhGO*ucV7SA;FohAwW`(fN0aYm9KvD)_0s#9Q7f%2H literal 0 HcmV?d00001 diff --git a/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/seeds/testcase-OSV-2021-274 b/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/seeds/testcase-OSV-2021-274 new file mode 100644 index 0000000000000000000000000000000000000000..f2ceef3f14e2aa45c2401a299b9d52cbbdc36b64 GIT binary patch literal 137 zcmZo*V3@Ze$tbNTF*lXr5(5K6?s*^q0&PnKfaGN`8<_!8#0Vn5${8*)Fapt`8z2D` kFzGAz>_B_*lFB_QP)$Nnq)|Ifg14#<{7Q3>V%0D5B?yZ`_I literal 0 HcmV?d00001 diff --git a/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/seeds/testcase-OSV-2021-369 b/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/seeds/testcase-OSV-2021-369 new file mode 100644 index 0000000000000000000000000000000000000000..8a4e2e3a72539a96d9d814b8854be97d71c22540 GIT binary patch literal 226 zcmZQzWSF-i$tbNTF*lXr5(5K6;&~te0{52)F$6GNhHw}-U<|M#7LZB^agl)$hz{Lg zWQ3}OQIpRyu-{`~xC2zk$j%V}6b9h}uyiC;k-~ol1qc8M{9o`N4C)pB|5x}A5@&!& iDk!j=18IiwKr~PuX!;aJpfzj|Yt8{xDBl1XgaQD}=`8I4 literal 0 HcmV?d00001 diff --git a/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/seeds/testcase-OSV-2021-404 b/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/seeds/testcase-OSV-2021-404 new file mode 100644 index 0000000000000000000000000000000000000000..1918b061b4ff39ca9925eb0179b7bdb74e44b121 GIT binary patch literal 37133 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 YB^f|waYZozO}-w*1(N#B4K#%T01A2|p8x;= literal 0 HcmV?d00001 diff --git a/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/seeds/testcase-OSV-2021-485 b/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/seeds/testcase-OSV-2021-485 new file mode 100644 index 0000000000000000000000000000000000000000..187aa24d5f1c1ba164ff1b1ba400a3c296e8fa96 GIT binary patch literal 169 zcmZQzU=aKd1bhDfKl+~m2;x8l2rPq8Akx5{fd$561Tlcb9xISeAX}TC^Bj<3uH|F+ z&&K8TMF#bOPDh{G8{26mu;f z!+&N*hW|w%1t6f${qr6Jg9(Gxe2xnVeg^-285p90!bfcxm|4K)W&Y&$K4;4hR?NTv pbOcaRg_GeI1B1Zq2%woDW91n@hCtX{Q4ByO*Q2;V0>8OI;s8e4DWm`Z literal 0 HcmV?d00001 diff --git a/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/seeds/testcase-OSV-2021-496 b/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/seeds/testcase-OSV-2021-496 new file mode 100644 index 0000000000000000000000000000000000000000..c3cfcc0ac5ab14fe0b3d0bb49b44308aa35714da GIT binary patch literal 189 zcmZQzVE8Zi|Ns9z|NkHT&j18*AOZw-K`0Pu;LZZ)FoIYPj0}6M7#IXWI<)!o&jBgs zT0VyV%!~~Gi$DrMK%e{PJq8A22CMlT7ZUso{`+b&L<5D70tFdZSy&hu7>&5S&)M>W v)B?f(|MTZFFzf-c=GZfwV~7A5D$no}>>d!CD~bVV-F1-Ftqi}dK&Aiy0z@gX literal 0 HcmV?d00001 diff --git a/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/seeds/testcase-OSV-2021-498 b/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/seeds/testcase-OSV-2021-498 new file mode 100644 index 0000000000000000000000000000000000000000..2bf4e484604f691e2244d64cba7f7211e54833b8 GIT binary patch literal 141 zcmYj~%ME}q3`32OP{kCUivt5OTt{G);72&%gY)WqD#=wgR+e;P=(3d@Olb%&@8h$r cTD1Rpn47+{ySfIPK+XaFnW=lv9P}baA9czfHvj+t literal 0 HcmV?d00001 diff --git a/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/seeds/testcase-OSV-2021-526 b/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/seeds/testcase-OSV-2021-526 new file mode 100644 index 0000000000000000000000000000000000000000..48526f6a9e8cc85eb10749df9e295629751c4935 GIT binary patch literal 191 zcmZQzU=aKd1bhDfKl+~m2;x8l2<(ASAkx5{fd$561Th>K8TMF#bOPDh{G8{26mu;f z!+&N*hW|w%1t6f${qr6Jg9(Gxe2xnVeg^-285p90!bfcxm|4K)W&Y&$K4;4hR?NTv pbOcaRg_GeI1B1Zq2%woDW91n@hCtX{Q4ByO*Q2;V0>8OI;s8e4DWm`Z literal 0 HcmV?d00001 diff --git a/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/seeds/testcase-OSV-2021-622 b/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/seeds/testcase-OSV-2021-622 new file mode 100644 index 0000000000000000000000000000000000000000..d11a3fb2112a9e26a5ec96f889b7d3d135820057 GIT binary patch literal 205 zcmZQzU{LrE1`0sHz`&3QB0%62kP8w5VkiJ9gRwDaHVhGXa7F+~5etX_D{r{Szz9T# zZZI-JRKm&0XBpV}tK!FC3AR`kq3o9Et2PYRd4=*3T zfS{1Dh^Uyjgrt$&~Ya#hX61jKv)4YKtRG^01N9WjKH{HgT%!-pp5bj Ir~(890M9ZZjQ{`u literal 0 HcmV?d00001 diff --git a/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/seeds/testcase-OSV-2021-997 b/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/seeds/testcase-OSV-2021-997 new file mode 100644 index 0000000000000000000000000000000000000000..049a9c04f9f87f0bbf7190f1b557ca36641d4eeb GIT binary patch literal 24090 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 literal 0 HcmV?d00001 diff --git a/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/seeds/testcase-OSV-2022-34 b/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/seeds/testcase-OSV-2022-34 new file mode 100644 index 0000000000000000000000000000000000000000..b8ee6fa12e053071e4cb145b245931802b0b3404 GIT binary patch literal 273 zcmZQjV3>UGKVv)(!~g2nMhpxL?TkPI2pIV|qZv%2!EBcI2@I@Y7LX7CNeU||{nn^r zP!NWy{%^p*zyuU$Wc-)(|DPg5-7ki3R~c0AF)*xM(bL=4KVjme$y26In?7S^T1s+K zVnTfAqQy&=E(4jVaG8RgE2^mfdS+e zRq;3ohr!lhDo~jf&`p92Kbfiw7?~KDnGLrwumj~C84Mw+{`~q0Wc&weWMH@s5n}lN b{~VCT#mc}K{IKLc1JhTAq}M-y&W#2D$q7Ki literal 0 HcmV?d00001 diff --git a/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/seeds/testcase-OSV-2022-4 b/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/seeds/testcase-OSV-2022-4 new file mode 100644 index 0000000000000000000000000000000000000000..bae59d28edb4ce85c1129dd7e52b2d689c9d24e1 GIT binary patch literal 249 zcmZQ@V94=eVt{}>K&lNfhB5{Qh5r?Q|Nr?A0hZuk zI0vM;m>3xrGiWm~Fot^x+yj|s{qL9eeJ-|tC9Di`jT}#z92gk(WXSwxWngJ&-_HnA z3Ifaw0{=N2fD9QR&IMu+U literal 0 HcmV?d00001 diff --git a/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/seeds/testcase-OSV-2022-486 b/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/seeds/testcase-OSV-2022-486 new file mode 100644 index 0000000000000000000000000000000000000000..61f3bd586b892eaffb8c5020c4b8848865239783 GIT binary patch literal 11411 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 Ibjnoy52JkV@Bjb+ literal 0 HcmV?d00001 diff --git a/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/seeds/testcase-OSV-2022-511 b/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/seeds/testcase-OSV-2022-511 new file mode 100644 index 0000000000000000000000000000000000000000..30df94f45bdc8e1bf989916ba24626db8635a59d GIT binary patch literal 1378 zcmc(f`%4s26vxkXXLr`kccy0Q>|+dDM8YJ}B1ZoKC7~9PY%RA46vbk3b^vmcBgqQlJRo^#K4?%cU^&jnyz-L-`t zue+fRMgYJ)h(I&eoJfH+5a2;hyDzXy23|}vk}yYi^>&vFHUqdQ=HN~<&jUPt_I&b1=;f=|Z{EIp{~`Qw>eJ^h z(_g>MXu$NTaMDX>h3J}T6f|_zUo+82<%t;s$vSY7n83S}=VdFfd`h5Ist!_yHJXws zXysqy_jK0|V4Oz^0JTX~OBLm`qA2RwbLV?5^!8o6bot8FYyAU*L&GD1>o;!R8ofPs zXZ&vP-u(v?4<9{#@@HShXA=Rw$2dFwH$JVy^j{AR68_0VQQV~}ED33^$ zkw6xRXxku0FqtiJ2}vobX&ISWIaa&8IM111u(Ysf`HGTNtCg~-t#wsZuisF+$+Kl^ zePffixn)P|?l#|^_Kv-s`}Q9==s$Aw*m1qYao{;h95ki0qyRv%+3_F9D@hsYDJ|1P zkg3ib0)#bDqs$O}T2=W@Bqq?-iF$i7QEzJ|^wb%<9?Lj5*;ujOA}!=Kmg}*f;W3pS z1a_*WzM-z!?eFS1?4`pkdmLCFwoZYGW_pB{&51X+=-T=5Ad4{wMw4icrMYe#jVOLL F-vQLak$eCE literal 0 HcmV?d00001 diff --git a/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/seeds/testcase-OSV-2023-51 b/benchmarks/c-blosc2_transplant_decompress_frame_fuzzer/seeds/testcase-OSV-2023-51 new file mode 100644 index 0000000000000000000000000000000000000000..f90ae7d4391db53fbb8865f7f5499f1007f130dd GIT binary patch literal 11411 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 U|6R#p9g(9^3&B0>s&^Lt1@95VO8@`> literal 0 HcmV?d00001 diff --git a/benchmarks/experiment_config.yaml b/benchmarks/experiment_config.yaml new file mode 100644 index 000000000..518b12aa8 --- /dev/null +++ b/benchmarks/experiment_config.yaml @@ -0,0 +1,17 @@ +# FuzzBench local experiment config +# Generated by fuzzbench_generate.py + +trials: 3 +max_total_time: 86400 # 24 hours per trial + +local_experiment: true +experiment_filestore: fuzzbench/benchmarks/fuzzbench-data +report_filestore: fuzzbench/benchmarks/fuzzbench-reports +docker_registry: gcr.io/fuzzbench + +# Sample run command: +# PYTHONPATH=. python3 experiment/run_experiment.py \ +# --experiment-config experiment_config.yaml \ +# --benchmarks opensc_transplant_fuzz_pkcs15_reader \ +# --fuzzers afl aflplusplus honggfuzz libfuzzer \ +# --experiment-name transplant-eval diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/Dockerfile b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/Dockerfile new file mode 100644 index 000000000..fd9555a40 --- /dev/null +++ b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/Dockerfile @@ -0,0 +1,22 @@ +# Use the committed merge container as base for identical build environment. +# This image has the exact same OS packages, library versions, and source tree +# that were used during bug transplant verification. +FROM opensc-merge:6903aebf + +# The merge container runs as a non-root user (agent). Switch back to root +# so downstream Dockerfiles (AFL++'s builder, benchmark-builder, etc.) can +# install packages and write to system directories. +USER root + +# docker commit can snapshot a broken apt state — fix it so downstream +# Dockerfiles (e.g. AFL++'s builder.Dockerfile) can apt-get install. +RUN rm -rf /var/lib/apt/lists/* && mkdir -p /var/lib/apt/lists/partial && apt-get update + +WORKDIR /src/opensc + +# Keep ASan stack-use-after-return detection enabled for direct testcase replay. +ENV ASAN_OPTIONS="detect_leaks=0:detect_stack_use_after_return=1" + +# Bug transplant patches (re-applied by build.sh after checkout_commit.py resets source) +COPY patches/ /src/patches/ +COPY build.sh $SRC/ diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/benchmark.yaml b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/benchmark.yaml new file mode 100644 index 000000000..e3365f10a --- /dev/null +++ b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/benchmark.yaml @@ -0,0 +1,5 @@ +project: opensc +fuzz_target: fuzz_pkcs15_reader +commit: 6903aebfddc466d966c7b865fae34572bf3ed23e +commit_date: 2020-07-30T02:27:02+02:00 +type: bug diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/bug_metadata.json b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/bug_metadata.json new file mode 100644 index 000000000..cacaee523 --- /dev/null +++ b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/bug_metadata.json @@ -0,0 +1,169 @@ +{ + "project": "opensc", + "target_commit": "6903aebfddc466d966c7b865fae34572bf3ed23e", + "dispatch_bytes": 1, + "total_bugs": 23, + "bugs": { + "OSV-2020-1046": { + "dispatch_value": 1, + "triggered": true, + "crash_file": "/src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp", + "crash_line": 22, + "crash_function": "__asan_memcpy" + }, + "OSV-2020-1981": { + "dispatch_value": 2, + "triggered": true, + "crash_file": "/src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp", + "crash_line": 22, + "crash_function": "__asan_memcpy" + }, + "OSV-2020-55": { + "dispatch_value": 4, + "triggered": true, + "crash_file": "/src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp", + "crash_line": 22, + "crash_function": "__asan_memcpy" + }, + "OSV-2020-693": { + "dispatch_value": 8, + "triggered": true, + "crash_file": "/src/opensc/src/libopensc/card-setcos.c", + "crash_line": 792, + "crash_function": "parse_sec_attr_44" + }, + "OSV-2020-969": { + "dispatch_value": 16, + "triggered": true, + "crash_file": "/src/opensc/src/libopensc/card-openpgp.c", + "crash_line": 618, + "crash_function": "pgp_parse_algo_attr_blob" + }, + "OSV-2021-1017": { + "dispatch_value": 32, + "triggered": true, + "crash_file": "/src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp", + "crash_line": 22, + "crash_function": "__asan_memcpy" + }, + "OSV-2021-915": { + "dispatch_value": 64, + "triggered": true, + "crash_file": "/src/opensc/src/libopensc/asn1.c", + "crash_line": 74, + "crash_function": "sc_asn1_read_tag" + }, + "OSV-2020-1720": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp", + "crash_line": 469, + "crash_function": "__interceptor_strncpy" + }, + "OSV-2020-209": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/opensc/src/libopensc/card-coolkey.c", + "crash_line": 930, + "crash_function": "coolkey_apdu_io" + }, + "OSV-2020-2254": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/opensc/src/libopensc/pkcs15-tcos.c", + "crash_line": 235, + "crash_function": "insert_pin" + }, + "OSV-2020-885": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/opensc/src/libopensc/card-coolkey.c", + "crash_line": 930, + "crash_function": "coolkey_apdu_io" + }, + "OSV-2020-1990": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/opensc/src/libopensc/pkcs15-oberthur.c", + "crash_line": 503, + "crash_function": "sc_oberthur_parse_privateinfo" + }, + "OSV-2020-2222": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp", + "crash_line": 111, + "crash_function": "__interceptor_free" + }, + "OSV-2020-1860": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp", + "crash_line": 22, + "crash_function": "__asan_memcpy" + }, + "OSV-2021-538": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp", + "crash_line": 22, + "crash_function": "__asan_memcpy" + }, + "OSV-2020-1836": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp", + "crash_line": 469, + "crash_function": "__interceptor_strncpy" + }, + "OSV-2020-1844": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp", + "crash_line": 469, + "crash_function": "__interceptor_strncpy" + }, + "OSV-2021-537": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/opensc/src/libopensc/pkcs15-oberthur.c", + "crash_line": 607, + "crash_function": "sc_pkcs15emu_oberthur_add_pubkey" + }, + "OSV-2021-262": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp", + "crash_line": 22, + "crash_function": "__asan_memcpy" + }, + "OSV-2021-474": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp", + "crash_line": 22, + "crash_function": "__asan_memcpy" + }, + "OSV-2020-2157": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/opensc/src/libopensc/pkcs15-tcos.c", + "crash_line": 142, + "crash_function": "insert_key" + }, + "OSV-2020-1848": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/opensc/src/libopensc/pkcs15-oberthur.c", + "crash_line": 458, + "crash_function": "sc_oberthur_parse_publicinfo" + }, + "OSV-2020-2178": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/opensc/src/libopensc/pkcs15-tcos.c", + "crash_line": 150, + "crash_function": "insert_key" + } + } +} \ No newline at end of file diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/build.sh b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/build.sh new file mode 100755 index 000000000..1f86af6f2 --- /dev/null +++ b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/build.sh @@ -0,0 +1,121 @@ +#!/bin/bash -eu +# Generated by fuzzbench_generate.py for bug transplant evaluation + +cd /src/opensc + +# Checkout target commit +git checkout 6903aebfddc466d966c7b865fae34572bf3ed23e + +# Apply dispatch harness first (modifies build system), then bug patches +if ! git apply --check /src/patches/harness.diff 2>/dev/null; then + echo "Trying git apply --3way for harness.diff..." + git apply --3way /src/patches/harness.diff +else + git apply /src/patches/harness.diff +fi + +if ! git apply --check /src/patches/combined.diff 2>/dev/null; then + echo "Trying git apply --3way for combined.diff..." + git apply --3way /src/patches/combined.diff +else + git apply /src/patches/combined.diff +fi + +# --- Fix library CMakeLists.txt for new source files from combined.diff --- +# combined.diff may create new .c files (e.g., zfp_getcell.c) that need to +# be added to the library's explicit source list. +if [ -d blosc ] && [ -f blosc/CMakeLists.txt ]; then + for newfile in blosc/*.c; do + base=$(basename "$newfile") + if ! grep -q "$base" blosc/CMakeLists.txt 2>/dev/null; then + echo "Adding $base to blosc/CMakeLists.txt" + sed -i "/^set(SOURCES /s/)/ $base)/" blosc/CMakeLists.txt + fi + done +fi + +# --- Original build commands --- +# Clean stale build artifacts from the merge container (if any). +# Without this, make reuses .o/.a files compiled with a different compiler +# and libopensc.a may include notify.o with glib deps that break linking. +make distclean 2>/dev/null || true + +./bootstrap + +# FuzzBench injects a prebuilt engine archive that needs a C++ link step. +./configure --disable-strict --disable-optimization --disable-shared --disable-pcsc --enable-ctapi --enable-fuzzing FUZZING_LIBS="-lstdc++" CC="$CC" CXX="$CXX" --disable-notify + +# Autotools/libtool can generate libopensc __bug_dispatch dep includes without +# creating the corresponding top-level .deps entries. Mirror the merge helper's +# workaround with explicit stub files for this project layout. +mkdir -p .deps +touch .deps/libopensc_la-__bug_dispatch.Plo .deps/libopensc_la-__bug_dispatch.Tpo .deps/libopensc_static_la-__bug_dispatch.Plo .deps/libopensc_static_la-__bug_dispatch.Tpo + +set +e +make -j$(nproc) CCLD="$CXX" +make_status=$? +if [ $make_status -ne 0 ]; then + make -j1 CCLD="$CXX" +fi +set -e + +FUZZ_LIB="${LIB_FUZZING_ENGINE:-}" +if [ ! -f "$FUZZ_LIB" ]; then + for candidate in /usr/lib/libFuzzer.a /usr/lib/libFuzzingEngine.a; do + if [ -f "$candidate" ]; then + FUZZ_LIB="$candidate" + break + fi + done +fi +if [ ! -f "$FUZZ_LIB" ]; then + echo "Missing fuzzing engine archive: $LIB_FUZZING_ENGINE" >&2 + exit 1 +fi + +target_src="src/tests/fuzzing/fuzz_pkcs15_reader.c" +target_obj="src/tests/fuzzing/fuzz_pkcs15_reader.o" +target_bin="src/tests/fuzzing/fuzz_pkcs15_reader" + +if [ -x "$target_bin" ]; then + cp "$target_bin" "$OUT/fuzz_pkcs15_reader" +else + if [ ! -f "$target_obj" ]; then + $CC $CFLAGS -I. -Isrc -Isrc/libopensc -Isrc/common \ + -c "$target_src" -o "$target_obj" + fi + + $CXX $CXXFLAGS -o "$OUT/fuzz_pkcs15_reader" \ + "$target_obj" \ + src/libopensc/.libs/libopensc.a \ + src/common/.libs/libscdl.a \ + src/common/.libs/libcompat.a \ + "$FUZZ_LIB" \ + -lcrypto -lz -ldl -lpthread -lstdc++ +fi + +if [ -d "src/tests/fuzzing/corpus/fuzz_pkcs15_reader" ]; then + zip -j "$OUT/fuzz_pkcs15_reader_seed_corpus.zip" \ + src/tests/fuzzing/corpus/fuzz_pkcs15_reader/* +fi + + +# --- Seed corpus: prepend dispatch bytes to original seeds --- +# FuzzBench uses $OUT/{fuzz_target}_seed_corpus.zip as initial corpus. +# We need to prepend 1 zero dispatch bytes to all original seeds +# so the fuzzer starts with the default (unpatched) code path. +mkdir -p /tmp/seeds_dispatch + +# Prepend dispatch bytes to any existing seed corpus files +if [ -f "$OUT/fuzz_pkcs15_reader_seed_corpus.zip" ]; then + mkdir -p /tmp/original_seeds + unzip -q -o "$OUT/fuzz_pkcs15_reader_seed_corpus.zip" -d /tmp/original_seeds 2>/dev/null || true + for f in /tmp/original_seeds/*; do + [ -f "$f" ] && printf '\x00' | cat - "$f" > "/tmp/seeds_dispatch/$(basename "$f")" + done +fi + +# Re-package seed corpus with dispatch-prefixed seeds +if ls /tmp/seeds_dispatch/* 1>/dev/null 2>&1; then + zip -j -q "$OUT/fuzz_pkcs15_reader_seed_corpus.zip" /tmp/seeds_dispatch/* +fi diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/Dockerfile b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/Dockerfile new file mode 100644 index 000000000..7d07f8c71 --- /dev/null +++ b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/Dockerfile @@ -0,0 +1,23 @@ +# 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:5b714b0eb717ab8ee6129cb37adb7db76761cb93273d332d29afa62a4cdc7ed3 +RUN apt-get update && apt-get install -y pcscd libccid libpcsclite-dev libssl-dev libreadline-dev autoconf automake build-essential docbook-xsl xsltproc libtool pkg-config zlib1g-dev +RUN git clone --single-branch --branch master https://github.com/OpenSC/OpenSC opensc +WORKDIR opensc +# Bug transplant patches +COPY patches/ /src/patches/ +COPY build.sh $SRC/ diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/benchmark.yaml b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/benchmark.yaml new file mode 100644 index 000000000..e1d26ffbe --- /dev/null +++ b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/benchmark.yaml @@ -0,0 +1,4 @@ +project: opensc +fuzz_target: fuzz_pkcs15_reader +commit: 6903aebfddc466d966c7b865fae34572bf3ed23e +commit_date: 2021-09-21T13:24:39+01:00 diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/bug_metadata.json b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/bug_metadata.json new file mode 100644 index 000000000..a85a938e1 --- /dev/null +++ b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/bug_metadata.json @@ -0,0 +1,166 @@ +{ + "project": "opensc", + "target_commit": "6903aebfddc466d966c7b865fae34572bf3ed23e", + "dispatch_bytes": 1, + "total_bugs": 23, + "bugs": { + "OSV-2020-1046": { + "dispatch_value": 1, + "triggered": true, + "crash_file": "/src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp", + "crash_line": 22, + "crash_function": "__asan_memcpy" + }, + "OSV-2020-1981": { + "dispatch_value": 2, + "triggered": true, + "crash_file": "/src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp", + "crash_line": 22, + "crash_function": "__asan_memcpy" + }, + "OSV-2020-55": { + "dispatch_value": 4, + "triggered": true, + "crash_file": "/src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp", + "crash_line": 22, + "crash_function": "__asan_memcpy" + }, + "OSV-2020-693": { + "dispatch_value": 8, + "triggered": true, + "crash_file": "/src/opensc/src/libopensc/card-setcos.c", + "crash_line": 792, + "crash_function": "parse_sec_attr_44" + }, + "OSV-2020-969": { + "dispatch_value": 16, + "triggered": true, + "crash_file": "/src/opensc/src/libopensc/card-openpgp.c", + "crash_line": 618, + "crash_function": "pgp_parse_algo_attr_blob" + }, + "OSV-2021-1017": { + "dispatch_value": 32, + "triggered": true, + "crash_file": "/src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp", + "crash_line": 22, + "crash_function": "__asan_memcpy" + }, + "OSV-2021-915": { + "dispatch_value": 64, + "triggered": true, + "crash_file": "/src/opensc/src/libopensc/asn1.c", + "crash_line": 74, + "crash_function": "sc_asn1_read_tag" + }, + "OSV-2020-1720": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp", + "crash_line": 469, + "crash_function": "__interceptor_strncpy" + }, + "OSV-2020-209": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/opensc/src/libopensc/card-coolkey.c", + "crash_line": 930, + "crash_function": "coolkey_apdu_io" + }, + "OSV-2020-2254": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2020-885": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/opensc/src/libopensc/card-coolkey.c", + "crash_line": 930, + "crash_function": "coolkey_apdu_io" + }, + "OSV-2020-1990": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/opensc/src/libopensc/pkcs15-oberthur.c", + "crash_line": 503, + "crash_function": "sc_oberthur_parse_privateinfo" + }, + "OSV-2020-2222": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp", + "crash_line": 111, + "crash_function": "__interceptor_free" + }, + "OSV-2020-1860": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp", + "crash_line": 22, + "crash_function": "__asan_memcpy" + }, + "OSV-2021-538": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp", + "crash_line": 22, + "crash_function": "__asan_memcpy" + }, + "OSV-2020-1836": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp", + "crash_line": 469, + "crash_function": "__interceptor_strncpy" + }, + "OSV-2020-1844": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp", + "crash_line": 469, + "crash_function": "__interceptor_strncpy" + }, + "OSV-2021-537": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/opensc/src/libopensc/pkcs15-oberthur.c", + "crash_line": 607, + "crash_function": "sc_pkcs15emu_oberthur_add_pubkey" + }, + "OSV-2021-262": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp", + "crash_line": 22, + "crash_function": "__asan_memcpy" + }, + "OSV-2021-474": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp", + "crash_line": 22, + "crash_function": "__asan_memcpy" + }, + "OSV-2020-2157": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/opensc/src/libopensc/pkcs15-tcos.c", + "crash_line": 142, + "crash_function": "insert_key" + }, + "OSV-2020-1848": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/opensc/src/libopensc/pkcs15-oberthur.c", + "crash_line": 458, + "crash_function": "sc_oberthur_parse_publicinfo" + }, + "OSV-2020-2178": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/opensc/src/libopensc/pkcs15-tcos.c", + "crash_line": 150, + "crash_function": "insert_key" + } + } +} \ No newline at end of file diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/build.sh b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/build.sh new file mode 100755 index 000000000..5974e6609 --- /dev/null +++ b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/build.sh @@ -0,0 +1,94 @@ +#!/bin/bash -eu +# Generated by fuzzbench_generate.py for bug transplant evaluation + +cd /src/opensc + +# Checkout target commit +git checkout 6903aebfddc466d966c7b865fae34572bf3ed23e + +# Apply dispatch harness first (modifies build system), then bug patches +if ! git apply --check /src/patches/harness.diff 2>/dev/null; then + echo "Trying git apply --3way for harness.diff..." + git apply --3way /src/patches/harness.diff +else + git apply /src/patches/harness.diff +fi + +if ! git apply --check /src/patches/combined.diff 2>/dev/null; then + echo "Trying git apply --3way for combined.diff..." + git apply --3way /src/patches/combined.diff +else + git apply /src/patches/combined.diff +fi + +# --- Original build commands --- +# Regenerate autotools to fix libtool compatibility with clang +autoreconf -fiv + +# Build the library (but fuzzer linking will fail with C linker, so we handle that) +./configure --disable-strict --disable-optimization --disable-shared --disable-pcsc \ + --enable-ctapi --enable-fuzzing \ + CC="$CC" CXX="$CXX" \ + FUZZING_LIBS="$LIB_FUZZING_ENGINE -lstdc++" + +# Resolve the actual fuzzing engine library path +FUZZ_LIB="${LIB_FUZZING_ENGINE:-}" +if [ ! -f "$FUZZ_LIB" ]; then + # FuzzBench coverage build uses /usr/lib/libFuzzer.a + for candidate in /usr/lib/libFuzzer.a /usr/lib/libFuzzingEngine.a; do + if [ -f "$candidate" ]; then + FUZZ_LIB="$candidate" + break + fi + done +fi +echo "Using fuzzing engine: $FUZZ_LIB" + +# Build library and object files; ignore link errors from fuzz targets +# (autotools links fuzzers with cc but the engine needs c++; we relink below) +set +e +make -j$(nproc) +make -j1 +set -e + +# Manually link fuzz targets with CXX to resolve C++ stdlib from the fuzzing engine +fuzzerFiles=$(find $SRC/opensc/src/tests/fuzzing/ -name "fuzz_*.c") + +for F in $fuzzerFiles; do + fuzzerName=$(basename $F .c) + + # Compile the fuzzer source if .o doesn't exist + if [ ! -f src/tests/fuzzing/${fuzzerName}.o ]; then + $CC $CFLAGS -I src -I src/libopensc \ + -c src/tests/fuzzing/${fuzzerName}.c \ + -o src/tests/fuzzing/${fuzzerName}.o + fi + + # Link with CXX (resolves C++ symbols from the fuzzing engine) + $CXX $CXXFLAGS -o $OUT/$fuzzerName \ + src/tests/fuzzing/${fuzzerName}.o \ + src/libopensc/.libs/libopensc.a \ + src/common/.libs/libscdl.a \ + src/common/.libs/libcompat.a \ + $FUZZ_LIB \ + -lcrypto -lz -ldl -lpthread -lstdc++ || echo "WARN: Failed to link $fuzzerName" + + if [ -d "src/tests/fuzzing/corpus/${fuzzerName}" ]; then + zip -j $OUT/${fuzzerName}_seed_corpus.zip src/tests/fuzzing/corpus/${fuzzerName}/* + fi +done + +# --- Seed corpus: prepend dispatch bytes to original seeds --- +mkdir -p /tmp/seeds_dispatch + +if [ -f "$OUT/fuzz_pkcs15_reader_seed_corpus.zip" ]; then + mkdir -p /tmp/original_seeds + unzip -q -o "$OUT/fuzz_pkcs15_reader_seed_corpus.zip" -d /tmp/original_seeds 2>/dev/null || true + for f in /tmp/original_seeds/*; do + [ -f "$f" ] && printf '\x00' | cat - "$f" > "/tmp/seeds_dispatch/$(basename "$f")" + done +fi + +if ls /tmp/seeds_dispatch/* 1>/dev/null 2>&1; then + zip -j -q "$OUT/fuzz_pkcs15_reader_seed_corpus.zip" /tmp/seeds_dispatch/* +fi diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/patches/combined.diff b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/patches/combined.diff new file mode 100644 index 000000000..4023c47b8 --- /dev/null +++ b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/patches/combined.diff @@ -0,0 +1,327 @@ +diff --git a/src/libopensc/Makefile.am b/src/libopensc/Makefile.am +index 1b47d6ebc..b3e130c7f 100644 +--- a/src/libopensc/Makefile.am ++++ b/src/libopensc/Makefile.am +@@ -25,6 +25,8 @@ AM_CFLAGS = $(OPENPACE_CFLAGS) $(OPTIONAL_OPENSSL_CFLAGS) $(OPTIONAL_OPENCT_CFLA + AM_OBJCFLAGS = $(AM_CFLAGS) + + libopensc_la_SOURCES_BASE = \ ++ $(top_srcdir)/__bug_dispatch.c \ ++ bug_dispatch_link.c \ + sc.c ctx.c log.c errors.c \ + asn1.c base64.c sec.c card.c iso7816.c dir.c ef-atr.c \ + ef-gdo.c padding.c apdu.c simpletlv.c gp.c \ +diff --git a/src/libopensc/asn1.c b/src/libopensc/asn1.c +index e19a8d329..6e0972897 100644 +--- a/src/libopensc/asn1.c ++++ b/src/libopensc/asn1.c +@@ -30,6 +30,7 @@ + #include + #include + ++#include "__bug_dispatch.h" + #include "internal.h" + #include "asn1.h" + +@@ -577,13 +578,17 @@ static int decode_bit_string(const u8 * inbuf, size_t inlen, void *outbuf, + + if (inlen < 1) + return SC_ERROR_INVALID_ASN1_OBJECT; +- /* 8.6.2.3 If the bitstring is empty, there shall be no subsequent octets, +- * and the initial octet shall be zero. */ +- if (inlen == 1 && *in != 0) +- return SC_ERROR_INVALID_ASN1_OBJECT; +- /* ITU-T Rec. X.690 8.6.2.2: The number shall be in the range zero to seven. */ +- if ((*in & ~0x07) != 0) +- return SC_ERROR_INVALID_ASN1_OBJECT; ++ if (!(__bug_dispatch[0] & (1 << 5))) { ++ if (!(__bug_dispatch[0] & (1 << 6))) { ++ /* 8.6.2.3 If the bitstring is empty, there shall be no subsequent octets, ++ * and the initial octet shall be zero. */ ++ if (inlen == 1 && *in != 0) ++ return SC_ERROR_INVALID_ASN1_OBJECT; ++ /* ITU-T Rec. X.690 8.6.2.2: The number shall be in the range zero to seven. */ ++ if ((*in & ~0x07) != 0) ++ return SC_ERROR_INVALID_ASN1_OBJECT; ++ } ++ } + memset(outbuf, 0, outlen); + zero_bits = *in & 0x07; + in++; +diff --git a/src/libopensc/bug_dispatch_link.c b/src/libopensc/bug_dispatch_link.c +new file mode 100644 +index 000000000..79f525741 +--- /dev/null ++++ b/src/libopensc/bug_dispatch_link.c +@@ -0,0 +1,3 @@ ++/* Keep the canonical dispatch definition in the repository root and ++ * compile it into libopensc via a local translation unit. */ ++#include "../../__bug_dispatch.c" +diff --git a/src/libopensc/card-idprime.c b/src/libopensc/card-idprime.c +index e805da15f..765c86ec2 100644 +--- a/src/libopensc/card-idprime.c ++++ b/src/libopensc/card-idprime.c +@@ -25,6 +25,7 @@ + #endif + + #include "internal.h" ++#include "__bug_dispatch.h" + #include + #include + #include +@@ -533,15 +534,30 @@ static int idprime_read_binary(sc_card_t *card, unsigned int offset, + count, offset); + + if (!priv->cached && offset == 0) { ++ int left; ++ size_t read; + // this function is called to read and uncompress the certificate + u8 buffer[SC_MAX_EXT_APDU_BUFFER_SIZE]; + if (sizeof(buffer) < count) { + LOG_FUNC_RETURN(card->ctx, SC_ERROR_INTERNAL); + } + /* Read what was reported by FCI from select command */ +- r = iso_ops->read_binary(card, 0, buffer, priv->file_size, flags); +- if (r < 0) { +- LOG_FUNC_RETURN(card->ctx, r); ++ if (__bug_dispatch[0] & (1 << 1)) { ++ left = priv->file_size; ++ read = 0; ++ while (left > 0) { ++ r = iso_ops->read_binary(card, 0, buffer + read, priv->file_size, flags); ++ if (r < 0) { ++ LOG_FUNC_RETURN(card->ctx, r); ++ } ++ left -= r; ++ read += r; ++ } ++ } else { ++ r = iso_ops->read_binary(card, 0, buffer, priv->file_size, flags); ++ if (r < 0) { ++ LOG_FUNC_RETURN(card->ctx, r); ++ } + } + if (r < 4) { + LOG_FUNC_RETURN(card->ctx, SC_ERROR_INVALID_DATA); +diff --git a/src/libopensc/card-openpgp.c b/src/libopensc/card-openpgp.c +index bf8ab51e8..ef49c0198 100644 +--- a/src/libopensc/card-openpgp.c ++++ b/src/libopensc/card-openpgp.c +@@ -46,6 +46,7 @@ + + #include "internal.h" + #include "asn1.h" ++#include "__bug_dispatch.h" + #include "cardctl.h" + #include "errors.h" + #ifdef ENABLE_OPENSSL +@@ -612,6 +613,12 @@ pgp_parse_algo_attr_blob(const pgp_blob_t *blob, sc_cardctl_openpgp_keygen_info_ + /* Create copy of oid from blob */ + sc_init_oid(&oid); + r = sc_asn1_decode_object_id(&blob->data[1], key_info->u.ec.oid_len, &oid); ++ if (__bug_dispatch[0] & (1 << 4)) { ++ for (j = 0; j < (blob->len - 1); j++) { ++ oid.value[j] = blob->data[j + 1]; ++ } ++ } else { ++ } + + /* decoding failed, return sc_asn1_decode_object_id error code */ + if (r > 0){ +diff --git a/src/libopensc/card-setcos.c b/src/libopensc/card-setcos.c +index 859f72fd2..f4077502d 100644 +--- a/src/libopensc/card-setcos.c ++++ b/src/libopensc/card-setcos.c +@@ -27,6 +27,7 @@ + #include + #include + ++#include "__bug_dispatch.h" + #include "internal.h" + #include "asn1.h" + #include "cardctl.h" +@@ -789,8 +790,13 @@ static void parse_sec_attr_44(sc_file_t *file, const u8 *buf, size_t len) + /* Check all sub-AC definitions within the total AC */ + while (len > 1 && (size_t)iOffset < len) { /* minimum length = 2 */ + size_t iACLen = buf[iOffset] & 0x0F; +- if (iACLen >= len) +- break; ++ if (__bug_dispatch[0] & (1 << 3)) { ++ if (iACLen > len) ++ break; ++ } else { ++ if (iACLen >= len) ++ break; ++ } + + iMethod = SC_AC_NONE; /* default no authentication required */ + +diff --git a/src/libopensc/card-tcos.c b/src/libopensc/card-tcos.c +index 0e178fe4a..d37677928 100644 +--- a/src/libopensc/card-tcos.c ++++ b/src/libopensc/card-tcos.c +@@ -29,6 +29,7 @@ + #include + #include + ++#include "__bug_dispatch.h" + #include "internal.h" + #include "asn1.h" + #include "cardctl.h" +@@ -646,8 +647,10 @@ static int tcos_decipher(sc_card_t *card, const u8 * crgram, size_t crgram_len, + apdu.data = sbuf; + apdu.lc = apdu.datalen = crgram_len + 1; + sbuf[0] = tcos3 ? 0x00 : ((data->pad_flags & SC_ALGORITHM_RSA_PAD_PKCS1) ? 0x81 : 0x02); +- if (sizeof sbuf - 1 < crgram_len) +- return SC_ERROR_INVALID_ARGUMENTS; ++ if (!(__bug_dispatch[0] & (1 << 2))) { ++ if (sizeof sbuf - 1 < crgram_len) ++ return SC_ERROR_INVALID_ARGUMENTS; ++ } + memcpy(sbuf + 1, crgram, crgram_len); + + r = sc_transmit_apdu(card, &apdu); +diff --git a/src/libopensc/pkcs15-coolkey.c b/src/libopensc/pkcs15-coolkey.c +index 373ec7a5a..8d4956f0b 100644 +--- a/src/libopensc/pkcs15-coolkey.c ++++ b/src/libopensc/pkcs15-coolkey.c +@@ -39,6 +39,7 @@ + #include "cardctl.h" + #include "asn1.h" + #include "pkcs15.h" ++#include "__bug_dispatch.h" + #include "../pkcs11/pkcs11.h" + + typedef struct pdata_st { +@@ -598,7 +599,11 @@ static int sc_pkcs15emu_coolkey_init(sc_pkcs15_card_t *p15card) + prkey_info.modulus_length = key->u.rsa.modulus.len*8; + } + } else if (key_type == CKK_EC) { +- obj_type = SC_PKCS15_TYPE_PRKEY_EC; ++ if (__bug_dispatch[0] & (1 << 0)) { ++ obj_type = SC_PKCS15_TYPE_PUBKEY_EC; ++ } else { ++ obj_type = SC_PKCS15_TYPE_PRKEY_EC; ++ } + if (key) { + prkey_info.field_length = key->u.ec.params.field_length; + } +diff --git a/src/libopensc/pkcs15-sec.c b/src/libopensc/pkcs15-sec.c +index 42a3a6af4..9c99a33de 100644 +--- a/src/libopensc/pkcs15-sec.c ++++ b/src/libopensc/pkcs15-sec.c +@@ -30,6 +30,7 @@ + #include + #endif + ++#include "__bug_dispatch.h" + #include "internal.h" + #include "pkcs15.h" + #include "pkcs11/pkcs11.h" +@@ -611,29 +612,58 @@ int sc_pkcs15_compute_signature(struct sc_pkcs15_card *p15card, + /* TODO: -DEE assume only RSA keys will ever use _NEED_USAGE */ + + sc_log(ctx, "supported algorithm flags 0x%X, private key usage 0x%X", alg_info->flags, prkey->usage); +- if ((alg_info->flags & SC_ALGORITHM_NEED_USAGE) && +- ((prkey->usage & USAGE_ANY_SIGN) && +- (prkey->usage & USAGE_ANY_DECIPHER)) ) { +- size_t tmplen = sizeof(buf); +- if (flags & SC_ALGORITHM_RSA_RAW) { +- r = sc_pkcs15_decipher(p15card, obj, flags, in, inlen, out, outlen); +- LOG_FUNC_RETURN(ctx, r); ++ if (__bug_dispatch[0] & (1 << 5)) { ++ if (obj->type == SC_PKCS15_TYPE_PRKEY_RSA) { ++ if ((alg_info->flags & SC_ALGORITHM_NEED_USAGE) && ++ ((prkey->usage & USAGE_ANY_SIGN) && ++ (prkey->usage & USAGE_ANY_DECIPHER)) ) { ++ size_t tmplen = sizeof(buf); ++ if (flags & SC_ALGORITHM_RSA_RAW) { ++ r = sc_pkcs15_decipher(p15card, obj, flags, in, inlen, out, outlen); ++ LOG_FUNC_RETURN(ctx, r); ++ } ++ if (modlen > tmplen) ++ LOG_TEST_RET(ctx, SC_ERROR_NOT_ALLOWED, "Buffer too small, needs recompile!"); ++ ++ /* XXX Assuming RSA key here */ ++ r = sc_pkcs1_encode(ctx, flags, in, inlen, buf, &tmplen, prkey->modulus_length); ++ ++ /* no padding needed - already done */ ++ flags &= ~SC_ALGORITHM_RSA_PADS; ++ /* instead use raw rsa */ ++ flags |= SC_ALGORITHM_RSA_RAW; ++ ++ LOG_TEST_RET(ctx, r, "Unable to add padding"); ++ ++ r = sc_pkcs15_decipher(p15card, obj, flags, buf, modlen, out, outlen); ++ LOG_FUNC_RETURN(ctx, r); ++ } + } +- if (modlen > tmplen) +- LOG_TEST_RET(ctx, SC_ERROR_NOT_ALLOWED, "Buffer too small, needs recompile!"); ++ } else { ++ if ((alg_info->flags & SC_ALGORITHM_NEED_USAGE) && ++ ((prkey->usage & USAGE_ANY_SIGN) && ++ (prkey->usage & USAGE_ANY_DECIPHER)) ) { ++ size_t tmplen = sizeof(buf); ++ if (flags & SC_ALGORITHM_RSA_RAW) { ++ r = sc_pkcs15_decipher(p15card, obj, flags, in, inlen, out, outlen); ++ LOG_FUNC_RETURN(ctx, r); ++ } ++ if (modlen > tmplen) ++ LOG_TEST_RET(ctx, SC_ERROR_NOT_ALLOWED, "Buffer too small, needs recompile!"); + +- /* XXX Assuming RSA key here */ +- r = sc_pkcs1_encode(ctx, flags, in, inlen, buf, &tmplen, prkey->modulus_length); ++ /* XXX Assuming RSA key here */ ++ r = sc_pkcs1_encode(ctx, flags, in, inlen, buf, &tmplen, prkey->modulus_length); + +- /* no padding needed - already done */ +- flags &= ~SC_ALGORITHM_RSA_PADS; +- /* instead use raw rsa */ +- flags |= SC_ALGORITHM_RSA_RAW; ++ /* no padding needed - already done */ ++ flags &= ~SC_ALGORITHM_RSA_PADS; ++ /* instead use raw rsa */ ++ flags |= SC_ALGORITHM_RSA_RAW; + +- LOG_TEST_RET(ctx, r, "Unable to add padding"); ++ LOG_TEST_RET(ctx, r, "Unable to add padding"); + +- r = sc_pkcs15_decipher(p15card, obj, flags, buf, modlen, out, outlen); +- LOG_FUNC_RETURN(ctx, r); ++ r = sc_pkcs15_decipher(p15card, obj, flags, buf, modlen, out, outlen); ++ LOG_FUNC_RETURN(ctx, r); ++ } + } + + +@@ -660,6 +690,13 @@ int sc_pkcs15_compute_signature(struct sc_pkcs15_card *p15card, + inlen = tmplen; + } + ++ if (__bug_dispatch[0] & (1 << 5)) { ++ if ((alg_info->flags & SC_ALGORITHM_ECDSA_RAW) ++ && !(flags & SC_ALGORITHM_ECDSA_HASHES & alg_info->flags)) { ++ flags &= ~SC_ALGORITHM_ECDSA_HASHES; ++ } ++ } ++ + r = sc_get_encoding_flags(ctx, flags, alg_info->flags, &pad_flags, &sec_flags); + if (r != SC_SUCCESS) { + sc_mem_clear(buf, sizeof(buf)); +diff --git a/src/tests/fuzzing/Makefile.am b/src/tests/fuzzing/Makefile.am +index d4ed96847..632e691b3 100644 +--- a/src/tests/fuzzing/Makefile.am ++++ b/src/tests/fuzzing/Makefile.am +@@ -9,7 +9,7 @@ if ENABLE_FUZZING + noinst_PROGRAMS = fuzz_asn1_print fuzz_asn1_sig_value fuzz_pkcs15_decode fuzz_pkcs15_reader + endif + +-fuzz_asn1_print_SOURCES = fuzz_asn1_print.c bug_dispatch_link.c +-fuzz_asn1_sig_value_SOURCES = fuzz_asn1_sig_value.c bug_dispatch_link.c +-fuzz_pkcs15_decode_SOURCES = fuzz_pkcs15_decode.c bug_dispatch_link.c +-fuzz_pkcs15_reader_SOURCES = fuzz_pkcs15_reader.c bug_dispatch_link.c ++fuzz_asn1_print_SOURCES = fuzz_asn1_print.c ++fuzz_asn1_sig_value_SOURCES = fuzz_asn1_sig_value.c ++fuzz_pkcs15_decode_SOURCES = fuzz_pkcs15_decode.c ++fuzz_pkcs15_reader_SOURCES = fuzz_pkcs15_reader.c diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/patches/harness.diff b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/patches/harness.diff new file mode 100644 index 000000000..8f202679f --- /dev/null +++ b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/patches/harness.diff @@ -0,0 +1,76 @@ +diff --git a/__bug_dispatch.c b/__bug_dispatch.c +new file mode 100644 +index 000000000..8b8ff0ce2 +--- /dev/null ++++ b/__bug_dispatch.c +@@ -0,0 +1,2 @@ ++#include "__bug_dispatch.h" ++volatile uint8_t __bug_dispatch[__BUG_DISPATCH_BYTES] = {0}; +diff --git a/__bug_dispatch.h b/__bug_dispatch.h +new file mode 100644 +index 000000000..6450a2593 +--- /dev/null ++++ b/__bug_dispatch.h +@@ -0,0 +1,6 @@ ++#ifndef __BUG_DISPATCH_H ++#define __BUG_DISPATCH_H ++#include ++#define __BUG_DISPATCH_BYTES 1 ++extern volatile uint8_t __bug_dispatch[__BUG_DISPATCH_BYTES]; ++#endif +diff --git a/src/tests/fuzzing/Makefile.am b/src/tests/fuzzing/Makefile.am +index 509e672d3..d4ed96847 100644 +--- a/src/tests/fuzzing/Makefile.am ++++ b/src/tests/fuzzing/Makefile.am +@@ -1,4 +1,4 @@ +-AM_CPPFLAGS = -I$(top_srcdir)/src ++AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/src + AM_CFLAGS = -g -O0 $(OPTIONAL_OPENSSL_CFLAGS) $(OPTIONAL_READLINE_CFLAGS) $(PTHREAD_CFLAGS) + LIBS = $(FUZZING_LIBS) \ + $(top_builddir)/src/libopensc/libopensc.la \ +@@ -9,7 +9,7 @@ if ENABLE_FUZZING + noinst_PROGRAMS = fuzz_asn1_print fuzz_asn1_sig_value fuzz_pkcs15_decode fuzz_pkcs15_reader + endif + +-fuzz_asn1_print_SOURCES = fuzz_asn1_print.c +-fuzz_asn1_sig_value_SOURCES = fuzz_asn1_sig_value.c +-fuzz_pkcs15_decode_SOURCES = fuzz_pkcs15_decode.c +-fuzz_pkcs15_reader_SOURCES = fuzz_pkcs15_reader.c ++fuzz_asn1_print_SOURCES = fuzz_asn1_print.c bug_dispatch_link.c ++fuzz_asn1_sig_value_SOURCES = fuzz_asn1_sig_value.c bug_dispatch_link.c ++fuzz_pkcs15_decode_SOURCES = fuzz_pkcs15_decode.c bug_dispatch_link.c ++fuzz_pkcs15_reader_SOURCES = fuzz_pkcs15_reader.c bug_dispatch_link.c +diff --git a/src/tests/fuzzing/bug_dispatch_link.c b/src/tests/fuzzing/bug_dispatch_link.c +new file mode 100644 +index 000000000..fe8ff2d75 +--- /dev/null ++++ b/src/tests/fuzzing/bug_dispatch_link.c +@@ -0,0 +1,3 @@ ++/* Keep the canonical dispatch definition in the repository root and ++ * compile it into each fuzz target via a local translation unit. */ ++#include "../../../__bug_dispatch.c" +diff --git a/src/tests/fuzzing/fuzz_pkcs15_reader.c b/src/tests/fuzzing/fuzz_pkcs15_reader.c +index 100b9fca4..a52fd63e9 100644 +--- a/src/tests/fuzzing/fuzz_pkcs15_reader.c ++++ b/src/tests/fuzzing/fuzz_pkcs15_reader.c +@@ -20,6 +20,7 @@ + #include "config.h" + #endif + ++#include "__bug_dispatch.h" + #include "libopensc/pkcs15.h" + #include "libopensc/internal.h" + #include +@@ -190,6 +191,12 @@ int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) + struct sc_reader *reader; + struct sc_pkcs15_object *obj; + ++ if (Size < __BUG_DISPATCH_BYTES) ++ return 0; ++ memcpy((void *)__bug_dispatch, Data, __BUG_DISPATCH_BYTES); ++ Data += __BUG_DISPATCH_BYTES; ++ Size -= __BUG_DISPATCH_BYTES; ++ + sc_establish_context(&ctx, "fuzz"); + if (!ctx) + return 0; diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/patches/combined.diff b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/patches/combined.diff new file mode 100644 index 000000000..4023c47b8 --- /dev/null +++ b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/patches/combined.diff @@ -0,0 +1,327 @@ +diff --git a/src/libopensc/Makefile.am b/src/libopensc/Makefile.am +index 1b47d6ebc..b3e130c7f 100644 +--- a/src/libopensc/Makefile.am ++++ b/src/libopensc/Makefile.am +@@ -25,6 +25,8 @@ AM_CFLAGS = $(OPENPACE_CFLAGS) $(OPTIONAL_OPENSSL_CFLAGS) $(OPTIONAL_OPENCT_CFLA + AM_OBJCFLAGS = $(AM_CFLAGS) + + libopensc_la_SOURCES_BASE = \ ++ $(top_srcdir)/__bug_dispatch.c \ ++ bug_dispatch_link.c \ + sc.c ctx.c log.c errors.c \ + asn1.c base64.c sec.c card.c iso7816.c dir.c ef-atr.c \ + ef-gdo.c padding.c apdu.c simpletlv.c gp.c \ +diff --git a/src/libopensc/asn1.c b/src/libopensc/asn1.c +index e19a8d329..6e0972897 100644 +--- a/src/libopensc/asn1.c ++++ b/src/libopensc/asn1.c +@@ -30,6 +30,7 @@ + #include + #include + ++#include "__bug_dispatch.h" + #include "internal.h" + #include "asn1.h" + +@@ -577,13 +578,17 @@ static int decode_bit_string(const u8 * inbuf, size_t inlen, void *outbuf, + + if (inlen < 1) + return SC_ERROR_INVALID_ASN1_OBJECT; +- /* 8.6.2.3 If the bitstring is empty, there shall be no subsequent octets, +- * and the initial octet shall be zero. */ +- if (inlen == 1 && *in != 0) +- return SC_ERROR_INVALID_ASN1_OBJECT; +- /* ITU-T Rec. X.690 8.6.2.2: The number shall be in the range zero to seven. */ +- if ((*in & ~0x07) != 0) +- return SC_ERROR_INVALID_ASN1_OBJECT; ++ if (!(__bug_dispatch[0] & (1 << 5))) { ++ if (!(__bug_dispatch[0] & (1 << 6))) { ++ /* 8.6.2.3 If the bitstring is empty, there shall be no subsequent octets, ++ * and the initial octet shall be zero. */ ++ if (inlen == 1 && *in != 0) ++ return SC_ERROR_INVALID_ASN1_OBJECT; ++ /* ITU-T Rec. X.690 8.6.2.2: The number shall be in the range zero to seven. */ ++ if ((*in & ~0x07) != 0) ++ return SC_ERROR_INVALID_ASN1_OBJECT; ++ } ++ } + memset(outbuf, 0, outlen); + zero_bits = *in & 0x07; + in++; +diff --git a/src/libopensc/bug_dispatch_link.c b/src/libopensc/bug_dispatch_link.c +new file mode 100644 +index 000000000..79f525741 +--- /dev/null ++++ b/src/libopensc/bug_dispatch_link.c +@@ -0,0 +1,3 @@ ++/* Keep the canonical dispatch definition in the repository root and ++ * compile it into libopensc via a local translation unit. */ ++#include "../../__bug_dispatch.c" +diff --git a/src/libopensc/card-idprime.c b/src/libopensc/card-idprime.c +index e805da15f..765c86ec2 100644 +--- a/src/libopensc/card-idprime.c ++++ b/src/libopensc/card-idprime.c +@@ -25,6 +25,7 @@ + #endif + + #include "internal.h" ++#include "__bug_dispatch.h" + #include + #include + #include +@@ -533,15 +534,30 @@ static int idprime_read_binary(sc_card_t *card, unsigned int offset, + count, offset); + + if (!priv->cached && offset == 0) { ++ int left; ++ size_t read; + // this function is called to read and uncompress the certificate + u8 buffer[SC_MAX_EXT_APDU_BUFFER_SIZE]; + if (sizeof(buffer) < count) { + LOG_FUNC_RETURN(card->ctx, SC_ERROR_INTERNAL); + } + /* Read what was reported by FCI from select command */ +- r = iso_ops->read_binary(card, 0, buffer, priv->file_size, flags); +- if (r < 0) { +- LOG_FUNC_RETURN(card->ctx, r); ++ if (__bug_dispatch[0] & (1 << 1)) { ++ left = priv->file_size; ++ read = 0; ++ while (left > 0) { ++ r = iso_ops->read_binary(card, 0, buffer + read, priv->file_size, flags); ++ if (r < 0) { ++ LOG_FUNC_RETURN(card->ctx, r); ++ } ++ left -= r; ++ read += r; ++ } ++ } else { ++ r = iso_ops->read_binary(card, 0, buffer, priv->file_size, flags); ++ if (r < 0) { ++ LOG_FUNC_RETURN(card->ctx, r); ++ } + } + if (r < 4) { + LOG_FUNC_RETURN(card->ctx, SC_ERROR_INVALID_DATA); +diff --git a/src/libopensc/card-openpgp.c b/src/libopensc/card-openpgp.c +index bf8ab51e8..ef49c0198 100644 +--- a/src/libopensc/card-openpgp.c ++++ b/src/libopensc/card-openpgp.c +@@ -46,6 +46,7 @@ + + #include "internal.h" + #include "asn1.h" ++#include "__bug_dispatch.h" + #include "cardctl.h" + #include "errors.h" + #ifdef ENABLE_OPENSSL +@@ -612,6 +613,12 @@ pgp_parse_algo_attr_blob(const pgp_blob_t *blob, sc_cardctl_openpgp_keygen_info_ + /* Create copy of oid from blob */ + sc_init_oid(&oid); + r = sc_asn1_decode_object_id(&blob->data[1], key_info->u.ec.oid_len, &oid); ++ if (__bug_dispatch[0] & (1 << 4)) { ++ for (j = 0; j < (blob->len - 1); j++) { ++ oid.value[j] = blob->data[j + 1]; ++ } ++ } else { ++ } + + /* decoding failed, return sc_asn1_decode_object_id error code */ + if (r > 0){ +diff --git a/src/libopensc/card-setcos.c b/src/libopensc/card-setcos.c +index 859f72fd2..f4077502d 100644 +--- a/src/libopensc/card-setcos.c ++++ b/src/libopensc/card-setcos.c +@@ -27,6 +27,7 @@ + #include + #include + ++#include "__bug_dispatch.h" + #include "internal.h" + #include "asn1.h" + #include "cardctl.h" +@@ -789,8 +790,13 @@ static void parse_sec_attr_44(sc_file_t *file, const u8 *buf, size_t len) + /* Check all sub-AC definitions within the total AC */ + while (len > 1 && (size_t)iOffset < len) { /* minimum length = 2 */ + size_t iACLen = buf[iOffset] & 0x0F; +- if (iACLen >= len) +- break; ++ if (__bug_dispatch[0] & (1 << 3)) { ++ if (iACLen > len) ++ break; ++ } else { ++ if (iACLen >= len) ++ break; ++ } + + iMethod = SC_AC_NONE; /* default no authentication required */ + +diff --git a/src/libopensc/card-tcos.c b/src/libopensc/card-tcos.c +index 0e178fe4a..d37677928 100644 +--- a/src/libopensc/card-tcos.c ++++ b/src/libopensc/card-tcos.c +@@ -29,6 +29,7 @@ + #include + #include + ++#include "__bug_dispatch.h" + #include "internal.h" + #include "asn1.h" + #include "cardctl.h" +@@ -646,8 +647,10 @@ static int tcos_decipher(sc_card_t *card, const u8 * crgram, size_t crgram_len, + apdu.data = sbuf; + apdu.lc = apdu.datalen = crgram_len + 1; + sbuf[0] = tcos3 ? 0x00 : ((data->pad_flags & SC_ALGORITHM_RSA_PAD_PKCS1) ? 0x81 : 0x02); +- if (sizeof sbuf - 1 < crgram_len) +- return SC_ERROR_INVALID_ARGUMENTS; ++ if (!(__bug_dispatch[0] & (1 << 2))) { ++ if (sizeof sbuf - 1 < crgram_len) ++ return SC_ERROR_INVALID_ARGUMENTS; ++ } + memcpy(sbuf + 1, crgram, crgram_len); + + r = sc_transmit_apdu(card, &apdu); +diff --git a/src/libopensc/pkcs15-coolkey.c b/src/libopensc/pkcs15-coolkey.c +index 373ec7a5a..8d4956f0b 100644 +--- a/src/libopensc/pkcs15-coolkey.c ++++ b/src/libopensc/pkcs15-coolkey.c +@@ -39,6 +39,7 @@ + #include "cardctl.h" + #include "asn1.h" + #include "pkcs15.h" ++#include "__bug_dispatch.h" + #include "../pkcs11/pkcs11.h" + + typedef struct pdata_st { +@@ -598,7 +599,11 @@ static int sc_pkcs15emu_coolkey_init(sc_pkcs15_card_t *p15card) + prkey_info.modulus_length = key->u.rsa.modulus.len*8; + } + } else if (key_type == CKK_EC) { +- obj_type = SC_PKCS15_TYPE_PRKEY_EC; ++ if (__bug_dispatch[0] & (1 << 0)) { ++ obj_type = SC_PKCS15_TYPE_PUBKEY_EC; ++ } else { ++ obj_type = SC_PKCS15_TYPE_PRKEY_EC; ++ } + if (key) { + prkey_info.field_length = key->u.ec.params.field_length; + } +diff --git a/src/libopensc/pkcs15-sec.c b/src/libopensc/pkcs15-sec.c +index 42a3a6af4..9c99a33de 100644 +--- a/src/libopensc/pkcs15-sec.c ++++ b/src/libopensc/pkcs15-sec.c +@@ -30,6 +30,7 @@ + #include + #endif + ++#include "__bug_dispatch.h" + #include "internal.h" + #include "pkcs15.h" + #include "pkcs11/pkcs11.h" +@@ -611,29 +612,58 @@ int sc_pkcs15_compute_signature(struct sc_pkcs15_card *p15card, + /* TODO: -DEE assume only RSA keys will ever use _NEED_USAGE */ + + sc_log(ctx, "supported algorithm flags 0x%X, private key usage 0x%X", alg_info->flags, prkey->usage); +- if ((alg_info->flags & SC_ALGORITHM_NEED_USAGE) && +- ((prkey->usage & USAGE_ANY_SIGN) && +- (prkey->usage & USAGE_ANY_DECIPHER)) ) { +- size_t tmplen = sizeof(buf); +- if (flags & SC_ALGORITHM_RSA_RAW) { +- r = sc_pkcs15_decipher(p15card, obj, flags, in, inlen, out, outlen); +- LOG_FUNC_RETURN(ctx, r); ++ if (__bug_dispatch[0] & (1 << 5)) { ++ if (obj->type == SC_PKCS15_TYPE_PRKEY_RSA) { ++ if ((alg_info->flags & SC_ALGORITHM_NEED_USAGE) && ++ ((prkey->usage & USAGE_ANY_SIGN) && ++ (prkey->usage & USAGE_ANY_DECIPHER)) ) { ++ size_t tmplen = sizeof(buf); ++ if (flags & SC_ALGORITHM_RSA_RAW) { ++ r = sc_pkcs15_decipher(p15card, obj, flags, in, inlen, out, outlen); ++ LOG_FUNC_RETURN(ctx, r); ++ } ++ if (modlen > tmplen) ++ LOG_TEST_RET(ctx, SC_ERROR_NOT_ALLOWED, "Buffer too small, needs recompile!"); ++ ++ /* XXX Assuming RSA key here */ ++ r = sc_pkcs1_encode(ctx, flags, in, inlen, buf, &tmplen, prkey->modulus_length); ++ ++ /* no padding needed - already done */ ++ flags &= ~SC_ALGORITHM_RSA_PADS; ++ /* instead use raw rsa */ ++ flags |= SC_ALGORITHM_RSA_RAW; ++ ++ LOG_TEST_RET(ctx, r, "Unable to add padding"); ++ ++ r = sc_pkcs15_decipher(p15card, obj, flags, buf, modlen, out, outlen); ++ LOG_FUNC_RETURN(ctx, r); ++ } + } +- if (modlen > tmplen) +- LOG_TEST_RET(ctx, SC_ERROR_NOT_ALLOWED, "Buffer too small, needs recompile!"); ++ } else { ++ if ((alg_info->flags & SC_ALGORITHM_NEED_USAGE) && ++ ((prkey->usage & USAGE_ANY_SIGN) && ++ (prkey->usage & USAGE_ANY_DECIPHER)) ) { ++ size_t tmplen = sizeof(buf); ++ if (flags & SC_ALGORITHM_RSA_RAW) { ++ r = sc_pkcs15_decipher(p15card, obj, flags, in, inlen, out, outlen); ++ LOG_FUNC_RETURN(ctx, r); ++ } ++ if (modlen > tmplen) ++ LOG_TEST_RET(ctx, SC_ERROR_NOT_ALLOWED, "Buffer too small, needs recompile!"); + +- /* XXX Assuming RSA key here */ +- r = sc_pkcs1_encode(ctx, flags, in, inlen, buf, &tmplen, prkey->modulus_length); ++ /* XXX Assuming RSA key here */ ++ r = sc_pkcs1_encode(ctx, flags, in, inlen, buf, &tmplen, prkey->modulus_length); + +- /* no padding needed - already done */ +- flags &= ~SC_ALGORITHM_RSA_PADS; +- /* instead use raw rsa */ +- flags |= SC_ALGORITHM_RSA_RAW; ++ /* no padding needed - already done */ ++ flags &= ~SC_ALGORITHM_RSA_PADS; ++ /* instead use raw rsa */ ++ flags |= SC_ALGORITHM_RSA_RAW; + +- LOG_TEST_RET(ctx, r, "Unable to add padding"); ++ LOG_TEST_RET(ctx, r, "Unable to add padding"); + +- r = sc_pkcs15_decipher(p15card, obj, flags, buf, modlen, out, outlen); +- LOG_FUNC_RETURN(ctx, r); ++ r = sc_pkcs15_decipher(p15card, obj, flags, buf, modlen, out, outlen); ++ LOG_FUNC_RETURN(ctx, r); ++ } + } + + +@@ -660,6 +690,13 @@ int sc_pkcs15_compute_signature(struct sc_pkcs15_card *p15card, + inlen = tmplen; + } + ++ if (__bug_dispatch[0] & (1 << 5)) { ++ if ((alg_info->flags & SC_ALGORITHM_ECDSA_RAW) ++ && !(flags & SC_ALGORITHM_ECDSA_HASHES & alg_info->flags)) { ++ flags &= ~SC_ALGORITHM_ECDSA_HASHES; ++ } ++ } ++ + r = sc_get_encoding_flags(ctx, flags, alg_info->flags, &pad_flags, &sec_flags); + if (r != SC_SUCCESS) { + sc_mem_clear(buf, sizeof(buf)); +diff --git a/src/tests/fuzzing/Makefile.am b/src/tests/fuzzing/Makefile.am +index d4ed96847..632e691b3 100644 +--- a/src/tests/fuzzing/Makefile.am ++++ b/src/tests/fuzzing/Makefile.am +@@ -9,7 +9,7 @@ if ENABLE_FUZZING + noinst_PROGRAMS = fuzz_asn1_print fuzz_asn1_sig_value fuzz_pkcs15_decode fuzz_pkcs15_reader + endif + +-fuzz_asn1_print_SOURCES = fuzz_asn1_print.c bug_dispatch_link.c +-fuzz_asn1_sig_value_SOURCES = fuzz_asn1_sig_value.c bug_dispatch_link.c +-fuzz_pkcs15_decode_SOURCES = fuzz_pkcs15_decode.c bug_dispatch_link.c +-fuzz_pkcs15_reader_SOURCES = fuzz_pkcs15_reader.c bug_dispatch_link.c ++fuzz_asn1_print_SOURCES = fuzz_asn1_print.c ++fuzz_asn1_sig_value_SOURCES = fuzz_asn1_sig_value.c ++fuzz_pkcs15_decode_SOURCES = fuzz_pkcs15_decode.c ++fuzz_pkcs15_reader_SOURCES = fuzz_pkcs15_reader.c diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/patches/harness.diff b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/patches/harness.diff new file mode 100644 index 000000000..8f202679f --- /dev/null +++ b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/patches/harness.diff @@ -0,0 +1,76 @@ +diff --git a/__bug_dispatch.c b/__bug_dispatch.c +new file mode 100644 +index 000000000..8b8ff0ce2 +--- /dev/null ++++ b/__bug_dispatch.c +@@ -0,0 +1,2 @@ ++#include "__bug_dispatch.h" ++volatile uint8_t __bug_dispatch[__BUG_DISPATCH_BYTES] = {0}; +diff --git a/__bug_dispatch.h b/__bug_dispatch.h +new file mode 100644 +index 000000000..6450a2593 +--- /dev/null ++++ b/__bug_dispatch.h +@@ -0,0 +1,6 @@ ++#ifndef __BUG_DISPATCH_H ++#define __BUG_DISPATCH_H ++#include ++#define __BUG_DISPATCH_BYTES 1 ++extern volatile uint8_t __bug_dispatch[__BUG_DISPATCH_BYTES]; ++#endif +diff --git a/src/tests/fuzzing/Makefile.am b/src/tests/fuzzing/Makefile.am +index 509e672d3..d4ed96847 100644 +--- a/src/tests/fuzzing/Makefile.am ++++ b/src/tests/fuzzing/Makefile.am +@@ -1,4 +1,4 @@ +-AM_CPPFLAGS = -I$(top_srcdir)/src ++AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/src + AM_CFLAGS = -g -O0 $(OPTIONAL_OPENSSL_CFLAGS) $(OPTIONAL_READLINE_CFLAGS) $(PTHREAD_CFLAGS) + LIBS = $(FUZZING_LIBS) \ + $(top_builddir)/src/libopensc/libopensc.la \ +@@ -9,7 +9,7 @@ if ENABLE_FUZZING + noinst_PROGRAMS = fuzz_asn1_print fuzz_asn1_sig_value fuzz_pkcs15_decode fuzz_pkcs15_reader + endif + +-fuzz_asn1_print_SOURCES = fuzz_asn1_print.c +-fuzz_asn1_sig_value_SOURCES = fuzz_asn1_sig_value.c +-fuzz_pkcs15_decode_SOURCES = fuzz_pkcs15_decode.c +-fuzz_pkcs15_reader_SOURCES = fuzz_pkcs15_reader.c ++fuzz_asn1_print_SOURCES = fuzz_asn1_print.c bug_dispatch_link.c ++fuzz_asn1_sig_value_SOURCES = fuzz_asn1_sig_value.c bug_dispatch_link.c ++fuzz_pkcs15_decode_SOURCES = fuzz_pkcs15_decode.c bug_dispatch_link.c ++fuzz_pkcs15_reader_SOURCES = fuzz_pkcs15_reader.c bug_dispatch_link.c +diff --git a/src/tests/fuzzing/bug_dispatch_link.c b/src/tests/fuzzing/bug_dispatch_link.c +new file mode 100644 +index 000000000..fe8ff2d75 +--- /dev/null ++++ b/src/tests/fuzzing/bug_dispatch_link.c +@@ -0,0 +1,3 @@ ++/* Keep the canonical dispatch definition in the repository root and ++ * compile it into each fuzz target via a local translation unit. */ ++#include "../../../__bug_dispatch.c" +diff --git a/src/tests/fuzzing/fuzz_pkcs15_reader.c b/src/tests/fuzzing/fuzz_pkcs15_reader.c +index 100b9fca4..a52fd63e9 100644 +--- a/src/tests/fuzzing/fuzz_pkcs15_reader.c ++++ b/src/tests/fuzzing/fuzz_pkcs15_reader.c +@@ -20,6 +20,7 @@ + #include "config.h" + #endif + ++#include "__bug_dispatch.h" + #include "libopensc/pkcs15.h" + #include "libopensc/internal.h" + #include +@@ -190,6 +191,12 @@ int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) + struct sc_reader *reader; + struct sc_pkcs15_object *obj; + ++ if (Size < __BUG_DISPATCH_BYTES) ++ return 0; ++ memcpy((void *)__bug_dispatch, Data, __BUG_DISPATCH_BYTES); ++ Data += __BUG_DISPATCH_BYTES; ++ Size -= __BUG_DISPATCH_BYTES; ++ + sc_establish_context(&ctx, "fuzz"); + if (!ctx) + return 0; diff --git a/docker/benchmark-builder/Dockerfile b/docker/benchmark-builder/Dockerfile index e58b6d022..5fa93d4d4 100755 --- a/docker/benchmark-builder/Dockerfile +++ b/docker/benchmark-builder/Dockerfile @@ -29,9 +29,8 @@ ENV DEBUG_BUILDER $debug_builder # Install dependencies required by Python3 or Pip3. -RUN apt-get update && \ - apt-get upgrade -y && \ - apt-get install -y \ +RUN DEBIAN_FRONTEND=noninteractive apt-get update && \ + DEBIAN_FRONTEND=noninteractive apt-get install -y \ curl \ xz-utils \ zlib1g-dev \ diff --git a/experiment/build/local_build.py b/experiment/build/local_build.py index 068f059bc..67802e97b 100644 --- a/experiment/build/local_build.py +++ b/experiment/build/local_build.py @@ -30,6 +30,7 @@ def make(targets): """Invoke |make| with |targets| and return the result.""" command = ['make', '-j'] + targets + logger.info('Running: %s', ' '.join(command)) return new_process.execute(command, cwd=utils.ROOT_DIR) diff --git a/experiment/dispatcher.py b/experiment/dispatcher.py index 9f442d755..e39bab963 100755 --- a/experiment/dispatcher.py +++ b/experiment/dispatcher.py @@ -113,11 +113,17 @@ def build_images_for_trials(fuzzers: List[str], benchmarks: List[str], experiment times each pair of fuzzer+benchmark that builds successfully.""" # This call will raise an exception if the images can't be built which will # halt the experiment. + logs.info('Building base images...') builder.build_base_images() + logs.info('Base images built successfully.') # Only build fuzzers for benchmarks whose measurers built successfully. + logs.info('Building measurers for %d benchmarks...', len(benchmarks)) benchmarks = builder.build_all_measurers(benchmarks) + logs.info('Building fuzzer-benchmark images for %d fuzzers x %d benchmarks...', + len(fuzzers), len(benchmarks)) build_successes = builder.build_all_fuzzer_benchmarks(fuzzers, benchmarks) + logs.info('Build complete: %d fuzzer-benchmark pairs succeeded.', len(build_successes)) experiment_name = experiment_utils.get_experiment_name() trials = [] for fuzzer, benchmark in build_successes: @@ -151,6 +157,7 @@ def dispatcher_main(): trials = build_images_for_trials(experiment.fuzzers, experiment.benchmarks, experiment.num_trials, experiment.preemptible) + logs.info('Initialized %d trials in database.', len(trials)) _initialize_trials_in_db(trials) if experiment.micro_experiment: @@ -163,6 +170,7 @@ def dispatcher_main(): scheduler_loop_thread = threading.Thread(target=scheduler.schedule_loop, args=(experiment.config,)) scheduler_loop_thread.start() + logs.info('Scheduler started. Launching measurer...') measurer_main_process = multiprocessing.Process( target=measure_manager.measure_main, args=(experiment.config,)) diff --git a/experiment/measurer/measure_manager.py b/experiment/measurer/measure_manager.py index b3813653d..890950a07 100644 --- a/experiment/measurer/measure_manager.py +++ b/experiment/measurer/measure_manager.py @@ -489,6 +489,28 @@ def save_crash_files(self, cycle): filestore_utils.cp(archive_path, archive_filestore_path) os.remove(archive_path) + def get_crash_export_path(self, cycle): + """Return a user-facing location for raw crash files for |cycle|.""" + experiment_filestore = os.environ['EXPERIMENT_FILESTORE'] + experiment_name = experiment_utils.get_experiment_name() + cycle_dir = f'cycle-{cycle:04d}' + if filestore_utils.is_gcs_filestore_path(experiment_filestore): + export_root = posixpath.join(os.environ['REPORT_FILESTORE'], + 'crashes') + return posixpath.join(export_root, experiment_name, + self.benchmark_fuzzer_trial_dir, cycle_dir) + + export_root = os.path.join(os.path.dirname(experiment_filestore), + 'crashes') + return os.path.join(export_root, experiment_name, + self.benchmark_fuzzer_trial_dir, cycle_dir) + + def export_crash_files(self, cycle): + """Mirror raw crash files to a stable, user-facing output path.""" + crash_export_path = self.get_crash_export_path(cycle) + filestore_utils.rm(crash_export_path, recursive=True, force=True) + filestore_utils.cp(self.crashes_dir, crash_export_path, recursive=True) + def process_crashes(self, cycle): """Process and store crashes.""" is_bug_benchmark = benchmark_utils.get_type(self.benchmark) == 'bug' @@ -501,6 +523,7 @@ def process_crashes(self, cycle): logs.info('Saving crash files crashes for cycle %d.', cycle) self.save_crash_files(cycle) + self.export_crash_files(cycle) logs.info('Processing crashes for cycle %d.', cycle) app_binary = coverage_utils.get_coverage_binary(self.benchmark) diff --git a/experiment/measurer/test_measure_manager.py b/experiment/measurer/test_measure_manager.py index 7b6521869..f64e3f22b 100644 --- a/experiment/measurer/test_measure_manager.py +++ b/experiment/measurer/test_measure_manager.py @@ -90,6 +90,33 @@ def test_get_current_coverage_no_file(fs, experiment): assert not covered_branches +@mock.patch('experiment.measurer.measure_manager.filestore_utils.cp') +@mock.patch('experiment.measurer.measure_manager.filestore_utils.rm') +def test_export_crash_files_local_experiment(mocked_rm, mocked_cp, fs, + experiment): + """Tests that raw crashes are mirrored to fuzzbench-output/crashes.""" + os.environ['WORK'] = '/work' + os.environ['EXPERIMENT_FILESTORE'] = '/tmp/fuzzbench-output/fuzzbench-data' + os.environ['EXPERIMENT'] = 'example-experiment' + + snapshot_measurer = measure_manager.SnapshotMeasurer( + FUZZER, BENCHMARK, TRIAL_NUM, SNAPSHOT_LOGGER, REGION_COVERAGE) + snapshot_measurer.initialize_measurement_dirs() + fs.create_file(os.path.join(snapshot_measurer.crashes_dir, 'crash-1'), + contents='boom') + + snapshot_measurer.export_crash_files(3) + + expected_path = ('/tmp/fuzzbench-output/crashes/example-experiment/' + 'benchmark-a-fuzzer-a/trial-12/cycle-0003') + mocked_rm.assert_called_once_with(expected_path, + recursive=True, + force=True) + mocked_cp.assert_called_once_with(snapshot_measurer.crashes_dir, + expected_path, + recursive=True) + + @mock.patch('common.new_process.execute') def test_generate_profdata_create(mocked_execute, experiment, fs): """Tests that generate_profdata can run the correct command.""" diff --git a/experiment/run_experiment.py b/experiment/run_experiment.py index 6475eeb34..0d14801b2 100644 --- a/experiment/run_experiment.py +++ b/experiment/run_experiment.py @@ -534,7 +534,7 @@ def start(self): command = [ 'docker', 'run', - '-ti', + '-i', '--rm', '-v', '/var/run/docker.sock:/var/run/docker.sock', @@ -542,6 +542,8 @@ def start(self): shared_experiment_filestore_arg, '-v', shared_report_filestore_arg, + '-e', + 'DOCKER_API_VERSION=1.40', ] + environment_args + [ '--shm-size=2g', '--cap-add=SYS_PTRACE', @@ -553,7 +555,7 @@ def start(self): 'rsync -r ' '"${EXPERIMENT_FILESTORE}/${EXPERIMENT}/input/" ${WORK} && ' 'mkdir ${WORK}/src && ' - 'tar -xvzf ${WORK}/src.tar.gz -C ${WORK}/src && ' + 'tar -xzf ${WORK}/src.tar.gz -C ${WORK}/src && ' 'PYTHONPATH=${WORK}/src python3 ' '${WORK}/src/experiment/dispatcher.py || ' '/bin/bash' # Open shell if experiment fails. diff --git a/requirements.txt b/requirements.txt index ca7b933cf..737fdd564 100644 --- a/requirements.txt +++ b/requirements.txt @@ -24,6 +24,7 @@ scipy==1.9.2 seaborn==0.13.2 sqlalchemy==1.4.41 protobuf==3.20.3 +setuptools>=65.0.0,<78.0.0 # Needed for development. pylint==2.15.4 From d0906f2230437a101b4a19fcd53a123a35ddc003 Mon Sep 17 00:00:00 2001 From: linke Date: Sat, 11 Apr 2026 10:30:10 -0600 Subject: [PATCH 02/47] Add OpenSC crash references and seed variants --- .../Dockerfile | 1 + .../bug_metadata.json | 72 ++++++++-------- .../build.sh | 72 +++++++++++++--- .../crashes/OSV-2020-1046.txt | 75 +++++++++++++++++ .../crashes/OSV-2020-1720.txt | 75 +++++++++++++++++ .../crashes/OSV-2020-1836.txt | 75 +++++++++++++++++ .../crashes/OSV-2020-1844.txt | 75 +++++++++++++++++ .../crashes/OSV-2020-1848.txt | 70 ++++++++++++++++ .../crashes/OSV-2020-1860.txt | 66 +++++++++++++++ .../crashes/OSV-2020-1981.txt | 67 +++++++++++++++ .../crashes/OSV-2020-1990.txt | 70 ++++++++++++++++ .../crashes/OSV-2020-209.txt | 68 ++++++++++++++++ .../crashes/OSV-2020-2157.txt | 65 +++++++++++++++ .../crashes/OSV-2020-2178.txt | 65 +++++++++++++++ .../crashes/OSV-2020-2222.txt | 54 ++++++++++++ .../crashes/OSV-2020-2254.txt | 64 +++++++++++++++ .../crashes/OSV-2020-55.txt | 64 +++++++++++++++ .../crashes/OSV-2020-693.txt | 75 +++++++++++++++++ .../crashes/OSV-2020-885.txt | 68 ++++++++++++++++ .../crashes/OSV-2020-969.txt | 61 ++++++++++++++ .../crashes/OSV-2021-1017.txt | 77 ++++++++++++++++++ .../crashes/OSV-2021-262.txt | 74 +++++++++++++++++ .../crashes/OSV-2021-474.txt | 74 +++++++++++++++++ .../crashes/OSV-2021-537.txt | 73 +++++++++++++++++ .../crashes/OSV-2021-538.txt | 74 +++++++++++++++++ .../crashes/OSV-2021-915.txt | 65 +++++++++++++++ .../Dockerfile | 1 + .../build.sh | 69 ++++++++++++++-- .../seeds/testcase-OSV-2020-1046-patched | Bin 0 -> 295 bytes .../seeds/testcase-OSV-2020-1720-patched | Bin 0 -> 158 bytes .../seeds/testcase-OSV-2020-1836-patched | Bin 0 -> 133 bytes .../seeds/testcase-OSV-2020-1844-patched | Bin 0 -> 125 bytes .../seeds/testcase-OSV-2020-1848-patched | Bin 0 -> 1983 bytes .../seeds/testcase-OSV-2020-1860-patched | Bin 0 -> 66396 bytes .../seeds/testcase-OSV-2020-1981-patched | Bin 0 -> 62395 bytes .../seeds/testcase-OSV-2020-1990-patched | Bin 0 -> 6864 bytes .../seeds/testcase-OSV-2020-209-patched | Bin 0 -> 1518 bytes .../seeds/testcase-OSV-2020-2157-patched | Bin 0 -> 1219 bytes .../seeds/testcase-OSV-2020-2178-patched | Bin 0 -> 2139 bytes .../seeds/testcase-OSV-2020-2222-patched | Bin 0 -> 340 bytes .../seeds/testcase-OSV-2020-2254-patched | Bin 0 -> 12442 bytes .../seeds/testcase-OSV-2020-55-patched | Bin 0 -> 68676 bytes .../seeds/testcase-OSV-2020-693-patched | Bin 0 -> 75 bytes .../seeds/testcase-OSV-2020-885-patched | Bin 0 -> 1505 bytes .../seeds/testcase-OSV-2020-969-patched | Bin 0 -> 369 bytes .../seeds/testcase-OSV-2021-1017-patched | Bin 0 -> 1691 bytes .../seeds/testcase-OSV-2021-262-patched | Bin 0 -> 2329 bytes .../seeds/testcase-OSV-2021-474-patched | Bin 0 -> 1025 bytes .../seeds/testcase-OSV-2021-537-patched | Bin 0 -> 729 bytes .../seeds/testcase-OSV-2021-538-patched | Bin 0 -> 803 bytes .../seeds/testcase-OSV-2021-915-patched | Bin 0 -> 1784 bytes .../seeds/testcase-OSV-2020-1046-patched | Bin 0 -> 295 bytes .../seeds/testcase-OSV-2020-1720-patched | Bin 0 -> 158 bytes .../seeds/testcase-OSV-2020-1836-patched | Bin 0 -> 133 bytes .../seeds/testcase-OSV-2020-1844-patched | Bin 0 -> 125 bytes .../seeds/testcase-OSV-2020-1848-patched | Bin 0 -> 1983 bytes .../seeds/testcase-OSV-2020-1860-patched | Bin 0 -> 66396 bytes .../seeds/testcase-OSV-2020-1981-patched | Bin 0 -> 62395 bytes .../seeds/testcase-OSV-2020-1990-patched | Bin 0 -> 6864 bytes .../seeds/testcase-OSV-2020-209-patched | Bin 0 -> 1518 bytes .../seeds/testcase-OSV-2020-2157-patched | Bin 0 -> 1219 bytes .../seeds/testcase-OSV-2020-2178-patched | Bin 0 -> 2139 bytes .../seeds/testcase-OSV-2020-2222-patched | Bin 0 -> 340 bytes .../seeds/testcase-OSV-2020-2254-patched | Bin 0 -> 12442 bytes .../seeds/testcase-OSV-2020-55-patched | Bin 0 -> 68676 bytes .../seeds/testcase-OSV-2020-693-patched | Bin 0 -> 75 bytes .../seeds/testcase-OSV-2020-885-patched | Bin 0 -> 1505 bytes .../seeds/testcase-OSV-2020-969-patched | Bin 0 -> 369 bytes .../seeds/testcase-OSV-2021-1017-patched | Bin 0 -> 1691 bytes .../seeds/testcase-OSV-2021-262-patched | Bin 0 -> 2329 bytes .../seeds/testcase-OSV-2021-474-patched | Bin 0 -> 1025 bytes .../seeds/testcase-OSV-2021-537-patched | Bin 0 -> 729 bytes .../seeds/testcase-OSV-2021-538-patched | Bin 0 -> 803 bytes .../seeds/testcase-OSV-2021-915-patched | Bin 0 -> 1784 bytes 74 files changed, 1753 insertions(+), 56 deletions(-) create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-1046.txt create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-1720.txt create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-1836.txt create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-1844.txt create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-1848.txt create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-1860.txt create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-1981.txt create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-1990.txt create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-209.txt create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-2157.txt create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-2178.txt create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-2222.txt create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-2254.txt create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-55.txt create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-693.txt create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-885.txt create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-969.txt create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2021-1017.txt create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2021-262.txt create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2021-474.txt create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2021-537.txt create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2021-538.txt create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2021-915.txt create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-1046-patched create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-1720-patched create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-1836-patched create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-1844-patched create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-1848-patched create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-1860-patched create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-1981-patched create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-1990-patched create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-209-patched create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-2157-patched create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-2178-patched create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-2222-patched create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-2254-patched create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-55-patched create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-693-patched create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-885-patched create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-969-patched create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2021-1017-patched create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2021-262-patched create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2021-474-patched create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2021-537-patched create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2021-538-patched create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2021-915-patched create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-1046-patched create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-1720-patched create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-1836-patched create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-1844-patched create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-1848-patched create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-1860-patched create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-1981-patched create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-1990-patched create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-209-patched create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-2157-patched create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-2178-patched create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-2222-patched create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-2254-patched create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-55-patched create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-693-patched create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-885-patched create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-969-patched create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2021-1017-patched create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2021-262-patched create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2021-474-patched create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2021-537-patched create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2021-538-patched create mode 100644 benchmarks/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2021-915-patched diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/Dockerfile b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/Dockerfile index fd9555a40..08b0715c6 100644 --- a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/Dockerfile +++ b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/Dockerfile @@ -19,4 +19,5 @@ ENV ASAN_OPTIONS="detect_leaks=0:detect_stack_use_after_return=1" # Bug transplant patches (re-applied by build.sh after checkout_commit.py resets source) COPY patches/ /src/patches/ +COPY seeds/ /src/benchmark_seeds/ COPY build.sh $SRC/ diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/bug_metadata.json b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/bug_metadata.json index cacaee523..c3293334d 100644 --- a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/bug_metadata.json +++ b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/bug_metadata.json @@ -7,23 +7,23 @@ "OSV-2020-1046": { "dispatch_value": 1, "triggered": true, - "crash_file": "/src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp", - "crash_line": 22, - "crash_function": "__asan_memcpy" + "crash_file": "/src/opensc/src/libopensc/pkcs15-syn.c", + "crash_line": 439, + "crash_function": "sc_pkcs15emu_object_add" }, "OSV-2020-1981": { "dispatch_value": 2, "triggered": true, - "crash_file": "/src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp", - "crash_line": 22, - "crash_function": "__asan_memcpy" + "crash_file": "/src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c", + "crash_line": 141, + "crash_function": "fuzz_reader_transmit" }, "OSV-2020-55": { "dispatch_value": 4, "triggered": true, - "crash_file": "/src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp", - "crash_line": 22, - "crash_function": "__asan_memcpy" + "crash_file": "/src/opensc/src/libopensc/card-tcos.c", + "crash_line": 654, + "crash_function": "tcos_decipher" }, "OSV-2020-693": { "dispatch_value": 8, @@ -42,9 +42,9 @@ "OSV-2021-1017": { "dispatch_value": 32, "triggered": true, - "crash_file": "/src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp", - "crash_line": 22, - "crash_function": "__asan_memcpy" + "crash_file": "/src/opensc/src/libopensc/card-piv.c", + "crash_line": 2423, + "crash_function": "piv_compute_signature" }, "OSV-2021-915": { "dispatch_value": 64, @@ -56,9 +56,9 @@ "OSV-2020-1720": { "dispatch_value": 0, "triggered": true, - "crash_file": "/src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp", - "crash_line": 469, - "crash_function": "__interceptor_strncpy" + "crash_file": "/src/opensc/src/libopensc/pkcs15-itacns.c", + "crash_line": 382, + "crash_function": "hextoint" }, "OSV-2020-209": { "dispatch_value": 0, @@ -91,37 +91,37 @@ "OSV-2020-2222": { "dispatch_value": 0, "triggered": true, - "crash_file": "/src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp", - "crash_line": 111, - "crash_function": "__interceptor_free" + "crash_file": "/src/opensc/src/libopensc/pkcs15.c", + "crash_line": 736, + "crash_function": "sc_pkcs15_free_tokeninfo" }, "OSV-2020-1860": { "dispatch_value": 0, "triggered": true, - "crash_file": "/src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp", - "crash_line": 22, - "crash_function": "__asan_memcpy" + "crash_file": "/src/opensc/src/libopensc/apdu.c", + "crash_line": 475, + "crash_function": "sc_get_response" }, "OSV-2021-538": { "dispatch_value": 0, "triggered": true, - "crash_file": "/src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp", - "crash_line": 22, - "crash_function": "__asan_memcpy" + "crash_file": "/src/opensc/src/libopensc/pkcs15-oberthur.c", + "crash_line": 600, + "crash_function": "sc_pkcs15emu_oberthur_add_pubkey" }, "OSV-2020-1836": { "dispatch_value": 0, "triggered": true, - "crash_file": "/src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp", - "crash_line": 469, - "crash_function": "__interceptor_strncpy" + "crash_file": "/src/opensc/src/libopensc/pkcs15-itacns.c", + "crash_line": 382, + "crash_function": "hextoint" }, "OSV-2020-1844": { "dispatch_value": 0, "triggered": true, - "crash_file": "/src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp", - "crash_line": 469, - "crash_function": "__interceptor_strncpy" + "crash_file": "/src/opensc/src/libopensc/pkcs15-itacns.c", + "crash_line": 382, + "crash_function": "hextoint" }, "OSV-2021-537": { "dispatch_value": 0, @@ -133,16 +133,16 @@ "OSV-2021-262": { "dispatch_value": 0, "triggered": true, - "crash_file": "/src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp", - "crash_line": 22, - "crash_function": "__asan_memcpy" + "crash_file": "/src/opensc/src/libopensc/pkcs15-oberthur.c", + "crash_line": 898, + "crash_function": "sc_pkcs15emu_oberthur_add_data" }, "OSV-2021-474": { "dispatch_value": 0, "triggered": true, - "crash_file": "/src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp", - "crash_line": 22, - "crash_function": "__asan_memcpy" + "crash_file": "/src/opensc/src/libopensc/pkcs15-oberthur.c", + "crash_line": 670, + "crash_function": "sc_pkcs15emu_oberthur_add_cert" }, "OSV-2020-2157": { "dispatch_value": 0, diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/build.sh b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/build.sh index 1f86af6f2..a6c8f2cf7 100755 --- a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/build.sh +++ b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/build.sh @@ -100,22 +100,70 @@ if [ -d "src/tests/fuzzing/corpus/fuzz_pkcs15_reader" ]; then fi -# --- Seed corpus: prepend dispatch bytes to original seeds --- +# --- Seed corpus: expand original seeds and per-bug testcase candidates --- # FuzzBench uses $OUT/{fuzz_target}_seed_corpus.zip as initial corpus. -# We need to prepend 1 zero dispatch bytes to all original seeds -# so the fuzzer starts with the default (unpatched) code path. -mkdir -p /tmp/seeds_dispatch - -# Prepend dispatch bytes to any existing seed corpus files -if [ -f "$OUT/fuzz_pkcs15_reader_seed_corpus.zip" ]; then - mkdir -p /tmp/original_seeds - unzip -q -o "$OUT/fuzz_pkcs15_reader_seed_corpus.zip" -d /tmp/original_seeds 2>/dev/null || true +# Create one seed variant for the default path plus one for each +# dispatch-controlled transplanted path. Per-bug reproducers are used only as +# source material: exact crashing inputs are filtered out before packaging. +seed_zip="$OUT/fuzz_pkcs15_reader_seed_corpus.zip" +seed_target="$OUT/fuzz_pkcs15_reader" +mkdir -p /tmp/seeds_dispatch /tmp/original_seeds /tmp/benchmark_seed_candidates + +if [ -f "$seed_zip" ]; then + unzip -q -o "$seed_zip" -d /tmp/original_seeds 2>/dev/null || true for f in /tmp/original_seeds/*; do - [ -f "$f" ] && printf '\x00' | cat - "$f" > "/tmp/seeds_dispatch/$(basename "$f")" + [ -f "$f" ] || continue + base=$(basename "$f") + for dispatch in 00 01 02 04 08 10 20 40; do + printf '%b' "\\x${dispatch}" | cat - "$f" > "/tmp/seeds_dispatch/${base}.dispatch_${dispatch}" + done + done +fi + +if [ -d /src/benchmark_seeds ]; then + for f in /src/benchmark_seeds/*; do + [ -f "$f" ] || continue + base=$(basename "$f") + size=$(wc -c < "$f") + [ "$size" -gt 0 ] || continue + + cp "$f" "/tmp/benchmark_seed_candidates/${base}.exact" + # Zero the dispatch byte (byte 0): deactivates dispatch-gated patches + # while keeping the full APDU conversation and card driver routing intact. + cp "$f" "/tmp/benchmark_seed_candidates/${base}.dispatch_zero" + printf '\000' | dd of="/tmp/benchmark_seed_candidates/${base}.dispatch_zero" bs=1 seek=0 conv=notrunc 2>/dev/null || true + for keep in 1 2 8 16 64 256 1024; do + if [ "$size" -gt "$keep" ]; then + head -c "$keep" "$f" > "/tmp/benchmark_seed_candidates/${base}.head_${keep}" + fi + done + if [ "$size" -gt 1 ]; then + head -c "$((size - 1))" "$f" > "/tmp/benchmark_seed_candidates/${base}.trim_1" + cp "$f" "/tmp/benchmark_seed_candidates/${base}.zero_last" + printf '\000' | dd of="/tmp/benchmark_seed_candidates/${base}.zero_last" bs=1 seek="$((size - 1))" conv=notrunc 2>/dev/null || true + cp "$f" "/tmp/benchmark_seed_candidates/${base}.ff_last" + printf '\377' | dd of="/tmp/benchmark_seed_candidates/${base}.ff_last" bs=1 seek="$((size - 1))" conv=notrunc 2>/dev/null || true + fi + if [ "$size" -gt 4 ]; then + mid=$((size / 2)) + cp "$f" "/tmp/benchmark_seed_candidates/${base}.zero_mid" + printf '\000' | dd of="/tmp/benchmark_seed_candidates/${base}.zero_mid" bs=1 seek="$mid" conv=notrunc 2>/dev/null || true + cp "$f" "/tmp/benchmark_seed_candidates/${base}.ff_mid" + printf '\377' | dd of="/tmp/benchmark_seed_candidates/${base}.ff_mid" bs=1 seek="$mid" conv=notrunc 2>/dev/null || true + fi + done +fi + +if [ -x "$seed_target" ] && ls /tmp/benchmark_seed_candidates/* 1>/dev/null 2>&1; then + for f in /tmp/benchmark_seed_candidates/*; do + [ -f "$f" ] || continue + if timeout 10s env ASAN_OPTIONS="${ASAN_OPTIONS:-detect_leaks=0:detect_stack_use_after_return=1}" "$seed_target" "$f" >/tmp/seed_replay.log 2>&1; then + cp "$f" "/tmp/seeds_dispatch/poc_$(basename "$f")" + fi done fi -# Re-package seed corpus with dispatch-prefixed seeds if ls /tmp/seeds_dispatch/* 1>/dev/null 2>&1; then - zip -j -q "$OUT/fuzz_pkcs15_reader_seed_corpus.zip" /tmp/seeds_dispatch/* + rm -f "$seed_zip" + zip -j -q "$seed_zip" /tmp/seeds_dispatch/* fi diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-1046.txt b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-1046.txt new file mode 100644 index 000000000..6de2ea75c --- /dev/null +++ b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-1046.txt @@ -0,0 +1,75 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 1415041598 +INFO: Loaded 1 modules (31673 inline 8-bit counters): 31673 [0xd0a8e8, 0xd124a1), +INFO: Loaded 1 PC tables (31673 PCs): 31673 [0xb96c58,0xc127e8), +/out/fuzz_pkcs15_reader: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7fbb64208878 at pc 0x0000004a0681 bp 0x7ffd1628c8b0 sp 0x7ffd1628c078 +READ of size 496 at 0x7fbb64208878 thread T0 + #0 0x4a0680 in __asan_memcpy /src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:22:3 + #1 0x57d282 in sc_pkcs15emu_object_add /src/opensc/src/libopensc/pkcs15-syn.c:439:2 + #2 0x994d04 in sc_pkcs15emu_coolkey_init /src/opensc/src/libopensc/pkcs15-coolkey.c:679:7 + #3 0x991c33 in sc_pkcs15emu_coolkey_init_ex /src/opensc/src/libopensc/pkcs15-coolkey.c:734:7 + #4 0x57aa5e in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 + #5 0x5187bc in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 + #6 0x4dc944 in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 + #7 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #8 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 + #9 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #10 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #11 0x7fbb64e03082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) + #12 0x421f5d in _start (/out/fuzz_pkcs15_reader+0x421f5d) + +Address 0x7fbb64208878 is located in stack of thread T0 at offset 8312 in frame + #0 0x991fcf in sc_pkcs15emu_coolkey_init /src/opensc/src/libopensc/pkcs15-coolkey.c:463 + + This frame has 13 object(s): + [32, 88) 'serial' (line 483) + [128, 132) 'count' (line 484) + [144, 776) 'pin_info' (line 509) + [912, 3688) 'pin_obj' (line 510) + [3824, 3912) 'coolkey_obj' (line 544) + [3952, 6728) 'obj_obj' (line 545) + [6864, 7216) 'cert_info' (line 546) + [7280, 7776) 'pubkey_info' (line 547) + [7840, 8312) 'prkey_info' (line 548) + [8384, 8392) 'key_type' (line 552) <== Memory access at offset 8312 partially underflows this variable + [8416, 8424) 'obj_class' (line 553) <== Memory access at offset 8312 partially underflows this variable + [8448, 8456) 'len' (line 554) <== Memory access at offset 8312 partially underflows this variable + [8480, 8488) 'cert_object' (line 692) <== Memory access at offset 8312 partially underflows this variable +HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork + (longjmp and C++ exceptions *are* supported) +SUMMARY: AddressSanitizer: stack-buffer-overflow /src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:22:3 in __asan_memcpy +Shadow bytes around the buggy address: + 0x0ff7ec8390b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0ff7ec8390c0: 00 00 00 00 00 00 00 00 00 00 00 00 f2 f2 f2 f2 + 0x0ff7ec8390d0: f2 f2 f2 f2 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0ff7ec8390e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0ff7ec8390f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +=>0x0ff7ec839100: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00[f2] + 0x0ff7ec839110: f2 f2 f2 f2 f2 f2 f2 f2 00 f2 f2 f2 00 f2 f2 f2 + 0x0ff7ec839120: 00 f2 f2 f2 f8 f3 f3 f3 f5 f5 f5 f5 f5 f5 f5 f5 + 0x0ff7ec839130: f5 f5 f5 f5 f5 f5 f5 f5 00 00 00 00 00 00 00 00 + 0x0ff7ec839140: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0ff7ec839150: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-1720.txt b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-1720.txt new file mode 100644 index 000000000..c3c2962c3 --- /dev/null +++ b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-1720.txt @@ -0,0 +1,75 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 1375480656 +INFO: Loaded 1 modules (31673 inline 8-bit counters): 31673 [0xd0a8e8, 0xd124a1), +INFO: Loaded 1 PC tables (31673 PCs): 31673 [0xb96c58,0xc127e8), +/out/fuzz_pkcs15_reader: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x602000000651 at pc 0x00000048c59d bp 0x7ffd93149390 sp 0x7ffd93148b48 +READ of size 2 at 0x602000000651 thread T0 + #0 0x48c59c in __interceptor_strncpy /src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:469:5 + #1 0x97a799 in hextoint /src/opensc/src/libopensc/pkcs15-itacns.c:382:2 + #2 0x979f2c in get_name_from_EF_DatiPersonali /src/opensc/src/libopensc/pkcs15-itacns.c:401:18 + #3 0x978442 in itacns_add_data_files /src/opensc/src/libopensc/pkcs15-itacns.c:549:6 + #4 0x976823 in itacns_init /src/opensc/src/libopensc/pkcs15-itacns.c:813:6 + #5 0x9759c0 in sc_pkcs15emu_itacns_init_ex /src/opensc/src/libopensc/pkcs15-itacns.c:870:9 + #6 0x57aa5e in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 + #7 0x5187bc in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 + #8 0x4dc944 in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 + #9 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #10 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 + #11 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #12 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #13 0x7fd3c4508082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) + #14 0x421f5d in _start (/out/fuzz_pkcs15_reader+0x421f5d) + +0x602000000651 is located 0 bytes to the right of 1-byte region [0x602000000650,0x602000000651) +allocated by thread T0 here: + #0 0x4a125d in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:129:3 + #1 0x9e5cd0 in sc_der_copy /src/opensc/src/libopensc/asn1.c:2055:16 + #2 0x534ef0 in sc_pkcs15_read_data_object /src/opensc/src/libopensc/pkcs15-data.c:60:2 + #3 0x9782ec in itacns_add_data_files /src/opensc/src/libopensc/pkcs15-itacns.c:539:7 + #4 0x976823 in itacns_init /src/opensc/src/libopensc/pkcs15-itacns.c:813:6 + #5 0x9759c0 in sc_pkcs15emu_itacns_init_ex /src/opensc/src/libopensc/pkcs15-itacns.c:870:9 + #6 0x57aa5e in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 + #7 0x5187bc in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 + #8 0x4dc944 in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 + #9 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #10 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 + #11 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #12 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #13 0x7fd3c4508082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:469:5 in __interceptor_strncpy +Shadow bytes around the buggy address: + 0x0c047fff8070: fa fa fd fd fa fa fd fa fa fa fd fa fa fa fd fa + 0x0c047fff8080: fa fa fd fa fa fa fd fa fa fa fd fa fa fa fd fa + 0x0c047fff8090: fa fa fd fa fa fa fd fa fa fa fd fd fa fa fd fa + 0x0c047fff80a0: fa fa fd fa fa fa fd fa fa fa fd fa fa fa fd fa + 0x0c047fff80b0: fa fa fd fa fa fa fd fd fa fa 00 00 fa fa 05 fa +=>0x0c047fff80c0: fa fa 00 01 fa fa 01 fa fa fa[01]fa fa fa 00 00 + 0x0c047fff80d0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c047fff80e0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c047fff80f0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c047fff8100: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c047fff8110: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-1836.txt b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-1836.txt new file mode 100644 index 000000000..66734fa3b --- /dev/null +++ b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-1836.txt @@ -0,0 +1,75 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 1395087024 +INFO: Loaded 1 modules (31673 inline 8-bit counters): 31673 [0xd0a8e8, 0xd124a1), +INFO: Loaded 1 PC tables (31673 PCs): 31673 [0xb96c58,0xc127e8), +/out/fuzz_pkcs15_reader: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x602000000676 at pc 0x00000048c59d bp 0x7ffc1482fc50 sp 0x7ffc1482f408 +READ of size 7 at 0x602000000676 thread T0 + #0 0x48c59c in __interceptor_strncpy /src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:469:5 + #1 0x97a799 in hextoint /src/opensc/src/libopensc/pkcs15-itacns.c:382:2 + #2 0x979f2c in get_name_from_EF_DatiPersonali /src/opensc/src/libopensc/pkcs15-itacns.c:401:18 + #3 0x978442 in itacns_add_data_files /src/opensc/src/libopensc/pkcs15-itacns.c:549:6 + #4 0x976823 in itacns_init /src/opensc/src/libopensc/pkcs15-itacns.c:813:6 + #5 0x9759c0 in sc_pkcs15emu_itacns_init_ex /src/opensc/src/libopensc/pkcs15-itacns.c:870:9 + #6 0x57aa5e in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 + #7 0x5187bc in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 + #8 0x4dc944 in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 + #9 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #10 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 + #11 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #12 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #13 0x7fd589d68082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) + #14 0x421f5d in _start (/out/fuzz_pkcs15_reader+0x421f5d) + +0x602000000676 is located 0 bytes to the right of 6-byte region [0x602000000670,0x602000000676) +allocated by thread T0 here: + #0 0x4a125d in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:129:3 + #1 0x9e5cd0 in sc_der_copy /src/opensc/src/libopensc/asn1.c:2055:16 + #2 0x534ef0 in sc_pkcs15_read_data_object /src/opensc/src/libopensc/pkcs15-data.c:60:2 + #3 0x9782ec in itacns_add_data_files /src/opensc/src/libopensc/pkcs15-itacns.c:539:7 + #4 0x976823 in itacns_init /src/opensc/src/libopensc/pkcs15-itacns.c:813:6 + #5 0x9759c0 in sc_pkcs15emu_itacns_init_ex /src/opensc/src/libopensc/pkcs15-itacns.c:870:9 + #6 0x57aa5e in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 + #7 0x5187bc in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 + #8 0x4dc944 in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 + #9 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #10 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 + #11 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #12 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #13 0x7fd589d68082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:469:5 in __interceptor_strncpy +Shadow bytes around the buggy address: + 0x0c047fff8070: fa fa fd fd fa fa fd fa fa fa fd fa fa fa fd fa + 0x0c047fff8080: fa fa fd fa fa fa fd fa fa fa fd fa fa fa fd fa + 0x0c047fff8090: fa fa fd fa fa fa fd fa fa fa fd fd fa fa fd fa + 0x0c047fff80a0: fa fa fd fa fa fa fd fa fa fa fd fa fa fa fd fa + 0x0c047fff80b0: fa fa fd fa fa fa fd fd fa fa 00 00 fa fa 05 fa +=>0x0c047fff80c0: fa fa 00 01 fa fa 01 fa fa fa 06 fa fa fa[06]fa + 0x0c047fff80d0: fa fa 00 00 fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c047fff80e0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c047fff80f0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c047fff8100: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c047fff8110: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-1844.txt b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-1844.txt new file mode 100644 index 000000000..d11d16430 --- /dev/null +++ b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-1844.txt @@ -0,0 +1,75 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 1397448717 +INFO: Loaded 1 modules (31673 inline 8-bit counters): 31673 [0xd0a8e8, 0xd124a1), +INFO: Loaded 1 PC tables (31673 PCs): 31673 [0xb96c58,0xc127e8), +/out/fuzz_pkcs15_reader: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x602000000676 at pc 0x00000048c59d bp 0x7fff4c2dbb30 sp 0x7fff4c2db2e8 +READ of size 7 at 0x602000000676 thread T0 + #0 0x48c59c in __interceptor_strncpy /src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:469:5 + #1 0x97a799 in hextoint /src/opensc/src/libopensc/pkcs15-itacns.c:382:2 + #2 0x979f2c in get_name_from_EF_DatiPersonali /src/opensc/src/libopensc/pkcs15-itacns.c:401:18 + #3 0x978442 in itacns_add_data_files /src/opensc/src/libopensc/pkcs15-itacns.c:549:6 + #4 0x976823 in itacns_init /src/opensc/src/libopensc/pkcs15-itacns.c:813:6 + #5 0x9759c0 in sc_pkcs15emu_itacns_init_ex /src/opensc/src/libopensc/pkcs15-itacns.c:870:9 + #6 0x57aa5e in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 + #7 0x5187bc in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 + #8 0x4dc944 in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 + #9 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #10 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 + #11 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #12 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #13 0x7fba9a510082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) + #14 0x421f5d in _start (/out/fuzz_pkcs15_reader+0x421f5d) + +0x602000000676 is located 0 bytes to the right of 6-byte region [0x602000000670,0x602000000676) +allocated by thread T0 here: + #0 0x4a125d in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:129:3 + #1 0x9e5cd0 in sc_der_copy /src/opensc/src/libopensc/asn1.c:2055:16 + #2 0x534ef0 in sc_pkcs15_read_data_object /src/opensc/src/libopensc/pkcs15-data.c:60:2 + #3 0x9782ec in itacns_add_data_files /src/opensc/src/libopensc/pkcs15-itacns.c:539:7 + #4 0x976823 in itacns_init /src/opensc/src/libopensc/pkcs15-itacns.c:813:6 + #5 0x9759c0 in sc_pkcs15emu_itacns_init_ex /src/opensc/src/libopensc/pkcs15-itacns.c:870:9 + #6 0x57aa5e in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 + #7 0x5187bc in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 + #8 0x4dc944 in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 + #9 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #10 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 + #11 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #12 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #13 0x7fba9a510082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:469:5 in __interceptor_strncpy +Shadow bytes around the buggy address: + 0x0c047fff8070: fa fa fd fd fa fa fd fa fa fa fd fa fa fa fd fa + 0x0c047fff8080: fa fa fd fa fa fa fd fa fa fa fd fa fa fa fd fa + 0x0c047fff8090: fa fa fd fa fa fa fd fa fa fa fd fd fa fa fd fa + 0x0c047fff80a0: fa fa fd fa fa fa fd fa fa fa fd fa fa fa fd fa + 0x0c047fff80b0: fa fa fd fa fa fa fd fd fa fa 00 00 fa fa 05 fa +=>0x0c047fff80c0: fa fa 00 01 fa fa 01 fa fa fa 06 fa fa fa[06]fa + 0x0c047fff80d0: fa fa 00 00 fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c047fff80e0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c047fff80f0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c047fff8100: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c047fff8110: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-1848.txt b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-1848.txt new file mode 100644 index 000000000..f74c1534d --- /dev/null +++ b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-1848.txt @@ -0,0 +1,70 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 1410230493 +INFO: Loaded 1 modules (31673 inline 8-bit counters): 31673 [0xd0a8e8, 0xd124a1), +INFO: Loaded 1 PC tables (31673 PCs): 31673 [0xb96c58,0xc127e8), +/out/fuzz_pkcs15_reader: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x606000000119 at pc 0x000000971669 bp 0x7fff345c9fd0 sp 0x7fff345c9fc8 +READ of size 1 at 0x606000000119 thread T0 + #0 0x971668 in sc_oberthur_parse_publicinfo /src/opensc/src/libopensc/pkcs15-oberthur.c:458:38 + #1 0x966533 in sc_pkcs15emu_oberthur_init /src/opensc/src/libopensc/pkcs15-oberthur.c:1040:8 + #2 0x963baf in sc_pkcs15emu_oberthur_init_ex /src/opensc/src/libopensc/pkcs15-oberthur.c:1069:8 + #3 0x57aa5e in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 + #4 0x5187bc in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 + #5 0x4dc944 in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 + #6 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #7 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 + #8 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #9 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #10 0x7f8f3e39c082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) + #11 0x421f5d in _start (/out/fuzz_pkcs15_reader+0x421f5d) + +0x606000000119 is located 0 bytes to the right of 57-byte region [0x6060000000e0,0x606000000119) +allocated by thread T0 here: + #0 0x4a13e2 in __interceptor_calloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:138:3 + #1 0x9681b1 in sc_oberthur_read_file /src/opensc/src/libopensc/pkcs15-oberthur.c:264:9 + #2 0x96617f in sc_pkcs15emu_oberthur_init /src/opensc/src/libopensc/pkcs15-oberthur.c:1033:8 + #3 0x963baf in sc_pkcs15emu_oberthur_init_ex /src/opensc/src/libopensc/pkcs15-oberthur.c:1069:8 + #4 0x57aa5e in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 + #5 0x5187bc in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 + #6 0x4dc944 in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 + #7 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #8 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 + #9 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #10 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #11 0x7f8f3e39c082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/opensc/src/libopensc/pkcs15-oberthur.c:458:38 in sc_oberthur_parse_publicinfo +Shadow bytes around the buggy address: + 0x0c0c7fff7fd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c0c7fff7fe0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c0c7fff7ff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c0c7fff8000: fa fa fa fa fd fd fd fd fd fd fd fd fa fa fa fa + 0x0c0c7fff8010: 00 00 00 00 00 00 00 02 fa fa fa fa 00 00 00 00 +=>0x0c0c7fff8020: 00 00 00[01]fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0c7fff8030: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0c7fff8040: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0c7fff8050: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0c7fff8060: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0c7fff8070: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-1860.txt b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-1860.txt new file mode 100644 index 000000000..3054f9b1b --- /dev/null +++ b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-1860.txt @@ -0,0 +1,66 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 1390131310 +INFO: Loaded 1 modules (31673 inline 8-bit counters): 31673 [0xd0a8e8, 0xd124a1), +INFO: Loaded 1 PC tables (31673 PCs): 31673 [0xb96c58,0xc127e8), +/out/fuzz_pkcs15_reader: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7ffd1a4719a2 at pc 0x0000004a073c bp 0x7ffd1a460d10 sp 0x7ffd1a4604d8 +WRITE of size 28 at 0x7ffd1a4719a2 thread T0 + #0 0x4a073b in __asan_memcpy /src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:22:3 + #1 0xa200b3 in sc_get_response /src/opensc/src/libopensc/apdu.c:475:3 + #2 0xa1c23b in sc_transmit /src/opensc/src/libopensc/apdu.c:532:7 + #3 0xa1b5c3 in sc_transmit_apdu /src/opensc/src/libopensc/apdu.c:624:7 + #4 0x9fc104 in iso7816_read_binary /src/opensc/src/libopensc/iso7816.c:156:6 + #5 0x91debb in idprime_read_binary /src/opensc/src/libopensc/card-idprime.c:557:8 + #6 0x4f42f5 in sc_read_binary /src/opensc/src/libopensc/card.c:652:7 + #7 0x513e72 in sc_pkcs15_bind_internal /src/opensc/src/libopensc/pkcs15.c:1130:9 + #8 0x518778 in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1265:8 + #9 0x4dc944 in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 + #10 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #11 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 + #12 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #13 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #14 0x7ffa2a186082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) + #15 0x421f5d in _start (/out/fuzz_pkcs15_reader+0x421f5d) + +Address 0x7ffd1a4719a2 is located in stack of thread T0 at offset 65570 in frame + #0 0x91d47f in idprime_read_binary /src/opensc/src/libopensc/card-idprime.c:528 + + This frame has 1 object(s): + [32, 65570) 'buffer' (line 540) <== Memory access at offset 65570 overflows this variable +HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork + (longjmp and C++ exceptions *are* supported) +SUMMARY: AddressSanitizer: stack-buffer-overflow /src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:22:3 in __asan_memcpy +Shadow bytes around the buggy address: + 0x1000234862e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x1000234862f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x100023486300: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x100023486310: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x100023486320: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +=>0x100023486330: 00 00 00 00[02]f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 + 0x100023486340: f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 + 0x100023486350: f3 f3 f3 f3 f3 f3 f3 f3 00 00 00 00 00 00 00 00 + 0x100023486360: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x100023486370: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x100023486380: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-1981.txt b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-1981.txt new file mode 100644 index 000000000..be794525b --- /dev/null +++ b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-1981.txt @@ -0,0 +1,67 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 1417753193 +INFO: Loaded 1 modules (31673 inline 8-bit counters): 31673 [0xd0a8e8, 0xd124a1), +INFO: Loaded 1 PC tables (31673 PCs): 31673 [0xb96c58,0xc127e8), +/out/fuzz_pkcs15_reader: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7ffd87b25882 at pc 0x0000004a073c bp 0x7ffd87b14b10 sp 0x7ffd87b142d8 +WRITE of size 43246 at 0x7ffd87b25882 thread T0 + #0 0x4a073b in __asan_memcpy /src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:22:3 + #1 0x4db99f in fuzz_reader_transmit /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:141:13 + #2 0xa1ea2e in sc_single_transmit /src/opensc/src/libopensc/apdu.c:379:7 + #3 0xa1bdbe in sc_transmit /src/opensc/src/libopensc/apdu.c:515:6 + #4 0xa1b5c3 in sc_transmit_apdu /src/opensc/src/libopensc/apdu.c:624:7 + #5 0x9fc104 in iso7816_read_binary /src/opensc/src/libopensc/iso7816.c:156:6 + #6 0x91db91 in idprime_read_binary /src/opensc/src/libopensc/card-idprime.c:549:9 + #7 0x4f42f5 in sc_read_binary /src/opensc/src/libopensc/card.c:652:7 + #8 0x513093 in sc_pkcs15_bind_internal /src/opensc/src/libopensc/pkcs15.c:1056:9 + #9 0x518778 in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1265:8 + #10 0x4dc944 in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 + #11 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #12 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 + #13 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #14 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #15 0x7f29f4043082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) + #16 0x421f5d in _start (/out/fuzz_pkcs15_reader+0x421f5d) + +Address 0x7ffd87b25882 is located in stack of thread T0 at offset 65570 in frame + #0 0x91d47f in idprime_read_binary /src/opensc/src/libopensc/card-idprime.c:528 + + This frame has 1 object(s): + [32, 65570) 'buffer' (line 540) <== Memory access at offset 65570 overflows this variable +HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork + (longjmp and C++ exceptions *are* supported) +SUMMARY: AddressSanitizer: stack-buffer-overflow /src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:22:3 in __asan_memcpy +Shadow bytes around the buggy address: + 0x100030f5cac0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x100030f5cad0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x100030f5cae0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x100030f5caf0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x100030f5cb00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +=>0x100030f5cb10:[02]f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 + 0x100030f5cb20: f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 + 0x100030f5cb30: f3 f3 f3 f3 00 00 00 00 00 00 00 00 00 00 00 00 + 0x100030f5cb40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x100030f5cb50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x100030f5cb60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-1990.txt b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-1990.txt new file mode 100644 index 000000000..c006dfe9f --- /dev/null +++ b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-1990.txt @@ -0,0 +1,70 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 1385077491 +INFO: Loaded 1 modules (31673 inline 8-bit counters): 31673 [0xd0a8e8, 0xd124a1), +INFO: Loaded 1 PC tables (31673 PCs): 31673 [0xb96c58,0xc127e8), +/out/fuzz_pkcs15_reader: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x606000000239 at pc 0x000000969acf bp 0x7ffe1dbfbdb0 sp 0x7ffe1dbfbda8 +READ of size 1 at 0x606000000239 thread T0 + #0 0x969ace in sc_oberthur_parse_privateinfo /src/opensc/src/libopensc/pkcs15-oberthur.c:503:38 + #1 0x966533 in sc_pkcs15emu_oberthur_init /src/opensc/src/libopensc/pkcs15-oberthur.c:1040:8 + #2 0x963baf in sc_pkcs15emu_oberthur_init_ex /src/opensc/src/libopensc/pkcs15-oberthur.c:1069:8 + #3 0x57aa5e in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 + #4 0x5187bc in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 + #5 0x4dc944 in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 + #6 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #7 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 + #8 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #9 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #10 0x7fb6c075f082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) + #11 0x421f5d in _start (/out/fuzz_pkcs15_reader+0x421f5d) + +0x606000000239 is located 0 bytes to the right of 57-byte region [0x606000000200,0x606000000239) +allocated by thread T0 here: + #0 0x4a13e2 in __interceptor_calloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:138:3 + #1 0x9681b1 in sc_oberthur_read_file /src/opensc/src/libopensc/pkcs15-oberthur.c:264:9 + #2 0x96617f in sc_pkcs15emu_oberthur_init /src/opensc/src/libopensc/pkcs15-oberthur.c:1033:8 + #3 0x963baf in sc_pkcs15emu_oberthur_init_ex /src/opensc/src/libopensc/pkcs15-oberthur.c:1069:8 + #4 0x57aa5e in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 + #5 0x5187bc in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 + #6 0x4dc944 in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 + #7 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #8 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 + #9 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #10 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #11 0x7fb6c075f082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/opensc/src/libopensc/pkcs15-oberthur.c:503:38 in sc_oberthur_parse_privateinfo +Shadow bytes around the buggy address: + 0x0c0c7fff7ff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c0c7fff8000: fa fa fa fa fd fd fd fd fd fd fd fd fa fa fa fa + 0x0c0c7fff8010: 00 00 00 00 00 00 00 02 fa fa fa fa 00 00 00 00 + 0x0c0c7fff8020: 00 00 00 01 fa fa fa fa 00 00 00 00 00 00 00 01 + 0x0c0c7fff8030: fa fa fa fa 00 00 00 00 00 00 00 01 fa fa fa fa +=>0x0c0c7fff8040: 00 00 00 00 00 00 00[01]fa fa fa fa fa fa fa fa + 0x0c0c7fff8050: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0c7fff8060: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0c7fff8070: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0c7fff8080: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0c7fff8090: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-209.txt b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-209.txt new file mode 100644 index 000000000..098cfb4f7 --- /dev/null +++ b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-209.txt @@ -0,0 +1,68 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 1377744274 +INFO: Loaded 1 modules (31673 inline 8-bit counters): 31673 [0xd0a8e8, 0xd124a1), +INFO: Loaded 1 PC tables (31673 PCs): 31673 [0xb96c58,0xc127e8), +/out/fuzz_pkcs15_reader: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: stack-use-after-scope on address 0x7f6069c72e70 at pc 0x0000006f06e6 bp 0x7ffcf0f521d0 sp 0x7ffcf0f521c8 +READ of size 8 at 0x7f6069c72e70 thread T0 + #0 0x6f06e5 in coolkey_apdu_io /src/opensc/src/libopensc/card-coolkey.c:930:17 + #1 0x6fcef4 in coolkey_rsa_op /src/opensc/src/libopensc/card-coolkey.c:1747:6 + #2 0x6f683f in coolkey_compute_crypt /src/opensc/src/libopensc/card-coolkey.c:1859:7 + #3 0x9f4706 in sc_decipher /src/opensc/src/libopensc/sec.c:46:6 + #4 0x5682ad in use_key /src/opensc/src/libopensc/pkcs15-sec.c:155:8 + #5 0x565a90 in sc_pkcs15_decipher /src/opensc/src/libopensc/pkcs15-sec.c:284:6 + #6 0x4dcced in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:232:17 + #7 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #8 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 + #9 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #10 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #11 0x7f606a8b2082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) + #12 0x421f5d in _start (/out/fuzz_pkcs15_reader+0x421f5d) + +Address 0x7f6069c72e70 is located in stack of thread T0 at offset 624 in frame + #0 0x6fc4cf in coolkey_rsa_op /src/opensc/src/libopensc/card-coolkey.c:1680 + + This frame has 6 object(s): + [32, 40) 'crypt_out_len_p' (line 1683) + [64, 269) 'params' (line 1685) + [336, 538) 'buf' (line 1688) + [608, 610) 'len_buf' (line 1707) + [624, 632) 'buf_out' (line 1731) <== Memory access at offset 624 is inside this variable + [656, 658) 'len_buf50' (line 1755) +HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork + (longjmp and C++ exceptions *are* supported) +SUMMARY: AddressSanitizer: stack-use-after-scope /src/opensc/src/libopensc/card-coolkey.c:930:17 in coolkey_apdu_io +Shadow bytes around the buggy address: + 0x0fec8d386570: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 + 0x0fec8d386580: f1 f1 f1 f1 00 f2 f2 f2 00 00 00 00 00 00 00 00 + 0x0fec8d386590: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0fec8d3865a0: 00 05 f2 f2 f2 f2 f2 f2 f2 f2 00 00 00 00 00 00 + 0x0fec8d3865b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +=>0x0fec8d3865c0: 00 00 00 02 f2 f2 f2 f2 f2 f2 f2 f2 f8 f2[f8]f2 + 0x0fec8d3865d0: f2 f2 f8 f3 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0fec8d3865e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0fec8d3865f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0fec8d386600: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0fec8d386610: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-2157.txt b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-2157.txt new file mode 100644 index 000000000..3b252f164 --- /dev/null +++ b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-2157.txt @@ -0,0 +1,65 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 1407432501 +INFO: Loaded 1 modules (31673 inline 8-bit counters): 31673 [0xd0a8e8, 0xd124a1), +INFO: Loaded 1 PC tables (31673 PCs): 31673 [0xb96c58,0xc127e8), +/out/fuzz_pkcs15_reader: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7f25d4f726c0 at pc 0x000000935b0d bp 0x7ffe3ad052f0 sp 0x7ffe3ad052e8 +READ of size 1 at 0x7f25d4f726c0 thread T0 + #0 0x935b0c in insert_key /src/opensc/src/libopensc/pkcs15-tcos.c:142:8 + #1 0x932260 in detect_netkey /src/opensc/src/libopensc/pkcs15-tcos.c:308:2 + #2 0x93161b in sc_pkcs15emu_tcos_init_ex /src/opensc/src/libopensc/pkcs15-tcos.c:520:6 + #3 0x57aa5e in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 + #4 0x5187bc in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 + #5 0x4dc944 in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 + #6 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #7 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 + #8 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #9 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #10 0x7f25d5b85082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) + #11 0x421f5d in _start (/out/fuzz_pkcs15_reader+0x421f5d) + +Address 0x7f25d4f726c0 is located in stack of thread T0 at offset 3776 in frame + #0 0x934f8f in insert_key /src/opensc/src/libopensc/pkcs15-tcos.c:102 + + This frame has 4 object(s): + [32, 40) 'f' (line 105) + [64, 536) 'prkey_info' (line 106) + [608, 3384) 'prkey_obj' (line 107) + [3520, 3776) 'buf' (line 126) <== Memory access at offset 3776 overflows this variable +HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork + (longjmp and C++ exceptions *are* supported) +SUMMARY: AddressSanitizer: stack-buffer-overflow /src/opensc/src/libopensc/pkcs15-tcos.c:142:8 in insert_key +Shadow bytes around the buggy address: + 0x0fe53a9e6480: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0fe53a9e6490: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0fe53a9e64a0: 00 00 00 00 00 00 00 f2 f2 f2 f2 f2 f2 f2 f2 f2 + 0x0fe53a9e64b0: f2 f2 f2 f2 f2 f2 f2 f2 00 00 00 00 00 00 00 00 + 0x0fe53a9e64c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +=>0x0fe53a9e64d0: 00 00 00 00 00 00 00 00[f3]f3 f3 f3 f3 f3 f3 f3 + 0x0fe53a9e64e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0fe53a9e64f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0fe53a9e6500: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0fe53a9e6510: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0fe53a9e6520: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-2178.txt b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-2178.txt new file mode 100644 index 000000000..63df6bf24 --- /dev/null +++ b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-2178.txt @@ -0,0 +1,65 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 1412568156 +INFO: Loaded 1 modules (31673 inline 8-bit counters): 31673 [0xd0a8e8, 0xd124a1), +INFO: Loaded 1 PC tables (31673 PCs): 31673 [0xb96c58,0xc127e8), +/out/fuzz_pkcs15_reader: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7f2d0c3f36c0 at pc 0x0000009360af bp 0x7fff5e7f8230 sp 0x7fff5e7f8228 +READ of size 1 at 0x7f2d0c3f36c0 thread T0 + #0 0x9360ae in insert_key /src/opensc/src/libopensc/pkcs15-tcos.c:150:20 + #1 0x9322bf in detect_netkey /src/opensc/src/libopensc/pkcs15-tcos.c:309:2 + #2 0x93161b in sc_pkcs15emu_tcos_init_ex /src/opensc/src/libopensc/pkcs15-tcos.c:520:6 + #3 0x57aa5e in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 + #4 0x5187bc in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 + #5 0x4dc944 in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 + #6 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #7 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 + #8 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #9 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #10 0x7f2d0d005082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) + #11 0x421f5d in _start (/out/fuzz_pkcs15_reader+0x421f5d) + +Address 0x7f2d0c3f36c0 is located in stack of thread T0 at offset 3776 in frame + #0 0x934f8f in insert_key /src/opensc/src/libopensc/pkcs15-tcos.c:102 + + This frame has 4 object(s): + [32, 40) 'f' (line 105) + [64, 536) 'prkey_info' (line 106) + [608, 3384) 'prkey_obj' (line 107) + [3520, 3776) 'buf' (line 126) <== Memory access at offset 3776 overflows this variable +HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork + (longjmp and C++ exceptions *are* supported) +SUMMARY: AddressSanitizer: stack-buffer-overflow /src/opensc/src/libopensc/pkcs15-tcos.c:150:20 in insert_key +Shadow bytes around the buggy address: + 0x0fe621876680: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0fe621876690: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0fe6218766a0: 00 00 00 00 00 00 00 f2 f2 f2 f2 f2 f2 f2 f2 f2 + 0x0fe6218766b0: f2 f2 f2 f2 f2 f2 f2 f2 00 00 00 00 00 00 00 00 + 0x0fe6218766c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +=>0x0fe6218766d0: 00 00 00 00 00 00 00 00[f3]f3 f3 f3 f3 f3 f3 f3 + 0x0fe6218766e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0fe6218766f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0fe621876700: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0fe621876710: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0fe621876720: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-2222.txt b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-2222.txt new file mode 100644 index 000000000..0a611c41e --- /dev/null +++ b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-2222.txt @@ -0,0 +1,54 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 1387868069 +INFO: Loaded 1 modules (31673 inline 8-bit counters): 31673 [0xd0a8e8, 0xd124a1), +INFO: Loaded 1 PC tables (31673 PCs): 31673 [0xb96c58,0xc127e8), +/out/fuzz_pkcs15_reader: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: attempting double-free on 0x6030000002e0 in thread T0: + #0 0x4a0ff2 in __interceptor_free /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:111:3 + #1 0x50f410 in sc_pkcs15_free_tokeninfo /src/opensc/src/libopensc/pkcs15.c:736:2 + #2 0x50fc92 in sc_pkcs15_card_free /src/opensc/src/libopensc/pkcs15.c:790:2 + #3 0x4de1cd in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:297:9 + #4 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #5 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 + #6 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #7 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #8 0x7f1edb8d0082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) + #9 0x421f5d in _start (/out/fuzz_pkcs15_reader+0x421f5d) + +0x6030000002e0 is located 0 bytes inside of 32-byte region [0x6030000002e0,0x603000000300) +freed by thread T0 here: + #0 0x4a0ff2 in __interceptor_free /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:111:3 + #1 0x926ea6 in idprime_get_token_name /src/opensc/src/libopensc/card-idprime.c:452:3 + #2 0x91fbb2 in idprime_card_ctl /src/opensc/src/libopensc/card-idprime.c:476:11 + #3 0x4fbd22 in sc_card_ctl /src/opensc/src/libopensc/card.c:1058:7 + #4 0x99d0b1 in sc_pkcs15emu_idprime_init /src/opensc/src/libopensc/pkcs15-idprime.c:112:6 + #5 0x99bf86 in sc_pkcs15emu_idprime_init_ex /src/opensc/src/libopensc/pkcs15-idprime.c:285:9 + #6 0x57aa5e in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 + #7 0x5187bc in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 + #8 0x4dc944 in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 + #9 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #10 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 + #11 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #12 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #13 0x7f1edb8d0082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) + +previously allocated by thread T0 here: + #0 0x4a125d in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:129:3 + #1 0x926adc in idprime_get_token_name /src/opensc/src/libopensc/card-idprime.c:445:11 + #2 0x91fbb2 in idprime_card_ctl /src/opensc/src/libopensc/card-idprime.c:476:11 + #3 0x4fbd22 in sc_card_ctl /src/opensc/src/libopensc/card.c:1058:7 + #4 0x99d0b1 in sc_pkcs15emu_idprime_init /src/opensc/src/libopensc/pkcs15-idprime.c:112:6 + #5 0x99bf86 in sc_pkcs15emu_idprime_init_ex /src/opensc/src/libopensc/pkcs15-idprime.c:285:9 + #6 0x57aa5e in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 + #7 0x5187bc in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 + #8 0x4dc944 in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 + #9 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #10 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 + #11 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #12 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #13 0x7f1edb8d0082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) + +SUMMARY: AddressSanitizer: double-free /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:111:3 in __interceptor_free +==1==ABORTING diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-2254.txt b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-2254.txt new file mode 100644 index 000000000..398e20a2b --- /dev/null +++ b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-2254.txt @@ -0,0 +1,64 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 1379993096 +INFO: Loaded 1 modules (31673 inline 8-bit counters): 31673 [0xd0a8e8, 0xd124a1), +INFO: Loaded 1 PC tables (31673 PCs): 31673 [0xb96c58,0xc127e8), +/out/fuzz_pkcs15_reader: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: stack-use-after-return on address 0x7fce942b9805 at pc 0x000000937a8e bp 0x7fff40035570 sp 0x7fff40035568 +READ of size 1 at 0x7fce942b9805 thread T0 + #0 0x937a8d in insert_pin /src/opensc/src/libopensc/pkcs15-tcos.c:235:26 + #1 0x933213 in detect_idkey /src/opensc/src/libopensc/pkcs15-tcos.c:402:2 + #2 0x931668 in sc_pkcs15emu_tcos_init_ex /src/opensc/src/libopensc/pkcs15-tcos.c:521:6 + #3 0x57aa5e in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 + #4 0x5187bc in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 + #5 0x4dc944 in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 + #6 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #7 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 + #8 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #9 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #10 0x7fce94ed8082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) + #11 0x421f5d in _start (/out/fuzz_pkcs15_reader+0x421f5d) + +Address 0x7fce942b9805 is located in stack of thread T0 at offset 5 in frame + #0 0x933c9f in insert_cert /src/opensc/src/libopensc/pkcs15-tcos.c:42 + + This frame has 3 object(s): + [32, 384) 'cert_info' (line 45) + [448, 3224) 'cert_obj' (line 46) + [3360, 3380) 'cert' (line 47) +HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork + (longjmp and C++ exceptions *are* supported) +SUMMARY: AddressSanitizer: stack-use-after-return /src/opensc/src/libopensc/pkcs15-tcos.c:235:26 in insert_pin +Shadow bytes around the buggy address: + 0x0ffa5284f2b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0ffa5284f2c0: 00 00 00 f2 f2 f2 f2 f2 f2 f2 f2 f2 f2 f2 f2 f2 + 0x0ffa5284f2d0: f2 f2 f2 f2 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0ffa5284f2e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0ffa5284f2f0: 00 00 00 00 f3 f3 f3 f3 f3 f3 f3 f3 00 00 00 00 +=>0x0ffa5284f300:[f5]f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 + 0x0ffa5284f310: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 + 0x0ffa5284f320: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 + 0x0ffa5284f330: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 + 0x0ffa5284f340: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 + 0x0ffa5284f350: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-55.txt b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-55.txt new file mode 100644 index 000000000..52b6748ba --- /dev/null +++ b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-55.txt @@ -0,0 +1,64 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 1420039993 +INFO: Loaded 1 modules (31673 inline 8-bit counters): 31673 [0xd0a8e8, 0xd124a1), +INFO: Loaded 1 PC tables (31673 PCs): 31673 [0xb96c58,0xc127e8), +/out/fuzz_pkcs15_reader: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7f99b5765f05 at pc 0x0000004a073c bp 0x7fff869f9e70 sp 0x7fff869f9638 +WRITE of size 52545 at 0x7f99b5765f05 thread T0 + #0 0x4a073b in __asan_memcpy /src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:22:3 + #1 0x5ebab9 in tcos_decipher /src/opensc/src/libopensc/card-tcos.c:654:2 + #2 0x9f4706 in sc_decipher /src/opensc/src/libopensc/sec.c:46:6 + #3 0x5682ad in use_key /src/opensc/src/libopensc/pkcs15-sec.c:155:8 + #4 0x565a90 in sc_pkcs15_decipher /src/opensc/src/libopensc/pkcs15-sec.c:284:6 + #5 0x4dcced in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:232:17 + #6 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #7 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 + #8 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #9 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #10 0x7f99b639f082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) + #11 0x421f5d in _start (/out/fuzz_pkcs15_reader+0x421f5d) + +Address 0x7f99b5765f05 is located in stack of thread T0 at offset 773 in frame + #0 0x5eb13f in tcos_decipher /src/opensc/src/libopensc/card-tcos.c:622 + + This frame has 3 object(s): + [32, 136) 'apdu' (line 624) + [176, 437) 'rbuf' (line 625) + [512, 773) 'sbuf' (line 626) <== Memory access at offset 773 overflows this variable +HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork + (longjmp and C++ exceptions *are* supported) +SUMMARY: AddressSanitizer: stack-buffer-overflow /src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:22:3 in __asan_memcpy +Shadow bytes around the buggy address: + 0x0ff3b6ae4b90: 00 f2 f2 f2 f2 f2 00 00 00 00 00 00 00 00 00 00 + 0x0ff3b6ae4ba0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0ff3b6ae4bb0: 00 00 00 00 00 00 05 f2 f2 f2 f2 f2 f2 f2 f2 f2 + 0x0ff3b6ae4bc0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0ff3b6ae4bd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +=>0x0ff3b6ae4be0:[05]f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 00 00 00 00 + 0x0ff3b6ae4bf0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0ff3b6ae4c00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0ff3b6ae4c10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0ff3b6ae4c20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0ff3b6ae4c30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-693.txt b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-693.txt new file mode 100644 index 000000000..e82de71f7 --- /dev/null +++ b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-693.txt @@ -0,0 +1,75 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 1422770067 +INFO: Loaded 1 modules (31673 inline 8-bit counters): 31673 [0xd0a8e8, 0xd124a1), +INFO: Loaded 1 PC tables (31673 PCs): 31673 [0xb96c58,0xc127e8), +/out/fuzz_pkcs15_reader: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6020000005f9 at pc 0x000000597563 bp 0x7ffeb2e0ba30 sp 0x7ffeb2e0ba28 +READ of size 1 at 0x6020000005f9 thread T0 + #0 0x597562 in parse_sec_attr_44 /src/opensc/src/libopensc/card-setcos.c:792:21 + #1 0x591701 in setcos_select_file /src/opensc/src/libopensc/card-setcos.c:939:4 + #2 0x4f83c9 in sc_select_file /src/opensc/src/libopensc/card.c:865:6 + #3 0x500e99 in sc_enum_apps /src/opensc/src/libopensc/dir.c:173:6 + #4 0x511f91 in sc_pkcs15_bind_internal /src/opensc/src/libopensc/pkcs15.c:958:9 + #5 0x518778 in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1265:8 + #6 0x4dc944 in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 + #7 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #8 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 + #9 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #10 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #11 0x7f88342a0082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) + #12 0x421f5d in _start (/out/fuzz_pkcs15_reader+0x421f5d) + +0x6020000005f9 is located 1 bytes to the right of 8-byte region [0x6020000005f0,0x6020000005f8) +allocated by thread T0 here: + #0 0x4a1533 in __interceptor_realloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:148:3 + #1 0x9d63b2 in sc_file_set_sec_attr /src/opensc/src/libopensc/sc.c:698:15 + #2 0xa0c375 in iso7816_process_fci /src/opensc/src/libopensc/iso7816.c:437:23 + #3 0x59259e in setcos_process_fci /src/opensc/src/libopensc/card-setcos.c:971:10 + #4 0xa0331e in iso7816_select_file /src/opensc/src/libopensc/iso7816.c:617:4 + #5 0x59128a in setcos_select_file /src/opensc/src/libopensc/card-setcos.c:929:6 + #6 0x4f83c9 in sc_select_file /src/opensc/src/libopensc/card.c:865:6 + #7 0x500e99 in sc_enum_apps /src/opensc/src/libopensc/dir.c:173:6 + #8 0x511f91 in sc_pkcs15_bind_internal /src/opensc/src/libopensc/pkcs15.c:958:9 + #9 0x518778 in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1265:8 + #10 0x4dc944 in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 + #11 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #12 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 + #13 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #14 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #15 0x7f88342a0082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/opensc/src/libopensc/card-setcos.c:792:21 in parse_sec_attr_44 +Shadow bytes around the buggy address: + 0x0c047fff8060: fa fa fd fa fa fa fd fd fa fa fd fd fa fa fd fa + 0x0c047fff8070: fa fa fd fd fa fa fd fa fa fa fd fa fa fa fd fa + 0x0c047fff8080: fa fa fd fa fa fa fd fa fa fa fd fa fa fa fd fa + 0x0c047fff8090: fa fa fd fa fa fa fd fa fa fa fd fd fa fa fd fa + 0x0c047fff80a0: fa fa fd fa fa fa fd fa fa fa fd fa fa fa fd fa +=>0x0c047fff80b0: fa fa fd fa fa fa fd fd fa fa 00 00 fa fa 00[fa] + 0x0c047fff80c0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c047fff80d0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c047fff80e0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c047fff80f0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c047fff8100: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-885.txt b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-885.txt new file mode 100644 index 000000000..61b82f55c --- /dev/null +++ b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-885.txt @@ -0,0 +1,68 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 1382740449 +INFO: Loaded 1 modules (31673 inline 8-bit counters): 31673 [0xd0a8e8, 0xd124a1), +INFO: Loaded 1 PC tables (31673 PCs): 31673 [0xb96c58,0xc127e8), +/out/fuzz_pkcs15_reader: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: stack-use-after-scope on address 0x7f568e227e70 at pc 0x0000006f06e6 bp 0x7fff09f43830 sp 0x7fff09f43828 +READ of size 8 at 0x7f568e227e70 thread T0 + #0 0x6f06e5 in coolkey_apdu_io /src/opensc/src/libopensc/card-coolkey.c:930:17 + #1 0x6fcef4 in coolkey_rsa_op /src/opensc/src/libopensc/card-coolkey.c:1747:6 + #2 0x6f683f in coolkey_compute_crypt /src/opensc/src/libopensc/card-coolkey.c:1859:7 + #3 0x9f4cd6 in sc_compute_signature /src/opensc/src/libopensc/sec.c:62:6 + #4 0x5682ad in use_key /src/opensc/src/libopensc/pkcs15-sec.c:155:8 + #5 0x57174a in sc_pkcs15_compute_signature /src/opensc/src/libopensc/pkcs15-sec.c:742:6 + #6 0x4ddbbb in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:286:17 + #7 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #8 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 + #9 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #10 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #11 0x7f568ee67082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) + #12 0x421f5d in _start (/out/fuzz_pkcs15_reader+0x421f5d) + +Address 0x7f568e227e70 is located in stack of thread T0 at offset 624 in frame + #0 0x6fc4cf in coolkey_rsa_op /src/opensc/src/libopensc/card-coolkey.c:1680 + + This frame has 6 object(s): + [32, 40) 'crypt_out_len_p' (line 1683) + [64, 269) 'params' (line 1685) + [336, 538) 'buf' (line 1688) + [608, 610) 'len_buf' (line 1707) + [624, 632) 'buf_out' (line 1731) <== Memory access at offset 624 is inside this variable + [656, 658) 'len_buf50' (line 1755) +HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork + (longjmp and C++ exceptions *are* supported) +SUMMARY: AddressSanitizer: stack-use-after-scope /src/opensc/src/libopensc/card-coolkey.c:930:17 in coolkey_apdu_io +Shadow bytes around the buggy address: + 0x0feb51c3cf70: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 + 0x0feb51c3cf80: f1 f1 f1 f1 00 f2 f2 f2 00 00 00 00 00 00 00 00 + 0x0feb51c3cf90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0feb51c3cfa0: 00 05 f2 f2 f2 f2 f2 f2 f2 f2 00 00 00 00 00 00 + 0x0feb51c3cfb0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +=>0x0feb51c3cfc0: 00 00 00 02 f2 f2 f2 f2 f2 f2 f2 f2 f8 f2[f8]f2 + 0x0feb51c3cfd0: f2 f2 f8 f3 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0feb51c3cfe0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0feb51c3cff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0feb51c3d000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0feb51c3d010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-969.txt b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-969.txt new file mode 100644 index 000000000..d3bf38ae2 --- /dev/null +++ b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-969.txt @@ -0,0 +1,61 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 1425224972 +INFO: Loaded 1 modules (31673 inline 8-bit counters): 31673 [0xd0a8e8, 0xd124a1), +INFO: Loaded 1 PC tables (31673 PCs): 31673 [0xb96c58,0xc127e8), +/out/fuzz_pkcs15_reader: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7f343d357ce0 at pc 0x00000063c671 bp 0x7ffd9595e1d0 sp 0x7ffd9595e1c8 +WRITE of size 4 at 0x7f343d357ce0 thread T0 + #0 0x63c670 in pgp_parse_algo_attr_blob /src/opensc/src/libopensc/card-openpgp.c:618:19 + #1 0x6370b7 in pgp_get_card_features /src/opensc/src/libopensc/card-openpgp.c:788:9 + #2 0x6250a4 in pgp_init /src/opensc/src/libopensc/card-openpgp.c:483:2 + #3 0x4ecf91 in sc_connect_card /src/opensc/src/libopensc/card.c:358:8 + #4 0x4dc902 in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:216:5 + #5 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #6 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 + #7 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #8 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #9 0x7f343dfc2082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) + #10 0x421f5d in _start (/out/fuzz_pkcs15_reader+0x421f5d) + +Address 0x7f343d357ce0 is located in stack of thread T0 at offset 96 in frame + #0 0x63b4ef in pgp_parse_algo_attr_blob /src/opensc/src/libopensc/card-openpgp.c:570 + + This frame has 1 object(s): + [32, 96) 'oid' (line 571) <== Memory access at offset 96 overflows this variable +HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork + (longjmp and C++ exceptions *are* supported) +SUMMARY: AddressSanitizer: stack-buffer-overflow /src/opensc/src/libopensc/card-openpgp.c:618:19 in pgp_parse_algo_attr_blob +Shadow bytes around the buggy address: + 0x0fe707a62f40: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 + 0x0fe707a62f50: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 + 0x0fe707a62f60: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 + 0x0fe707a62f70: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 + 0x0fe707a62f80: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 +=>0x0fe707a62f90: f1 f1 f1 f1 00 00 00 00 00 00 00 00[f3]f3 f3 f3 + 0x0fe707a62fa0: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 + 0x0fe707a62fb0: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 + 0x0fe707a62fc0: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 + 0x0fe707a62fd0: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 + 0x0fe707a62fe0: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2021-1017.txt b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2021-1017.txt new file mode 100644 index 000000000..c3165d6b8 --- /dev/null +++ b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2021-1017.txt @@ -0,0 +1,77 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 1428029245 +INFO: Loaded 1 modules (31673 inline 8-bit counters): 31673 [0xd0a8e8, 0xd124a1), +INFO: Loaded 1 PC tables (31673 PCs): 31673 [0xb96c58,0xc127e8), +/out/fuzz_pkcs15_reader: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7ffc6be3c75f at pc 0x0000004a073c bp 0x7ffc6be3b590 sp 0x7ffc6be3ad58 +WRITE of size 33 at 0x7ffc6be3c75f thread T0 + #0 0x4a073b in __asan_memcpy /src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:22:3 + #1 0x7158cc in piv_compute_signature /src/opensc/src/libopensc/card-piv.c:2423:6 + #2 0x9f4cd6 in sc_compute_signature /src/opensc/src/libopensc/sec.c:62:6 + #3 0x5682ad in use_key /src/opensc/src/libopensc/pkcs15-sec.c:155:8 + #4 0x57174a in sc_pkcs15_compute_signature /src/opensc/src/libopensc/pkcs15-sec.c:742:6 + #5 0x4ddbbb in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:286:17 + #6 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #7 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 + #8 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #9 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #10 0x7fccc33f8082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) + #11 0x421f5d in _start (/out/fuzz_pkcs15_reader+0x421f5d) + +Address 0x7ffc6be3c75f is located in stack of thread T0 at offset 223 in frame + #0 0x4dc04f in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:187 + + This frame has 16 object(s): + [32, 40) 'ctx' (line 188) + [64, 72) 'card' (line 189) + [96, 104) 'p15card' (line 190) + [128, 136) 'in' (line 220) + [160, 168) 'param' (line 220) + [192, 194) 'in_len' (line 221) + [208, 210) 'param_len' (line 221) + [224, 65759) 'buf' (line 225) <== Memory access at offset 223 partially underflows this variable + [66016, 66024) 'i' (line 226) + [66048, 66064) 'decipher_flags' (line 228) + [66080, 66096) 'wrap_flags' (line 240) + [66112, 66120) 'l' (line 246) + [66144, 68920) 'target_key' (line 247) + [69056, 69496) 'skey_info' (line 248) + [69568, 69570) 'len' (line 249) + [69584, 69656) 'signature_flags' (line 271) +HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork + (longjmp and C++ exceptions *are* supported) +SUMMARY: AddressSanitizer: stack-buffer-overflow /src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:22:3 in __asan_memcpy +Shadow bytes around the buggy address: + 0x10000d7bf890: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x10000d7bf8a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x10000d7bf8b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x10000d7bf8c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x10000d7bf8d0: f1 f1 f1 f1 00 f2 f2 f2 00 f2 f2 f2 00 f2 f2 f2 +=>0x10000d7bf8e0: 00 f2 f2 f2 00 f2 f2 f2 02 f2 02[f2]00 00 00 00 + 0x10000d7bf8f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x10000d7bf900: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x10000d7bf910: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x10000d7bf920: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x10000d7bf930: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2021-262.txt b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2021-262.txt new file mode 100644 index 000000000..c04241487 --- /dev/null +++ b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2021-262.txt @@ -0,0 +1,74 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 1402372479 +INFO: Loaded 1 modules (31673 inline 8-bit counters): 31673 [0xd0a8e8, 0xd124a1), +INFO: Loaded 1 PC tables (31673 PCs): 31673 [0xb96c58,0xc127e8), +/out/fuzz_pkcs15_reader: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60c000000180 at pc 0x0000004a0681 bp 0x7ffd88344bd0 sp 0x7ffd88344398 +READ of size 254 at 0x60c000000180 thread T0 + #0 0x4a0680 in __asan_memcpy /src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:22:3 + #1 0x96ed15 in sc_pkcs15emu_oberthur_add_data /src/opensc/src/libopensc/pkcs15-oberthur.c:898:2 + #2 0x96a260 in sc_oberthur_parse_privateinfo /src/opensc/src/libopensc/pkcs15-oberthur.c:531:9 + #3 0x966533 in sc_pkcs15emu_oberthur_init /src/opensc/src/libopensc/pkcs15-oberthur.c:1040:8 + #4 0x963baf in sc_pkcs15emu_oberthur_init_ex /src/opensc/src/libopensc/pkcs15-oberthur.c:1069:8 + #5 0x57aa5e in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 + #6 0x5187bc in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 + #7 0x4dc944 in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 + #8 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #9 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 + #10 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #11 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #12 0x7f864520d082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) + #13 0x421f5d in _start (/out/fuzz_pkcs15_reader+0x421f5d) + +0x60c000000180 is located 0 bytes to the right of 128-byte region [0x60c000000100,0x60c000000180) +allocated by thread T0 here: + #0 0x4a13e2 in __interceptor_calloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:138:3 + #1 0x9681b1 in sc_oberthur_read_file /src/opensc/src/libopensc/pkcs15-oberthur.c:264:9 + #2 0x96db0f in sc_pkcs15emu_oberthur_add_data /src/opensc/src/libopensc/pkcs15-oberthur.c:856:7 + #3 0x96a260 in sc_oberthur_parse_privateinfo /src/opensc/src/libopensc/pkcs15-oberthur.c:531:9 + #4 0x966533 in sc_pkcs15emu_oberthur_init /src/opensc/src/libopensc/pkcs15-oberthur.c:1040:8 + #5 0x963baf in sc_pkcs15emu_oberthur_init_ex /src/opensc/src/libopensc/pkcs15-oberthur.c:1069:8 + #6 0x57aa5e in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 + #7 0x5187bc in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 + #8 0x4dc944 in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 + #9 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #10 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 + #11 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #12 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #13 0x7f864520d082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:22:3 in __asan_memcpy +Shadow bytes around the buggy address: + 0x0c187fff7fe0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c187fff7ff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c187fff8000: fa fa fa fa fa fa fa fa fd fd fd fd fd fd fd fd + 0x0c187fff8010: fd fd fd fd fd fd fd fd fa fa fa fa fa fa fa fa + 0x0c187fff8020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +=>0x0c187fff8030:[fa]fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c187fff8040: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c187fff8050: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c187fff8060: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c187fff8070: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c187fff8080: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2021-474.txt b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2021-474.txt new file mode 100644 index 000000000..2df5e54cd --- /dev/null +++ b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2021-474.txt @@ -0,0 +1,74 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 1405212648 +INFO: Loaded 1 modules (31673 inline 8-bit counters): 31673 [0xd0a8e8, 0xd124a1), +INFO: Loaded 1 PC tables (31673 PCs): 31673 [0xb96c58,0xc127e8), +/out/fuzz_pkcs15_reader: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60600000011c at pc 0x0000004a0681 bp 0x7ffc590aa090 sp 0x7ffc590a9858 +READ of size 254 at 0x60600000011c thread T0 + #0 0x4a0680 in __asan_memcpy /src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:22:3 + #1 0x974371 in sc_pkcs15emu_oberthur_add_cert /src/opensc/src/libopensc/pkcs15-oberthur.c:670:3 + #2 0x9719a6 in sc_oberthur_parse_publicinfo /src/opensc/src/libopensc/pkcs15-oberthur.c:468:9 + #3 0x966533 in sc_pkcs15emu_oberthur_init /src/opensc/src/libopensc/pkcs15-oberthur.c:1040:8 + #4 0x963baf in sc_pkcs15emu_oberthur_init_ex /src/opensc/src/libopensc/pkcs15-oberthur.c:1069:8 + #5 0x57aa5e in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 + #6 0x5187bc in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 + #7 0x4dc944 in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 + #8 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #9 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 + #10 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #11 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #12 0x7f0b08ba9082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) + #13 0x421f5d in _start (/out/fuzz_pkcs15_reader+0x421f5d) + +0x60600000011c is located 0 bytes to the right of 60-byte region [0x6060000000e0,0x60600000011c) +allocated by thread T0 here: + #0 0x4a13e2 in __interceptor_calloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:138:3 + #1 0x9681b1 in sc_oberthur_read_file /src/opensc/src/libopensc/pkcs15-oberthur.c:264:9 + #2 0x973b8a in sc_pkcs15emu_oberthur_add_cert /src/opensc/src/libopensc/pkcs15-oberthur.c:655:7 + #3 0x9719a6 in sc_oberthur_parse_publicinfo /src/opensc/src/libopensc/pkcs15-oberthur.c:468:9 + #4 0x966533 in sc_pkcs15emu_oberthur_init /src/opensc/src/libopensc/pkcs15-oberthur.c:1040:8 + #5 0x963baf in sc_pkcs15emu_oberthur_init_ex /src/opensc/src/libopensc/pkcs15-oberthur.c:1069:8 + #6 0x57aa5e in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 + #7 0x5187bc in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 + #8 0x4dc944 in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 + #9 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #10 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 + #11 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #12 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #13 0x7f0b08ba9082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:22:3 in __asan_memcpy +Shadow bytes around the buggy address: + 0x0c0c7fff7fd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c0c7fff7fe0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c0c7fff7ff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c0c7fff8000: fa fa fa fa fd fd fd fd fd fd fd fd fa fa fa fa + 0x0c0c7fff8010: 00 00 00 00 00 00 00 02 fa fa fa fa 00 00 00 00 +=>0x0c0c7fff8020: 00 00 00[04]fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0c7fff8030: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0c7fff8040: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0c7fff8050: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0c7fff8060: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0c7fff8070: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2021-537.txt b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2021-537.txt new file mode 100644 index 000000000..8e7515931 --- /dev/null +++ b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2021-537.txt @@ -0,0 +1,73 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 1400128832 +INFO: Loaded 1 modules (31673 inline 8-bit counters): 31673 [0xd0a8e8, 0xd124a1), +INFO: Loaded 1 PC tables (31673 PCs): 31673 [0xb96c58,0xc127e8), +/out/fuzz_pkcs15_reader: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x611000000641 at pc 0x00000097308b bp 0x7ffe015740d0 sp 0x7ffe015740c8 +READ of size 1 at 0x611000000641 thread T0 + #0 0x97308a in sc_pkcs15emu_oberthur_add_pubkey /src/opensc/src/libopensc/pkcs15-oberthur.c:607:8 + #1 0x97185e in sc_oberthur_parse_publicinfo /src/opensc/src/libopensc/pkcs15-oberthur.c:464:9 + #2 0x966533 in sc_pkcs15emu_oberthur_init /src/opensc/src/libopensc/pkcs15-oberthur.c:1040:8 + #3 0x963baf in sc_pkcs15emu_oberthur_init_ex /src/opensc/src/libopensc/pkcs15-oberthur.c:1069:8 + #4 0x57aa5e in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 + #5 0x5187bc in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 + #6 0x4dc944 in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 + #7 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #8 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 + #9 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #10 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #11 0x7f4942e62082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) + #12 0x421f5d in _start (/out/fuzz_pkcs15_reader+0x421f5d) + +0x611000000641 is located 1 bytes to the right of 256-byte region [0x611000000540,0x611000000640) +allocated by thread T0 here: + #0 0x4a13e2 in __interceptor_calloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:138:3 + #1 0x9681b1 in sc_oberthur_read_file /src/opensc/src/libopensc/pkcs15-oberthur.c:264:9 + #2 0x97244b in sc_pkcs15emu_oberthur_add_pubkey /src/opensc/src/libopensc/pkcs15-oberthur.c:580:7 + #3 0x97185e in sc_oberthur_parse_publicinfo /src/opensc/src/libopensc/pkcs15-oberthur.c:464:9 + #4 0x966533 in sc_pkcs15emu_oberthur_init /src/opensc/src/libopensc/pkcs15-oberthur.c:1040:8 + #5 0x963baf in sc_pkcs15emu_oberthur_init_ex /src/opensc/src/libopensc/pkcs15-oberthur.c:1069:8 + #6 0x57aa5e in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 + #7 0x5187bc in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 + #8 0x4dc944 in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 + #9 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #10 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 + #11 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #12 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #13 0x7f4942e62082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/opensc/src/libopensc/pkcs15-oberthur.c:607:8 in sc_pkcs15emu_oberthur_add_pubkey +Shadow bytes around the buggy address: + 0x0c227fff8070: fd fd fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c227fff8080: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c227fff8090: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c227fff80a0: fa fa fa fa fa fa fa fa 00 00 00 00 00 00 00 00 + 0x0c227fff80b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +=>0x0c227fff80c0: 00 00 00 00 00 00 00 00[fa]fa fa fa fa fa fa fa + 0x0c227fff80d0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c227fff80e0: fd fd fd fd fd fd fd fd fd fd fa fa fa fa fa fa + 0x0c227fff80f0: fa fa fa fa fa fa fa fa fd fd fd fd fd fd fd fd + 0x0c227fff8100: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c227fff8110: fd fd fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2021-538.txt b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2021-538.txt new file mode 100644 index 000000000..14bae679f --- /dev/null +++ b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2021-538.txt @@ -0,0 +1,74 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 1392788569 +INFO: Loaded 1 modules (31673 inline 8-bit counters): 31673 [0xd0a8e8, 0xd124a1), +INFO: Loaded 1 PC tables (31673 PCs): 31673 [0xb96c58,0xc127e8), +/out/fuzz_pkcs15_reader: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x611000000640 at pc 0x0000004a0681 bp 0x7ffd672557b0 sp 0x7ffd67254f78 +READ of size 254 at 0x611000000640 thread T0 + #0 0x4a0680 in __asan_memcpy /src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:22:3 + #1 0x972e19 in sc_pkcs15emu_oberthur_add_pubkey /src/opensc/src/libopensc/pkcs15-oberthur.c:600:3 + #2 0x97185e in sc_oberthur_parse_publicinfo /src/opensc/src/libopensc/pkcs15-oberthur.c:464:9 + #3 0x966533 in sc_pkcs15emu_oberthur_init /src/opensc/src/libopensc/pkcs15-oberthur.c:1040:8 + #4 0x963baf in sc_pkcs15emu_oberthur_init_ex /src/opensc/src/libopensc/pkcs15-oberthur.c:1069:8 + #5 0x57aa5e in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 + #6 0x5187bc in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 + #7 0x4dc944 in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 + #8 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #9 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 + #10 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #11 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #12 0x7fb94c334082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) + #13 0x421f5d in _start (/out/fuzz_pkcs15_reader+0x421f5d) + +0x611000000640 is located 0 bytes to the right of 256-byte region [0x611000000540,0x611000000640) +allocated by thread T0 here: + #0 0x4a13e2 in __interceptor_calloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:138:3 + #1 0x9681b1 in sc_oberthur_read_file /src/opensc/src/libopensc/pkcs15-oberthur.c:264:9 + #2 0x97244b in sc_pkcs15emu_oberthur_add_pubkey /src/opensc/src/libopensc/pkcs15-oberthur.c:580:7 + #3 0x97185e in sc_oberthur_parse_publicinfo /src/opensc/src/libopensc/pkcs15-oberthur.c:464:9 + #4 0x966533 in sc_pkcs15emu_oberthur_init /src/opensc/src/libopensc/pkcs15-oberthur.c:1040:8 + #5 0x963baf in sc_pkcs15emu_oberthur_init_ex /src/opensc/src/libopensc/pkcs15-oberthur.c:1069:8 + #6 0x57aa5e in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 + #7 0x5187bc in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 + #8 0x4dc944 in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 + #9 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #10 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 + #11 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #12 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #13 0x7fb94c334082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:22:3 in __asan_memcpy +Shadow bytes around the buggy address: + 0x0c227fff8070: fd fd fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c227fff8080: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c227fff8090: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c227fff80a0: fa fa fa fa fa fa fa fa 00 00 00 00 00 00 00 00 + 0x0c227fff80b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +=>0x0c227fff80c0: 00 00 00 00 00 00 00 00[fa]fa fa fa fa fa fa fa + 0x0c227fff80d0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c227fff80e0: fd fd fd fd fd fd fd fd fd fd fa fa fa fa fa fa + 0x0c227fff80f0: fa fa fa fa fa fa fa fa fd fd fd fd fd fd fd fd + 0x0c227fff8100: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c227fff8110: fd fd fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2021-915.txt b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2021-915.txt new file mode 100644 index 000000000..081ba750d --- /dev/null +++ b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2021-915.txt @@ -0,0 +1,65 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 1430550372 +INFO: Loaded 1 modules (31673 inline 8-bit counters): 31673 [0xd0a8e8, 0xd124a1), +INFO: Loaded 1 PC tables (31673 PCs): 31673 [0xb96c58,0xc127e8), +/out/fuzz_pkcs15_reader: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7f8618f5e0a3 at pc 0x0000009db52b bp 0x7fffed458120 sp 0x7fffed458118 +READ of size 1 at 0x7f8618f5e0a3 thread T0 + #0 0x9db52a in sc_asn1_read_tag /src/opensc/src/libopensc/asn1.c:74:6 + #1 0x9ddcbb in sc_asn1_find_tag /src/opensc/src/libopensc/asn1.c:489:7 + #2 0x7156a7 in piv_compute_signature /src/opensc/src/libopensc/card-piv.c:2410:11 + #3 0x9f4cd6 in sc_compute_signature /src/opensc/src/libopensc/sec.c:62:6 + #4 0x5682ad in use_key /src/opensc/src/libopensc/pkcs15-sec.c:155:8 + #5 0x57174a in sc_pkcs15_compute_signature /src/opensc/src/libopensc/pkcs15-sec.c:742:6 + #6 0x4ddbbb in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:286:17 + #7 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #8 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 + #9 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #10 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #11 0x7f8619bb7082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) + #12 0x421f5d in _start (/out/fuzz_pkcs15_reader+0x421f5d) + +Address 0x7f8618f5e0a3 is located in stack of thread T0 at offset 163 in frame + #0 0x714fff in piv_compute_signature /src/opensc/src/libopensc/card-piv.c:2370 + + This frame has 3 object(s): + [32, 160) 'rbuf' (line 2375) <== Memory access at offset 163 overflows this variable + [192, 200) 'bodylen' (line 2377) + [224, 232) 'taglen' (line 2379) +HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork + (longjmp and C++ exceptions *are* supported) +SUMMARY: AddressSanitizer: stack-buffer-overflow /src/opensc/src/libopensc/asn1.c:74:6 in sc_asn1_read_tag +Shadow bytes around the buggy address: + 0x0ff1431e3bc0: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 + 0x0ff1431e3bd0: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 + 0x0ff1431e3be0: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 + 0x0ff1431e3bf0: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 + 0x0ff1431e3c00: f1 f1 f1 f1 00 00 00 00 00 00 00 00 00 00 00 00 +=>0x0ff1431e3c10: 00 00 00 00[f2]f2 f2 f2 00 f2 f2 f2 00 f3 f3 f3 + 0x0ff1431e3c20: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 + 0x0ff1431e3c30: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 + 0x0ff1431e3c40: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 + 0x0ff1431e3c50: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 + 0x0ff1431e3c60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/Dockerfile b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/Dockerfile index 7d07f8c71..b32cfd555 100644 --- a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/Dockerfile +++ b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/Dockerfile @@ -20,4 +20,5 @@ RUN git clone --single-branch --branch master https://github.com/OpenSC/OpenSC WORKDIR opensc # Bug transplant patches COPY patches/ /src/patches/ +COPY seeds/ /src/benchmark_seeds/ COPY build.sh $SRC/ diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/build.sh b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/build.sh index 5974e6609..8060d699f 100755 --- a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/build.sh +++ b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/build.sh @@ -78,17 +78,70 @@ for F in $fuzzerFiles; do fi done -# --- Seed corpus: prepend dispatch bytes to original seeds --- -mkdir -p /tmp/seeds_dispatch - -if [ -f "$OUT/fuzz_pkcs15_reader_seed_corpus.zip" ]; then - mkdir -p /tmp/original_seeds - unzip -q -o "$OUT/fuzz_pkcs15_reader_seed_corpus.zip" -d /tmp/original_seeds 2>/dev/null || true +# --- Seed corpus: expand original seeds and per-bug testcase candidates --- +# FuzzBench uses $OUT/{fuzz_target}_seed_corpus.zip as initial corpus. +# Create one seed variant for the default path plus one for each +# dispatch-controlled transplanted path. Per-bug reproducers are used only as +# source material: exact crashing inputs are filtered out before packaging. +seed_zip="$OUT/fuzz_pkcs15_reader_seed_corpus.zip" +seed_target="$OUT/fuzz_pkcs15_reader" +mkdir -p /tmp/seeds_dispatch /tmp/original_seeds /tmp/benchmark_seed_candidates + +if [ -f "$seed_zip" ]; then + unzip -q -o "$seed_zip" -d /tmp/original_seeds 2>/dev/null || true for f in /tmp/original_seeds/*; do - [ -f "$f" ] && printf '\x00' | cat - "$f" > "/tmp/seeds_dispatch/$(basename "$f")" + [ -f "$f" ] || continue + base=$(basename "$f") + for dispatch in 00 01 02 04 08 10 20 40; do + printf '%b' "\\x${dispatch}" | cat - "$f" > "/tmp/seeds_dispatch/${base}.dispatch_${dispatch}" + done + done +fi + +if [ -d /src/benchmark_seeds ]; then + for f in /src/benchmark_seeds/*; do + [ -f "$f" ] || continue + base=$(basename "$f") + size=$(wc -c < "$f") + [ "$size" -gt 0 ] || continue + + cp "$f" "/tmp/benchmark_seed_candidates/${base}.exact" + # Zero the dispatch byte (byte 0): deactivates dispatch-gated patches + # while keeping the full APDU conversation and card driver routing intact. + cp "$f" "/tmp/benchmark_seed_candidates/${base}.dispatch_zero" + printf '\000' | dd of="/tmp/benchmark_seed_candidates/${base}.dispatch_zero" bs=1 seek=0 conv=notrunc 2>/dev/null || true + for keep in 1 2 8 16 64 256 1024; do + if [ "$size" -gt "$keep" ]; then + head -c "$keep" "$f" > "/tmp/benchmark_seed_candidates/${base}.head_${keep}" + fi + done + if [ "$size" -gt 1 ]; then + head -c "$((size - 1))" "$f" > "/tmp/benchmark_seed_candidates/${base}.trim_1" + cp "$f" "/tmp/benchmark_seed_candidates/${base}.zero_last" + printf '\000' | dd of="/tmp/benchmark_seed_candidates/${base}.zero_last" bs=1 seek="$((size - 1))" conv=notrunc 2>/dev/null || true + cp "$f" "/tmp/benchmark_seed_candidates/${base}.ff_last" + printf '\377' | dd of="/tmp/benchmark_seed_candidates/${base}.ff_last" bs=1 seek="$((size - 1))" conv=notrunc 2>/dev/null || true + fi + if [ "$size" -gt 4 ]; then + mid=$((size / 2)) + cp "$f" "/tmp/benchmark_seed_candidates/${base}.zero_mid" + printf '\000' | dd of="/tmp/benchmark_seed_candidates/${base}.zero_mid" bs=1 seek="$mid" conv=notrunc 2>/dev/null || true + cp "$f" "/tmp/benchmark_seed_candidates/${base}.ff_mid" + printf '\377' | dd of="/tmp/benchmark_seed_candidates/${base}.ff_mid" bs=1 seek="$mid" conv=notrunc 2>/dev/null || true + fi + done +fi + +if [ -x "$seed_target" ] && ls /tmp/benchmark_seed_candidates/* 1>/dev/null 2>&1; then + for f in /tmp/benchmark_seed_candidates/*; do + [ -f "$f" ] || continue + if timeout 10s env ASAN_OPTIONS="${ASAN_OPTIONS:-detect_leaks=0:detect_stack_use_after_return=1}" "$seed_target" "$f" >/tmp/seed_replay.log 2>&1; then + cp "$f" "/tmp/seeds_dispatch/poc_$(basename "$f")" + fi done fi if ls /tmp/seeds_dispatch/* 1>/dev/null 2>&1; then - zip -j -q "$OUT/fuzz_pkcs15_reader_seed_corpus.zip" /tmp/seeds_dispatch/* + rm -f "$seed_zip" + zip -j -q "$seed_zip" /tmp/seeds_dispatch/* fi diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-1046-patched b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-1046-patched new file mode 100644 index 0000000000000000000000000000000000000000..81571c723925347d45748f9badcef37d7c251360 GIT binary patch literal 295 zcmYjMF$%&!5S(m+h*ti>!az)nrW6YiZ0v2+4`^vAHd*Z&s>|wW w)j4XSN9&G&84oy~+|78$3$kHW!fiwayY_JSoWwuD{{w40!My`oTc~RC1sd`*mH+?% literal 0 HcmV?d00001 diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-1720-patched b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-1720-patched new file mode 100644 index 0000000000000000000000000000000000000000..b91a7f96abe5b0524c37837b626d4475b17d8931 GIT binary patch literal 158 zcmZROWU&6P@L!?PP(gtqTLB0d6%?HPf)xxK6c~Vji2*21Bw%C!E9C%cfdC;m3nrqV b05Xt?VFDNnF(e@*z^n-h%nS+;Ne~|ZH1QDf literal 0 HcmV?d00001 diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-1836-patched b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-1836-patched new file mode 100644 index 0000000000000000000000000000000000000000..4aff6cad63dad69bae1b774f6751748ca94699d8 GIT binary patch literal 133 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 literal 0 HcmV?d00001 diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-1981-patched b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-1981-patched new file mode 100644 index 0000000000000000000000000000000000000000..88cea8e8a6d74f44e040434e3dc6d23a608d2cc1 GIT binary patch literal 62395 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 literal 0 HcmV?d00001 diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-1990-patched b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-1990-patched new file mode 100644 index 0000000000000000000000000000000000000000..3cb50d15b6b8fe92a8ef244456c2fb553ddab69d GIT binary patch literal 6864 zcmeHM&1(}u6#wlcg|t!Hq#B|gD&iWfmqZlNP-wA!RZ#kIDPFp?sn$bRBqFvD<4SIV zL%>6Cy?H8_gL?3g9=v$*f6xj&=)teHP)*i1yJ@=FrXMtE8tOinu$g(gJMZzEdB6EB zS`eKK0*K6xJe+eu<6z)vhLS%S(aEXl9!VX1>edTJ_X%5g8|HxflZ-Gp8o^S`i{;Py z`_6BA;$!}j>1F*rfav2zddQ1+nK!XpID=D7E{^?}NT%8))3MR&zwUK2RIlcyVIT0} zLOaJ*DB+vU2Maeyx4UNsuiWT$b#TUCdZ03%)Kcj_V|d7P@>9qRp-_n9D+3#&2Iw3O zkWZgbo{7jyQ}kRnQ)JId8>Wi>GCkX#(hTyts^)Z6WYaPn0D7{T=yM^gq@|WcEMXac z@E5t)$WwnC`j33a5B$V0{Ki6w2l@xP`h?RLB>dOC(}2rEFStt&w6u9MRtiih&`59BgZQ1;c>LPMB0jvBn%0iF{WvFKpXWT` zONS>`1d2R1K79Yty|{^!0HWDe2}eyJu8)i3ok=;8oTUkD!K#6aR}L;FcOMsUaA944 zv_tR8elc8c`$g?>ae437kp|?pRYw%DMb=jxDd1vF^(8`6U>1iN?4?^SM`*gYPiW3s z2~A~%YXg4vBvzzr_JACQCP=J3D-J_jVek$^vz})hTvURK+E?PuPIUhzb9Wfppu^BK zW;^LS46UFR*d(WFGPKPk2|p#;A9LIm#SVAXkCb}mpGHfg4l1s;Qk;!VW-+kAAH1Ku0d>Gs3J0V#w8Z9?)?)ww$pZjj zc*Fn#F$M#401Ws8P+%(v1ls6yKnb84tPcQLq*Q7NSgv1000;nV3HDG2z#4D>YXcxz z6##xc+jE%W;rXHERNKk6(}tG-TB4$zWh#Sa^}-lyu8-As-D_ImxEED_0+g?KQ2YI# ztpT4nt$v?4%Ty2+rU`>RVS@CxKO;W0?GJau;R1+Ii2m`bkn@IP4hX$n)q)q7YV$kO z?{QRWN5n3%!<{4T`K_s^WV6HroK~~r5fCT3HDwpt+cwst@ae}Q8!d(pqd8Hl2pS?_ z$5EhTaZDVPImSes6|iw}mL;3heTM@MlK04t_joYW+3dn% z?ixwV8F8HOFJUFEbO7Bi4FFGPAIA{~M3z`9qvcxxwuo#Iqi9{irdhCG+ z6v`4b=jP{DZ!O}z6A-EXQFb}6#qTfPR}pB+jtKCq!+rjaSiSvlc2!LDxjV1AYiM;iC^o(df3bkXVSel2D3&GD zR%r30y^!OtmFZfoRVlO-P{KAVC+%Lj>?g>Eko5fqX{zTD>6gaFl{1RUCo+n36%|vk zstKoa?XEHf+^53PP`{U8KcdB8s`#W(7~mQBY7@_SDw$bc$V-X}tER<-lU{K*6D!Hz-+D2N?r?RiCf!I6RNW>wP*hMc60e8 z)M7`?QzlJhO6$<)B`#ND}t zs_vndU zy2+jl*BUwZa4J=6VH$7jB@6fd;m@P@)rSz4IOaPe2M*u|OB+R_FFTiG$$4kC+wbnv zP-3-CP6@ehv6&d|jGbR!gStiZ&qE*H4;`B8pt8GXd#;D61%Veh{I5P88P literal 0 HcmV?d00001 diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-2157-patched b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-2157-patched new file mode 100644 index 0000000000000000000000000000000000000000..3bb832c1d1fd32a3c4188ab05379c6c956809016 GIT binary patch literal 1219 zcmd5)O=uHQ5dPllZiw4NV~VvPL?b9zEO~1aliEv+AcBa8^dO3qjY%jNB$6H^U`bMw zfqv)Lr3YQbY?dCbf=Z|2SHH|WFg zt2yNL+Ev7ry~-YaIa6WpATi!UXo*l&<4n&<++&!(?ZEKE+1x>OCR6tIjBrS|8!;_s zlRTbC8tSca4oKd{&&ml{Qm;d)HLNuXHRk53%8`rd=?Zd{6M3U+Z=s|rZ+^SWy z#ZyM&QMLXP9VTEiTX0HgyN;ZUQF@B5?Q7OXC0NN)b5JYBSb7(d5cyjEL z*B)`*@rEL<*WdlF=!GNiBgc-0zPwoX?0@#$6R@8U{i!rZnN#bhI6Xp|d}(SrBV%Wl zj+bYj99k*djjwz@z3`29F)-n@?dmU`D^;9~b*mugCPS?;VYI+fmR&_O|0A9MD)O5m z|B*3tW+^H}i@zO6+IsJQlXic3Thi(#X>Sj_`J1#RiNBShhy4DNLBC%F2ZLfL5YPjG zPSWI#>uAdw(I5j3%rkYGS1@gkMf>vy(!#b`IS5amQ<$RDM{>Et&5|o1@{1iir2c#P FegP7w1V#V= literal 0 HcmV?d00001 diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-2178-patched b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-2178-patched new file mode 100644 index 0000000000000000000000000000000000000000..a803182471c9eaab9b0a50afaa51d04cf88c54e6 GIT binary patch literal 2139 zcmdT_Jxjw-6g`P)5kF8{#BQRS0X0djX(^(ExVpF$aY$^0;-HX^}z{Yy^eNUv7ct*+*Vxs@Y>3R$5y)Gj@@8(Gumw3qhg9MDr`AVGNU#p zb4Q1Y>?1fq!W2x#76b_&Fbx>{1)HD8FgJcPST4)pl^PN%I5Tfqkm#UXUCpix2!se^ zfea9`PC(GweczpTdr(u3UwQ}Yw*ll%D*X@Zpx`Sv-#RpGTT^;42PP9v^$59V5p#YZ nAQ&4U8Zj5KK^jNGL$*3I9bH zlK2{!8NjkIVuC_916W5%W?ou8P_DqxkU`=9f0#Ux^nVB-QZ+7R6BL*j6co6C7zR+i cpaAs(Ocp{Q(BZ7u1M&-R-K7*-z3)(~*M5FbCgI;N6ZZN^SajTx!7H5nsl95rpH#*AYeZU3=R(KUhb_1yQdpMWSNns)EZ z+xOnR=iYnndFP$;yT5%f8Zr)Vg(m*a60oQqQAO}a>Rrq!a6*FtYaLjt)`3!fwN4Ki zueI67skhW0i!;n4;2aYLr8)*w`^RXUqzue}bx!FJuL)lJ9b4}B)lHJ_YyIT>`_X%b zL0R1>b;e;sWD|D>Ulzx2qq%6!Bk}@N zdbT(sgw58fy8du$(bD}Yy-F@C3!6IT{OgR(`Et?1rR`nYU%puq`nc)hg42qCa!#ne z(s_9Mp2M*_YE`ot8v41$Laikiv%x@KZC3k;LoObWSXhTp*w zh7g9~!Zni}p^gHVzLyF6Aq=yzhH>uB2UNaB2cbSnsQ>%=au|JbwD{Hg-s=MT`L_Fx zd0%ak7UFMyMNM8|F7yb30Nvo?nXGQe01n%_nd|1p253gd4M)fHFIv#f?r{k?KYiVa zfbXIK#qh2U7XW5eEPSe_j%rqc#ah0ou}Zp@ezB4ku~qyf+5QvsbswmPpA;@3i7w$W z$Ph+?fDtXv9=`*H<}WD9NlE5dHjQdWpc*vz>(N(Sh41}Cpz%n^Q0+(UE2rc>TZrfT zDQFVopiL6NFbp+{6XTc-y}$;b{;nWo0>(4Aj-d@^7Coz(3)wK2Bmkq1f{|<9D7#Qz zQr3BV)``Lsvr{b4v_b#<%+_s9S$oq=PbZoZm&9ef`&``A!v)Mv{iK9rN4jcG9qp<* zb@aB4F&QQp3~#nGiQjo^{_8W(tzMd+Uo&6BCgwD<#VMEPMo)`5cyX_#W9Qkn%}1j; zF7+;Mxp4N<>78Azv(&%n{q$(p^qjTqLT7e)48MG4OUZ9{o!p%lzpY~1M;qdIYgS!6 z4{xfS%GM53 zsT}+`gHX}E4k_#2WnEJYR>Y8NqFBmzK$dd53>d2_Si00k@5r)hAv5opD8g~O|cqCdH(WZX)& zV{t*2A0(d*9wcr$@px2e`3M>a) zE)AMGytlvxjD4~sDX{d3p#dh_>2nc#_g{w+HVCmxyQwBB59D!h<^bXm@zue}jRH^c zy)+FblHv-0`QIswAdpCl0PwTrYdNGoumcs6R#JDE<#!f zUJNy5pgIpePL(&>Y@T=)j8(x{6^vEi;#lR5To}DLzc{9}ff~wv+dP5;bYrp2KQt;s z(l%wtfYC)tip5PU20Sd@(Y;QHmW+*&zD_{sU~l4pxgpn8kDr1;7GpA&Os;nHcwLEj z{S^R369mo;YoSS}w3(_G@}wEJ`xyVZz|1_=J2S7`FLG+0jLerXcISfANTCssC^WMG ztW0G+!v)eGdpBHPT zoF7{}lGR7N|1+T#;fx4gVso;%zEO%Xol9?^phZS0l=w@irrg?|c)hPFJlRum5kIfYt!jQ8Q>+jdMoSP zt4JZ6BU+BPyi*X8|L45L%ig>?eb43dXFAs>eL-%l&rW$o6uz&Yk46-JSa*KY!MWUT zavNt{8Z-N1;jS6_jpcuYc_ zqwQbrnDxf3vfQHbvFqaVik>{a?k`h1_We5R%!cl!7m!qWaWtyLAF-_doCSpzfN?az zI|rZ#Rw6xc0O^4$nI6FWo-R=YA7E0KvOR#g-da}nSzJP#SSEaSKCJ6tyIMyW-tL4= z1^`QAglrINd7-%|-^)6Wl{VwXs?FY}9w!k%s1dRk^21Cl)!FfnJZkgC<;XVxLxfO~ z@(}AW!ZnoD){oZ-@z?>JCkZ6l2&zT*mvVXV+qU4AEl4i~>81Y(ddVB*^o#U-F(J}Y z9;h?`_#FtE(KcnefYFr(1<$Tj2r*BmiCW~=d^VDvHoO`V_Hr-oZZmjcc?kbplS zIL~@GMUjf+Q#n3~=hI9`-zKFXfy<|w_>{C%6K6{0lhe|YcrH2Bm|9TXSYK9U1xrnZ z6*C*=0ZNi83m2(zniM<+qYEc%pagATUA<~ujchr07il*z1Y3F5>}%t}&p zhGB#CP}0cX0A59~_ie?PL8K^s?iECe!9OB{e?)pXzTh8`nBO0YKO%!j(F0li5oW(& zM#iEZ)Fh*yAW{s(^Z~g28$gN@`7S@cAQeyfbu>nhikJLC+~T;Y_!>uM2hP{Nk5IgC9cv6iM!|7V`!jphYg;-}hiu2>V|UaVX0G literal 0 HcmV?d00001 diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-55-patched b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-55-patched new file mode 100644 index 0000000000000000000000000000000000000000..b1ae5c62b70ca4406b3fc3a3c1e3f276dca0b196 GIT binary patch literal 68676 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 Xe%aGwU(YE6cL65rE)`08!0!J6k^!`1 literal 0 HcmV?d00001 diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-693-patched b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-693-patched new file mode 100644 index 0000000000000000000000000000000000000000..46c6999f68340c2925ff3daedcad2ac6d8976135 GIT binary patch literal 75 mcmd;JfCCPOG9x_$1%(L=3JUoO3VaGEppBygg^$jepa1|*b_xmr literal 0 HcmV?d00001 diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-885-patched b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-885-patched new file mode 100644 index 0000000000000000000000000000000000000000..14babb6da42bf6d7ac236bd6f607ba243b7019a3 GIT binary patch literal 1505 zcmbW1c|6k%9LIk%mg{-KW+EMul`FQDqb0**5?NXHBP7YEwijXU=(+yG2c|%=YBzzvs{A^T+q~`F{R;|MLd40gMa=$QVeeqvu(2P%wq| zE5X5HpE($8B?qJfazH2m0XBj_p!J>(r~!0y;CmDhG8q=YeqY1@2mqW2-_LrK4FQmX z1^_#sA23Sw4|v^nxWl=_#o`peNKtjgW-=LekF3x(W@s}XJxsN`o@vt|P_gQ6!&iT` zhrQ*thrH!3(?MvcJ`{SF1v1-wpLok@FxD4`3nN0nW)5e;9u^Zv;d{2$2_KzmDDKX_ z&edoblXzbp?H=naZqGcdkS7`9wjXeyfj!ghsauhOPFMX)@4YE=G++iXTT=|mAW=e2 zA{8=`$ihKb6D;^KAqSU;Emz789u3<~-Y$>4G-!;h-|O70GUo0O2|kvrvTQGA6XszY z##SX$H&YZ0twvgB{vgaR>9tQza1=8 zsZ7>Uv{be~ApA`+G~#`mxFWeCdD+kxMV@tQe9YGpceh5q37Tlp(p+bTh_?q(;7Z^M zNX93M1_q9=toD;E1amlV1RYEG-aV*Mc|$cS3FVJXB~Ku5xJ2Cs!Q44aJfE{^Vew3> z`ors?x~F1B~3 zF8PrDKIvm5Hg#|R?-hGCzUb;26Dj^14`>MHhWOX#+YEmu!WC@AO`q;%)txRLA zFp@}mV27vb=?3k!8H@~2@+Lb^!+yp5yNKqf?49OWnjY}%QxlWwIb~H-Ib|lQsu^g_ zWS2tMvn(O+o@hKeCA2`cS}WWNB&CGufDPSFWFK@ZDV)6j3Cl210AYTW%AMP1D!3hK4tln+(p1a(e%y zuQN|J(Jmf`pZMC?e{@ywkrvo`V5MIpRydeITzFrt>k}J+{N0uJ02{;lwh;H`+w6-P z$&#seBtiNh;!77ijOvKhm*a|CItQ%22%z|xkyj@>{BKr^$UY`rFX!!;{fx?Tk2V)FJv=sLTVbiD zUo^IA=BqrUCoY&bw57!6`4#E1qT|bOO(g*=p7$jtIXfLV4}82K-k+x8Yr4TmRf?{? z$eE5c7(0GzCevWy6W)rV01NyQ%1<9?iXtp=ZMMV>?ZOXNybzB+?q0r1E;_Q=ZQFp3 z8oPaZM#OuL&PDNNT|)+%wQUo=8NYrtVm#kPXCJZaNBFCo6PSRuoQkC$#Ry0nq>9&_ Wny>N0vp@X$y+i)<|LfiVz5N5jUBQX~ literal 0 HcmV?d00001 diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-969-patched b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-969-patched new file mode 100644 index 0000000000000000000000000000000000000000..bebce9d4d2053dc8bf8cd68bf8ce88befdc7b372 GIT binary patch literal 369 zcmWe&00IsmW@dsiKmtIK)Gw@t6Bs4{Srb4M1LGDDYr+I35FZMFs`402K*Au+m;fwq z0FeioG%1e(#G42-!yRavD%doz4U$035Ho;!ctNUWfNc5?w$l)1f<1#M!*4f+|4jGQ z%g(9?HNo^?+KeFrvkGVn(5|dj6NWs4V!Z=gK!qGYsKCH*P(fG=KbXL<6be8A1_sFC XB*5?+CJd+bKrGVY2 zE6B&~n@XPDxUV_f4cGA~%$Ksf_8n92@8`#xDm}?m zy(sttdMt`~@DR{mdhygBAia81{9H3WGn-8}QZ;@c2oCJd&bu@3`@GLQ^MN!5=DGmn zs^c>o4txa(bz5RZu|@`0WVe61;+2Ic)h3?J=-0EiMA55u4gf`MirCP;29y(y8|tl( zD<7z&=@)nlEMoBHj^k(8I6pOUF>B)WS4U=YQM~)nnC^;n=hwxegcvMA2lWWHpPvqK zWkOtK_MP;6;*z%48@&@q8~=0F@nRQq5m7ESk8-*q^Xz}@hQshgyhp8Nac^q++Tjau zi+$Bj<{bC!do_Uwv*pNOZgAAV+(XRk^9Bb77hA`?ov1f4Pa4ckyzlcI1#%JhdzNg+ zxUl&(aQqr~AkDhOymbcxZKz>eXG($}*0yGCY!x6%v{4^pzL_rv-Z=_IjQ~j~$uH}| zlkDq?Koo??WBYC5d9wE(3j##)aSsiLQrQ zO&z5P)4j4JQlGZ@Vfe`mZ4cWpH)?!GNOLiy!x2)rS<0XgpXb@rVs>vaS){R}n=EN))Xrk+cyJege^!9K=%x zQ;*X9aecC>%McW4gGvqaC8feHq)E|BJ_=V4J#SAWW?zlE?~@5zR@;m?1gag{Xi)3R zx|TpqFG1QVt_xDXNHWT)Ag}d@$B;^|<8wPFz)rgjR99mE9ojnhG$a$iWiyF|X2~4^ zdKQBGbw_v<)FPJSw@w*Eq_h%Li;tR$L1!uNY zyJgq6r&bnB3k?0=QvRJSW$VLjMa56o*qNUBD~Gxt+g{UZb3>0^TUt0io0H&GhgXE~ H&5Obpo!efk literal 0 HcmV?d00001 diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2021-474-patched b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2021-474-patched new file mode 100644 index 0000000000000000000000000000000000000000..caf0d18583e095fcdc6998837b291080538face1 GIT binary patch literal 1025 zcmZP&V6d*1U|?V{JdjfUn3OT-LKK}n7NuNDPKUALp&|DDs2GrNaz!MH+rWU2;fbBCl;0&~n z5pEw$4-@azT991~Ks|r{Gcd$^fGqj{Uyy-G0OBq!xcN*40$_K66@2;64>$k7W9IS{ zgkR9i{{G*)g8{4uMtZpM|7Z9Dix)!S u28?#+F$O!I=du;Q;_!K4#$n literal 0 HcmV?d00001 diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2021-537-patched b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2021-537-patched new file mode 100644 index 0000000000000000000000000000000000000000..7f33d71b198982b9067d73abb94bd4af14ca2c30 GIT binary patch literal 729 zcmb7Cze@s99RIv`A{d6Y1-05>LwDEFRR#?q*ya||5Qa4gMvFm2=UEZBJQ{*pf zDw+iCPiPDwx3)kq!g{@To_2{99UKS8_xt(zMHsQYQ2<&coogtt87SB(MVW~&qR8ea z3N)$Ogjn=^;RL~D9t*6-r>^Skex8emG&uL{Ey{goFM?S843_#4hjyDjMsP*YZ0>Aj z96q(OB=|^=&)q4|;fH<61;N$kz=qZ;Vn@E@yJs)9HftC&reUb&w4u#us&1OP)chl^tJzT_a4EoSsd>D->&5M48K`C6 z6d~B7VSqn%h!V|WC_d>M){%0je^*vhesWo{+exxQ7gdqe!Lt9SpOLF7<$d1`Q Wpam<%p2cKmIvY6r9})VlySOg(VyBHD2)3yN zt3dQ8*eQbPtb+lKu5b4?F~<0{aNP2EGjC@0!9`+y06?si$yXeB5*+f7qbTW*2y$D) z+k86eF(&xY_&!2YDiNHW96i04*JFwft0>iio6vZRbBR}=)#a?27cC`e z9&65PV0honhMon&)DMan}@a6GngR zv*%WB@~qT3^&Ib5&2gjoTVAW#s3BesNKb1XD#|uq@)x|yQ*3C}(7|7{hqIWFC_Ka$ z#jbN1J4lK%r%+I?vhUR9?fd6VZg#I29Il*@rT z@tU5~yVQmBNQy~>;TO8I&nN7{6mo-J0H{HvD$`bJBv5ET-Bh|)m&`EC*mBGz)f({f2#B55%? z22vm|igH|<=iGV@^~>{UTpssEX=8h;Jvb~*Qz=w<1%YS>Uh?x{Lyv$W)p1H!({>WR t2@|`868+B~ok7V0|NVLfJZs5U;p}~a;QD$+6Rh(~c>HPES^l;So&kNe=Y{|P literal 0 HcmV?d00001 diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-1046-patched b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-1046-patched new file mode 100644 index 0000000000000000000000000000000000000000..81571c723925347d45748f9badcef37d7c251360 GIT binary patch literal 295 zcmYjMF$%&!5S(m+h*ti>!az)nrW6YiZ0v2+4`^vAHd*Z&s>|wW w)j4XSN9&G&84oy~+|78$3$kHW!fiwayY_JSoWwuD{{w40!My`oTc~RC1sd`*mH+?% literal 0 HcmV?d00001 diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-1720-patched b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-1720-patched new file mode 100644 index 0000000000000000000000000000000000000000..b91a7f96abe5b0524c37837b626d4475b17d8931 GIT binary patch literal 158 zcmZROWU&6P@L!?PP(gtqTLB0d6%?HPf)xxK6c~Vji2*21Bw%C!E9C%cfdC;m3nrqV b05Xt?VFDNnF(e@*z^n-h%nS+;Ne~|ZH1QDf literal 0 HcmV?d00001 diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-1836-patched b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-1836-patched new file mode 100644 index 0000000000000000000000000000000000000000..4aff6cad63dad69bae1b774f6751748ca94699d8 GIT binary patch literal 133 zcmZROWU&6P@L!?PP(gtqTLB0d6%?HPf)xxK6c|VZj0|8c91I|1K!AaPiD7~Q2n#VJ XaVan8vKfwyEyV1Vm6F%b$zG4weB_3$+XlN5o?-8?~Hje`a6V-Ky z0_t?0%3c-Dv4>O+$TXcWAuNG0|DcCvC2b)kBST>r6L|^M%rsE*b-*uYZBeqcHr$9@ z3-(5ukE6&7Ge*aW7j_($P-QwoJ%_^-1eTr|Jw3fw`fgp1$Vu6Zyc7PcL!!Oa#^k?~ zBTkGw&pZuY#6j%aXkf4)8c%v_>f@f;_!Mov2C*V+P8iA22D~}yWjKj|@2qu;_N#QY zG2MCMOsk=e$xI+1vv?wzYE#XZ>7*TC%RGz=3op-07H{)@S8gajJ^66h8=E}$@%Gl6 zv(a?gHcv9Q&E>K&pJ=7SoRH9CCOAPA;>PIiz-q=!JQJZpy7a3^hCam`puX*-crmc9V0WN9O`^|6ux5R6!beA|$ct6X zq}NN3hGe^rrW)iP?ZGNI5a&ev#&;h02*V915O0>x)GzSZ+m$BGP50T15+WY@b3_!E oNJ6D&p&_#b#J%1lwcAkz|Hy;5dph3#dZ(js-!bo1xk33N_Z}|I@J0e(c*;LbVT2gROZ%Hl+@!Hy-BHgJjMj}nwZ4crZbi%@E|rZ zI*E&mpcidHb2<F>w#7UG{Sf3A=( zl)roSHNfYEa}NKwCiLLhUYnLG-~fp5WgbL#C5 zmrUjmU=^!Wac&;m$#sO**mf)!QmPuS{n(~fI=AOBZ+puWe|t;ci^1cEjvP94T&Vjf zcAZf@qwW>$C!e@~|I7zoDSNB~1YMfd_P!IyBEbA1Ka6Na=qX289LO_Q+IZB76e zQs&x9eu>t(6~XgoyTdo^<)N&Lhs}}yLhRPLY9@?sY=OK2FlJ_W2_SiX z0ucC5%PVVJk6nAbcK3#N&z^kY`KcezTmH?()nC8*mlKt_&)#s)_g=hsOVN$HRBGuw z^~Q$lB`32xE_31l2$`N$^Rw@2u;8* zuK?`o5>;pg+ExIkkmhOqC?~;1|&P$uNt>3Y?W2f{hWtKgEK@mwRcwRZd z$*VTP7Rn@7F1SU}D~d>gI+`?)kuE)#l|~H54vXF70w1eyQB58oDCxpt71*l z7t5qDUHZbf@)H%t7gZSbo3z4YrjERkVhOCK$4ar%Y`R)(KGt-xwKcAr&Yzj4ORbLN z{zrt4^froP)EFmp14R`j7ovuHbzJ=~8}5@LHz$nIvDTgGvDQ$%7WI}?H`NAy96*s5 zVZsU5SAcWvU`Q%Mu1FS-Wx;(N#&R@4c`-EOqzd1J?06hPL2V+=>@1*I&O*+ld?xM7 zb3Z1{!*dp#aOduz7g_`M9H>J!Yw>(&p5E*k3{7TI_fc5L4$jWqP!0cE7#c*4Lq_IZ z?K`cQ0C$$=UHt?n*GT#Y#~-19FgCWQrW51vfr3ZfGG@9t`VHo(#qgcV`#~$0qS-gy|gKK-gy{ zC5$iP&j%-V>MkZA7`c2HJTIHl6vcrFC#j#3 zM|@OLj8dr@WRQZaEI%7{1}xpF5H=(AhYXe=Q{$5Ev6N0rW6VlvzbktcVpWf67d=v? zvR#X@L<#;G&!zphxnrvl%c!=WRdFSKc`GAj(5JGtWXd>g(#3RyX(>8tUsk%S3;Dqg!Yc zJykw`UA0?aCcoCms}jG)BNiL&h1Qy9)p`;!dN2SE8~8Uj+;Vd(JAs_Zt^1jvS;RV^ z&4Jbu*~~q0F1v`P6fB(FHDNP$(F0Rqzi@C3Y{<#wIUy*)VP?q4gW5+P4i@JGnb8MU zN_=44d)9l+Xl&tT-g^A8^T&_cfBD4b z51x4Jx)b*|9BiIhe_3>~X4Z!)C#Y2$m|mne%%LWvW<%IST^zYdZ@EjV{$pq|V%3ZD zC1EpRREhfFY{Y18T_U?;RgaUqWiJ;@dbw3oq1hzxqv+W}o5-rP;W^PnW;Pb3ItyuU zi_gEnaPUBB%#LQ|V*Hw-DT_JY5R+n=5P=?PuSlh$<5!bX{U*kg%$T0C#cz{Y8z(tr z0LiQkqiEJ9^M824O*+P*Qqc};D zEfhxGnv)L;AJ&{a$rkC1MI$v}4okKOv-2tt{n;M~i2L)Ei$2t=c!eraIF6D)khe<; zl<;~8NZ0-jS{4ND5dbqn%^A23Z)$Uo{CWi4gpl|&!GjL;KTegJ_m82(< zo(L2y%Ps^8HU~~89$Q95VWi@@2^4INc~9JQ7SnxbW-J{b5Wi zfr8n3vDir}&eWvQycIw^@r-Gt1=ME~D0l=`>m_an!#ra#fmrh^1PV4;BAK|-jl`dw zm74?#)~}C^JKhl}I970xr&z0jAX^{>xmW}WjzJPLHGPKl##zA3#J(aC7+AfIe4C6s zRDRR6y%H!mwgL3`vaFjbOp23=%_?zuHTakQUNYQ=U8h96p=h2^2oxMaUt0sc2^6e& z>WPBj5-3=P{zpMMBKYmA5EL99;K^{WpMK0HC4xO?RicP145DHxS%vRayz;-&+@zA0 zq5~%mqw+CDVo*(*EF1G;4NvK%^Ou#Lkq*lx`wi(i_48*=9U<%pVMj(EJHk4P)?M(F zC=>?|a(Os*TprSz2XpNVt$CpJ)U=*DyinJAjXbTV)_I<_UMFF(!kgApTdsyS6X4B8 zYFhJPS%n$4UD29{6dXDyMk`oI%Otmw+&cPlYs4{mVmeMs86}IwdXRQ%$|yqJ5b9(3^h>ClM0UHh$tYPFV!Qyo(u8d3>zCYR zkh=`ky581?u-=8iyn|)l zTCKb-?IS}wkh2_emXo}y#>zX;Xlx%l;(OI4UPMODa>!XuHa676g%T`eY4>PymJ_SZ zmg}EjJ9=|{2A~rJ+c8+K62W!U>jc}$0PUp$&@sPvJRrpgwiDTrkeuc80N79-)U7H? zW>-{lmP5{Rlznn(2Tk0t>?z&cw8(7YAZIzc8Ztd4*bc#VU|x2GUKFk^oB~;oHg1dj4h&sfdV!wQ{&w!@nldWYCF z*0;tIn?~MCMh*~>U5yaIAP5ElZR&m{{h=iI2Ay!0$|=Dh3=EnIb4c{dCO_@pXvtnE zU%_nE_A|Ue*Oatpkco#HQ>zTtwpAtS>eKv`Jlc|wPC_~f>G6d00#rEbu_xrwmQ8NP zAy;*gWK1<3uFVJH1gYc4qpiI8aMa4C5Y{FOGLBa}3jujbAWsS8DFMh+f~upFK$6vT zI7o2ZY&`HdMA+mZgB?hh=l1%As_JS{a98<-nkHDju(y|&r2DXPt~tr7sBkixPNUsO zXz?q;p+wB|>n4-yRcmsM;+$s2`T)-S`reUT;z-Wkk-bI(N?pha8(X(_2ILsIOUg16 z5Y?^Bl~L5$-tYH+{^7QBp@H0*Gqo*metQw>H(R=xfEcza#zxT87`aOP4A#X>5D@%s zK@@~)ujq4&z8a5L@OuScwcmSn@H0d+jkj?| zriZrmtCK*8}W5#`lTkhizF--#%?_48@6N+435WT5(J z$plR%(+NWZxyrW`H6A zpw(@T>HZ{ra2C;OgD`}56-REm1Yg2s&h-_14SmoL19s(xIKDW-Mw!6sHE?NF`_7#m hiz;b1kmN-#+6^Sp6id5-5KvSe>#kz23sIx`{{a~rQBnW^ literal 0 HcmV?d00001 diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-1981-patched b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-1981-patched new file mode 100644 index 0000000000000000000000000000000000000000..88cea8e8a6d74f44e040434e3dc6d23a608d2cc1 GIT binary patch literal 62395 zcmeHQ4|G)3ng8a^Ofn=B2oVWbB?A=-gpfBg`Jb*JNC7LPoIp#=B22=B3i$^?7g9^& z>>jET&Usb~BCJqq>vokED%QeLSkIpIps?tQExWRoQ_fOdDge=nfR8rB_9AO$38TDfw29@GqN zx5BkM;C4__rw1&cvP7wGONzp?$?cCR{>Iuh>zmgqJ6T!a;J@sr4eVkY?W~R5VH;Pit8K?e%aC1Q zJl#;EBEt_g(-msw1g)7CxV1eK;2-gKIFw_lHf6=P?$(M2$cLH>OVxM_@4!g(0WvX!S5g-ImvssYDb?WP zzBC7X?h23=Oa&)E9+ti36zjFOv%jB(ndZ#l<%IVtD>3v6qaPCRAl!>|C2^g7-~hdoC=a(Oy`;F}*{*d!x z`{d;IryqHuFe~*NP4$P{p734! z?CGW1KYMo3wnfK(zJJVnD;B?4IOW{w6V*#MGz`fNi^l2i4A?5*7k ztG6EbXkS$pe7^aG2QBM%tg2bIY?-BIg0GdmbP2dWE)5DnRqNRRz;IWlG}YyDfifB2 z>k?^xcslm7F`qVAwERLjp73%&!Td%YJP(%7{mpvaLf(irMCCnWxIYb1#s0!k&YhZz176i)YOY*)nOzwU`=eRH@7CWq-L_wO z1iuE2-mve2ec|KqFNKH0`X2jJcQM;wl&J`1`jAktSBMm#=92bC9@XC}dkSm`f9os> zdqd2Rb6;E;O12UGg zE}RJ6kb!YBdK?p2~{V$M)o1IQc}~y4;*Mj(oOwOv!a>uVee&oKt*>uyWxz3JF+ebZ+ z2IWKA{kt98wis@7q}w7y@Q20Tgq)mVIlXsA9ZCD!;yKG;xtI(l>`TYtu^fA=Sk1jE zseEu~UkUs8TGiy@mYC$_?|k&hnr6hv>HJ3Y4}PNU7RNPq1FIXC*0maa2V{jao+Zj5X|#fA(pIN|AH~Os*$z-& zgN*BG?(W4}UYOVlr}3d?@m9{+02WDtOiM#cZ8IEK-QA(av&zuzgnT3Jx{}2yH@3#o z&gn6Gc5IcRW@WW%$?^9tq$=FuU8TFN>6FyCz=txJON#}Y18xg%IHP%t10(g8qdBI* zh1s*$Bkd3VP7*J|!@^LVa>;C{CPc)8#2f33Cdyc&<_3_+W5t{vM{xv`4~QX-rf{9xasq?(Gbx<2UyD-<+)r$#(}ZRD&en$mC z7Z!Ux1)hwQAyX!AoU`$AhQ*R@2YIGDQy!XPU1Uphrp{XDYiO?byKk0nVlnAXryk>4 zXm45T9+fguwpkZhox_6B{+6|_nRm)#vNOD%;-cbvvoky%*;`srB$s-;CHKl+_b@p_ zD?Mf9N`Jk-v0RUFraSc*BZ<|BkgKr%RBYt&zmhC2e3}#ozpz?Tt;c47ZQuXid*6PW zbM^j*U#AzCy%>iki z9FXS90gKz{8*JDRp(pl+dSVuH+xf5YGu{Y9`E023;bK3CK67||eAIXzOymcJC8UX- z*(`G=Ov_|>^6_t{+B#WQ;Y}8QaHelfg)L8=7h}lwHu?cxC#$IkcSRSKgGnMdAjVG* z-U|N~V+|A)SWnDoCum_%q^-Kp@~~x9txE(orzZ05_AWA7}IBX_)CUCPe-a z{0oJ!OzGmThYtxcLOL;zgpQ|L;ctKzU4UjUNHO?|;6qJL4!b2aHa4OUQcezkvsx0o z%K0WJcKZaoU9zM6V&7@+0K!JMFtTxAAH$LT*JdLd2lnf?{X<^( zz_zrofi25rC30C&VcDIYGP$5kcC-K9;&bck=WW0BN7)Z8zwbvA=cT=TsWjtY-LrP( z7Yo1T8h>c^%$wGpd9wUc?)f){&V9Z4{Y?kHBR_lB1JgeI_AMXG{rNQKV|9OMn)=Gd z|Ni`)_iy^$kB|J%&CiXo9h#cl{B0O-2b(pOeIhFZBjLfQBrIzhRF=!5-#sgaOW*Sq7DLO9PfL%t{Qcj4 zfALtyjLg3qTQVc_pF0aOE9Z@WXU3!nC7=A}%$V#Kem$npfpkZf-QFi%%k8QH)ARyM z-!m=1g9TVk3y|G+;53D|NT(Y<)nd_TM`3Yk0TQ+nybh-wv8d>k2r7!?(mhHZnKEmU zwV>4NDRMV7>oOi_RMcH67vpmv0Y&Pm5mQg8c9{X?7jPyOMoe*VF(`KAB z9?NAU23RTrP)KfjJ=&6)!?GE%Fth!!1pD|mhRtdZjKlAoxlTX4EHhfBC_W$lMf_tK zun-AmYmeiA2fb6>;KCf1rm6r~VO#s|1k2)O`^=nPspd_NXaZ&vr~wNu_t*Izs9$Tu z@;Tdh<4X7MG<6-3&-c)qwQs_cnWJ{6@#l2lvu0E)nW0&+1{E$CzSkO(Pnl$a^fHJt z0L{f|F5d4`befAte9|VDG#972IO9+>7pJ*68w6Zjk!UVXbMf9zy`$38T-=1;_Ul|+ z=@eaP@$d^@vkqJAFkkhKAKSxfXkwCGe$NZ*{nE%_71d!&y%UU=@iXB$%Yuo+(w;EV zhQ*qv9fa8444xpvh{SG*feZoz8OreoTy`?tcq0(y6PT;_mFN+eONuk3I1{!8Yb<4o z;2eQ*j!YBiHUTiIKvp2Ft6aNvN9q#q&UN&i-Z+tvUEv+6leHKOhQCn1BXnt zc7n<<3`B}5OkeIH#hDP&%KAy{&*ZOZt~CgAEu2x2;tVOy^g(e(E|W7PrV+&*suesg z{RBLy=EAINjA((g^I#fGU!kV%!Yu18Ot&5h=|9DC>?SIEqG?5xSp$m?F18D186eG% zRa!7UiDI$3+Y6y9XzlTzIMX()G@9S<`AsAH9J zT~eBQ^Aba^)o0O_Vp*43*$=wx1)>ZncGSc%tzDMZ+|GX($j26~Hw1SV%|)Gv@I;kNjp#xOJMmku_6^$A#CB}HHj-yhZC5p5hQguM)(o}3kX(8w5QDR zktAcks%=F2*#Xbrkn)jkIq88z+eD^e?#&DeM*oOqAqc^^XeA_ zn0Nv40@@1>VfEnpTCX5>PISofkt`o|)FBFSC#Z*ZAri4D+J%UAA&QpbW5$qpFNpO< zuwTV{pbhAdcNx|ihR+amk(bd1biG+sAe5g_{+J{^(Hlhi4SFy5{Yv^1c@y*&gx)uT z{rVP2o0;qXk~TAnA*9XR6B83NJe!C7`QOaRziKX}js9sQtf&d9Wx5mwb5 z9sMvEM?dJB*?+NTE0D@+%_TZbfqnOkavS0!^D$~Vi#Kth%~V(}I!ytW5b#WeNt$Q& zOQ$JlY=(@&HIS-zDyi{QTnWq~Fe?$Hq{lP_qlnB;5BDpKGO%;!I=PSg5GJUaD$LuG z3=Yn8uZM{!8LtkK@oI3Iok(DymF4JEMHEtXH-J`6!l8;CU&&JyS2nM@pH5Xw-mo<> zK18Og>{Av*7BXEW(^W;YsvLMC&tM~+OA#zXw+S#`E3zVK=lnGi}b?hs~LT$VE?ti3ri0jh8bl zmUKJBIvAXt;+^hv&RXYdXs-9W7TVdt;3*?zn{|=ZIV>2B=Y_kpgTcL?;-X^xL~uME z98V#~1Hxsmu_;NKaol{l9^*_mVvHnKBZBrVfqWD*cB-wDWfk6JN0J|$>047_%TwpY z8M=wyCWQbK;lE!M0)RH|?qQW)#G}5F2QJ1@uSjn2knY1E={}H|!8l|}DcU**Ti;;o zK4fN~V*}iCz+jje>}z~_Pi4jGV|(&0oP45gU2e`BM?PCTrsTlMv-e!=i%aC7Ji=lL zi#3s=!lE?Ag|MhzT@V&aSS(?&{J1D73u-QP+S(xXa3F6OXT7wylc-!ldpptIPKn|l zn2sP26HeSW2qX>YfH;K?hzp&A7YF62qb(H@#K`Jop)1M8X2s$c3#XhreWH5lhK3>e zr?x2T+h?6Qm%H)RTXL#?kiE5gVfEGnAMLBkg3mX<@StVgj#V|wmMyc?+;BR6gfkJ& z^p&@{nd|J>bR*c@&~6*F+s0^){W7L53fCApo!^N5q1`svG1s_+P%r+{ZW|)7!BM^(shb9l6*-VKh6Q*UdXi}~LPh z>Evjx7vzA1v2jd|^%j#0VjZ<)+-E*vY=p59#uhFanOqUZ76_y}z@GtbW)tza110Kd zaHC^vbTXgFCStJ*E&edl$?jU;n&nL`YE#!0_3D*??Q$Cf(D08GcXgHvQlBFgy0c8B0ddm<=hB%0XEI>agnQxx&M zsVCiU9Qg*^%x9Cx!N2a)T&=*9kuqe;<7_j4zG`o8m|+a_#SDHei=1L{}1!;+cE$E literal 0 HcmV?d00001 diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-1990-patched b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-1990-patched new file mode 100644 index 0000000000000000000000000000000000000000..3cb50d15b6b8fe92a8ef244456c2fb553ddab69d GIT binary patch literal 6864 zcmeHM&1(}u6#wlcg|t!Hq#B|gD&iWfmqZlNP-wA!RZ#kIDPFp?sn$bRBqFvD<4SIV zL%>6Cy?H8_gL?3g9=v$*f6xj&=)teHP)*i1yJ@=FrXMtE8tOinu$g(gJMZzEdB6EB zS`eKK0*K6xJe+eu<6z)vhLS%S(aEXl9!VX1>edTJ_X%5g8|HxflZ-Gp8o^S`i{;Py z`_6BA;$!}j>1F*rfav2zddQ1+nK!XpID=D7E{^?}NT%8))3MR&zwUK2RIlcyVIT0} zLOaJ*DB+vU2Maeyx4UNsuiWT$b#TUCdZ03%)Kcj_V|d7P@>9qRp-_n9D+3#&2Iw3O zkWZgbo{7jyQ}kRnQ)JId8>Wi>GCkX#(hTyts^)Z6WYaPn0D7{T=yM^gq@|WcEMXac z@E5t)$WwnC`j33a5B$V0{Ki6w2l@xP`h?RLB>dOC(}2rEFStt&w6u9MRtiih&`59BgZQ1;c>LPMB0jvBn%0iF{WvFKpXWT` zONS>`1d2R1K79Yty|{^!0HWDe2}eyJu8)i3ok=;8oTUkD!K#6aR}L;FcOMsUaA944 zv_tR8elc8c`$g?>ae437kp|?pRYw%DMb=jxDd1vF^(8`6U>1iN?4?^SM`*gYPiW3s z2~A~%YXg4vBvzzr_JACQCP=J3D-J_jVek$^vz})hTvURK+E?PuPIUhzb9Wfppu^BK zW;^LS46UFR*d(WFGPKPk2|p#;A9LIm#SVAXkCb}mpGHfg4l1s;Qk;!VW-+kAAH1Ku0d>Gs3J0V#w8Z9?)?)ww$pZjj zc*Fn#F$M#401Ws8P+%(v1ls6yKnb84tPcQLq*Q7NSgv1000;nV3HDG2z#4D>YXcxz z6##xc+jE%W;rXHERNKk6(}tG-TB4$zWh#Sa^}-lyu8-As-D_ImxEED_0+g?KQ2YI# ztpT4nt$v?4%Ty2+rU`>RVS@CxKO;W0?GJau;R1+Ii2m`bkn@IP4hX$n)q)q7YV$kO z?{QRWN5n3%!<{4T`K_s^WV6HroK~~r5fCT3HDwpt+cwst@ae}Q8!d(pqd8Hl2pS?_ z$5EhTaZDVPImSes6|iw}mL;3heTM@MlK04t_joYW+3dn% z?ixwV8F8HOFJUFEbO7Bi4FFGPAIA{~M3z`9qvcxxwuo#Iqi9{irdhCG+ z6v`4b=jP{DZ!O}z6A-EXQFb}6#qTfPR}pB+jtKCq!+rjaSiSvlc2!LDxjV1AYiM;iC^o(df3bkXVSel2D3&GD zR%r30y^!OtmFZfoRVlO-P{KAVC+%Lj>?g>Eko5fqX{zTD>6gaFl{1RUCo+n36%|vk zstKoa?XEHf+^53PP`{U8KcdB8s`#W(7~mQBY7@_SDw$bc$V-X}tER<-lU{K*6D!Hz-+D2N?r?RiCf!I6RNW>wP*hMc60e8 z)M7`?QzlJhO6$<)B`#ND}t zs_vndU zy2+jl*BUwZa4J=6VH$7jB@6fd;m@P@)rSz4IOaPe2M*u|OB+R_FFTiG$$4kC+wbnv zP-3-CP6@ehv6&d|jGbR!gStiZ&qE*H4;`B8pt8GXd#;D61%Veh{I5P88P literal 0 HcmV?d00001 diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-2157-patched b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-2157-patched new file mode 100644 index 0000000000000000000000000000000000000000..3bb832c1d1fd32a3c4188ab05379c6c956809016 GIT binary patch literal 1219 zcmd5)O=uHQ5dPllZiw4NV~VvPL?b9zEO~1aliEv+AcBa8^dO3qjY%jNB$6H^U`bMw zfqv)Lr3YQbY?dCbf=Z|2SHH|WFg zt2yNL+Ev7ry~-YaIa6WpATi!UXo*l&<4n&<++&!(?ZEKE+1x>OCR6tIjBrS|8!;_s zlRTbC8tSca4oKd{&&ml{Qm;d)HLNuXHRk53%8`rd=?Zd{6M3U+Z=s|rZ+^SWy z#ZyM&QMLXP9VTEiTX0HgyN;ZUQF@B5?Q7OXC0NN)b5JYBSb7(d5cyjEL z*B)`*@rEL<*WdlF=!GNiBgc-0zPwoX?0@#$6R@8U{i!rZnN#bhI6Xp|d}(SrBV%Wl zj+bYj99k*djjwz@z3`29F)-n@?dmU`D^;9~b*mugCPS?;VYI+fmR&_O|0A9MD)O5m z|B*3tW+^H}i@zO6+IsJQlXic3Thi(#X>Sj_`J1#RiNBShhy4DNLBC%F2ZLfL5YPjG zPSWI#>uAdw(I5j3%rkYGS1@gkMf>vy(!#b`IS5amQ<$RDM{>Et&5|o1@{1iir2c#P FegP7w1V#V= literal 0 HcmV?d00001 diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-2178-patched b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-2178-patched new file mode 100644 index 0000000000000000000000000000000000000000..a803182471c9eaab9b0a50afaa51d04cf88c54e6 GIT binary patch literal 2139 zcmdT_Jxjw-6g`P)5kF8{#BQRS0X0djX(^(ExVpF$aY$^0;-HX^}z{Yy^eNUv7ct*+*Vxs@Y>3R$5y)Gj@@8(Gumw3qhg9MDr`AVGNU#p zb4Q1Y>?1fq!W2x#76b_&Fbx>{1)HD8FgJcPST4)pl^PN%I5Tfqkm#UXUCpix2!se^ zfea9`PC(GweczpTdr(u3UwQ}Yw*ll%D*X@Zpx`Sv-#RpGTT^;42PP9v^$59V5p#YZ nAQ&4U8Zj5KK^jNGL$*3I9bH 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 literal 0 HcmV?d00001 diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-55-patched b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-55-patched new file mode 100644 index 0000000000000000000000000000000000000000..b1ae5c62b70ca4406b3fc3a3c1e3f276dca0b196 GIT binary patch literal 68676 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 Xe%aGwU(YE6cL65rE)`08!0!J6k^!`1 literal 0 HcmV?d00001 diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-693-patched b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-693-patched new file mode 100644 index 0000000000000000000000000000000000000000..46c6999f68340c2925ff3daedcad2ac6d8976135 GIT binary patch literal 75 mcmd;JfCCPOG9x_$1%(L=3JUoO3VaGEppBygg^$jepa1|*b_xmr literal 0 HcmV?d00001 diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-885-patched b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-885-patched new file mode 100644 index 0000000000000000000000000000000000000000..14babb6da42bf6d7ac236bd6f607ba243b7019a3 GIT binary patch literal 1505 zcmbW1c|6k%9LIk%mg{-KW+EMul`FQDqb0**5?NXHBP7YEwijXU=(+yG2c|%=YBzzvs{A^T+q~`F{R;|MLd40gMa=$QVeeqvu(2P%wq| zE5X5HpE($8B?qJfazH2m0XBj_p!J>(r~!0y;CmDhG8q=YeqY1@2mqW2-_LrK4FQmX z1^_#sA23Sw4|v^nxWl=_#o`peNKtjgW-=LekF3x(W@s}XJxsN`o@vt|P_gQ6!&iT` zhrQ*thrH!3(?MvcJ`{SF1v1-wpLok@FxD4`3nN0nW)5e;9u^Zv;d{2$2_KzmDDKX_ z&edoblXzbp?H=naZqGcdkS7`9wjXeyfj!ghsauhOPFMX)@4YE=G++iXTT=|mAW=e2 zA{8=`$ihKb6D;^KAqSU;Emz789u3<~-Y$>4G-!;h-|O70GUo0O2|kvrvTQGA6XszY z##SX$H&YZ0twvgB{vgaR>9tQza1=8 zsZ7>Uv{be~ApA`+G~#`mxFWeCdD+kxMV@tQe9YGpceh5q37Tlp(p+bTh_?q(;7Z^M zNX93M1_q9=toD;E1amlV1RYEG-aV*Mc|$cS3FVJXB~Ku5xJ2Cs!Q44aJfE{^Vew3> z`ors?x~F1B~3 zF8PrDKIvm5Hg#|R?-hGCzUb;26Dj^14`>MHhWOX#+YEmu!WC@AO`q;%)txRLA zFp@}mV27vb=?3k!8H@~2@+Lb^!+yp5yNKqf?49OWnjY}%QxlWwIb~H-Ib|lQsu^g_ zWS2tMvn(O+o@hKeCA2`cS}WWNB&CGufDPSFWFK@ZDV)6j3Cl210AYTW%AMP1D!3hK4tln+(p1a(e%y zuQN|J(Jmf`pZMC?e{@ywkrvo`V5MIpRydeITzFrt>k}J+{N0uJ02{;lwh;H`+w6-P z$&#seBtiNh;!77ijOvKhm*a|CItQ%22%z|xkyj@>{BKr^$UY`rFX!!;{fx?Tk2V)FJv=sLTVbiD zUo^IA=BqrUCoY&bw57!6`4#E1qT|bOO(g*=p7$jtIXfLV4}82K-k+x8Yr4TmRf?{? z$eE5c7(0GzCevWy6W)rV01NyQ%1<9?iXtp=ZMMV>?ZOXNybzB+?q0r1E;_Q=ZQFp3 z8oPaZM#OuL&PDNNT|)+%wQUo=8NYrtVm#kPXCJZaNBFCo6PSRuoQkC$#Ry0nq>9&_ Wny>N0vp@X$y+i)<|LfiVz5N5jUBQX~ literal 0 HcmV?d00001 diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-969-patched b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2020-969-patched new file mode 100644 index 0000000000000000000000000000000000000000..bebce9d4d2053dc8bf8cd68bf8ce88befdc7b372 GIT binary patch literal 369 zcmWe&00IsmW@dsiKmtIK)Gw@t6Bs4{Srb4M1LGDDYr+I35FZMFs`402K*Au+m;fwq z0FeioG%1e(#G42-!yRavD%doz4U$035Ho;!ctNUWfNc5?w$l)1f<1#M!*4f+|4jGQ z%g(9?HNo^?+KeFrvkGVn(5|dj6NWs4V!Z=gK!qGYsKCH*P(fG=KbXL<6be8A1_sFC XB*5?+CJd+bKrGVY2 zE6B&~n@XPDxUV_f4cGA~%$Ksf_8n92@8`#xDm}?m zy(sttdMt`~@DR{mdhygBAia81{9H3WGn-8}QZ;@c2oCJd&bu@3`@GLQ^MN!5=DGmn zs^c>o4txa(bz5RZu|@`0WVe61;+2Ic)h3?J=-0EiMA55u4gf`MirCP;29y(y8|tl( zD<7z&=@)nlEMoBHj^k(8I6pOUF>B)WS4U=YQM~)nnC^;n=hwxegcvMA2lWWHpPvqK zWkOtK_MP;6;*z%48@&@q8~=0F@nRQq5m7ESk8-*q^Xz}@hQshgyhp8Nac^q++Tjau zi+$Bj<{bC!do_Uwv*pNOZgAAV+(XRk^9Bb77hA`?ov1f4Pa4ckyzlcI1#%JhdzNg+ zxUl&(aQqr~AkDhOymbcxZKz>eXG($}*0yGCY!x6%v{4^pzL_rv-Z=_IjQ~j~$uH}| zlkDq?Koo??WBYC5d9wE(3j##)aSsiLQrQ zO&z5P)4j4JQlGZ@Vfe`mZ4cWpH)?!GNOLiy!x2)rS<0XgpXb@rVs>vaS){R}n=EN))Xrk+cyJege^!9K=%x zQ;*X9aecC>%McW4gGvqaC8feHq)E|BJ_=V4J#SAWW?zlE?~@5zR@;m?1gag{Xi)3R zx|TpqFG1QVt_xDXNHWT)Ag}d@$B;^|<8wPFz)rgjR99mE9ojnhG$a$iWiyF|X2~4^ zdKQBGbw_v<)FPJSw@w*Eq_h%Li;tR$L1!uNY zyJgq6r&bnB3k?0=QvRJSW$VLjMa56o*qNUBD~Gxt+g{UZb3>0^TUt0io0H&GhgXE~ H&5Obpo!efk literal 0 HcmV?d00001 diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2021-474-patched b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2021-474-patched new file mode 100644 index 0000000000000000000000000000000000000000..caf0d18583e095fcdc6998837b291080538face1 GIT binary patch literal 1025 zcmZP&V6d*1U|?V{JdjfUn3OT-LKK}n7NuNDPKUALp&|DDs2GrNaz!MH+rWU2;fbBCl;0&~n z5pEw$4-@azT991~Ks|r{Gcd$^fGqj{Uyy-G0OBq!xcN*40$_K66@2;64>$k7W9IS{ zgkR9i{{G*)g8{4uMtZpM|7Z9Dix)!S u28?#+F$O!I=du;Q;_!K4#$n literal 0 HcmV?d00001 diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2021-537-patched b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/seeds/testcase-OSV-2021-537-patched new file mode 100644 index 0000000000000000000000000000000000000000..7f33d71b198982b9067d73abb94bd4af14ca2c30 GIT binary patch literal 729 zcmb7Cze@s99RIv`A{d6Y1-05>LwDEFRR#?q*ya||5Qa4gMvFm2=UEZBJQ{*pf zDw+iCPiPDwx3)kq!g{@To_2{99UKS8_xt(zMHsQYQ2<&coogtt87SB(MVW~&qR8ea z3N)$Ogjn=^;RL~D9t*6-r>^Skex8emG&uL{Ey{goFM?S843_#4hjyDjMsP*YZ0>Aj z96q(OB=|^=&)q4|;fH<61;N$kz=qZ;Vn@E@yJs)9HftC&reUb&w4u#us&1OP)chl^tJzT_a4EoSsd>D->&5M48K`C6 z6d~B7VSqn%h!V|WC_d>M){%0je^*vhesWo{+exxQ7gdqe!Lt9SpOLF7<$d1`Q Wpam<%p2cKmIvY6r9})VlySOg(VyBHD2)3yN zt3dQ8*eQbPtb+lKu5b4?F~<0{aNP2EGjC@0!9`+y06?si$yXeB5*+f7qbTW*2y$D) z+k86eF(&xY_&!2YDiNHW96i04*JFwft0>iio6vZRbBR}=)#a?27cC`e z9&65PV0honhMon&)DMan}@a6GngR zv*%WB@~qT3^&Ib5&2gjoTVAW#s3BesNKb1XD#|uq@)x|yQ*3C}(7|7{hqIWFC_Ka$ z#jbN1J4lK%r%+I?vhUR9?fd6VZg#I29Il*@rT z@tU5~yVQmBNQy~>;TO8I&nN7{6mo-J0H{HvD$`bJBv5ET-Bh|)m&`EC*mBGz)f({f2#B55%? z22vm|igH|<=iGV@^~>{UTpssEX=8h;Jvb~*Qz=w<1%YS>Uh?x{Lyv$W)p1H!({>WR t2@|`868+B~ok7V0|NVLfJZs5U;p}~a;QD$+6Rh(~c>HPES^l;So&kNe=Y{|P literal 0 HcmV?d00001 From 71f0bf442e4c8a4c2cfe90fb526ee32bba877d37 Mon Sep 17 00:00:00 2001 From: linke Date: Mon, 13 Apr 2026 13:50:00 -0600 Subject: [PATCH 03/47] Add ndpi_transplant_fuzz_ndpi_reader benchmark Dispatch-gated transplant benchmark for nDPI with 38 bugs from OSV. Includes build.sh, combined/harness patches, bug_metadata, dispatch-prefixed seeds, and per-bug crash references. Updates the example command in benchmarks/experiment_config.yaml to reference this benchmark. Co-Authored-By: Claude Opus 4.6 (1M context) --- benchmarks/experiment_config.yaml | 2 +- .../Dockerfile | 23 + .../benchmark.yaml | 5 + .../bug_metadata.json | 253 +++++ .../ndpi_transplant_fuzz_ndpi_reader/build.sh | 137 +++ .../crashes/OSV-2020-10.txt | 53 + .../crashes/OSV-2020-142.txt | 80 ++ .../crashes/OSV-2020-1566.txt | 62 ++ .../crashes/OSV-2020-177.txt | 64 ++ .../crashes/OSV-2020-178.txt | 68 ++ .../crashes/OSV-2020-18.txt | 69 ++ .../crashes/OSV-2020-181.txt | 64 ++ .../crashes/OSV-2020-185.txt | 67 ++ .../crashes/OSV-2020-1884.txt | 27 + .../crashes/OSV-2020-2126.txt | 62 ++ .../crashes/OSV-2020-236.txt | 64 ++ .../crashes/OSV-2020-242.txt | 62 ++ .../crashes/OSV-2020-40.txt | 62 ++ .../crashes/OSV-2020-60.txt | 65 ++ .../crashes/OSV-2020-67.txt | 62 ++ .../crashes/OSV-2020-70.txt | 63 ++ .../crashes/OSV-2020-71.txt | 70 ++ .../crashes/OSV-2020-747.txt | 79 ++ .../crashes/OSV-2020-806.txt | 27 + .../crashes/OSV-2020-821.txt | 62 ++ .../crashes/OSV-2020-829.txt | 79 ++ .../crashes/OSV-2020-92.txt | 68 ++ .../crashes/OSV-2020-956.txt | 62 ++ .../crashes/OSV-2022-1025.txt | 69 ++ .../crashes/OSV-2022-325.txt | 68 ++ .../crashes/OSV-2022-443.txt | 70 ++ .../crashes/OSV-2022-447.txt | 70 ++ .../crashes/OSV-2022-481.txt | 27 + .../crashes/OSV-2022-695.txt | 33 + .../crashes/OSV-2022-712.txt | 67 ++ .../crashes/OSV-2023-1354.txt | 69 ++ .../crashes/OSV-2023-19.txt | 68 ++ .../crashes/OSV-2023-573.txt | 50 + .../crashes/OSV-2024-1330.txt | 66 ++ .../crashes/OSV-2024-552.txt | 27 + .../patches/combined.diff | 904 ++++++++++++++++++ .../patches/harness.diff | 127 +++ .../seeds/testcase-OSV-2020-10-patched | Bin 0 -> 289 bytes .../seeds/testcase-OSV-2020-142-patched | Bin 0 -> 52389 bytes .../seeds/testcase-OSV-2020-1566-patched | Bin 0 -> 92 bytes .../seeds/testcase-OSV-2020-177-patched | Bin 0 -> 2213 bytes .../seeds/testcase-OSV-2020-178-patched | Bin 0 -> 858 bytes .../seeds/testcase-OSV-2020-18-patched | Bin 0 -> 683 bytes .../seeds/testcase-OSV-2020-181-patched | Bin 0 -> 102 bytes .../seeds/testcase-OSV-2020-185-patched | Bin 0 -> 240 bytes .../seeds/testcase-OSV-2020-1884-patched | Bin 0 -> 240 bytes .../seeds/testcase-OSV-2020-2126-patched | Bin 0 -> 101 bytes .../seeds/testcase-OSV-2020-236-patched | Bin 0 -> 65 bytes .../seeds/testcase-OSV-2020-242-patched | Bin 0 -> 43 bytes .../seeds/testcase-OSV-2020-40-patched | Bin 0 -> 88 bytes .../seeds/testcase-OSV-2020-60-patched | Bin 0 -> 89 bytes .../seeds/testcase-OSV-2020-67-patched | Bin 0 -> 149 bytes .../seeds/testcase-OSV-2020-70-patched | Bin 0 -> 88 bytes .../seeds/testcase-OSV-2020-71-patched | Bin 0 -> 141 bytes .../seeds/testcase-OSV-2020-747-patched | Bin 0 -> 51832 bytes .../seeds/testcase-OSV-2020-806-patched | Bin 0 -> 240 bytes .../seeds/testcase-OSV-2020-821-patched | Bin 0 -> 88 bytes .../seeds/testcase-OSV-2020-829-patched | Bin 0 -> 51710 bytes .../seeds/testcase-OSV-2020-92-patched | Bin 0 -> 144 bytes .../seeds/testcase-OSV-2020-956-patched | Bin 0 -> 132 bytes .../seeds/testcase-OSV-2022-1025-patched | Bin 0 -> 100 bytes .../seeds/testcase-OSV-2022-325-patched | Bin 0 -> 233 bytes .../seeds/testcase-OSV-2022-443-patched | Bin 0 -> 150 bytes .../seeds/testcase-OSV-2022-447-patched | Bin 0 -> 991 bytes .../seeds/testcase-OSV-2022-481-patched | Bin 0 -> 277 bytes .../seeds/testcase-OSV-2022-695-patched | Bin 0 -> 697 bytes .../seeds/testcase-OSV-2022-712-patched | Bin 0 -> 167 bytes .../seeds/testcase-OSV-2023-1354-patched | Bin 0 -> 397 bytes .../seeds/testcase-OSV-2023-19-patched | Bin 0 -> 104 bytes .../seeds/testcase-OSV-2023-573-patched | Bin 0 -> 1557 bytes .../seeds/testcase-OSV-2024-1330-patched | Bin 0 -> 156 bytes .../seeds/testcase-OSV-2024-552-patched | Bin 0 -> 123 bytes 77 files changed, 3575 insertions(+), 1 deletion(-) create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/Dockerfile create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/benchmark.yaml create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/bug_metadata.json create mode 100755 benchmarks/ndpi_transplant_fuzz_ndpi_reader/build.sh create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-10.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-142.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-1566.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-177.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-178.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-18.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-181.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-185.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-1884.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-2126.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-236.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-242.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-40.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-60.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-67.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-70.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-71.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-747.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-806.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-821.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-829.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-92.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-956.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2022-1025.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2022-325.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2022-443.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2022-447.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2022-481.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2022-695.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2022-712.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2023-1354.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2023-19.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2023-573.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2024-1330.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2024-552.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/patches/combined.diff create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/patches/harness.diff create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2020-10-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2020-142-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2020-1566-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2020-177-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2020-178-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2020-18-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2020-181-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2020-185-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2020-1884-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2020-2126-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2020-236-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2020-242-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2020-40-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2020-60-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2020-67-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2020-70-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2020-71-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2020-747-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2020-806-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2020-821-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2020-829-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2020-92-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2020-956-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2022-1025-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2022-325-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2022-443-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2022-447-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2022-481-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2022-695-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2022-712-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2023-1354-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2023-19-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2023-573-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2024-1330-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2024-552-patched diff --git a/benchmarks/experiment_config.yaml b/benchmarks/experiment_config.yaml index 518b12aa8..cb3e4be5d 100644 --- a/benchmarks/experiment_config.yaml +++ b/benchmarks/experiment_config.yaml @@ -12,6 +12,6 @@ docker_registry: gcr.io/fuzzbench # Sample run command: # PYTHONPATH=. python3 experiment/run_experiment.py \ # --experiment-config experiment_config.yaml \ -# --benchmarks opensc_transplant_fuzz_pkcs15_reader \ +# --benchmarks ndpi_transplant_fuzz_ndpi_reader \ # --fuzzers afl aflplusplus honggfuzz libfuzzer \ # --experiment-name transplant-eval diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/Dockerfile b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/Dockerfile new file mode 100644 index 000000000..6e6be0286 --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/Dockerfile @@ -0,0 +1,23 @@ +# Use the committed merge container as base for identical build environment. +# This image has the exact same OS packages, library versions, and source tree +# that were used during bug transplant verification. +FROM ndpi-merge:5cad39f0 + +# The merge container runs as a non-root user (agent). Switch back to root +# so downstream Dockerfiles (AFL++'s builder, benchmark-builder, etc.) can +# install packages and write to system directories. +USER root + +# docker commit can snapshot a broken apt state - fix it so downstream +# Dockerfiles (e.g. AFL++'s builder.Dockerfile) can apt-get install. +RUN rm -rf /var/lib/apt/lists/* && mkdir -p /var/lib/apt/lists/partial && apt-get update + +WORKDIR /src/ndpi + +# Keep ASan stack-use-after-return detection enabled for direct testcase replay. +ENV ASAN_OPTIONS="detect_leaks=0:detect_stack_use_after_return=1" + +# Bug transplant patches (re-applied by build.sh after checkout_commit.py resets source) +COPY patches/ /src/patches/ +COPY seeds/ /src/benchmark_seeds/ +COPY build.sh $SRC/ diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/benchmark.yaml b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/benchmark.yaml new file mode 100644 index 000000000..9dbe8a314 --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/benchmark.yaml @@ -0,0 +1,5 @@ +project: ndpi +fuzz_target: fuzz_ndpi_reader +commit: 5cad39f0e88c03b3cb4f78addf56e217b3d372f2 +commit_date: 2020-03-09T08:33:02-07:00 +type: bug diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/bug_metadata.json b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/bug_metadata.json new file mode 100644 index 000000000..6c7483618 --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/bug_metadata.json @@ -0,0 +1,253 @@ +{ + "project": "ndpi", + "target_commit": "5cad39f0e88c03b3cb4f78addf56e217b3d372f2", + "dispatch_bytes": 3, + "total_bugs": 35, + "bugs": { + "OSV-2020-142": { + "dispatch_value": 1, + "triggered": true, + "crash_file": "/src/ndpi/src/lib/ndpi_main.c", + "crash_line": 6211, + "crash_function": "ndpi_strncasestr" + }, + "OSV-2020-1884": { + "dispatch_value": 2, + "triggered": true, + "crash_file": "/src/ndpi/example/reader_util.c", + "crash_line": 1098, + "crash_function": "process_ndpi_collected_info" + }, + "OSV-2020-236": { + "dispatch_value": 4, + "triggered": true, + "crash_file": "/src/ndpi/example/reader_util.c", + "crash_line": 918, + "crash_function": "get_ndpi_flow_info6" + }, + "OSV-2020-242": { + "dispatch_value": 8, + "triggered": true, + "crash_file": "/src/ndpi/example/reader_util.c", + "crash_line": 1573, + "crash_function": "ndpi_workflow_process_packet" + }, + "OSV-2020-70": { + "dispatch_value": 16, + "triggered": true, + "crash_file": "/src/ndpi/src/lib/ndpi_main.c", + "crash_line": 3650, + "crash_function": "ndpi_handle_ipv6_extension_headers" + }, + "OSV-2020-71": { + "dispatch_value": 32, + "triggered": true, + "crash_file": "/src/ndpi/src/lib/ndpi_main.c", + "crash_line": 5157, + "crash_function": "ndpi_parse_packet_line_info" + }, + "OSV-2020-806": { + "dispatch_value": 64, + "triggered": true, + "crash_file": "/src/ndpi/example/reader_util.c", + "crash_line": 1069, + "crash_function": "process_ndpi_collected_info" + }, + "OSV-2020-92": { + "dispatch_value": 128, + "triggered": true, + "crash_file": "/src/ndpi/src/lib/ndpi_main.c", + "crash_line": 5162, + "crash_function": "ndpi_parse_packet_line_info" + }, + "OSV-2022-1025": { + "dispatch_value": 256, + "triggered": true, + "crash_file": "/src/ndpi/src/lib/protocols/irc.c", + "crash_line": 527, + "crash_function": "ndpi_search_irc_tcp" + }, + "OSV-2022-443": { + "dispatch_value": 512, + "triggered": true, + "crash_file": "/src/ndpi/src/lib/protocols/http.c", + "crash_line": 624, + "crash_function": "ndpi_check_http_tcp" + }, + "OSV-2022-447": { + "dispatch_value": 1024, + "triggered": true, + "crash_file": "/src/ndpi/src/lib/protocols/http.c", + "crash_line": 628, + "crash_function": "ndpi_check_http_tcp" + }, + "OSV-2022-481": { + "dispatch_value": 2048, + "triggered": true, + "crash_file": "/src/ndpi/src/lib/ndpi_main.c", + "crash_line": 140, + "crash_function": "ndpi_strdup" + }, + "OSV-2022-712": { + "dispatch_value": 4096, + "triggered": true, + "crash_file": "/src/ndpi/src/lib/protocols/florensia.c", + "crash_line": 93, + "crash_function": "ndpi_search_florensia" + }, + "OSV-2023-19": { + "dispatch_value": 8192, + "triggered": true, + "crash_file": "/src/ndpi/src/lib/protocols/bittorrent.c", + "crash_line": 438, + "crash_function": "ndpi_search_bittorrent" + }, + "OSV-2023-573": { + "dispatch_value": 16384, + "triggered": true, + "crash_file": "/src/ndpi/src/lib/protocols/http.c", + "crash_line": 89, + "crash_function": "ndpi_http_check_content" + }, + "OSV-2024-1330": { + "dispatch_value": 32768, + "triggered": true, + "crash_file": "/src/ndpi/src/lib/protocols/zoom.c", + "crash_line": 14, + "crash_function": "zoom_search_again" + }, + "OSV-2024-552": { + "dispatch_value": 65536, + "triggered": true, + "crash_file": "/src/ndpi/src/lib/protocols/zoom.c", + "crash_line": 32, + "crash_function": "ndpi_search_zoom" + }, + "OSV-2022-695": { + "dispatch_value": 131072, + "triggered": true, + "crash_file": "/src/ndpi/example/reader_util.c", + "crash_line": 341, + "crash_function": "free_wrapper" + }, + "OSV-2020-177": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ndpi/example/reader_util.c", + "crash_line": 919, + "crash_function": "get_ndpi_flow_info6" + }, + "OSV-2020-40": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ndpi/example/reader_util.c", + "crash_line": 1772, + "crash_function": "ndpi_workflow_process_packet" + }, + "OSV-2020-60": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ndpi/example/reader_util.c", + "crash_line": 705, + "crash_function": "get_ndpi_flow_info" + }, + "OSV-2020-178": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ndpi/src/lib/protocols/ssh.c", + "crash_line": 99, + "crash_function": "concat_hash_string" + }, + "OSV-2020-747": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ndpi/src/lib/protocols/http.c", + "crash_line": 367, + "crash_function": "check_content_type_and_change_protocol" + }, + "OSV-2020-18": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ndpi/src/lib/protocols/openvpn.c", + "crash_line": 125, + "crash_function": "ndpi_search_openvpn" + }, + "OSV-2020-1566": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ndpi/fuzz/fuzz_ndpi_reader.c", + "crash_line": 90, + "crash_function": "LLVMFuzzerTestOneInput" + }, + "OSV-2020-2126": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ndpi/fuzz/fuzz_ndpi_reader.c", + "crash_line": 90, + "crash_function": "LLVMFuzzerTestOneInput" + }, + "OSV-2020-185": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ndpi/src/lib/protocols/kerberos.c", + "crash_line": 246, + "crash_function": "ndpi_search_kerberos" + }, + "OSV-2020-956": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ndpi/example/reader_util.c", + "crash_line": 1713, + "crash_function": "ndpi_workflow_process_packet" + }, + "OSV-2020-829": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ndpi/src/lib/protocols/http.c", + "crash_line": 367, + "crash_function": "check_content_type_and_change_protocol" + }, + "OSV-2020-821": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ndpi/example/reader_util.c", + "crash_line": 1625, + "crash_function": "ndpi_workflow_process_packet" + }, + "OSV-2020-181": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ndpi/example/reader_util.c", + "crash_line": 705, + "crash_function": "get_ndpi_flow_info" + }, + "OSV-2020-67": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ndpi/example/reader_util.c", + "crash_line": 1802, + "crash_function": "ndpi_workflow_process_packet" + }, + "OSV-2020-10": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ndpi/example/reader_util.c", + "crash_line": 1613, + "crash_function": "ndpi_workflow_process_packet" + }, + "OSV-2022-325": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ndpi/src/lib/protocols/tinc.c", + "crash_line": 105, + "crash_function": "ndpi_check_tinc" + }, + "OSV-2023-1354": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ndpi/src/lib/protocols/tls.c", + "crash_line": 931, + "crash_function": "processClientServerHello" + } + } +} \ No newline at end of file diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/build.sh b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/build.sh new file mode 100755 index 000000000..bc78eeb5c --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/build.sh @@ -0,0 +1,137 @@ +#!/bin/bash -eu +# Generated by fuzzbench_generate.py for bug transplant evaluation + +cd /src/ndpi + +# Checkout target commit +git checkout 5cad39f0e88c03b3cb4f78addf56e217b3d372f2 + +# Restore harness sources that live outside the project git repository. +if [ -f /src/patches/harness_sources/manifest.json ]; then + python3 - <<'PY' +import json +import shutil +from pathlib import Path + +root = Path("/src/patches/harness_sources") +for entry in json.loads((root / "manifest.json").read_text()): + source = root / entry["snapshot"] + destination = Path(entry["container_path"]) + destination.parent.mkdir(parents=True, exist_ok=True) + shutil.copy2(source, destination) +PY +fi + +# Apply dispatch harness first (modifies build system), then bug patches +if ! git apply --check /src/patches/harness.diff 2>/dev/null; then + echo "Trying git apply --3way for harness.diff..." + git apply --3way /src/patches/harness.diff +else + git apply /src/patches/harness.diff +fi + +if ! git apply --check /src/patches/combined.diff 2>/dev/null; then + echo "Trying git apply --3way for combined.diff..." + git apply --3way /src/patches/combined.diff +else + git apply /src/patches/combined.diff +fi + +# --- Fix library CMakeLists.txt for new source files from combined.diff --- +# combined.diff may create new .c files (e.g., zfp_getcell.c) that need to +# be added to the library's explicit source list. +if [ -d blosc ] && [ -f blosc/CMakeLists.txt ]; then + for newfile in blosc/*.c; do + base=$(basename "$newfile") + if ! grep -q "$base" blosc/CMakeLists.txt 2>/dev/null; then + echo "Adding $base to blosc/CMakeLists.txt" + sed -i "/^set(SOURCES /s/)/ $base)/" blosc/CMakeLists.txt + fi + done +fi + +# --- Original build commands --- +cd /src +tar -xvzf /src/libpcap-1.9.1.tar.gz +cd /src/libpcap-1.9.1 +./configure --disable-shared +make -j$(nproc) -k 2>&1 || true +make install +cd .. + +# build project +cd /src/ndpi +sh autogen.sh +./configure --enable-fuzztargets +make -k 2>&1 || true +ls fuzz/fuzz* | grep -v "\." | while read i; do cp $i $OUT/; done + + +# --- Seed corpus: expand original seeds and per-bug testcase candidates --- +# FuzzBench uses $OUT/{fuzz_target}_seed_corpus.zip as initial corpus. +# Create one seed variant for the default path plus one for each dispatch bit. +# Per-bug reproducers are used only as source material: exact crashing inputs +# are filtered out before packaging. +seed_zip="$OUT/fuzz_ndpi_reader_seed_corpus.zip" +seed_target="$OUT/fuzz_ndpi_reader" +mkdir -p /tmp/seeds_dispatch /tmp/original_seeds /tmp/benchmark_seed_candidates + +if [ -f "$seed_zip" ]; then + unzip -q -o "$seed_zip" -d /tmp/original_seeds 2>/dev/null || true + for f in /tmp/original_seeds/*; do + [ -f "$f" ] || continue + base=$(basename "$f") + for dispatch in '\x00\x00\x00' '\x01\x00\x00' '\x02\x00\x00' '\x04\x00\x00' '\x08\x00\x00' '\x10\x00\x00' '\x20\x00\x00' '\x40\x00\x00' '\x80\x00\x00' '\x00\x01\x00' '\x00\x02\x00' '\x00\x04\x00' '\x00\x08\x00' '\x00\x10\x00' '\x00\x20\x00' '\x00\x40\x00' '\x00\x80\x00' '\x00\x00\x01' '\x00\x00\x02' '\x00\x00\x04' '\x00\x00\x08' '\x00\x00\x10' '\x00\x00\x20' '\x00\x00\x40' '\x00\x00\x80'; do + dispatch_name=$(printf '%s' "$dispatch" | tr -d '\x') + printf '%b' "$dispatch" | cat - "$f" > "/tmp/seeds_dispatch/${base}.dispatch_${dispatch_name}" + done + done +fi + +if [ -d /src/benchmark_seeds ]; then + for f in /src/benchmark_seeds/*; do + [ -f "$f" ] || continue + base=$(basename "$f") + size=$(wc -c < "$f") + [ "$size" -gt 0 ] || continue + + cp "$f" "/tmp/benchmark_seed_candidates/${base}.exact" + # Zero the dispatch byte (byte 0): deactivates dispatch-gated patches + # while keeping the full APDU conversation and card driver routing intact. + cp "$f" "/tmp/benchmark_seed_candidates/${base}.dispatch_zero" + printf '\000' | dd of="/tmp/benchmark_seed_candidates/${base}.dispatch_zero" bs=1 seek=0 conv=notrunc 2>/dev/null || true + for keep in 1 2 8 16 64 256 1024; do + if [ "$size" -gt "$keep" ]; then + head -c "$keep" "$f" > "/tmp/benchmark_seed_candidates/${base}.head_${keep}" + fi + done + if [ "$size" -gt 1 ]; then + head -c "$((size - 1))" "$f" > "/tmp/benchmark_seed_candidates/${base}.trim_1" + cp "$f" "/tmp/benchmark_seed_candidates/${base}.zero_last" + printf '\000' | dd of="/tmp/benchmark_seed_candidates/${base}.zero_last" bs=1 seek="$((size - 1))" conv=notrunc 2>/dev/null || true + cp "$f" "/tmp/benchmark_seed_candidates/${base}.ff_last" + printf '\377' | dd of="/tmp/benchmark_seed_candidates/${base}.ff_last" bs=1 seek="$((size - 1))" conv=notrunc 2>/dev/null || true + fi + if [ "$size" -gt 4 ]; then + mid=$((size / 2)) + cp "$f" "/tmp/benchmark_seed_candidates/${base}.zero_mid" + printf '\000' | dd of="/tmp/benchmark_seed_candidates/${base}.zero_mid" bs=1 seek="$mid" conv=notrunc 2>/dev/null || true + cp "$f" "/tmp/benchmark_seed_candidates/${base}.ff_mid" + printf '\377' | dd of="/tmp/benchmark_seed_candidates/${base}.ff_mid" bs=1 seek="$mid" conv=notrunc 2>/dev/null || true + fi + done +fi + +if [ -x "$seed_target" ] && ls /tmp/benchmark_seed_candidates/* 1>/dev/null 2>&1; then + for f in /tmp/benchmark_seed_candidates/*; do + [ -f "$f" ] || continue + if timeout 10s env ASAN_OPTIONS="${ASAN_OPTIONS:-detect_leaks=0:detect_stack_use_after_return=1}" "$seed_target" "$f" >/tmp/seed_replay.log 2>&1; then + cp "$f" "/tmp/seeds_dispatch/poc_$(basename "$f")" + fi + done +fi + +if ls /tmp/seeds_dispatch/* 1>/dev/null 2>&1; then + rm -f "$seed_zip" + zip -j -q "$seed_zip" /tmp/seeds_dispatch/* +fi diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-10.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-10.txt new file mode 100644 index 000000000..f0d3639ee --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-10.txt @@ -0,0 +1,53 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 1567045294 +INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), +INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), +/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x611000185c00 at pc 0x000000561362 bp 0x7fffa19c57d0 sp 0x7fffa19c57c8 +READ of size 2 at 0x611000185c00 thread T0 + #0 0x561361 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1613:16 + #1 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) + #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 + #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) + #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #6 0x7f972a75083f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + #7 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) + +Address 0x611000185c00 is a wild pointer. +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/example/reader_util.c:1613:16 in ndpi_workflow_process_packet +Shadow bytes around the buggy address: + 0x0c2280028b30: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c2280028b40: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c2280028b50: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c2280028b60: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c2280028b70: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +=>0x0c2280028b80:[fa]fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c2280028b90: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c2280028ba0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c2280028bb0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c2280028bc0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c2280028bd0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb + Shadow gap: cc +==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-142.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-142.txt new file mode 100644 index 000000000..f90347900 --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-142.txt @@ -0,0 +1,80 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 1574597308 +INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), +INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), +/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-use-after-free on address 0x62b00000f730 at pc 0x0000005a40fe bp 0x7ffe66626f10 sp 0x7ffe66626f08 +READ of size 1 at 0x62b00000f730 thread T0 + #0 0x5a40fd in ndpi_strncasestr /src/ndpi/src/lib/ndpi_main.c:6211:25 + #1 0x5fa000 in ndpi_http_check_content /src/ndpi/src/lib/protocols/http.c:75:9 + #2 0x5fa000 in ndpi_int_http_add_connection /src/ndpi/src/lib/protocols/http.c:135:14 + #3 0x5f7179 in ndpi_check_http_tcp /src/ndpi/src/lib/protocols/http.c:719:9 + #4 0x5f7179 in ndpi_search_http_tcp /src/ndpi/src/lib/protocols/http.c:866:3 + #5 0x5fa7c9 in ndpi_search_http_tcp_again /src/ndpi/src/lib/protocols/http.c:39:3 + #6 0x59812a in ndpi_process_extra_packet /src/ndpi/src/lib/ndpi_main.c:4397:9 + #7 0x59812a in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4753:7 + #8 0x56316c in packet_processing /src/ndpi/example/reader_util.c:1422:33 + #9 0x560f38 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 + #10 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #11 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) + #12 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 + #13 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) + #14 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #15 0x7f70ef18183f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + #16 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) + +0x62b00000f730 is located 5424 bytes inside of 25421-byte region [0x62b00000e200,0x62b00001454d) +freed by thread T0 here: + #0 0x520a92 in free /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:127:3 + #1 0x5541ff in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:91:5 + #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) + #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 + #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) + #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #6 0x7f70ef18183f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + +previously allocated by thread T0 here: + #0 0x520cfd in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 + #1 0x5541c6 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 + #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) + #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 + #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) + #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #6 0x7f70ef18183f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + +SUMMARY: AddressSanitizer: heap-use-after-free /src/ndpi/src/lib/ndpi_main.c:6211:25 in ndpi_strncasestr +Shadow bytes around the buggy address: + 0x0c567fff9e90: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c567fff9ea0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c567fff9eb0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c567fff9ec0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c567fff9ed0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd +=>0x0c567fff9ee0: fd fd fd fd fd fd[fd]fd fd fd fd fd fd fd fd fd + 0x0c567fff9ef0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c567fff9f00: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c567fff9f10: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c567fff9f20: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c567fff9f30: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb + Shadow gap: cc +==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-1566.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-1566.txt new file mode 100644 index 000000000..43938f450 --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-1566.txt @@ -0,0 +1,62 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 1546454965 +INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), +INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), +/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x604000000140 at pc 0x00000056122b bp 0x7ffd97894a70 sp 0x7ffd97894a68 +READ of size 1 at 0x604000000140 thread T0 + #0 0x56122a in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c + #1 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) + #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 + #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) + #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #6 0x7f69da3a483f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + #7 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) + +0x604000000140 is located 0 bytes to the right of 48-byte region [0x604000000110,0x604000000140) +allocated by thread T0 here: + #0 0x520cfd in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 + #1 0x5541c6 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 + #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) + #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 + #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) + #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #6 0x7f69da3a483f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/example/reader_util.c in ndpi_workflow_process_packet +Shadow bytes around the buggy address: + 0x0c087fff7fd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c087fff7fe0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c087fff7ff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c087fff8000: fa fa 00 00 00 00 00 00 fa fa 00 00 00 00 00 05 + 0x0c087fff8010: fa fa 00 00 00 00 01 fa fa fa 00 00 00 00 07 fa +=>0x0c087fff8020: fa fa 00 00 00 00 00 00[fa]fa fa fa fa fa fa fa + 0x0c087fff8030: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8040: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8050: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8060: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8070: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb + Shadow gap: cc +==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-177.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-177.txt new file mode 100644 index 000000000..2ad97347e --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-177.txt @@ -0,0 +1,64 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 1531306655 +INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), +INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), +/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6040000009bb at pc 0x000000567a0c bp 0x7ffda6a6d370 sp 0x7ffda6a6d368 +READ of size 4 at 0x6040000009bb thread T0 + #0 0x567a0b in get_ndpi_flow_info6 /src/ndpi/example/reader_util.c:919:52 + #1 0x56185e in packet_processing /src/ndpi/example/reader_util.c:1222:12 + #2 0x560f38 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 + #3 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #4 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) + #5 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 + #6 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) + #7 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #8 0x7ff4d4c2183f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + #9 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) + +0x6040000009bb is located 0 bytes to the right of 43-byte region [0x604000000990,0x6040000009bb) +allocated by thread T0 here: + #0 0x520cfd in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 + #1 0x5541c6 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 + #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) + #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 + #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) + #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #6 0x7ff4d4c2183f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/example/reader_util.c:919:52 in get_ndpi_flow_info6 +Shadow bytes around the buggy address: + 0x0c087fff80e0: fa fa 00 00 00 00 00 fa fa fa 00 00 00 00 00 fa + 0x0c087fff80f0: fa fa 00 00 00 00 00 fa fa fa 00 00 00 00 00 fa + 0x0c087fff8100: fa fa 00 00 00 00 00 fa fa fa fd fd fd fd fd fd + 0x0c087fff8110: fa fa fd fd fd fd fd fd fa fa fd fd fd fd fd fd + 0x0c087fff8120: fa fa fd fd fd fd fd fd fa fa fd fd fd fd fd fd +=>0x0c087fff8130: fa fa 00 00 00 00 00[03]fa fa fa fa fa fa fa fa + 0x0c087fff8140: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8150: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8160: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8170: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8180: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb + Shadow gap: cc +==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-178.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-178.txt new file mode 100644 index 000000000..4dc6ee02f --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-178.txt @@ -0,0 +1,68 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 1538932780 +INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), +INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), +/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60b000000202 at pc 0x0000005d93ae bp 0x7ffe6cca4b20 sp 0x7ffe6cca4b18 +READ of size 4 at 0x60b000000202 thread T0 + #0 0x5d93ad in concat_hash_string /src/ndpi/src/lib/protocols/ssh.c:99:19 + #1 0x5d78a4 in ndpi_search_ssh_tcp /src/ndpi/src/lib/protocols/ssh.c:308:10 + #2 0x5d95b9 in search_ssh_again /src/ndpi/src/lib/protocols/ssh.c:64:3 + #3 0x59812a in ndpi_process_extra_packet /src/ndpi/src/lib/ndpi_main.c:4397:9 + #4 0x59812a in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4753:7 + #5 0x56316c in packet_processing /src/ndpi/example/reader_util.c:1422:33 + #6 0x560f38 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 + #7 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #8 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) + #9 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 + #10 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) + #11 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #12 0x7fc4a49f183f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + #13 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) + +0x60b000000204 is located 0 bytes to the right of 100-byte region [0x60b0000001a0,0x60b000000204) +allocated by thread T0 here: + #0 0x520cfd in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 + #1 0x5541c6 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 + #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) + #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 + #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) + #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #6 0x7fc4a49f183f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/src/lib/protocols/ssh.c:99:19 in concat_hash_string +Shadow bytes around the buggy address: + 0x0c167fff7ff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c167fff8000: fa fa fa fa fa fa fa fa fd fd fd fd fd fd fd fd + 0x0c167fff8010: fd fd fd fd fd fa fa fa fa fa fa fa fa fa fd fd + 0x0c167fff8020: fd fd fd fd fd fd fd fd fd fd fd fa fa fa fa fa + 0x0c167fff8030: fa fa fa fa 00 00 00 00 00 00 00 00 00 00 00 00 +=>0x0c167fff8040:[04]fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c167fff8050: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c167fff8060: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c167fff8070: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c167fff8080: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c167fff8090: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb + Shadow gap: cc +==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-18.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-18.txt new file mode 100644 index 000000000..37895412c --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-18.txt @@ -0,0 +1,69 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 1543914166 +INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), +INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), +/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60b0000003d2 at pc 0x0000004bc86c bp 0x7ffd2650a070 sp 0x7ffd26509818 +READ of size 8 at 0x60b0000003d2 thread T0 + #0 0x4bc86b in MemcmpInterceptorCommon(void*, int (*)(void const*, void const*, unsigned long), void const*, void const*, unsigned long) /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:844:7 + #1 0x4bcc19 in memcmp /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:875:10 + #2 0x5ecbc8 in ndpi_search_openvpn /src/ndpi/src/lib/protocols/openvpn.c:125:12 + #3 0x587274 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4113:2 + #4 0x599189 in ndpi_check_flow_func /src/ndpi/src/lib/ndpi_main.c:4205:5 + #5 0x599189 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4907:3 + #6 0x56316c in packet_processing /src/ndpi/example/reader_util.c:1422:33 + #7 0x560f38 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 + #8 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #9 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) + #10 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 + #11 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) + #12 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #13 0x7f7e4ce0d83f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + #14 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) + +0x60b0000003d2 is located 106 bytes to the right of 104-byte region [0x60b000000300,0x60b000000368) +allocated by thread T0 here: + #0 0x520cfd in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 + #1 0x5541c6 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 + #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) + #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 + #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) + #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #6 0x7f7e4ce0d83f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:844:7 in MemcmpInterceptorCommon(void*, int (*)(void const*, void const*, unsigned long), void const*, void const*, unsigned long) +Shadow bytes around the buggy address: + 0x0c167fff8020: fd fd fd fd fd fd fd fd fd fd fd fa fa fa fa fa + 0x0c167fff8030: fa fa fa fa fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c167fff8040: fd fa fa fa fa fa fa fa fa fa fd fd fd fd fd fd + 0x0c167fff8050: fd fd fd fd fd fd fd fa fa fa fa fa fa fa fa fa + 0x0c167fff8060: 00 00 00 00 00 00 00 00 00 00 00 00 00 fa fa fa +=>0x0c167fff8070: fa fa fa fa fa fa fa fa fa fa[fa]fa fa fa fa fa + 0x0c167fff8080: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c167fff8090: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c167fff80a0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c167fff80b0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c167fff80c0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb + Shadow gap: cc +==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-181.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-181.txt new file mode 100644 index 000000000..f50f86c16 --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-181.txt @@ -0,0 +1,64 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 1561951392 +INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), +INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), +/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6060001f47bb at pc 0x000000566cc5 bp 0x7ffc5460a370 sp 0x7ffc5460a368 +READ of size 2 at 0x6060001f47bb thread T0 + #0 0x566cc4 in get_ndpi_flow_info /src/ndpi/example/reader_util.c:705:47 + #1 0x561798 in packet_processing /src/ndpi/example/reader_util.c:1214:12 + #2 0x560f38 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 + #3 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #4 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) + #5 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 + #6 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) + #7 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #8 0x7fe99593b83f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + #9 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) + +0x6060001f47bb is located 0 bytes to the right of 59-byte region [0x6060001f4780,0x6060001f47bb) +allocated by thread T0 here: + #0 0x520cfd in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 + #1 0x5541c6 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 + #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) + #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 + #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) + #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #6 0x7fe99593b83f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/example/reader_util.c:705:47 in get_ndpi_flow_info +Shadow bytes around the buggy address: + 0x0c0c800368a0: 00 00 00 fa fa fa fa fa 00 00 00 00 00 00 00 fa + 0x0c0c800368b0: fa fa fa fa 00 00 00 00 00 00 00 fa fa fa fa fa + 0x0c0c800368c0: 00 00 00 00 00 00 00 fa fa fa fa fa 00 00 00 00 + 0x0c0c800368d0: 00 00 00 fa fa fa fa fa 00 00 00 00 00 00 00 fa + 0x0c0c800368e0: fa fa fa fa 00 00 00 00 00 00 00 fa fa fa fa fa +=>0x0c0c800368f0: 00 00 00 00 00 00 00[03]fa fa fa fa fa fa fa fa + 0x0c0c80036900: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0c80036910: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0c80036920: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0c80036930: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0c80036940: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb + Shadow gap: cc +==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-185.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-185.txt new file mode 100644 index 000000000..dc23bfa91 --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-185.txt @@ -0,0 +1,67 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 1551591031 +INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), +INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), +/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x611000183f45 at pc 0x000000604336 bp 0x7ffdce643f90 sp 0x7ffdce643f88 +READ of size 1 at 0x611000183f45 thread T0 + #0 0x604335 in ndpi_search_kerberos /src/ndpi/src/lib/protocols/kerberos.c:246:30 + #1 0x584e71 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4100:7 + #2 0x599189 in ndpi_check_flow_func /src/ndpi/src/lib/ndpi_main.c:4205:5 + #3 0x599189 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4907:3 + #4 0x56316c in packet_processing /src/ndpi/example/reader_util.c:1422:33 + #5 0x560f38 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 + #6 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #7 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) + #8 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 + #9 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) + #10 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #11 0x7f899848383f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + #12 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) + +0x611000183f45 is located 0 bytes to the right of 197-byte region [0x611000183e80,0x611000183f45) +allocated by thread T0 here: + #0 0x520cfd in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 + #1 0x5541c6 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 + #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) + #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 + #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) + #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #6 0x7f899848383f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/src/lib/protocols/kerberos.c:246:30 in ndpi_search_kerberos +Shadow bytes around the buggy address: + 0x0c2280028790: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c22800287a0: fa fa fa fa fa fa fa fa 00 00 00 00 00 00 00 00 + 0x0c22800287b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c22800287c0: 00 00 00 00 00 00 00 00 fa fa fa fa fa fa fa fa + 0x0c22800287d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +=>0x0c22800287e0: 00 00 00 00 00 00 00 00[05]fa fa fa fa fa fa fa + 0x0c22800287f0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c2280028800: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c2280028810: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c2280028820: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c2280028830: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb + Shadow gap: cc +==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-1884.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-1884.txt new file mode 100644 index 000000000..e6a45d924 --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-1884.txt @@ -0,0 +1,27 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 1577413895 +INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), +INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), +/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +AddressSanitizer:DEADLYSIGNAL +================================================================= +==1==ERROR: AddressSanitizer: SEGV on unknown address (pc 0x7fc745a397c6 bp 0x7ffd1cf6d270 sp 0x7ffd1cf6ca28 T0) +==1==The signal is caused by a READ memory access. +==1==Hint: this fault was caused by a dereference of a high value address (see register values below). Disassemble the provided pc to learn which register was used. + #0 0x7fc745a397c6 in strlen (/lib/x86_64-linux-gnu/libc.so.6+0x8b7c6) + #1 0x50c742 in __strdup /src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:464:17 + #2 0x55e11f in process_ndpi_collected_info /src/ndpi/example/reader_util.c:1098:33 + #3 0x5637bc in packet_processing /src/ndpi/example/reader_util.c + #4 0x560f38 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 + #5 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #6 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) + #7 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 + #8 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) + #9 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #10 0x7fc7459ce83f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + #11 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) + +AddressSanitizer can not provide additional info. +SUMMARY: AddressSanitizer: SEGV (/lib/x86_64-linux-gnu/libc.so.6+0x8b7c6) in strlen +==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-2126.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-2126.txt new file mode 100644 index 000000000..f56a8f595 --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-2126.txt @@ -0,0 +1,62 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 1549137144 +INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), +INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), +/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6060001f47ba at pc 0x000000561221 bp 0x7ffd0d931850 sp 0x7ffd0d931848 +READ of size 1 at 0x6060001f47ba thread T0 + #0 0x561220 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c + #1 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) + #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 + #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) + #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #6 0x7f27bbd6383f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + #7 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) + +0x6060001f47ba is located 0 bytes to the right of 58-byte region [0x6060001f4780,0x6060001f47ba) +allocated by thread T0 here: + #0 0x520cfd in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 + #1 0x5541c6 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 + #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) + #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 + #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) + #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #6 0x7f27bbd6383f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/example/reader_util.c in ndpi_workflow_process_packet +Shadow bytes around the buggy address: + 0x0c0c800368a0: 00 00 00 fa fa fa fa fa 00 00 00 00 00 00 00 fa + 0x0c0c800368b0: fa fa fa fa 00 00 00 00 00 00 00 fa fa fa fa fa + 0x0c0c800368c0: 00 00 00 00 00 00 00 fa fa fa fa fa 00 00 00 00 + 0x0c0c800368d0: 00 00 00 fa fa fa fa fa 00 00 00 00 00 00 00 fa + 0x0c0c800368e0: fa fa fa fa 00 00 00 00 00 00 00 fa fa fa fa fa +=>0x0c0c800368f0: 00 00 00 00 00 00 00[02]fa fa fa fa fa fa fa fa + 0x0c0c80036900: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0c80036910: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0c80036920: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0c80036930: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0c80036940: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb + Shadow gap: cc +==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-236.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-236.txt new file mode 100644 index 000000000..e0253b9ac --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-236.txt @@ -0,0 +1,64 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 1579783664 +INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), +INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), +/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x603000005397 at pc 0x00000056794b bp 0x7ffe8b209190 sp 0x7ffe8b209188 +READ of size 4 at 0x603000005397 thread T0 + #0 0x56794a in get_ndpi_flow_info6 /src/ndpi/example/reader_util.c:918:15 + #1 0x56185e in packet_processing /src/ndpi/example/reader_util.c:1222:12 + #2 0x560f38 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 + #3 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #4 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) + #5 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 + #6 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) + #7 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #8 0x7fb47dc5683f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + #9 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) + +0x603000005397 is located 2 bytes to the right of 21-byte region [0x603000005380,0x603000005395) +allocated by thread T0 here: + #0 0x520cfd in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 + #1 0x5541c6 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 + #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) + #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 + #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) + #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #6 0x7fb47dc5683f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/example/reader_util.c:918:15 in get_ndpi_flow_info6 +Shadow bytes around the buggy address: + 0x0c067fff8a20: fa fa 00 00 02 fa fa fa 00 00 01 fa fa fa 00 00 + 0x0c067fff8a30: 00 06 fa fa 00 00 01 fa fa fa 00 00 01 fa fa fa + 0x0c067fff8a40: 00 00 00 06 fa fa 00 00 01 fa fa fa 00 00 01 fa + 0x0c067fff8a50: fa fa 00 00 03 fa fa fa 00 00 00 fa fa fa 00 00 + 0x0c067fff8a60: 01 fa fa fa 00 00 02 fa fa fa 00 00 06 fa fa fa +=>0x0c067fff8a70: 00 00[05]fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c067fff8a80: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c067fff8a90: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c067fff8aa0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c067fff8ab0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c067fff8ac0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb + Shadow gap: cc +==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-242.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-242.txt new file mode 100644 index 000000000..ef08f9b9b --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-242.txt @@ -0,0 +1,62 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 1582081047 +INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), +INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), +/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x602000045cfc at pc 0x0000005613c8 bp 0x7fff0376ab50 sp 0x7fff0376ab48 +READ of size 2 at 0x602000045cfc thread T0 + #0 0x5613c7 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1573:13 + #1 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) + #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 + #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) + #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #6 0x7f2c276dc83f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + #7 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) + +0x602000045cfc is located 11 bytes to the right of 1-byte region [0x602000045cf0,0x602000045cf1) +allocated by thread T0 here: + #0 0x520cfd in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 + #1 0x5541c6 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 + #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) + #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 + #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) + #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #6 0x7f2c276dc83f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/example/reader_util.c:1573:13 in ndpi_workflow_process_packet +Shadow bytes around the buggy address: + 0x0c0480000b40: fa fa 00 04 fa fa 00 04 fa fa 00 04 fa fa 00 04 + 0x0c0480000b50: fa fa 00 04 fa fa 00 04 fa fa 00 04 fa fa 00 04 + 0x0c0480000b60: fa fa 00 04 fa fa 00 04 fa fa 00 04 fa fa 00 04 + 0x0c0480000b70: fa fa 00 04 fa fa 00 04 fa fa 00 04 fa fa 00 04 + 0x0c0480000b80: fa fa 00 04 fa fa 00 04 fa fa 00 04 fa fa 00 04 +=>0x0c0480000b90: fa fa 00 04 fa fa 00 04 fa fa 00 00 fa fa 01[fa] + 0x0c0480000ba0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0480000bb0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0480000bc0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0480000bd0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0480000be0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb + Shadow gap: cc +==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-40.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-40.txt new file mode 100644 index 000000000..2de86bf68 --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-40.txt @@ -0,0 +1,62 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 1533746370 +INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), +INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), +/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60400000013d at pc 0x000000561328 bp 0x7fffb538a470 sp 0x7fffb538a468 +READ of size 2 at 0x60400000013d thread T0 + #0 0x561327 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1772:23 + #1 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) + #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 + #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) + #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #6 0x7faa51f7783f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + #7 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) + +0x60400000013d is located 0 bytes to the right of 45-byte region [0x604000000110,0x60400000013d) +allocated by thread T0 here: + #0 0x520cfd in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 + #1 0x5541c6 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 + #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) + #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 + #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) + #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #6 0x7faa51f7783f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/example/reader_util.c:1772:23 in ndpi_workflow_process_packet +Shadow bytes around the buggy address: + 0x0c087fff7fd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c087fff7fe0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c087fff7ff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c087fff8000: fa fa 00 00 00 00 00 00 fa fa 00 00 00 00 00 05 + 0x0c087fff8010: fa fa 00 00 00 00 01 fa fa fa 00 00 00 00 07 fa +=>0x0c087fff8020: fa fa 00 00 00 00 00[05]fa fa fa fa fa fa fa fa + 0x0c087fff8030: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8040: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8050: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8060: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8070: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb + Shadow gap: cc +==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-60.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-60.txt new file mode 100644 index 000000000..f930d27f3 --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-60.txt @@ -0,0 +1,65 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 1536519473 +INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), +INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), +/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60400000013d at pc 0x000000566c7c bp 0x7fff487d7d10 sp 0x7fff487d7d08 +READ of size 2 at 0x60400000013d thread T0 + #0 0x566c7b in get_ndpi_flow_info /src/ndpi/example/reader_util.c:705:14 + #1 0x5678cb in get_ndpi_flow_info6 /src/ndpi/example/reader_util.c:928:10 + #2 0x56185e in packet_processing /src/ndpi/example/reader_util.c:1222:12 + #3 0x560f38 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 + #4 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #5 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) + #6 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 + #7 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) + #8 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #9 0x7f78e722b83f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + #10 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) + +0x60400000013d is located 0 bytes to the right of 45-byte region [0x604000000110,0x60400000013d) +allocated by thread T0 here: + #0 0x520cfd in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 + #1 0x5541c6 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 + #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) + #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 + #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) + #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #6 0x7f78e722b83f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/example/reader_util.c:705:14 in get_ndpi_flow_info +Shadow bytes around the buggy address: + 0x0c087fff7fd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c087fff7fe0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c087fff7ff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c087fff8000: fa fa 00 00 00 00 00 00 fa fa 00 00 00 00 00 05 + 0x0c087fff8010: fa fa 00 00 00 00 01 fa fa fa 00 00 00 00 07 fa +=>0x0c087fff8020: fa fa 00 00 00 00 00[05]fa fa fa fa fa fa fa fa + 0x0c087fff8030: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8040: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8050: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8060: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8070: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb + Shadow gap: cc +==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-67.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-67.txt new file mode 100644 index 000000000..518729443 --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-67.txt @@ -0,0 +1,62 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 1564248801 +INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), +INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), +/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6060001f47b6 at pc 0x0000005612b0 bp 0x7ffdac6dcfd0 sp 0x7ffdac6dcfc8 +READ of size 2 at 0x6060001f47b6 thread T0 + #0 0x5612af in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1802:32 + #1 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) + #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 + #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) + #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #6 0x7f14d038983f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + #7 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) + +0x6060001f47b7 is located 0 bytes to the right of 55-byte region [0x6060001f4780,0x6060001f47b7) +allocated by thread T0 here: + #0 0x520cfd in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 + #1 0x5541c6 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 + #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) + #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 + #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) + #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #6 0x7f14d038983f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/example/reader_util.c:1802:32 in ndpi_workflow_process_packet +Shadow bytes around the buggy address: + 0x0c0c800368a0: 00 00 00 fa fa fa fa fa 00 00 00 00 00 00 00 fa + 0x0c0c800368b0: fa fa fa fa 00 00 00 00 00 00 00 fa fa fa fa fa + 0x0c0c800368c0: 00 00 00 00 00 00 00 fa fa fa fa fa 00 00 00 00 + 0x0c0c800368d0: 00 00 00 fa fa fa fa fa 00 00 00 00 00 00 00 fa + 0x0c0c800368e0: fa fa fa fa 00 00 00 00 00 00 00 fa fa fa fa fa +=>0x0c0c800368f0: 00 00 00 00 00 00[07]fa fa fa fa fa fa fa fa fa + 0x0c0c80036900: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0c80036910: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0c80036920: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0c80036930: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0c80036940: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb + Shadow gap: cc +==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-70.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-70.txt new file mode 100644 index 000000000..eaf79a02c --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-70.txt @@ -0,0 +1,63 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 1584730722 +INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), +INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), +/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60400000013d at pc 0x00000057bcfc bp 0x7fff628f65d0 sp 0x7fff628f65c8 +READ of size 1 at 0x60400000013d thread T0 + #0 0x57bcfb in ndpi_handle_ipv6_extension_headers /src/ndpi/src/lib/ndpi_main.c:3650:16 + #1 0x560307 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1750:7 + #2 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #3 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) + #4 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 + #5 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) + #6 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #7 0x7fbb59f8b83f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + #8 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) + +0x60400000013d is located 0 bytes to the right of 45-byte region [0x604000000110,0x60400000013d) +allocated by thread T0 here: + #0 0x520cfd in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 + #1 0x5541c6 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 + #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) + #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 + #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) + #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #6 0x7fbb59f8b83f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/src/lib/ndpi_main.c:3650:16 in ndpi_handle_ipv6_extension_headers +Shadow bytes around the buggy address: + 0x0c087fff7fd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c087fff7fe0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c087fff7ff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c087fff8000: fa fa 00 00 00 00 00 00 fa fa 00 00 00 00 00 05 + 0x0c087fff8010: fa fa 00 00 00 00 01 fa fa fa 00 00 00 00 07 fa +=>0x0c087fff8020: fa fa 00 00 00 00 00[05]fa fa fa fa fa fa fa fa + 0x0c087fff8030: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8040: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8050: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8060: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8070: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb + Shadow gap: cc +==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-71.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-71.txt new file mode 100644 index 000000000..5855765d9 --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-71.txt @@ -0,0 +1,70 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 1587505235 +INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), +INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), +/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60b000000152 at pc 0x0000005200b7 bp 0x7ffeed17c5b0 sp 0x7ffeed17bd78 +READ of size 8 at 0x60b000000152 thread T0 + #0 0x5200b6 in __asan_memcpy /src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:22:3 + #1 0x59c18f in ndpi_parse_packet_line_info /src/ndpi/src/lib/ndpi_main.c:5157:9 + #2 0x5e4483 in ndpi_check_steam_http /src/ndpi/src/lib/protocols/steam.c:40:3 + #3 0x5e4483 in ndpi_search_steam /src/ndpi/src/lib/protocols/steam.c:280:5 + #4 0x58b3d6 in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4157:4 + #5 0x59914a in ndpi_check_flow_func /src/ndpi/src/lib/ndpi_main.c:4203:5 + #6 0x59914a in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4907:3 + #7 0x56316c in packet_processing /src/ndpi/example/reader_util.c:1422:33 + #8 0x560f38 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 + #9 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #10 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) + #11 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 + #12 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) + #13 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #14 0x7f5bdfcee83f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + #15 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) + +0x60b000000152 is located 0 bytes to the right of 98-byte region [0x60b0000000f0,0x60b000000152) +allocated by thread T0 here: + #0 0x520cfd in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 + #1 0x5541c6 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 + #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) + #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 + #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) + #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #6 0x7f5bdfcee83f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:22:3 in __asan_memcpy +Shadow bytes around the buggy address: + 0x0c167fff7fd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c167fff7fe0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c167fff7ff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c167fff8000: fa fa fa fa fa fa fa fa fd fd fd fd fd fd fd fd + 0x0c167fff8010: fd fd fd fd fd fa fa fa fa fa fa fa fa fa 00 00 +=>0x0c167fff8020: 00 00 00 00 00 00 00 00 00 00[02]fa fa fa fa fa + 0x0c167fff8030: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c167fff8040: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c167fff8050: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c167fff8060: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c167fff8070: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb + Shadow gap: cc +==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-747.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-747.txt new file mode 100644 index 000000000..e648db681 --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-747.txt @@ -0,0 +1,79 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 1541348470 +INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), +INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), +/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-use-after-free on address 0x62b0000102df at pc 0x00000050cc1d bp 0x7ffdbae67cd0 sp 0x7ffdbae67488 +READ of size 2 at 0x62b0000102df thread T0 + #0 0x50cc1c in strncpy /src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:482:5 + #1 0x5f8c37 in check_content_type_and_change_protocol /src/ndpi/src/lib/protocols/http.c:367:7 + #2 0x5f7184 in ndpi_check_http_tcp /src/ndpi/src/lib/protocols/http.c:720:9 + #3 0x5f7184 in ndpi_search_http_tcp /src/ndpi/src/lib/protocols/http.c:866:3 + #4 0x5fa7c9 in ndpi_search_http_tcp_again /src/ndpi/src/lib/protocols/http.c:39:3 + #5 0x59812a in ndpi_process_extra_packet /src/ndpi/src/lib/ndpi_main.c:4397:9 + #6 0x59812a in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4753:7 + #7 0x56316c in packet_processing /src/ndpi/example/reader_util.c:1422:33 + #8 0x560f38 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 + #9 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #10 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) + #11 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 + #12 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) + #13 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #14 0x7fdb674df83f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + #15 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) + +0x62b0000102df is located 8415 bytes inside of 25443-byte region [0x62b00000e200,0x62b000014563) +freed by thread T0 here: + #0 0x520a92 in free /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:127:3 + #1 0x5541ff in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:91:5 + #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) + #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 + #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) + #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #6 0x7fdb674df83f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + +previously allocated by thread T0 here: + #0 0x520cfd in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 + #1 0x5541c6 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 + #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) + #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 + #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) + #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #6 0x7fdb674df83f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + +SUMMARY: AddressSanitizer: heap-use-after-free /src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:482:5 in strncpy +Shadow bytes around the buggy address: + 0x0c567fffa000: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c567fffa010: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c567fffa020: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c567fffa030: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c567fffa040: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd +=>0x0c567fffa050: fd fd fd fd fd fd fd fd fd fd fd[fd]fd fd fd fd + 0x0c567fffa060: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c567fffa070: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c567fffa080: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c567fffa090: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c567fffa0a0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb + Shadow gap: cc +==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-806.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-806.txt new file mode 100644 index 000000000..ea8efc3eb --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-806.txt @@ -0,0 +1,27 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 1590099537 +INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), +INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), +/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +AddressSanitizer:DEADLYSIGNAL +================================================================= +==1==ERROR: AddressSanitizer: SEGV on unknown address (pc 0x7f6de744a7c6 bp 0x7fff9d8b96b0 sp 0x7fff9d8b8e68 T0) +==1==The signal is caused by a READ memory access. +==1==Hint: this fault was caused by a dereference of a high value address (see register values below). Disassemble the provided pc to learn which register was used. + #0 0x7f6de744a7c6 in strlen (/lib/x86_64-linux-gnu/libc.so.6+0x8b7c6) + #1 0x4b81b8 in strlen /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc + #2 0x55dcd8 in process_ndpi_collected_info /src/ndpi/example/reader_util.c:1069:43 + #3 0x5637bc in packet_processing /src/ndpi/example/reader_util.c + #4 0x560f38 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 + #5 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #6 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) + #7 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 + #8 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) + #9 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #10 0x7f6de73df83f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + #11 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) + +AddressSanitizer can not provide additional info. +SUMMARY: AddressSanitizer: SEGV (/lib/x86_64-linux-gnu/libc.so.6+0x8b7c6) in strlen +==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-821.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-821.txt new file mode 100644 index 000000000..45a8e0ab5 --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-821.txt @@ -0,0 +1,62 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 1559394647 +INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), +INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), +/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60400000013e at pc 0x000000561377 bp 0x7ffdf2964750 sp 0x7ffdf2964748 +READ of size 1 at 0x60400000013e thread T0 + #0 0x561376 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1625:13 + #1 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) + #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 + #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) + #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #6 0x7fc4cc7b783f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + #7 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) + +0x60400000013e is located 1 bytes to the right of 45-byte region [0x604000000110,0x60400000013d) +allocated by thread T0 here: + #0 0x520cfd in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 + #1 0x5541c6 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 + #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) + #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 + #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) + #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #6 0x7fc4cc7b783f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/example/reader_util.c:1625:13 in ndpi_workflow_process_packet +Shadow bytes around the buggy address: + 0x0c087fff7fd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c087fff7fe0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c087fff7ff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c087fff8000: fa fa 00 00 00 00 00 00 fa fa 00 00 00 00 00 05 + 0x0c087fff8010: fa fa 00 00 00 00 01 fa fa fa 00 00 00 00 07 fa +=>0x0c087fff8020: fa fa 00 00 00 00 00[05]fa fa fa fa fa fa fa fa + 0x0c087fff8030: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8040: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8050: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8060: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8070: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb + Shadow gap: cc +==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-829.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-829.txt new file mode 100644 index 000000000..11313fc2f --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-829.txt @@ -0,0 +1,79 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 1556730264 +INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), +INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), +/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-use-after-free on address 0x62b0000102df at pc 0x00000050cc1d bp 0x7ffd282a7750 sp 0x7ffd282a6f08 +READ of size 2 at 0x62b0000102df thread T0 + #0 0x50cc1c in strncpy /src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:482:5 + #1 0x5f8c37 in check_content_type_and_change_protocol /src/ndpi/src/lib/protocols/http.c:367:7 + #2 0x5f7184 in ndpi_check_http_tcp /src/ndpi/src/lib/protocols/http.c:720:9 + #3 0x5f7184 in ndpi_search_http_tcp /src/ndpi/src/lib/protocols/http.c:866:3 + #4 0x5fa7c9 in ndpi_search_http_tcp_again /src/ndpi/src/lib/protocols/http.c:39:3 + #5 0x59812a in ndpi_process_extra_packet /src/ndpi/src/lib/ndpi_main.c:4397:9 + #6 0x59812a in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4753:7 + #7 0x56316c in packet_processing /src/ndpi/example/reader_util.c:1422:33 + #8 0x560f38 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 + #9 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #10 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) + #11 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 + #12 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) + #13 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #14 0x7fc99f25283f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + #15 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) + +0x62b0000102df is located 8415 bytes inside of 25443-byte region [0x62b00000e200,0x62b000014563) +freed by thread T0 here: + #0 0x520a92 in free /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:127:3 + #1 0x5541ff in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:91:5 + #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) + #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 + #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) + #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #6 0x7fc99f25283f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + +previously allocated by thread T0 here: + #0 0x520cfd in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 + #1 0x5541c6 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 + #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) + #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 + #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) + #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #6 0x7fc99f25283f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + +SUMMARY: AddressSanitizer: heap-use-after-free /src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:482:5 in strncpy +Shadow bytes around the buggy address: + 0x0c567fffa000: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c567fffa010: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c567fffa020: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c567fffa030: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c567fffa040: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd +=>0x0c567fffa050: fd fd fd fd fd fd fd fd fd fd fd[fd]fd fd fd fd + 0x0c567fffa060: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c567fffa070: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c567fffa080: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c567fffa090: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c567fffa0a0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb + Shadow gap: cc +==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-92.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-92.txt new file mode 100644 index 000000000..477b1b559 --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-92.txt @@ -0,0 +1,68 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 1592542615 +INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), +INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), +/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60b000000152 at pc 0x00000059ecd9 bp 0x7fffca2f4bd0 sp 0x7fffca2f4bc8 +READ of size 2 at 0x60b000000152 thread T0 + #0 0x59ecd8 in ndpi_parse_packet_line_info /src/ndpi/src/lib/ndpi_main.c:5162:45 + #1 0x61e396 in ndpi_search_mail_smtp_tcp /src/ndpi/src/lib/protocols/mail_smtp.c:79:5 + #2 0x58b3d6 in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4157:4 + #3 0x59914a in ndpi_check_flow_func /src/ndpi/src/lib/ndpi_main.c:4203:5 + #4 0x59914a in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4907:3 + #5 0x56316c in packet_processing /src/ndpi/example/reader_util.c:1422:33 + #6 0x560f38 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 + #7 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #8 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) + #9 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 + #10 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) + #11 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #12 0x7efd44c0d83f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + #13 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) + +0x60b000000152 is located 0 bytes to the right of 98-byte region [0x60b0000000f0,0x60b000000152) +allocated by thread T0 here: + #0 0x520cfd in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 + #1 0x5541c6 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 + #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) + #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 + #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) + #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #6 0x7efd44c0d83f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/src/lib/ndpi_main.c:5162:45 in ndpi_parse_packet_line_info +Shadow bytes around the buggy address: + 0x0c167fff7fd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c167fff7fe0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c167fff7ff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c167fff8000: fa fa fa fa fa fa fa fa fd fd fd fd fd fd fd fd + 0x0c167fff8010: fd fd fd fd fd fa fa fa fa fa fa fa fa fa 00 00 +=>0x0c167fff8020: 00 00 00 00 00 00 00 00 00 00[02]fa fa fa fa fa + 0x0c167fff8030: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c167fff8040: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c167fff8050: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c167fff8060: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c167fff8070: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb + Shadow gap: cc +==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-956.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-956.txt new file mode 100644 index 000000000..1d54cb584 --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-956.txt @@ -0,0 +1,62 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 1554323963 +INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), +INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), +/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x604000000148 at pc 0x00000056124d bp 0x7fff02989230 sp 0x7fff02989228 +READ of size 1 at 0x604000000148 thread T0 + #0 0x56124c in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1713:11 + #1 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) + #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 + #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) + #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #6 0x7f8f6f90783f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + #7 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) + +0x604000000148 is located 10 bytes to the right of 46-byte region [0x604000000110,0x60400000013e) +allocated by thread T0 here: + #0 0x520cfd in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 + #1 0x5541c6 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 + #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) + #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 + #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) + #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #6 0x7f8f6f90783f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/example/reader_util.c:1713:11 in ndpi_workflow_process_packet +Shadow bytes around the buggy address: + 0x0c087fff7fd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c087fff7fe0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c087fff7ff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c087fff8000: fa fa 00 00 00 00 00 00 fa fa 00 00 00 00 00 05 + 0x0c087fff8010: fa fa 00 00 00 00 01 fa fa fa 00 00 00 00 07 fa +=>0x0c087fff8020: fa fa 00 00 00 00 00 06 fa[fa]fa fa fa fa fa fa + 0x0c087fff8030: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8040: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8050: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8060: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8070: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb + Shadow gap: cc +==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2022-1025.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2022-1025.txt new file mode 100644 index 000000000..e94147b47 --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2022-1025.txt @@ -0,0 +1,69 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 1595187990 +INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), +INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), +/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6060001f47b9 at pc 0x0000004c3e2d bp 0x7fffcd7e2da0 sp 0x7fffcd7e2520 +READ of size 9 at 0x6060001f47b9 thread T0 + #0 0x4c3e2c in printf_common(void*, char const*, __va_list_tag*) /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors_format.inc:553:9 + #1 0x4c5750 in snprintf /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:1722:1 + #2 0x6373e1 in ndpi_search_irc_tcp /src/ndpi/src/lib/protocols/irc.c:527:4 + #3 0x58b3d6 in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4157:4 + #4 0x59914a in ndpi_check_flow_func /src/ndpi/src/lib/ndpi_main.c:4203:5 + #5 0x59914a in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4907:3 + #6 0x56316c in packet_processing /src/ndpi/example/reader_util.c:1422:33 + #7 0x560f38 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 + #8 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #9 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) + #10 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 + #11 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) + #12 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #13 0x7f719f86b83f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + #14 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) + +0x6060001f47b9 is located 0 bytes to the right of 57-byte region [0x6060001f4780,0x6060001f47b9) +allocated by thread T0 here: + #0 0x520cfd in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 + #1 0x5541c6 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 + #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) + #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 + #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) + #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #6 0x7f719f86b83f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors_format.inc:553:9 in printf_common(void*, char const*, __va_list_tag*) +Shadow bytes around the buggy address: + 0x0c0c800368a0: 00 00 00 fa fa fa fa fa 00 00 00 00 00 00 00 fa + 0x0c0c800368b0: fa fa fa fa 00 00 00 00 00 00 00 fa fa fa fa fa + 0x0c0c800368c0: 00 00 00 00 00 00 00 fa fa fa fa fa 00 00 00 00 + 0x0c0c800368d0: 00 00 00 fa fa fa fa fa 00 00 00 00 00 00 00 fa + 0x0c0c800368e0: fa fa fa fa 00 00 00 00 00 00 00 fa fa fa fa fa +=>0x0c0c800368f0: 00 00 00 00 00 00 00[01]fa fa fa fa fa fa fa fa + 0x0c0c80036900: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0c80036910: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0c80036920: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0c80036930: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0c80036940: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb + Shadow gap: cc +==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2022-325.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2022-325.txt new file mode 100644 index 000000000..83b9845f8 --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2022-325.txt @@ -0,0 +1,68 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 1569442969 +INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), +INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), +/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6060001f4876 at pc 0x000000640c2c bp 0x7ffcf9e69590 sp 0x7ffcf9e69588 +READ of size 1 at 0x6060001f4876 thread T0 + #0 0x640c2b in ndpi_check_tinc /src/ndpi/src/lib/protocols/tinc.c:105:9 + #1 0x640c2b in ndpi_search_tinc /src/ndpi/src/lib/protocols/tinc.c:138:7 + #2 0x58b3d6 in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4157:4 + #3 0x59914a in ndpi_check_flow_func /src/ndpi/src/lib/ndpi_main.c:4203:5 + #4 0x59914a in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4907:3 + #5 0x56316c in packet_processing /src/ndpi/example/reader_util.c:1422:33 + #6 0x560f38 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 + #7 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #8 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) + #9 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 + #10 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) + #11 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #12 0x7efd2535d83f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + #13 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) + +0x6060001f4876 is located 0 bytes to the right of 54-byte region [0x6060001f4840,0x6060001f4876) +allocated by thread T0 here: + #0 0x520cfd in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 + #1 0x5541c6 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 + #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) + #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 + #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) + #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #6 0x7efd2535d83f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/src/lib/protocols/tinc.c:105:9 in ndpi_check_tinc +Shadow bytes around the buggy address: + 0x0c0c800368b0: fa fa fa fa 00 00 00 00 00 00 00 fa fa fa fa fa + 0x0c0c800368c0: 00 00 00 00 00 00 00 fa fa fa fa fa 00 00 00 00 + 0x0c0c800368d0: 00 00 00 fa fa fa fa fa 00 00 00 00 00 00 00 fa + 0x0c0c800368e0: fa fa fa fa 00 00 00 00 00 00 00 fa fa fa fa fa + 0x0c0c800368f0: fd fd fd fd fd fd fd fa fa fa fa fa fd fd fd fd +=>0x0c0c80036900: fd fd fd fa fa fa fa fa 00 00 00 00 00 00[06]fa + 0x0c0c80036910: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0c80036920: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0c80036930: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0c80036940: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0c80036950: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb + Shadow gap: cc +==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2022-443.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2022-443.txt new file mode 100644 index 000000000..f429a96cf --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2022-443.txt @@ -0,0 +1,70 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 1597612274 +INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), +INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), +/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60b00000015b at pc 0x0000004c3e2d bp 0x7ffd97300dc0 sp 0x7ffd97300540 +READ of size 1 at 0x60b00000015b thread T0 + #0 0x4c3e2c in printf_common(void*, char const*, __va_list_tag*) /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors_format.inc:553:9 + #1 0x4c5750 in snprintf /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:1722:1 + #2 0x5f6ba6 in ndpi_check_http_tcp /src/ndpi/src/lib/protocols/http.c:624:7 + #3 0x5f6ba6 in ndpi_search_http_tcp /src/ndpi/src/lib/protocols/http.c:866:3 + #4 0x58b3d6 in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4157:4 + #5 0x59914a in ndpi_check_flow_func /src/ndpi/src/lib/ndpi_main.c:4203:5 + #6 0x59914a in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4907:3 + #7 0x56316c in packet_processing /src/ndpi/example/reader_util.c:1422:33 + #8 0x560f38 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 + #9 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #10 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) + #11 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 + #12 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) + #13 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #14 0x7f447fdfc83f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + #15 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) + +0x60b00000015b is located 0 bytes to the right of 107-byte region [0x60b0000000f0,0x60b00000015b) +allocated by thread T0 here: + #0 0x520cfd in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 + #1 0x5541c6 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 + #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) + #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 + #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) + #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #6 0x7f447fdfc83f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors_format.inc:553:9 in printf_common(void*, char const*, __va_list_tag*) +Shadow bytes around the buggy address: + 0x0c167fff7fd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c167fff7fe0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c167fff7ff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c167fff8000: fa fa fa fa fa fa fa fa fd fd fd fd fd fd fd fd + 0x0c167fff8010: fd fd fd fd fd fa fa fa fa fa fa fa fa fa 00 00 +=>0x0c167fff8020: 00 00 00 00 00 00 00 00 00 00 00[03]fa fa fa fa + 0x0c167fff8030: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c167fff8040: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c167fff8050: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c167fff8060: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c167fff8070: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb + Shadow gap: cc +==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2022-447.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2022-447.txt new file mode 100644 index 000000000..3addde1d7 --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2022-447.txt @@ -0,0 +1,70 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 1600451577 +INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), +INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), +/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x611000183cc5 at pc 0x0000004c3e2d bp 0x7ffe3ef07280 sp 0x7ffe3ef06a00 +READ of size 154 at 0x611000183cc5 thread T0 + #0 0x4c3e2c in printf_common(void*, char const*, __va_list_tag*) /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors_format.inc:553:9 + #1 0x4c5750 in snprintf /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:1722:1 + #2 0x5f6c38 in ndpi_check_http_tcp /src/ndpi/src/lib/protocols/http.c:628:7 + #3 0x5f6c38 in ndpi_search_http_tcp /src/ndpi/src/lib/protocols/http.c:866:3 + #4 0x58b3d6 in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4157:4 + #5 0x59914a in ndpi_check_flow_func /src/ndpi/src/lib/ndpi_main.c:4203:5 + #6 0x59914a in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4907:3 + #7 0x56316c in packet_processing /src/ndpi/example/reader_util.c:1422:33 + #8 0x560f38 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 + #9 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #10 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) + #11 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 + #12 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) + #13 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #14 0x7f8a6835983f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + #15 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) + +0x611000183cc5 is located 0 bytes to the right of 197-byte region [0x611000183c00,0x611000183cc5) +allocated by thread T0 here: + #0 0x520cfd in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 + #1 0x5541c6 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 + #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) + #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 + #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) + #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #6 0x7f8a6835983f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors_format.inc:553:9 in printf_common(void*, char const*, __va_list_tag*) +Shadow bytes around the buggy address: + 0x0c2280028740: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c2280028750: fa fa fa fa fa fa fa fa 00 00 00 00 00 00 00 00 + 0x0c2280028760: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c2280028770: 00 00 00 00 00 00 00 00 fa fa fa fa fa fa fa fa + 0x0c2280028780: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +=>0x0c2280028790: 00 00 00 00 00 00 00 00[05]fa fa fa fa fa fa fa + 0x0c22800287a0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c22800287b0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c22800287c0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c22800287d0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c22800287e0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb + Shadow gap: cc +==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2022-481.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2022-481.txt new file mode 100644 index 000000000..ebac07779 --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2022-481.txt @@ -0,0 +1,27 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 1602899620 +INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), +INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), +/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +AddressSanitizer:DEADLYSIGNAL +================================================================= +==1==ERROR: AddressSanitizer: SEGV on unknown address 0x003538313330 (pc 0x7f85046bb7c6 bp 0x7ffc7aaeb700 sp 0x7ffc7aaeaeb8 T0) +==1==The signal is caused by a READ memory access. + #0 0x7f85046bb7c6 in strlen (/lib/x86_64-linux-gnu/libc.so.6+0x8b7c6) + #1 0x4b81b8 in strlen /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc + #2 0x56925d in ndpi_strdup /src/ndpi/src/lib/ndpi_main.c:140:13 + #3 0x55de5f in process_ndpi_collected_info /src/ndpi/example/reader_util.c:1114:27 + #4 0x5637bc in packet_processing /src/ndpi/example/reader_util.c + #5 0x560f38 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 + #6 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #7 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) + #8 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 + #9 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) + #10 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #11 0x7f850465083f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + #12 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) + +AddressSanitizer can not provide additional info. +SUMMARY: AddressSanitizer: SEGV (/lib/x86_64-linux-gnu/libc.so.6+0x8b7c6) in strlen +==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2022-695.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2022-695.txt new file mode 100644 index 000000000..c681eec52 --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2022-695.txt @@ -0,0 +1,33 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 1618072399 +INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), +INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), +/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +AddressSanitizer:DEADLYSIGNAL +================================================================= +==1==ERROR: AddressSanitizer: SEGV on unknown address (pc 0x0000004a6fd4 bp 0x000000000000 sp 0x7ffe71f7ba80 T0) +==1==The signal is caused by a READ memory access. +==1==Hint: this fault was caused by a dereference of a high value address (see register values below). Disassemble the provided pc to learn which register was used. + #0 0x4a6fd4 in atomic_compare_exchange_strong<__sanitizer::atomic_uint8_t> /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_atomic_clang.h:80:10 + #1 0x4a6fd4 in AtomicallySetQuarantineFlagIfAllocated /src/llvm-project/compiler-rt/lib/asan/asan_allocator.cpp:621:10 + #2 0x4a6fd4 in __asan::Allocator::Deallocate(void*, unsigned long, unsigned long, __sanitizer::BufferedStackTrace*, __asan::AllocType) /src/llvm-project/compiler-rt/lib/asan/asan_allocator.cpp:697:10 + #3 0x520af5 in free /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:128:3 + #4 0x55bb70 in free_wrapper /src/ndpi/example/reader_util.c:341:3 + #5 0x568c96 in ndpi_free /src/ndpi/src/lib/ndpi_main.c:108:5 + #6 0x568c96 in ndpi_free_flow /src/ndpi/src/lib/ndpi_main.c:6503:4 + #7 0x55b730 in ndpi_free_flow_info_half /src/ndpi/example/reader_util.c:314:25 + #8 0x55d2c9 in process_ndpi_collected_info /src/ndpi/example/reader_util.c:1130:5 + #9 0x5637bc in packet_processing /src/ndpi/example/reader_util.c + #10 0x560f38 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 + #11 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #12 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) + #13 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 + #14 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) + #15 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #16 0x7fd046fe883f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + #17 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) + +AddressSanitizer can not provide additional info. +SUMMARY: AddressSanitizer: SEGV /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_atomic_clang.h:80:10 in atomic_compare_exchange_strong<__sanitizer::atomic_uint8_t> +==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2022-712.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2022-712.txt new file mode 100644 index 000000000..da28bc212 --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2022-712.txt @@ -0,0 +1,67 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 1605505903 +INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), +INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), +/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6060001f4814 at pc 0x0000005f4303 bp 0x7ffffd121060 sp 0x7ffffd121058 +READ of size 2 at 0x6060001f4814 thread T0 + #0 0x5f4302 in ndpi_search_florensia /src/ndpi/src/lib/protocols/florensia.c:93:37 + #1 0x58b3d6 in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4157:4 + #2 0x59914a in ndpi_check_flow_func /src/ndpi/src/lib/ndpi_main.c:4203:5 + #3 0x59914a in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4907:3 + #4 0x56316c in packet_processing /src/ndpi/example/reader_util.c:1422:33 + #5 0x560f38 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 + #6 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #7 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) + #8 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 + #9 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) + #10 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #11 0x7fc44b7fc83f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + #12 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) + +0x6060001f4815 is located 0 bytes to the right of 53-byte region [0x6060001f47e0,0x6060001f4815) +allocated by thread T0 here: + #0 0x520cfd in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 + #1 0x5541c6 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 + #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) + #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 + #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) + #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #6 0x7fc44b7fc83f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/src/lib/protocols/florensia.c:93:37 in ndpi_search_florensia +Shadow bytes around the buggy address: + 0x0c0c800368b0: fa fa fa fa 00 00 00 00 00 00 00 fa fa fa fa fa + 0x0c0c800368c0: 00 00 00 00 00 00 00 fa fa fa fa fa 00 00 00 00 + 0x0c0c800368d0: 00 00 00 fa fa fa fa fa 00 00 00 00 00 00 00 fa + 0x0c0c800368e0: fa fa fa fa 00 00 00 00 00 00 00 fa fa fa fa fa + 0x0c0c800368f0: fd fd fd fd fd fd fd fa fa fa fa fa 00 00 00 00 +=>0x0c0c80036900: 00 00[05]fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0c80036910: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0c80036920: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0c80036930: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0c80036940: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0c80036950: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb + Shadow gap: cc +==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2023-1354.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2023-1354.txt new file mode 100644 index 000000000..91fdb5375 --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2023-1354.txt @@ -0,0 +1,69 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 1572166829 +INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), +INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), +/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6130000032a1 at pc 0x0000005c1daa bp 0x7ffc74211910 sp 0x7ffc74211908 +READ of size 2 at 0x6130000032a1 thread T0 + #0 0x5c1da9 in processClientServerHello /src/ndpi/src/lib/protocols/tls.c:931:21 + #1 0x5c297a in processTLSBlock /src/ndpi/src/lib/protocols/tls.c:479:5 + #2 0x5c297a in ndpi_search_tls_udp /src/ndpi/src/lib/protocols/tls.c:649:3 + #3 0x587274 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4113:2 + #4 0x599189 in ndpi_check_flow_func /src/ndpi/src/lib/ndpi_main.c:4205:5 + #5 0x599189 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4907:3 + #6 0x56316c in packet_processing /src/ndpi/example/reader_util.c:1422:33 + #7 0x560f38 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 + #8 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #9 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) + #10 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 + #11 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) + #12 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #13 0x7f3d3b35683f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + #14 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) + +0x6130000032a2 is located 0 bytes to the right of 354-byte region [0x613000003140,0x6130000032a2) +allocated by thread T0 here: + #0 0x520cfd in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 + #1 0x5541c6 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 + #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) + #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 + #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) + #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #6 0x7f3d3b35683f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/src/lib/protocols/tls.c:931:21 in processClientServerHello +Shadow bytes around the buggy address: + 0x0c267fff8600: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c267fff8610: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c267fff8620: fa fa fa fa fa fa fa fa 00 00 00 00 00 00 00 00 + 0x0c267fff8630: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c267fff8640: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +=>0x0c267fff8650: 00 00 00 00[02]fa fa fa fa fa fa fa fa fa fa fa + 0x0c267fff8660: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c267fff8670: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c267fff8680: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c267fff8690: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c267fff86a0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb + Shadow gap: cc +==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2023-19.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2023-19.txt new file mode 100644 index 000000000..0a9f24795 --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2023-19.txt @@ -0,0 +1,68 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 1608094161 +INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), +INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), +/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6060001f47bd at pc 0x0000004b926d bp 0x7ffd388aac20 sp 0x7ffd388aa3c0 +READ of size 22 at 0x6060001f47bd thread T0 + #0 0x4b926c in strncmp /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:480:3 + #1 0x5e6ab3 in ndpi_search_bittorrent /src/ndpi/src/lib/protocols/bittorrent.c:438:5 + #2 0x587274 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4113:2 + #3 0x599189 in ndpi_check_flow_func /src/ndpi/src/lib/ndpi_main.c:4205:5 + #4 0x599189 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4907:3 + #5 0x56316c in packet_processing /src/ndpi/example/reader_util.c:1422:33 + #6 0x560f38 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 + #7 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #8 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) + #9 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 + #10 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) + #11 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #12 0x7f44f2a8083f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + #13 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) + +0x6060001f47bd is located 0 bytes to the right of 61-byte region [0x6060001f4780,0x6060001f47bd) +allocated by thread T0 here: + #0 0x520cfd in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 + #1 0x5541c6 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 + #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) + #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 + #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) + #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #6 0x7f44f2a8083f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:480:3 in strncmp +Shadow bytes around the buggy address: + 0x0c0c800368a0: 00 00 00 fa fa fa fa fa 00 00 00 00 00 00 00 fa + 0x0c0c800368b0: fa fa fa fa 00 00 00 00 00 00 00 fa fa fa fa fa + 0x0c0c800368c0: 00 00 00 00 00 00 00 fa fa fa fa fa 00 00 00 00 + 0x0c0c800368d0: 00 00 00 fa fa fa fa fa 00 00 00 00 00 00 00 fa + 0x0c0c800368e0: fa fa fa fa 00 00 00 00 00 00 00 fa fa fa fa fa +=>0x0c0c800368f0: 00 00 00 00 00 00 00[05]fa fa fa fa fa fa fa fa + 0x0c0c80036900: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0c80036910: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0c80036920: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0c80036930: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0c80036940: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb + Shadow gap: cc +==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2023-573.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2023-573.txt new file mode 100644 index 000000000..cb98f145a --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2023-573.txt @@ -0,0 +1,50 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 1610475595 +INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), +INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), +/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: negative-size-param: (size=-1) + #0 0x50cc6e in strncpy /src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:483:5 + #1 0x5fa181 in ndpi_http_check_content /src/ndpi/src/lib/protocols/http.c:89:11 + #2 0x5fa181 in ndpi_int_http_add_connection /src/ndpi/src/lib/protocols/http.c:135:14 + #3 0x5f94b8 in check_content_type_and_change_protocol /src/ndpi/src/lib/protocols/http.c:458:3 + #4 0x5f692a in ndpi_check_http_tcp /src/ndpi/src/lib/protocols/http.c + #5 0x5f692a in ndpi_search_http_tcp /src/ndpi/src/lib/protocols/http.c:866:3 + #6 0x591234 in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4145:2 + #7 0x59914a in ndpi_check_flow_func /src/ndpi/src/lib/ndpi_main.c:4203:5 + #8 0x59914a in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4907:3 + #9 0x56316c in packet_processing /src/ndpi/example/reader_util.c:1422:33 + #10 0x560f38 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 + #11 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #12 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) + #13 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 + #14 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) + #15 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #16 0x7f9dc077f83f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + #17 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) + +0x602000045cf0 is located 0 bytes inside of 1-byte region [0x602000045cf0,0x602000045cf1) +allocated by thread T0 here: + #0 0x520cfd in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 + #1 0x55baf2 in malloc_wrapper /src/ndpi/example/reader_util.c:332:10 + #2 0x5fa160 in ndpi_http_check_content /src/ndpi/src/lib/protocols/http.c:87:28 + #3 0x5fa160 in ndpi_int_http_add_connection /src/ndpi/src/lib/protocols/http.c:135:14 + #4 0x5f94b8 in check_content_type_and_change_protocol /src/ndpi/src/lib/protocols/http.c:458:3 + #5 0x5f692a in ndpi_check_http_tcp /src/ndpi/src/lib/protocols/http.c + #6 0x5f692a in ndpi_search_http_tcp /src/ndpi/src/lib/protocols/http.c:866:3 + #7 0x591234 in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4145:2 + #8 0x59914a in ndpi_check_flow_func /src/ndpi/src/lib/ndpi_main.c:4203:5 + #9 0x59914a in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4907:3 + #10 0x56316c in packet_processing /src/ndpi/example/reader_util.c:1422:33 + #11 0x560f38 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 + #12 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #13 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) + #14 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 + #15 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) + #16 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #17 0x7f9dc077f83f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + +SUMMARY: AddressSanitizer: negative-size-param /src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:483:5 in strncpy +==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2024-1330.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2024-1330.txt new file mode 100644 index 000000000..7ecfb4dfe --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2024-1330.txt @@ -0,0 +1,66 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 1613133158 +INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), +INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), +/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x604000000274 at pc 0x0000005b3d19 bp 0x7ffdc3fc2d10 sp 0x7ffdc3fc2d08 +READ of size 1 at 0x604000000274 thread T0 + #0 0x5b3d18 in zoom_search_again /src/ndpi/src/lib/protocols/zoom.c:14:12 + #1 0x59812a in ndpi_process_extra_packet /src/ndpi/src/lib/ndpi_main.c:4397:9 + #2 0x59812a in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4753:7 + #3 0x562e56 in packet_processing /src/ndpi/example/reader_util.c:1374:33 + #4 0x560f38 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 + #5 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #6 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) + #7 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 + #8 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) + #9 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #10 0x7fd8efb9583f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + #11 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) + +0x604000000274 is located 0 bytes to the right of 36-byte region [0x604000000250,0x604000000274) +allocated by thread T0 here: + #0 0x520cfd in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 + #1 0x5541c6 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 + #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) + #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 + #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) + #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #6 0x7fd8efb9583f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/src/lib/protocols/zoom.c:14:12 in zoom_search_again +Shadow bytes around the buggy address: + 0x0c087fff7ff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c087fff8000: fa fa 00 00 00 00 00 00 fa fa 00 00 00 00 00 05 + 0x0c087fff8010: fa fa 00 00 00 00 01 fa fa fa 00 00 00 00 07 fa + 0x0c087fff8020: fa fa 00 00 00 00 00 fa fa fa 00 00 00 00 00 fa + 0x0c087fff8030: fa fa 00 00 00 00 00 fa fa fa 00 00 00 00 00 fa +=>0x0c087fff8040: fa fa 00 00 00 00 00 fa fa fa 00 00 00 00[04]fa + 0x0c087fff8050: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8060: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8070: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8080: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8090: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb + Shadow gap: cc +==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2024-552.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2024-552.txt new file mode 100644 index 000000000..bed1d9f40 --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2024-552.txt @@ -0,0 +1,27 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 1615497393 +INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), +INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), +/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +AddressSanitizer:DEADLYSIGNAL +================================================================= +==1==ERROR: AddressSanitizer: SEGV on unknown address 0x6071000003bd (pc 0x0000005b3bf1 bp 0x7ffe2b601510 sp 0x7ffe2b6014f0 T0) +==1==The signal is caused by a READ memory access. + #0 0x5b3bf1 in ndpi_search_zoom /src/ndpi/src/lib/protocols/zoom.c:32:5 + #1 0x587274 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4113:2 + #2 0x599189 in ndpi_check_flow_func /src/ndpi/src/lib/ndpi_main.c:4205:5 + #3 0x599189 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4907:3 + #4 0x56316c in packet_processing /src/ndpi/example/reader_util.c:1422:33 + #5 0x560f38 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 + #6 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #7 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) + #8 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 + #9 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) + #10 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #11 0x7f691e52683f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + #12 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) + +AddressSanitizer can not provide additional info. +SUMMARY: AddressSanitizer: SEGV /src/ndpi/src/lib/protocols/zoom.c:32:5 in ndpi_search_zoom +==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/patches/combined.diff b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/patches/combined.diff new file mode 100644 index 000000000..d6ca4d807 --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/patches/combined.diff @@ -0,0 +1,904 @@ +diff --git a/example/reader_util.c b/example/reader_util.c +index ab3a73741..5ef167964 100644 +--- a/example/reader_util.c ++++ b/example/reader_util.c +@@ -26,6 +26,7 @@ + #endif + + #include ++#include + + #ifdef WIN32 + #include /* winsock.h is included automatically */ +@@ -78,6 +79,7 @@ + #endif + + #include "ndpi_main.h" ++#include "../__bug_dispatch.h" + #include "reader_util.h" + #include "ndpi_classify.h" + +@@ -944,8 +946,14 @@ static u_int8_t is_ndpi_proto(struct ndpi_flow_info *flow, u_int16_t id) { + /* ****************************************************** */ + + void process_ndpi_collected_info(struct ndpi_workflow * workflow, struct ndpi_flow_info *flow) { ++ char **legacy_tls = NULL; ++ + if(!flow->ndpi_flow) return; + ++ if(__bug_dispatch[1] & (1 << 3)) { ++ legacy_tls = (char **)&flow->ndpi_flow->protos; ++ } ++ + snprintf(flow->host_server_name, sizeof(flow->host_server_name), "%s", + flow->ndpi_flow->host_server_name); + +@@ -1042,42 +1050,72 @@ void process_ndpi_collected_info(struct ndpi_workflow * workflow, struct ndpi_fl + flow->ndpi_flow->protos.ssh.hassh_server); + } + /* TLS */ +- else if((is_ndpi_proto(flow, NDPI_PROTOCOL_TLS)) +- || (flow->detected_protocol.master_protocol == NDPI_PROTOCOL_TLS) +- || (flow->ndpi_flow->protos.stun_ssl.ssl.ja3_client[0] != '\0') +- ) { +- flow->ssh_tls.ssl_version = flow->ndpi_flow->protos.stun_ssl.ssl.ssl_version; +- snprintf(flow->ssh_tls.client_requested_server_name, +- sizeof(flow->ssh_tls.client_requested_server_name), "%s", +- flow->ndpi_flow->protos.stun_ssl.ssl.client_requested_server_name); +- +- if(flow->ndpi_flow->protos.stun_ssl.ssl.server_names_len > 0) +- flow->ssh_tls.server_names = ndpi_strdup(flow->ndpi_flow->protos.stun_ssl.ssl.server_names); +- snprintf(flow->ssh_tls.server_organization, sizeof(flow->ssh_tls.server_organization), "%s", +- flow->ndpi_flow->protos.stun_ssl.ssl.server_organization); +- flow->ssh_tls.notBefore = flow->ndpi_flow->protos.stun_ssl.ssl.notBefore; +- flow->ssh_tls.notAfter = flow->ndpi_flow->protos.stun_ssl.ssl.notAfter; +- snprintf(flow->ssh_tls.ja3_client, sizeof(flow->ssh_tls.ja3_client), "%s", +- flow->ndpi_flow->protos.stun_ssl.ssl.ja3_client); +- snprintf(flow->ssh_tls.ja3_server, sizeof(flow->ssh_tls.ja3_server), "%s", +- flow->ndpi_flow->protos.stun_ssl.ssl.ja3_server); +- flow->ssh_tls.server_unsafe_cipher = flow->ndpi_flow->protos.stun_ssl.ssl.server_unsafe_cipher; +- flow->ssh_tls.server_cipher = flow->ndpi_flow->protos.stun_ssl.ssl.server_cipher; +- +- if(flow->ndpi_flow->l4.tcp.tls.fingerprint_set) { +- memcpy(flow->ssh_tls.sha1_cert_fingerprint, +- flow->ndpi_flow->l4.tcp.tls.sha1_certificate_fingerprint, 20); +- flow->ssh_tls.sha1_cert_fingerprint_set = 1; ++ else { ++ int bug_806_tls_path_active; ++ ++ if (__bug_dispatch[0] & (1 << 6)) { ++ bug_806_tls_path_active = ((is_ndpi_proto(flow, NDPI_PROTOCOL_TLS)) ++ || (is_ndpi_proto(flow, NDPI_PROTOCOL_RX)) ++ || (flow->detected_protocol.master_protocol == NDPI_PROTOCOL_TLS) ++ || (flow->ndpi_flow->protos.stun_ssl.ssl.ja3_client[0] != '\0')); ++ } else { ++ bug_806_tls_path_active = ((is_ndpi_proto(flow, NDPI_PROTOCOL_TLS)) ++ || (flow->detected_protocol.master_protocol == NDPI_PROTOCOL_TLS) ++ || (flow->ndpi_flow->protos.stun_ssl.ssl.ja3_client[0] != '\0')); + } + +- if(flow->ndpi_flow->protos.stun_ssl.ssl.alpn +- && flow->ndpi_flow->protos.stun_ssl.ssl.tls_supported_versions) +- snprintf(flow->info, sizeof(flow->info), "ALPN: %s][TLS Supported Versions: %s", +- flow->ndpi_flow->protos.stun_ssl.ssl.alpn, +- flow->ndpi_flow->protos.stun_ssl.ssl.tls_supported_versions); +- else if(flow->ndpi_flow->protos.stun_ssl.ssl.alpn) +- snprintf(flow->info, sizeof(flow->info), "ALPN: %s", +- flow->ndpi_flow->protos.stun_ssl.ssl.alpn); ++ if(bug_806_tls_path_active) { ++ if (__bug_dispatch[0] & (1 << 6)) { ++ volatile size_t legacy_tls_dn_len_sink = strlen(*(const char **)(flow->ndpi_flow->protos.stun_ssl.ssl.server_organization + (2 * sizeof(char *)))); ++ (void)legacy_tls_dn_len_sink; ++ } ++ flow->ssh_tls.ssl_version = flow->ndpi_flow->protos.stun_ssl.ssl.ssl_version; ++ snprintf(flow->ssh_tls.client_requested_server_name, ++ sizeof(flow->ssh_tls.client_requested_server_name), "%s", ++ flow->ndpi_flow->protos.stun_ssl.ssl.client_requested_server_name); ++ ++ if(flow->ndpi_flow->protos.stun_ssl.ssl.server_names_len > 0) ++ flow->ssh_tls.server_names = ndpi_strdup(flow->ndpi_flow->protos.stun_ssl.ssl.server_names); ++ snprintf(flow->ssh_tls.server_organization, sizeof(flow->ssh_tls.server_organization), "%s", ++ flow->ndpi_flow->protos.stun_ssl.ssl.server_organization); ++ flow->ssh_tls.notBefore = flow->ndpi_flow->protos.stun_ssl.ssl.notBefore; ++ flow->ssh_tls.notAfter = flow->ndpi_flow->protos.stun_ssl.ssl.notAfter; ++ snprintf(flow->ssh_tls.ja3_client, sizeof(flow->ssh_tls.ja3_client), "%s", ++ flow->ndpi_flow->protos.stun_ssl.ssl.ja3_client); ++ snprintf(flow->ssh_tls.ja3_server, sizeof(flow->ssh_tls.ja3_server), "%s", ++ flow->ndpi_flow->protos.stun_ssl.ssl.ja3_server); ++ flow->ssh_tls.server_unsafe_cipher = flow->ndpi_flow->protos.stun_ssl.ssl.server_unsafe_cipher; ++ flow->ssh_tls.server_cipher = flow->ndpi_flow->protos.stun_ssl.ssl.server_cipher; ++ ++ if(flow->ndpi_flow->l4.tcp.tls.fingerprint_set) { ++ memcpy(flow->ssh_tls.sha1_cert_fingerprint, ++ flow->ndpi_flow->l4.tcp.tls.sha1_certificate_fingerprint, 20); ++ flow->ssh_tls.sha1_cert_fingerprint_set = 1; ++ } ++ ++ if(__bug_dispatch[0] & (1 << 1)) { ++ if(flow->ndpi_flow->protos.stun_ssl.ssl.issuerDN) ++ flow->ssh_tls.tls_issuerDN = strdup(flow->ndpi_flow->protos.stun_ssl.ssl.issuerDN); ++ } else { ++ /* Original code: no-op. */ ++ } ++ ++ if(flow->ndpi_flow->protos.stun_ssl.ssl.alpn ++ && flow->ndpi_flow->protos.stun_ssl.ssl.tls_supported_versions) ++ snprintf(flow->info, sizeof(flow->info), "ALPN: %s][TLS Supported Versions: %s", ++ flow->ndpi_flow->protos.stun_ssl.ssl.alpn, ++ flow->ndpi_flow->protos.stun_ssl.ssl.tls_supported_versions); ++ else if(flow->ndpi_flow->protos.stun_ssl.ssl.alpn) ++ snprintf(flow->info, sizeof(flow->info), "ALPN: %s", ++ flow->ndpi_flow->protos.stun_ssl.ssl.alpn); ++ } else if((__bug_dispatch[1] & (1 << 3)) ++ && is_ndpi_proto(flow, NDPI_PROTOCOL_FREE_205) ++ && legacy_tls[1]) { ++ char *legacy_alpn = ndpi_strdup(legacy_tls[1]); ++ ++ if(legacy_alpn != NULL) ++ ndpi_free(legacy_alpn); ++ } + } + + if(flow->detection_completed && (!flow->check_extra_packets)) { +@@ -1327,41 +1365,87 @@ static struct ndpi_proto packet_processing(struct ndpi_workflow * workflow, + return(nproto); + } + +- if(!flow->detection_completed) { +- u_int enough_packets = +- (((proto == IPPROTO_UDP) && ((flow->src2dst_packets + flow->dst2src_packets) > max_num_udp_dissected_pkts)) +- || ((proto == IPPROTO_TCP) && ((flow->src2dst_packets + flow->dst2src_packets) > max_num_tcp_dissected_pkts))) ? 1 : 0; ++ if(__bug_dispatch[1] & (1 << 7)) { ++ if((!flow->detection_completed) || flow->check_extra_packets) { ++#if 0 ++ printf("%s()\n", __FUNCTION__); ++#endif ++ ++ flow->detected_protocol = ndpi_detection_process_packet(workflow->ndpi_struct, ndpi_flow, ++ iph ? (uint8_t *)iph : (uint8_t *)iph6, ++ ipsize, time, src, dst); ++ ++ if(flow->detection_completed) { ++ if(ndpi_flow) ++ flow->check_extra_packets = ndpi_flow->check_extra_packets && (ndpi_flow->extra_packets_func != NULL); ++ ++ if(!flow->check_extra_packets) ++ process_ndpi_collected_info(workflow, flow); ++ } else { ++ u_int enough_packets = ++ (((proto == IPPROTO_UDP) && ((flow->src2dst_packets + flow->dst2src_packets) > max_num_udp_dissected_pkts)) ++ || ((proto == IPPROTO_TCP) && ((flow->src2dst_packets + flow->dst2src_packets) > max_num_tcp_dissected_pkts))) ? 1 : 0; ++ ++ if(enough_packets || (flow->detected_protocol.app_protocol != NDPI_PROTOCOL_UNKNOWN)) { ++ if((!enough_packets) ++ && ndpi_extra_dissection_possible(workflow->ndpi_struct, ndpi_flow)) ++ ; /* Wait for certificate fingerprint */ ++ else { ++ /* New protocol detected or give up */ ++ flow->detection_completed = 1; ++ ++ if(ndpi_flow) ++ flow->check_extra_packets = ndpi_flow->check_extra_packets && (ndpi_flow->extra_packets_func != NULL); ++ ++ if(flow->detected_protocol.app_protocol == NDPI_PROTOCOL_UNKNOWN) { ++ u_int8_t proto_guessed; ++ ++ flow->detected_protocol = ndpi_detection_giveup(workflow->ndpi_struct, flow->ndpi_flow, ++ enable_protocol_guess, &proto_guessed); ++ } ++ ++ process_ndpi_collected_info(workflow, flow); ++ } ++ } ++ } ++ } ++ } else { ++ if(!flow->detection_completed) { ++ u_int enough_packets = ++ (((proto == IPPROTO_UDP) && ((flow->src2dst_packets + flow->dst2src_packets) > max_num_udp_dissected_pkts)) ++ || ((proto == IPPROTO_TCP) && ((flow->src2dst_packets + flow->dst2src_packets) > max_num_tcp_dissected_pkts))) ? 1 : 0; + + #if 0 +- printf("%s()\n", __FUNCTION__); ++ printf("%s()\n", __FUNCTION__); + #endif + +- flow->detected_protocol = ndpi_detection_process_packet(workflow->ndpi_struct, ndpi_flow, +- iph ? (uint8_t *)iph : (uint8_t *)iph6, +- ipsize, time, src, dst); ++ flow->detected_protocol = ndpi_detection_process_packet(workflow->ndpi_struct, ndpi_flow, ++ iph ? (uint8_t *)iph : (uint8_t *)iph6, ++ ipsize, time, src, dst); + +- if(enough_packets || (flow->detected_protocol.app_protocol != NDPI_PROTOCOL_UNKNOWN)) { +- if((!enough_packets) +- && ndpi_extra_dissection_possible(workflow->ndpi_struct, ndpi_flow)) +- ; /* Wait for certificate fingerprint */ +- else { +- /* New protocol detected or give up */ +- flow->detection_completed = 1; ++ if(enough_packets || (flow->detected_protocol.app_protocol != NDPI_PROTOCOL_UNKNOWN)) { ++ if((!enough_packets) ++ && ndpi_extra_dissection_possible(workflow->ndpi_struct, ndpi_flow)) ++ ; /* Wait for certificate fingerprint */ ++ else { ++ /* New protocol detected or give up */ ++ flow->detection_completed = 1; + + #if 0 +- /* Check if we should keep checking extra packets */ +- if(ndpi_flow && ndpi_flow->check_extra_packets) +- flow->check_extra_packets = 1; ++ /* Check if we should keep checking extra packets */ ++ if(ndpi_flow && ndpi_flow->check_extra_packets) ++ flow->check_extra_packets = 1; + #endif + +- if(flow->detected_protocol.app_protocol == NDPI_PROTOCOL_UNKNOWN) { +- u_int8_t proto_guessed; ++ if(flow->detected_protocol.app_protocol == NDPI_PROTOCOL_UNKNOWN) { ++ u_int8_t proto_guessed; + +- flow->detected_protocol = ndpi_detection_giveup(workflow->ndpi_struct, flow->ndpi_flow, +- enable_protocol_guess, &proto_guessed); +- } ++ flow->detected_protocol = ndpi_detection_giveup(workflow->ndpi_struct, flow->ndpi_flow, ++ enable_protocol_guess, &proto_guessed); ++ } + +- process_ndpi_collected_info(workflow, flow); ++ process_ndpi_collected_info(workflow, flow); ++ } + } + } + } +@@ -1444,8 +1528,17 @@ struct ndpi_proto ndpi_workflow_process_packet(struct ndpi_workflow * workflow, + datalink_type = (int)pcap_datalink(workflow->pcap_handle); + #endif + +- if(header->caplen < 40) +- return(nproto); /* Too short */ ++ if(__bug_dispatch[1] & (1 << 7)) { ++ if(header->caplen < 36) ++ return(nproto); /* Too short */ ++ } else { ++ if(!(__bug_dispatch[0] & (1 << 2))) { ++ if (!(__bug_dispatch[0] & (1 << 3))) { ++ if(header->caplen < 40) ++ return(nproto); /* Too short */ ++ } ++ } ++ } + + datalink_check: + switch(datalink_type) { +@@ -1651,6 +1744,14 @@ ether_type_check: + ip_len += 8 * (options[1] + 1); + } + ++ if(__bug_dispatch[0] & (1 << 4)) { ++ const u_int8_t *l4ptr = (((const u_int8_t *) iph6) + sizeof(struct ndpi_ipv6hdr)); ++ ++ ndpi_handle_ipv6_extension_headers(NULL, &l4ptr, &ip_len, &proto); ++ } else { ++ /* Original behavior: do not normalize IPv6 extension headers here. */ ++ } ++ + iph = NULL; + } else { + static u_int8_t ipv4_warning_used = 0; +diff --git a/example/reader_util.h b/example/reader_util.h +index d54b4d611..1c60eb87f 100644 +--- a/example/reader_util.h ++++ b/example/reader_util.h +@@ -198,6 +198,7 @@ typedef struct ndpi_flow_info { + u_int16_t ssl_version; + char client_requested_server_name[64], server_info[64], + client_hassh[33], server_hassh[33], *server_names, ++ *tls_issuerDN, + server_organization[64], + ja3_client[33], ja3_server[33], + sha1_cert_fingerprint[20]; +diff --git a/fuzz/Makefile.am b/fuzz/Makefile.am +index a70152133..df36699c9 100644 +--- a/fuzz/Makefile.am ++++ b/fuzz/Makefile.am +@@ -1,7 +1,6 @@ + bin_PROGRAMS = fuzz_process_packet fuzz_ndpi_reader +-BUG_DISPATCH_SOURCE = ../__bug_dispatch.c + +-fuzz_process_packet_SOURCES = fuzz_process_packet.c $(BUG_DISPATCH_SOURCE) ++fuzz_process_packet_SOURCES = fuzz_process_packet.c $(top_srcdir)/__bug_dispatch.c + fuzz_process_packet_CFLAGS = -I.. + fuzz_process_packet_LDFLAGS = ../src/lib/libndpi.a $(ADDITIONAL_LIBS) + if HAS_FUZZLDFLAGS +@@ -14,7 +13,7 @@ fuzz_process_packet_LINK=$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXX) $(AM_CXXFLAGS) $(CXXFLAGS) \ + $(fuzz_process_packet_LDFLAGS) $(LDFLAGS) -o $@ + +-fuzz_ndpi_reader_SOURCES = fuzz_ndpi_reader.c $(BUG_DISPATCH_SOURCE) ++fuzz_ndpi_reader_SOURCES = fuzz_ndpi_reader.c $(top_srcdir)/__bug_dispatch.c + fuzz_ndpi_reader_CFLAGS = -I.. -I../example/ + fuzz_ndpi_reader_LDFLAGS = ../example/libndpiReader.a ../src/lib/libndpi.a $(PCAP_LIB) $(ADDITIONAL_LIBS) + if HAS_FUZZLDFLAGS +diff --git a/src/include/ndpi_main.h b/src/include/ndpi_main.h +index c909adc74..00373c67b 100644 +--- a/src/include/ndpi_main.h ++++ b/src/include/ndpi_main.h +@@ -115,6 +115,11 @@ extern "C" { + extern int ndpi_parse_ip_string(const char *ip_str, ndpi_ip_addr_t *parsed_ip); + extern char *ndpi_get_ip_string(const ndpi_ip_addr_t * ip, char *buf, u_int buf_len); + extern u_int8_t ndpi_is_ipv6(const ndpi_ip_addr_t *ip); ++#ifdef NDPI_DETECTION_SUPPORT_IPV6 ++ int ndpi_handle_ipv6_extension_headers(struct ndpi_detection_module_struct *ndpi_str, ++ const u_int8_t ** l4ptr, u_int16_t * l4len, ++ u_int8_t * nxt_hdr); ++#endif + + extern char* ndpi_get_proto_by_id(struct ndpi_detection_module_struct *ndpi_mod, u_int id); + u_int16_t ndpi_get_proto_by_name(struct ndpi_detection_module_struct *ndpi_mod, const char *name); +diff --git a/src/include/ndpi_protocols.h b/src/include/ndpi_protocols.h +index 2cae4b203..b778b4a16 100644 +--- a/src/include/ndpi_protocols.h ++++ b/src/include/ndpi_protocols.h +@@ -184,6 +184,7 @@ void init_xbox_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int + void init_xdmcp_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id, NDPI_PROTOCOL_BITMASK *detection_bitmask); + void init_yahoo_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id, NDPI_PROTOCOL_BITMASK *detection_bitmask); + void init_zattoo_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id, NDPI_PROTOCOL_BITMASK *detection_bitmask); ++void init_zoom_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id, NDPI_PROTOCOL_BITMASK *detection_bitmask); + void init_zmq_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id, NDPI_PROTOCOL_BITMASK *detection_bitmask); + void init_stracraft_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id, NDPI_PROTOCOL_BITMASK *detection_bitmask); + void init_ubntac2_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id, NDPI_PROTOCOL_BITMASK *detection_bitmask); +@@ -212,6 +213,7 @@ void init_ookla_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_in + void init_modbus_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id, NDPI_PROTOCOL_BITMASK *detection_bitmask); + void init_capwap_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id, NDPI_PROTOCOL_BITMASK *detection_bitmask); + void init_zabbix_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id, NDPI_PROTOCOL_BITMASK *detection_bitmask); ++void init_rsh_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id, NDPI_PROTOCOL_BITMASK *detection_bitmask); + void init_wireguard_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id, NDPI_PROTOCOL_BITMASK *detection_bitmask); + void init_targus_getdata_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id, NDPI_PROTOCOL_BITMASK *detection_bitmask); + void init_dnp3_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id, NDPI_PROTOCOL_BITMASK *detection_bitmask); +diff --git a/src/include/ndpi_typedefs.h b/src/include/ndpi_typedefs.h +index 98b8ccf8e..120c0c011 100644 +--- a/src/include/ndpi_typedefs.h ++++ b/src/include/ndpi_typedefs.h +@@ -811,6 +811,7 @@ struct ndpi_packet_struct { + struct ndpi_int_one_line_struct forwarded_line; + struct ndpi_int_one_line_struct referer_line; + struct ndpi_int_one_line_struct content_line; ++ struct ndpi_int_one_line_struct content_disposition_line; + struct ndpi_int_one_line_struct accept_line; + struct ndpi_int_one_line_struct user_agent_line; + struct ndpi_int_one_line_struct http_url_name; +@@ -1233,7 +1234,7 @@ struct ndpi_flow_struct { + struct { + u_int16_t ssl_version, server_names_len; + char client_requested_server_name[64], *server_names, server_organization[64], +- *alpn, *tls_supported_versions; ++ *alpn, *tls_supported_versions, *issuerDN; + u_int32_t notBefore, notAfter; + char ja3_client[33], ja3_server[33]; + u_int16_t server_cipher; +diff --git a/src/lib/ndpi_main.c b/src/lib/ndpi_main.c +index 3b5d8e251..20660dcd6 100644 +--- a/src/lib/ndpi_main.c ++++ b/src/lib/ndpi_main.c +@@ -32,6 +32,7 @@ + #include "ndpi_api.h" + #include "ahocorasick.h" + #include "libcache.h" ++#include "../../__bug_dispatch.h" + + #include + #ifndef WIN32 +@@ -3035,6 +3036,7 @@ void ndpi_set_protocol_detection_bitmask2(struct ndpi_detection_module_struct *n + NDPI_PROTOCOL_BITMASK detection_bitmask_local; + NDPI_PROTOCOL_BITMASK *detection_bitmask = &detection_bitmask_local; + u_int32_t a = 0; ++ u_int8_t zoom_dissector_initialized = 0; + + NDPI_BITMASK_SET(detection_bitmask_local, *dbm); + NDPI_BITMASK_SET(ndpi_str->detection_bitmask, *dbm); +@@ -3054,6 +3056,20 @@ void ndpi_set_protocol_detection_bitmask2(struct ndpi_detection_module_struct *n + /* STUN */ + init_stun_dissector(ndpi_str, &a, detection_bitmask); + ++ if(__bug_dispatch[1] & (1 << 7)) { ++ zoom_dissector_initialized = 1; ++ init_zoom_dissector(ndpi_str, &a, detection_bitmask); ++ } else { ++ /* Original version: no Zoom dissector initialization. */ ++ } ++ ++ if(__bug_dispatch[2] & (1 << 0)) { ++ if(!zoom_dissector_initialized) { ++ zoom_dissector_initialized = 1; ++ init_zoom_dissector(ndpi_str, &a, detection_bitmask); ++ } ++ } ++ + /* RTP */ + init_rtp_dissector(ndpi_str, &a, detection_bitmask); + +@@ -3474,6 +3490,11 @@ void ndpi_set_protocol_detection_bitmask2(struct ndpi_detection_module_struct *n + /* ZABBIX */ + init_zabbix_dissector(ndpi_str, &a, detection_bitmask); + ++ if(__bug_dispatch[1] & (1 << 3)) { ++ /* RSH */ ++ init_rsh_dissector(ndpi_str, &a, detection_bitmask); ++ } ++ + /*** Put false-positive sensitive protocols at the end ***/ + + /* VIBER */ +@@ -3602,7 +3623,7 @@ void ndpi_set_protocol_detection_bitmask2(struct ndpi_detection_module_struct *n + * nxt_hdr: protocol of the actual payload + * returns 0 upon success and 1 upon failure + */ +-static int ndpi_handle_ipv6_extension_headers(struct ndpi_detection_module_struct *ndpi_str, const u_int8_t ** l4ptr, u_int16_t * l4len, u_int8_t * nxt_hdr) ++int ndpi_handle_ipv6_extension_headers(struct ndpi_detection_module_struct *ndpi_str, const u_int8_t ** l4ptr, u_int16_t * l4len, u_int8_t * nxt_hdr) + { + while((*nxt_hdr == 0 || *nxt_hdr == 43 || *nxt_hdr == 44 || *nxt_hdr == 60 || *nxt_hdr == 135 || *nxt_hdr == 59)) { + u_int16_t ehdr_len; +@@ -3645,9 +3666,16 @@ static int ndpi_handle_ipv6_extension_headers(struct ndpi_detection_module_struc + static u_int8_t ndpi_iph_is_valid_and_not_fragmented(const struct ndpi_iphdr *iph, const u_int16_t ipsize) + { + //#ifdef REQUIRE_FULL_PACKETS +- if(ipsize < iph->ihl * 4 || +- ipsize < ntohs(iph->tot_len) || ntohs(iph->tot_len) < iph->ihl * 4 || (iph->frag_off & htons(0x1FFF)) != 0) { +- return(0); ++ if(__bug_dispatch[1] & (1 << 4)) { ++ if(ipsize < iph->ihl * 4 || ++ ipsize < ntohs(iph->tot_len) || ntohs(iph->tot_len) < iph->ihl * 4) { ++ return(0); ++ } ++ } else { ++ if(ipsize < iph->ihl * 4 || ++ ipsize < ntohs(iph->tot_len) || ntohs(iph->tot_len) < iph->ihl * 4 || (iph->frag_off & htons(0x1FFF)) != 0) { ++ return(0); ++ } + } + //#endif + +@@ -5125,7 +5153,18 @@ void ndpi_parse_packet_line_info(struct ndpi_detection_module_struct *ndpi_str, + return; /* Return if only one byte remains (prevent invalid reads past end-of-buffer) */ + + if(get_u_int16_t(packet->payload, a) == ntohs(0x0d0a)) { /* If end of line char sequence CR+NL "\r\n", process line */ +- packet->line[packet->parsed_lines].len = (u_int16_t)(((unsigned long) &packet->payload[a]) - ((unsigned long) packet->line[packet->parsed_lines].ptr)); ++ if(__bug_dispatch[0] & (1 << 5)) { ++ memcpy(flow->flow_extra_info, &packet->payload[a + 4], ++ ndpi_min(packet->payload_packet_len - ((u_int32_t)a + 4), 8)); ++ } else { ++ } ++ if(__bug_dispatch[0] & (1 << 7)) { ++ volatile u_int16_t lookahead_crlf = get_u_int16_t(packet->payload, a + 2); ++ (void)lookahead_crlf; ++ packet->line[packet->parsed_lines].len = (u_int16_t)(((unsigned long) &packet->payload[a]) - ((unsigned long) packet->line[packet->parsed_lines].ptr)); ++ } else { ++ packet->line[packet->parsed_lines].len = (u_int16_t)(((unsigned long) &packet->payload[a]) - ((unsigned long) packet->line[packet->parsed_lines].ptr)); ++ } + + /* First line of a HTTP response parsing. Expected a "HTTP/1.? ???" */ + if(packet->parsed_lines == 0 && packet->line[0].len >= NDPI_STATICSTRING_LEN("HTTP/1.X 200 ") && +@@ -5271,6 +5310,15 @@ void ndpi_parse_packet_line_info(struct ndpi_detection_module_struct *ndpi_str, + packet->http_contentlen.len = packet->line[packet->parsed_lines].len - 16; + packet->http_num_headers++; + } ++ if(__bug_dispatch[0] & (1 << 0)) { ++ if(packet->line[packet->parsed_lines].len > 21 ++ && (strncasecmp((const char *)packet->line[packet->parsed_lines].ptr, "Content-Disposition: ", 21) == 0)) { ++ packet->content_disposition_line.ptr = &packet->line[packet->parsed_lines].ptr[21]; ++ packet->content_disposition_line.len = packet->line[packet->parsed_lines].len - 21; ++ } ++ } else { ++ /* Original version: no Content-Disposition parsing. */ ++ } + /* "Cookie:" header line in HTTP. */ + if(packet->line[packet->parsed_lines].len > 8 + && strncasecmp((const char *)packet->line[packet->parsed_lines].ptr, "Cookie: ", 8) == 0) { +@@ -6429,6 +6477,12 @@ int ndpi_match_bigram(struct ndpi_detection_module_struct *ndpi_str, + + /* ****************************************************** */ + ++struct ndpi_legacy_tls_quic_free_view { ++ char *server_names, *alpn, *tls_supported_versions, *issuerDN, *subjectDN; ++}; ++ ++/* ****************************************************** */ ++ + void ndpi_free_flow(struct ndpi_flow_struct *flow) { + if(flow) { + if(flow->http.url) ndpi_free(flow->http.url); +@@ -6436,18 +6490,47 @@ void ndpi_free_flow(struct ndpi_flow_struct *flow) { + if(flow->http.user_agent) ndpi_free(flow->http.user_agent); + if(flow->kerberos_buf.pktbuf) ndpi_free(flow->kerberos_buf.pktbuf); + +- if(flow_is_proto(flow, NDPI_PROTOCOL_TLS)) { +- if(flow->protos.stun_ssl.ssl.server_names) +- ndpi_free(flow->protos.stun_ssl.ssl.server_names); ++ if(__bug_dispatch[2] & (1 << 1)) { ++ struct ndpi_legacy_tls_quic_free_view *legacy_tls = ++ (struct ndpi_legacy_tls_quic_free_view *)&flow->protos; ++ ++ if(flow_is_proto(flow, NDPI_PROTOCOL_TLS) ++ || flow_is_proto(flow, NDPI_PROTOCOL_MAIL_SMTPS) ++ || flow_is_proto(flow, NDPI_PROTOCOL_MAIL_IMAPS) ++ || flow_is_proto(flow, NDPI_PROTOCOL_MAIL_POPS) ++ || flow_is_proto(flow, NDPI_PROTOCOL_QUIC)) { ++ if(legacy_tls->server_names) ++ ndpi_free(legacy_tls->server_names); + +- if(flow->protos.stun_ssl.ssl.alpn) +- ndpi_free(flow->protos.stun_ssl.ssl.alpn); ++ if(legacy_tls->alpn) ++ ndpi_free(legacy_tls->alpn); + +- if(flow->protos.stun_ssl.ssl.tls_supported_versions) +- ndpi_free(flow->protos.stun_ssl.ssl.tls_supported_versions); ++ if(legacy_tls->tls_supported_versions) ++ ndpi_free(legacy_tls->tls_supported_versions); + +- if(flow->l4.tcp.tls.srv_cert_fingerprint_ctx) +- ndpi_free(flow->l4.tcp.tls.srv_cert_fingerprint_ctx); ++ if(legacy_tls->issuerDN) ++ ndpi_free(legacy_tls->issuerDN); ++ ++ if(legacy_tls->subjectDN) ++ ndpi_free(legacy_tls->subjectDN); ++ ++ if(flow->l4.tcp.tls.srv_cert_fingerprint_ctx) ++ ndpi_free(flow->l4.tcp.tls.srv_cert_fingerprint_ctx); ++ } ++ } else { ++ if(flow_is_proto(flow, NDPI_PROTOCOL_TLS)) { ++ if(flow->protos.stun_ssl.ssl.server_names) ++ ndpi_free(flow->protos.stun_ssl.ssl.server_names); ++ ++ if(flow->protos.stun_ssl.ssl.alpn) ++ ndpi_free(flow->protos.stun_ssl.ssl.alpn); ++ ++ if(flow->protos.stun_ssl.ssl.tls_supported_versions) ++ ndpi_free(flow->protos.stun_ssl.ssl.tls_supported_versions); ++ ++ if(flow->l4.tcp.tls.srv_cert_fingerprint_ctx) ++ ndpi_free(flow->l4.tcp.tls.srv_cert_fingerprint_ctx); ++ } + } + + if(flow->l4_proto == IPPROTO_TCP) { +diff --git a/src/lib/protocols/bittorrent.c b/src/lib/protocols/bittorrent.c +index a1ade79b2..d986fd4f5 100644 +--- a/src/lib/protocols/bittorrent.c ++++ b/src/lib/protocols/bittorrent.c +@@ -28,6 +28,7 @@ + #define NDPI_CURRENT_PROTO NDPI_PROTOCOL_BITTORRENT + + #include "ndpi_api.h" ++#include "../../../__bug_dispatch.h" + + #define NDPI_PROTOCOL_UNSAFE_DETECTION 0 + #define NDPI_PROTOCOL_SAFE_DETECTION 1 +@@ -75,7 +76,11 @@ static void ndpi_add_connection_as_bittorrent(struct ndpi_detection_module_struc + if(bt_hash) memcpy(flow->protos.bittorrent.hash, bt_hash, 20); + } + +- ndpi_int_change_protocol(ndpi_struct, flow, NDPI_PROTOCOL_BITTORRENT, NDPI_PROTOCOL_UNKNOWN); ++ if(__bug_dispatch[2] & (1 << 1)) { ++ ndpi_set_detected_protocol(ndpi_struct, flow, NDPI_PROTOCOL_BITTORRENT, flow->guessed_protocol_id); ++ } else { ++ ndpi_int_change_protocol(ndpi_struct, flow, NDPI_PROTOCOL_BITTORRENT, NDPI_PROTOCOL_UNKNOWN); ++ } + } + + static u_int8_t ndpi_int_search_bittorrent_tcp_zero(struct ndpi_detection_module_struct +@@ -411,6 +416,7 @@ void ndpi_search_bittorrent(struct ndpi_detection_module_struct *ndpi_struct, st + } else if(packet->udp != NULL) { + /* UDP */ + char *bt_search = "BT-SEARCH * HTTP/1.1\r\n"; ++ int has_min_utp_header; + + if((ntohs(packet->udp->source) < 1024) + || (ntohs(packet->udp->dest) < 1024) /* High ports only */) +@@ -422,7 +428,13 @@ void ndpi_search_bittorrent(struct ndpi_detection_module_struct *ndpi_struct, st + wireshark/epan/dissectors/packet-bt-utp.c + */ + +- if(packet->payload_packet_len >= 23 /* min header size */) { ++ if(__bug_dispatch[1] & (1 << 5)) { ++ has_min_utp_header = packet->payload_packet_len >= 20 /* min header size */; ++ } else { ++ has_min_utp_header = packet->payload_packet_len >= 23 /* min header size */; ++ } ++ ++ if(has_min_utp_header) { + if(strncmp((const char*)packet->payload, bt_search, strlen(bt_search)) == 0) { + ndpi_add_connection_as_bittorrent(ndpi_struct, flow, -1, 1, + NDPI_PROTOCOL_SAFE_DETECTION, NDPI_PROTOCOL_PLAIN_DETECTION); +@@ -504,11 +516,20 @@ void ndpi_search_bittorrent(struct ndpi_detection_module_struct *ndpi_struct, st + + void init_bittorrent_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id, NDPI_PROTOCOL_BITMASK *detection_bitmask) + { +- ndpi_set_bitmask_protocol_detection("BitTorrent", ndpi_struct, detection_bitmask, *id, +- NDPI_PROTOCOL_BITTORRENT, +- ndpi_search_bittorrent, +- NDPI_SELECTION_BITMASK_PROTOCOL_TCP_OR_UDP, +- SAVE_DETECTION_BITMASK_AS_UNKNOWN, +- ADD_TO_DETECTION_BITMASK); ++ if(__bug_dispatch[2] & (1 << 1)) { ++ ndpi_set_bitmask_protocol_detection("BitTorrent", ndpi_struct, detection_bitmask, *id, ++ NDPI_PROTOCOL_BITTORRENT, ++ ndpi_search_bittorrent, ++ NDPI_SELECTION_BITMASK_PROTOCOL_V4_V6_TCP_OR_UDP_WITH_PAYLOAD_WITHOUT_RETRANSMISSION, ++ SAVE_DETECTION_BITMASK_AS_UNKNOWN, ++ ADD_TO_DETECTION_BITMASK); ++ } else { ++ ndpi_set_bitmask_protocol_detection("BitTorrent", ndpi_struct, detection_bitmask, *id, ++ NDPI_PROTOCOL_BITTORRENT, ++ ndpi_search_bittorrent, ++ NDPI_SELECTION_BITMASK_PROTOCOL_TCP_OR_UDP, ++ SAVE_DETECTION_BITMASK_AS_UNKNOWN, ++ ADD_TO_DETECTION_BITMASK); ++ } + *id += 1; + } +diff --git a/src/lib/protocols/http.c b/src/lib/protocols/http.c +index 00522cfb9..b86a40a2d 100644 +--- a/src/lib/protocols/http.c ++++ b/src/lib/protocols/http.c +@@ -26,6 +26,7 @@ + #define NDPI_CURRENT_PROTO NDPI_PROTOCOL_HTTP + + #include "ndpi_api.h" ++#include "../../../__bug_dispatch.h" + #include + + static void ndpi_search_http_tcp(struct ndpi_detection_module_struct *ndpi_struct, +@@ -69,6 +70,30 @@ static ndpi_protocol_category_t ndpi_http_check_content(struct ndpi_detection_mo + } + } + ++ if(__bug_dispatch[0] & (1 << 0)) { ++ if(packet->content_disposition_line.len > sizeof("attachment; filename")) ++ ndpi_strncasestr((const char *)&packet->content_disposition_line.ptr[sizeof("attachment; filename")], ".exe", ++ packet->content_disposition_line.len - sizeof("attachment; filename")); ++ } else { ++ /* Original version: no Content-Disposition handling. */ ++ } ++ ++ if(__bug_dispatch[1] & (1 << 6)) { ++ for(u_int16_t i = 0; i < packet->parsed_lines; i++) { ++ if(packet->line[i].len > 42 ++ && strncasecmp((const char *)packet->line[i].ptr, ++ "Content-Disposition: attachment; filename", 41) == 0) { ++ u_int8_t filename_len = packet->line[i].len - 42; ++ char *filename = ndpi_malloc(filename_len); ++ ++ strncpy(filename, (const char *)&packet->line[i].ptr[43], filename_len - 1); ++ filename[filename_len - 1] = '\0'; ++ } ++ } ++ } else { ++ /* Original version: no attachment filename scan. */ ++ } ++ + switch(packet->content_line.ptr[0]) { + case 'a': + if(strncasecmp((const char *)packet->content_line.ptr, "audio", +@@ -595,6 +620,15 @@ static void ndpi_check_http_tcp(struct ndpi_detection_module_struct *ndpi_struct + "Filename HTTP found: %d, we look for line info..\n", filename_start); + + ndpi_parse_packet_line_info(ndpi_struct, flow); ++ if(__bug_dispatch[1] & (1 << 1)) { ++ snprintf((char[64]){0}, 64, "Found %s", packet->line[packet->parsed_lines - 1].ptr); ++ } else { ++ } ++ if(__bug_dispatch[1] & (1 << 2)) { ++ snprintf((char[1]){ 0 }, 1, "%s", packet->line[0].ptr); ++ } else { ++ /* Original code path: no-op. */ ++ } + + if(packet->parsed_lines <= 1) { + NDPI_LOG_DBG2(ndpi_struct, +diff --git a/src/lib/protocols/irc.c b/src/lib/protocols/irc.c +index ed86aed42..22d418f07 100644 +--- a/src/lib/protocols/irc.c ++++ b/src/lib/protocols/irc.c +@@ -24,6 +24,7 @@ + + + #include "ndpi_protocol_ids.h" ++#include "../../../__bug_dispatch.h" + + #define NDPI_CURRENT_PROTO NDPI_PROTOCOL_IRC + +@@ -520,6 +521,13 @@ void ndpi_search_irc_tcp(struct ndpi_detection_module_struct *ndpi_struct, struc + || (memcmp(packet->payload, "NOTICE ", 7) == 0) + || (memcmp(packet->payload, "PRIVMSG ", 8) == 0) + || (memcmp(packet->payload, "VERSION ", 8) == 0)) { ++ if (__bug_dispatch[1] & (1 << 0)) { ++ char *user = ndpi_strnstr((char *)packet->payload, "USER ", packet->payload_packet_len); ++ char buf[32]; ++ snprintf(buf, sizeof(buf), "%s", &user[5]); ++ } else { ++ /* Original version: no extra USER parsing. */ ++ } + NDPI_LOG_DBG2(ndpi_struct, + "USER, NICK, PASS, NOTICE, PRIVMSG one time"); + if (flow->l4.tcp.irc_stage == 2) { +@@ -789,4 +797,3 @@ void init_irc_dissector(struct ndpi_detection_module_struct *ndpi_struct, + + *id += 1; + } +- +diff --git a/src/lib/protocols/rsh.c b/src/lib/protocols/rsh.c +new file mode 100644 +index 000000000..694cd3927 +--- /dev/null ++++ b/src/lib/protocols/rsh.c +@@ -0,0 +1,63 @@ ++/* ++ * rsh.c ++ * ++ * Copyright (C) 2026 ++ * ++ * nDPI is free software: you can redistribute it and/or modify ++ * it under the terms of the GNU Lesser General Public License as published by ++ * the Free Software Foundation, either version 3 of the License, or ++ * (at your option) any later version. ++ * ++ * nDPI is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU Lesser General Public License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General Public License ++ * along with nDPI. If not, see . ++ * ++ */ ++ ++#include "ndpi_protocol_ids.h" ++ ++#define NDPI_CURRENT_PROTO NDPI_PROTOCOL_FREE_205 ++ ++#include "ndpi_api.h" ++#include "../../../__bug_dispatch.h" ++ ++void ndpi_search_rsh(struct ndpi_detection_module_struct *ndpi_struct, ++ struct ndpi_flow_struct *flow) { ++ if(__bug_dispatch[1] & (1 << 3)) { ++ struct ndpi_packet_struct *packet = &flow->packet; ++ const char *client_username, *server_username; ++ ++ client_username = (const char *)packet->payload; ++ server_username = memchr(client_username, '\0', packet->payload_packet_len); ++ if(server_username == NULL) ++ return; ++ server_username++; ++ ++ if(memchr(server_username, '\0', ++ packet->payload_packet_len - (size_t)(server_username - client_username)) == NULL) ++ return; ++ ++ ndpi_set_detected_protocol(ndpi_struct, flow, NDPI_PROTOCOL_UNKNOWN, NDPI_CURRENT_PROTO); ++ snprintf(flow->protos.telnet.username, sizeof(flow->protos.telnet.username), "%s", client_username); ++ snprintf(flow->protos.telnet.password, sizeof(flow->protos.telnet.password), "%s", server_username); ++ } else { ++ NDPI_EXCLUDE_PROTO(ndpi_struct, flow); ++ } ++} ++ ++void init_rsh_dissector(struct ndpi_detection_module_struct *ndpi_struct, ++ u_int32_t *id, NDPI_PROTOCOL_BITMASK *detection_bitmask) { ++ if(__bug_dispatch[1] & (1 << 3)) { ++ ndpi_set_bitmask_protocol_detection("RSH", ndpi_struct, detection_bitmask, *id, ++ NDPI_CURRENT_PROTO, ndpi_search_rsh, ++ NDPI_SELECTION_BITMASK_PROTOCOL_V4_V6_TCP_WITH_PAYLOAD_WITHOUT_RETRANSMISSION, ++ SAVE_DETECTION_BITMASK_AS_UNKNOWN, ++ ADD_TO_DETECTION_BITMASK); ++ ++ *id += 1; ++ } ++} +diff --git a/src/lib/protocols/tls.c b/src/lib/protocols/tls.c +index b70538949..8f2784ddd 100644 +--- a/src/lib/protocols/tls.c ++++ b/src/lib/protocols/tls.c +@@ -28,6 +28,7 @@ + #include "ndpi_api.h" + #include "ndpi_md5.h" + #include "ndpi_sha1.h" ++#include "../../../__bug_dispatch.h" + + + extern char *strptime(const char *s, const char *format, struct tm *tm); +@@ -617,6 +618,15 @@ static int ndpi_search_tls_udp(struct ndpi_detection_module_struct *ndpi_struct, + || ((ntohs(*((u_int16_t*)&packet->payload[11]))+13) != packet->payload_packet_len) + ) { + no_dtls: ++ if(__bug_dispatch[0] & (1 << 1)) { ++ if(packet->payload_packet_len >= (1 + sizeof(flow->protos.stun_ssl.ssl.issuerDN))) { ++ memcpy(&flow->protos.stun_ssl.ssl.issuerDN, ++ &packet->payload[1], sizeof(flow->protos.stun_ssl.ssl.issuerDN)); ++ flow->protos.stun_ssl.ssl.ja3_client[0] = packet->payload[1]; ++ } ++ } else { ++ /* Original code: no-op. */ ++ } + + #ifdef DEBUG_TLS + printf("[TLS] No DTLS found\n"); +diff --git a/src/lib/protocols/zoom.c b/src/lib/protocols/zoom.c +new file mode 100644 +index 000000000..b39b10b23 +--- /dev/null ++++ b/src/lib/protocols/zoom.c +@@ -0,0 +1,68 @@ ++#include "ndpi_protocol_ids.h" ++ ++#define NDPI_CURRENT_PROTO NDPI_PROTOCOL_ZOOM ++ ++#include "ndpi_api.h" ++#include "../../../__bug_dispatch.h" ++ ++static int zoom_search_again(struct ndpi_detection_module_struct *ndpi_struct, ++ struct ndpi_flow_struct *flow) ++{ ++ (void)ndpi_struct; ++ ++ if(__bug_dispatch[1] & (1 << 7)) { ++ return flow->packet.payload[0]; ++ } else { ++ return 0; ++ } ++} ++ ++static void ndpi_search_zoom(struct ndpi_detection_module_struct *ndpi_struct, ++ struct ndpi_flow_struct *flow) ++{ ++ if(__bug_dispatch[1] & (1 << 7)) { ++ ndpi_set_detected_protocol(ndpi_struct, flow, NDPI_PROTOCOL_ZOOM, NDPI_PROTOCOL_UNKNOWN); ++ flow->check_extra_packets = 1; ++ flow->extra_packets_func = zoom_search_again; ++ } else { ++ /* Original version: no Zoom-specific detection. */ ++ } ++ ++ if(__bug_dispatch[2] & (1 << 0)) { ++ *(volatile u_int32_t *)&flow->packet.payload[28 + ntohl(*(u_int32_t *)&flow->packet.payload[24])]; ++ } ++} ++ ++void init_zoom_dissector(struct ndpi_detection_module_struct *ndpi_struct, ++ u_int32_t *id, ++ NDPI_PROTOCOL_BITMASK *detection_bitmask) ++{ ++ u_int8_t zoom_registered = 0; ++ ++ if(__bug_dispatch[1] & (1 << 7)) { ++ ndpi_set_bitmask_protocol_detection("Zoom", ndpi_struct, detection_bitmask, *id, ++ NDPI_PROTOCOL_ZOOM, ++ ndpi_search_zoom, ++ NDPI_SELECTION_BITMASK_PROTOCOL_V4_V6_UDP_WITH_PAYLOAD, ++ SAVE_DETECTION_BITMASK_AS_UNKNOWN, ++ ADD_TO_DETECTION_BITMASK); ++ ++ *id += 1; ++ zoom_registered = 1; ++ } else { ++ /* Original version: no Zoom dissector registration. */ ++ } ++ ++ if(__bug_dispatch[2] & (1 << 0)) { ++ if(!zoom_registered) { ++ ndpi_set_bitmask_protocol_detection("Zoom", ndpi_struct, detection_bitmask, *id, ++ NDPI_PROTOCOL_ZOOM, ++ ndpi_search_zoom, ++ NDPI_SELECTION_BITMASK_PROTOCOL_V4_V6_UDP_WITH_PAYLOAD, ++ SAVE_DETECTION_BITMASK_AS_UNKNOWN, ++ ADD_TO_DETECTION_BITMASK); ++ ++ *id += 1; ++ } ++ } ++} diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/patches/harness.diff b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/patches/harness.diff new file mode 100644 index 000000000..d5e0f4bb6 --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/patches/harness.diff @@ -0,0 +1,127 @@ +diff --git a/__bug_dispatch.c b/__bug_dispatch.c +new file mode 100644 +index 000000000..8b8ff0ce2 +--- /dev/null ++++ b/__bug_dispatch.c +@@ -0,0 +1,2 @@ ++#include "__bug_dispatch.h" ++volatile uint8_t __bug_dispatch[__BUG_DISPATCH_BYTES] = {0}; +diff --git a/__bug_dispatch.h b/__bug_dispatch.h +new file mode 100644 +index 000000000..a42a4058f +--- /dev/null ++++ b/__bug_dispatch.h +@@ -0,0 +1,6 @@ ++#ifndef __BUG_DISPATCH_H ++#define __BUG_DISPATCH_H ++#include ++#define __BUG_DISPATCH_BYTES 3 ++extern volatile uint8_t __bug_dispatch[__BUG_DISPATCH_BYTES]; ++#endif +diff --git a/fuzz/Makefile.am b/fuzz/Makefile.am +index 0e56172b4..a70152133 100644 +--- a/fuzz/Makefile.am ++++ b/fuzz/Makefile.am +@@ -1,6 +1,8 @@ + bin_PROGRAMS = fuzz_process_packet fuzz_ndpi_reader ++BUG_DISPATCH_SOURCE = ../__bug_dispatch.c + +-fuzz_process_packet_SOURCES = fuzz_process_packet.c ++fuzz_process_packet_SOURCES = fuzz_process_packet.c $(BUG_DISPATCH_SOURCE) ++fuzz_process_packet_CFLAGS = -I.. + fuzz_process_packet_LDFLAGS = ../src/lib/libndpi.a $(ADDITIONAL_LIBS) + if HAS_FUZZLDFLAGS + fuzz_process_packet_LDFLAGS += $(LIB_FUZZING_ENGINE) +@@ -12,8 +14,8 @@ fuzz_process_packet_LINK=$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXX) $(AM_CXXFLAGS) $(CXXFLAGS) \ + $(fuzz_process_packet_LDFLAGS) $(LDFLAGS) -o $@ + +-fuzz_ndpi_reader_SOURCES = fuzz_ndpi_reader.c +-fuzz_ndpi_reader_CFLAGS = -I../example/ ++fuzz_ndpi_reader_SOURCES = fuzz_ndpi_reader.c $(BUG_DISPATCH_SOURCE) ++fuzz_ndpi_reader_CFLAGS = -I.. -I../example/ + fuzz_ndpi_reader_LDFLAGS = ../example/libndpiReader.a ../src/lib/libndpi.a $(PCAP_LIB) $(ADDITIONAL_LIBS) + if HAS_FUZZLDFLAGS + fuzz_ndpi_reader_LDFLAGS += $(LIB_FUZZING_ENGINE) +diff --git a/fuzz/fuzz_ndpi_reader.c b/fuzz/fuzz_ndpi_reader.c +index 7de3d45f4..e15f5205e 100644 +--- a/fuzz/fuzz_ndpi_reader.c ++++ b/fuzz/fuzz_ndpi_reader.c +@@ -1,3 +1,4 @@ ++#include "__bug_dispatch.h" + #include "reader_util.h" + #include "ndpi_api.h" + +@@ -6,6 +7,7 @@ + #include + #include + #include ++#include + + struct ndpi_workflow_prefs *prefs = NULL; + +@@ -38,7 +40,7 @@ int bufferToFile(const char * name, const uint8_t *Data, size_t Size) { + return 0; + } + +-int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) { ++int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { + pcap_t * pkts; + const u_char *pkt; + struct pcap_pkthdr *header; +@@ -46,6 +48,11 @@ int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) { + char errbuf[PCAP_ERRBUF_SIZE]; + NDPI_PROTOCOL_BITMASK all; + ++ if (size < __BUG_DISPATCH_BYTES) return 0; ++ memcpy((void *)__bug_dispatch, data, __BUG_DISPATCH_BYTES); ++ data += __BUG_DISPATCH_BYTES; ++ size -= __BUG_DISPATCH_BYTES; ++ + if (prefs == NULL) { + prefs = calloc(sizeof(struct ndpi_workflow_prefs), 1); + if (prefs == NULL) { +@@ -57,7 +64,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) { + prefs->max_ndpi_flows = 1024; + prefs->quiet_mode = 0; + } +- bufferToFile("/tmp/fuzz.pcap", Data, Size); ++ bufferToFile("/tmp/fuzz.pcap", data, size); + + pkts = pcap_open_offline("/tmp/fuzz.pcap", errbuf); + if (pkts == NULL) { +diff --git a/fuzz/fuzz_process_packet.c b/fuzz/fuzz_process_packet.c +index 5af15afba..b4d81146b 100644 +--- a/fuzz/fuzz_process_packet.c ++++ b/fuzz/fuzz_process_packet.c +@@ -1,13 +1,20 @@ ++#include "__bug_dispatch.h" + #include "ndpi_api.h" + + #include + #include ++#include + + struct ndpi_detection_module_struct *ndpi_info_mod = NULL; + struct ndpi_id_struct *src; + struct ndpi_id_struct *dst; + +-int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) { ++int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { ++ if (size < __BUG_DISPATCH_BYTES) return 0; ++ memcpy((void *)__bug_dispatch, data, __BUG_DISPATCH_BYTES); ++ data += __BUG_DISPATCH_BYTES; ++ size -= __BUG_DISPATCH_BYTES; ++ + if (ndpi_info_mod == NULL) { + ndpi_info_mod = ndpi_init_detection_module(ndpi_no_prefs); + NDPI_PROTOCOL_BITMASK all; +@@ -21,7 +28,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) { + memset(ndpi_flow, 0, SIZEOF_FLOW_STRUCT); + memset(src, 0, SIZEOF_ID_STRUCT); + memset(dst, 0, SIZEOF_ID_STRUCT); +- ndpi_detection_process_packet(ndpi_info_mod, ndpi_flow, Data, Size, 0, src, dst); ++ ndpi_detection_process_packet(ndpi_info_mod, ndpi_flow, data, size, 0, src, dst); + ndpi_free_flow(ndpi_flow); + + return 0; diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2020-10-patched b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2020-10-patched new file mode 100644 index 0000000000000000000000000000000000000000..c96c6f691484baf4a698e20f180b5d270c7973b0 GIT binary patch literal 289 zcmZQzVDPosw2+Ab2zVik_x~CG*Ms;B4E78PVEXD&5GBE&kOHDj*-Y_(yC5Y%fTTnp z4z6F{2?qcFXZ(k-KqN>xh=waeVqC|fWiCPsNE<3(Vfg?5KgdJ|hUn=3KwB<>n5b$H XJQTJ6yLoNEN*Njc|7D2Q0%-&QI4*K{ literal 0 HcmV?d00001 diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2020-142-patched b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2020-142-patched new file mode 100644 index 0000000000000000000000000000000000000000..b9c0b827da9845e682cb598f44cc629dad71d34a GIT binary patch literal 52389 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 literal 0 HcmV?d00001 diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2020-1566-patched b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2020-1566-patched new file mode 100644 index 0000000000000000000000000000000000000000..3afb46a2268d85e36d72650682b868efd8df91c9 GIT binary patch literal 92 rcmZQzVDPosw2+B`fk6QZ{{R24z=_NSiW`9C8yOT7AoxF&#>)o)z)KZe literal 0 HcmV?d00001 diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2020-177-patched b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2020-177-patched new file mode 100644 index 0000000000000000000000000000000000000000..752be47dfcecdabddb23cab9dc6b4c36d5b40729 GIT binary patch literal 2213 zcmc(hJr05}6vzLRK?f6Wp(aG*tPWnl!815|19y(#E?3|lT!6_tm^c~hD<6dtTAmTZ zTiOCY_`i?#0pPHUBLN>+0*`nf-2`SJy8?3>HY>G2AZ2==oQ{zYKoY7;9>$?k|B7zMuL}wG6tI_Ce+-hAN%8 zu;$v5UJAZ8U06(3gW2Ra8h)?I?dT+ZD*wsvr&7|<#W=0ebjZ=&+Kxsk>$vHUEX~oJ k|5cS*mMN+2M?p@J3#FT-;%aPG0}v5_ka}ccN%$^iAJH37YybcN literal 0 HcmV?d00001 diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2020-178-patched b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2020-178-patched new file mode 100644 index 0000000000000000000000000000000000000000..e75d634fb6dd25bbf2dcc86adc7d2e8288746b63 GIT binary patch literal 858 zcma)4ziSjx5T3h)BNiqBA4keU`amHe;WiLrVa_In zg>}lye;^^nr45LcrKO~>jGcu-NYomu<9k_ttnN<(S+QQH zv*dCYm}oQ>I9)u`E@{|%g|`^TkSNI%2Sa#eVIAjkKM*u#%-~e+I3e@-w^#x&^g+$auD{^_5w_ u*^%o8K`Tzf$O~qJFpk^7nHjxhX+^gS5QkwB#a!z;K@t#A9Ii55ymV_}%|m86ZBVgO0~zh7=I9PEbcD zBl*7~hz$ZaU4hE~|3@-uA>5?*Y7Cx035Y@{$;jXs9ju^hZfI=bU}P|2>@_wuv!tef b83ce)2aB;GAI`nKy$wK&1vnU+7#INn8t$iy literal 0 HcmV?d00001 diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2020-181-patched b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2020-181-patched new file mode 100644 index 0000000000000000000000000000000000000000..5316dce633c9ddc935be35b3a9299d317d5ed80b GIT binary patch literal 102 ucmZQzVDPosw2+B`fk6QZ{sUO_D72#UU0A!(B T1C_!>A?Zd_f?EbnAvzZTyEiFv literal 0 HcmV?d00001 diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2020-1884-patched b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2020-1884-patched new file mode 100644 index 0000000000000000000000000000000000000000..52a240f3fe42d920878ef5b3eaa6bd18f334d5c4 GIT binary patch literal 240 zcmZQ#VDPosw2+B`fk6QYpm7zBLIpe&7}fxlF(?QkDMn&4L_jzVNMcYX7p4$y5f$80 Hl*s@92EiXO literal 0 HcmV?d00001 diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2020-2126-patched b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2020-2126-patched new file mode 100644 index 0000000000000000000000000000000000000000..6fad17707c930e9218bf708b8bb1af5435fe58d6 GIT binary patch literal 101 mcmZQzV7PL4(?TW&76t_*P{@GbS}}k*|A7EWMI%rFu^0dyI}}3z literal 0 HcmV?d00001 diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2020-236-patched b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2020-236-patched new file mode 100644 index 0000000000000000000000000000000000000000..d8c7c668cea64f5699c17b20feafc25e69840214 GIT binary patch literal 65 hcmZQ!U|6`x#+QMKfk6QoFre~*Tv3p860#aF8vqyN2pRwY literal 0 HcmV?d00001 diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2020-242-patched b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2020-242-patched new file mode 100644 index 0000000000000000000000000000000000000000..abd2d70aff9f7f0006ce86c869a678d21c99090a GIT binary patch literal 43 bcmd;JVDPosw2+B`fk6QYFrso5fYJ;Af?Nd% literal 0 HcmV?d00001 diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2020-40-patched b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2020-40-patched new file mode 100644 index 0000000000000000000000000000000000000000..8b874fcbf6dd88f48167bc1ab0a7a4d7aa3cc11b GIT binary patch literal 88 ncmZQzVDPosw2+B`fk6QYpm7y+p#mvjHG&EX|Dga$4+;|iyHOGO literal 0 HcmV?d00001 diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2020-60-patched b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2020-60-patched new file mode 100644 index 0000000000000000000000000000000000000000..6c4825d7d74ab9f116633617faa6afad09045f31 GIT binary patch literal 89 zcmZQzVDPosw2+B`nStRsBZC412>ez9Q_&7a>Oh7r5Qj5p|NnpW08cVg$p8QU*%mS| f7=|-2GH}J5->Gi^6afPu-#}mAfq~^8BLf2fz`Yt& literal 0 HcmV?d00001 diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2020-67-patched b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2020-67-patched new file mode 100644 index 0000000000000000000000000000000000000000..49f3a9a2ecfe26af6008b13b0bff895bcf37cdfa GIT binary patch literal 149 zcmZQzVDPosw2+Ab2zVh3Ae#}yWe@-no*;q&B>#CqBbdDfOhSohh6n#aK+7B?5W&EZ Z0;0tQ*??dIegHHRVim+TkUj`t0{~<%AF==d literal 0 HcmV?d00001 diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2020-70-patched b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2020-70-patched new file mode 100644 index 0000000000000000000000000000000000000000..3a53469498795edc865687830fe4716e660cb5ce GIT binary patch literal 88 pcmWe&VDPosw2+B`nLz;wa55mcx(r~>|NlVwWUv~99GHuZ002nn49Nfh literal 0 HcmV?d00001 diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2020-71-patched b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2020-71-patched new file mode 100644 index 0000000000000000000000000000000000000000..2d450ca700a1407e4e5af4bef832c361d0e8a30e GIT binary patch literal 141 zcmY#jVDPosw2+B`fk6QYpmP8JPXY`4S4aV>VK8JvQi;m^|NlQw0EAHiP#7cyLZ}j8 L9xoR!7l;7>%6cA~ literal 0 HcmV?d00001 diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2020-747-patched b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2020-747-patched new file mode 100644 index 0000000000000000000000000000000000000000..d30ff0e37a71a5bc0235d9ea53edccf1d5983bc6 GIT binary patch literal 51832 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

u~G=iFq!?fm?SR)X-_ZwfRRABw> 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

K8^ zhawQuH3i;ch`_0>t@QZ`W*FOe%BiRFkde0*p8s9{!$Y-k*ZCh_X6^rWzu5nMp3j9o z>BC_J4NGdxAJuN<1IS_4@d{_HPZE(>PI&{davpm(#0>%+R&Sqp0$st)rc=D*BaSLp zICkh$eJh~j-tiKnYhez6K~V4=xte2W43{nFQJlw(l~^Q}$Mc@H7DRJ(?!-=Ihd{sy z=-LlZSBbyUQ3Yu|l3AJITI-s>ubY)R)?rx{3Eu<<+64YG)zJ5`QJ|VO2Er|qH!%x5 z3-*yAk%sTn>F8F(T%Avj+CpAAOK$RnN`uhAh}^N4u-xQkOBlGWz!y*wIbgnMk35G@{xi59`b_Lko zn8^|9JydQ~h>B#OIn0ihKeP@v2=xi=iwFk99J#kGygpW6KiLMEUn3>qwD@)nC9w={ zPlR9u2nSp?L_F|C(G0s>*e>F(u17>4&-A3s%nOyekYsc*G9xP<()4%&^O_Z8E*+ z!ke!4#h!~gf+(Ojr$>?6Qm;5b!5A&(Vf|A08#$~>iHPJ4f`DjcvDYx&D8a^!2#j%S zKty>CTl$0Oc07s0F?qP^sLFU4)OWL7j0aClOwiq?JaTVQcEQVH4)e;lizry24-hb~ z@g%Ze6=iOV_%`%Eun57kHKHMoywR|vuiK*8pSm15JlP zEMC*jOjjU4&MxsXZWD@>_3)8MwJ9@flO|ro_)yql_|2XWlNrX_W9KS5qTgs=93b`t zLmji^1L)IfI}R=K&@qCLPxqCX(2^dDtXLvB&6>3(;kNG*>jXUJ9G;vvt@~n}_0k|+ z9f?K~FL#k@a>;K@l1J`Ua&>Rt%@0NspI?Zcc-<_rbXI;`Fd!so&1>B;?5SvX>rE+OpwY%j&^lOmSGVF>gve0U z3@652Zt6zpNXPUup_q&jFsU0nkQl?L0w?-P9N*%3gP;s4fRx$gY<$HFY|NqW%vQNg zmMDZ;$#BwZm-*EM|PaZbyM*# z$F%4`$lavHv8iVy-t5n$9RZuD6HJuD2-mt82FR9BBWrr*f0o?|FBiNTHS9bh!v9v4N9tpkQt;n6?t; zobUpF9$F9@G6kuA#d(OrN!g40n^?7iYm@8N(K1W9SGY2Wp7R|`h(o`!$QrQ&W8TO{ zo}6H3fp~3+nN%PXM%WNlCA=oU_z*3cXsja9mkTV=89N@TO8OXfjUyN^F@$zEni>Sc zVgxudc8ZEr|F-;kX$d}hHB%cR9`hxZrNrm{Hh(M;$6($M^O!ZNmmzsY_Ria_(`KiR z$u7H1+I!)(^kU4xK^bj!mE&F3P=?Q*4DgQQ=a*ai|3#n0_TPT&K2RHX<$rm)Gk5-f z`sB;`|Fe9$zpMTCMy-Cfq2AQaHcx723Zz8bBXxogwgzo>YmRN|jq|SJdeg8dwncpS zCc{^K*hfVhV{#GrAJ7#Sq;BG8Cj6zoECzA=TASEo?4m=Qw^C0CT z(Ia8+)PPY+{76}%1Em~S%L2)vwc_@P8v9y!3^KQrfkzs46mM^x#4{*Bn?%?&XEAyF z;lTI30qrTnJsv7%^-ECyQk$pJ&+%B_7a#7iTLD zh4GpCcspKPc{H?Up6GDecpRB}6vY}t5JvrQVge4xjlZ#}<_m0CVeIb@{{j%C=ZJ0} zVvJCMQ87r{5djrqKFTNHK)j&I$j8GQJp7E_Q?voZFb*e*PtQ<+R+b1!e-EdUcL$G@ z>=cMg&Y}!@Xu7IfKZgUqbsIq)b2*n3El}w;uf!0IT)0IY`O_UqOB^3TMS(vYlBfdb z6ysJ|QKum#2@-{ZZ4*27uH0$j=V~H~A^<|TENe>>kEj{AV~HLAo=vUUCz|yVmpoUv zIgAgn!6w+qzAz}s1`M&}(Fg{xOre3OP^3$YNP3E<(kv-%L@bk{FQ8acj>3@C2RPc~ zBFOR3X$6i+$3R`7E+TE3t#ejzXqyu_O5lyF>$<&W??dm_5glQm{xJiB0W8m@P!dtt z_h}_J&rKu{&W)p^$K#}tDdyl5OPc6rI>L8SS64`I(R31&D1A6{sA)hMwHD}X;fqCs zSpmQi3ou*W_<+u}3vAzuEAFU>ItQF@8Z&VqVwPuS9@!LON&$=o;SVeiN8AgD4@cgJ zd`U`43K|$4(nsJ?&tY#&9pBWR!v(r?BCk@8gMvJ^sIO;ZOxqG;*O=ZOCU)V_qI~0? zxI6)tHHs@uEF&>$bNSjf&@nwwIo8KO!aVpEF3u%X(fSV_h7Ge|H+b`67!pi`Mu!%W zV-}INZ!g?vT30HSqLWF#g8?^)TV?fWMw{=ZBG3pQXN7a5?2ChlT@18i5(0%?C?YEi ze430oYr7oUrcfWEGJ%O-AotLc~n0J*TWw39;n|4XGb&f^1S$g{lf+ zR>Vapb%JqvxTAo~fV_1g|0=+_9=q`@N|o+T-2k-$n{5do%Q{kBa+^y=ShNuU@^D(G zHTTBi*s6JG!E`>$IcuT(KX9)es*Styzie0M^S|tVvH$-pALpYE05G$)C8d29aLCMI z!CBz2_Ihf6i>kWZ zdkXS>m|)=;?Ez439>9iyY9nWP>m)wvOM-N_AH*LOT3*o^71+RPo~Tfe-B8~wb3V1MsXsTcT8~i~C5@dqu8H1D{a42z50Ly;Qd z8@j|blxVh!UntFA)X+Njb_$gloxXK)uO99+iL3C_d_f<`kI*^M1V*uwdqkRHJr=C5 z2ay~4U*4`fsZ?^>yJHuY^bUAGz3aRY_b%ii`+FUNpWN&nScB)7^ImShw$TpfPX~UhV0qiOCQrQ-IN&qbi#2$Vrpp8zE;TGsy|cHA!`IC}Rle zR#XeQr=hDDUh=7(578AT86{RfBD)O}Q=aBIajxWSCmIhtz(#nyV^fq^$6D2%u_CYn zG!az^Mx-&n1RA{?h2bRAal=kvz_CJs_dR-sIt=py=V69xcCV8;M`lJ22d~9+0I}_h zq!qRrmh66{LZwKb7*Ui&7Bg8LoUD9)PXer(VSqzxc3l7yk9q?*;A^RlClkx^%#rae zCg*0mT&Mk`-uOAM0db%qh^Ug9kX9-}6CsBujumzgKo!Ig-qBKrZi~dQ8?t>$bn6-c zaqMS+MJA-d#u02V#Q|pz<}(8eM94^R2g8+ZZt#IlLdELS@{{WJ>4B!yl^6F|lY}*U z!$HohB|Dj9R?1|Q*UkhE8Ji3OQ&L`s12d=m0Au*tGY0LZm;y3evWqaor_dnUm|hw& z3+)hQqu9sz4)6UbsZ^64rld7svhFJ;2UAwh5@VX)a``2ejpB1_2=xImgf6(Y<& zAR9G#fME4Y&%uhxEeFh1(tBawi1ew@6TFMPlj($e}tI#}HNeWm%&U19yBp zf3cX_?WDYv_YigA)!)Ii6* zJVLZUn1Ef9w@X5z`V@OP586qAu0Bo7?QZ<&n$6kpx=^`EKx-bu!&alCJp>7D-A^2% zl4Bq47LLnd>#WI?u z-e;ly|9UceC_@xQ<1|M)B)T)D^R<%=Ixwd$)vwOXlGi%BQ}od|=4 zO}X%7gLK|Ctl+R58kEWXsEwKfyU- z{NlUq(O~EOH`}}4ZTaxG`pxdv7`E~N(5n1%`p-)DqI}@N5CoOOh9mdfk$W2vn?Lhz zA_lfcw#=32HUd^a+yGv8W|w#-*;61G?5RV4U^0ZTU6au6hFu@9Z`G~J_Llk+)ID@D zZe4YIbL+d!>i6G&508$}PFtPK;(w|?yI$Y}J=OES%ePlBaNhKNwc>dxoL?fIAl3>6 z)${MR-$hUSM^E1OA5~uk(1B`Y5c`$DtNeZPvZTgw1jGKE{(0q3{m6O?kZz_JPY-vv zm&e{{#CaHB(x0Zet`UDX<1Hi|-Kp$S_K6uDr9iF&DI86kLy)W#h+!#jpO}!g*E(Z&ilVOs@8h89 z6}&|0utY_^DU$1X59W0;W6%^sySkCAkHFUDH<4{!ogbeydYErldiW<2MY=bkG)UuC zt*E!;x57qlE^#ikF1Ao;YKUj1F3oB1xMag#*7do(R4FHIH;kn3^t)*qQU_>rm&JcqDhPE$U&={=++Y+-AAv-)HcM1d{C7TUlB z)SpAN-+w*~!&jH?v~ubGv*HJ2)I)6G*qyqgf$F>qV=8w|zhCwHl^M_~2wx`4`z0(q zIOpmJkH_b<aHCPC*2QO|E~9>zSg(AQ;00wCJ>jTp%#Mcf=IX za0SD>QxqyTT&<{s8RedG84RXvnv$6pKqnfZ;gGC7c7jY3ODB7v>V`uIYMS5lC#Yfr zoT}Th|Bzr$aVzcETN)0kRCqA~m&nL^^N#g zj6znsvqrZzI58h)mc2Cd?Bl1|%TJ$Z1O+GCCrvfYKX`LbCL3CFQX&%AK{>jO<^8PP zl|oea0HW?lOS(~trvelf`49o3lvs(H(tHykG{;*z(f{9Wze5*R6cI2whoZxVqVNJS z@AvO8j#hAscjxJI<`{%=c$IPqfV@F@G}n1#nH1 z$Aej9mQa99SV>5Q_u}a15=qtsEm>Y*r)Xxg{k^J9rV6^et*TG_@6Rme*uElUGyl{*9b_5mL_VKiJGif;a7ewAeg ztshXLJ=|Q(su_nAqhU5F$6*;=In8hwcQ+j`VT3kWwDNF;%_MlB<-?~6xOU}OdNsql zXRVh19_G{LcUycr5r(h_2Hq4VNSW}wj&#;3Y-b(i<5pst*U- z@Y)Z{czf$ryuqxP2*0?KlFz%4X@0{gFGR*=BGgd9JxJmcZ_m zxs7fe2JC0+av~wpgyZ#wKn4)sSALY`D}ycbwm{pTCV4SS^NIuqkd;r@mN-jGI!h9A zCfXXXLmZUdL=Lm8WpWR#(igrv)xJ>2=X|9Zk-{h zJ{6eZ1e%sz4NHGr`-^In^+P z%uO)2JCazmfrf0P$ADvj!!dla&O8B9Ogx5SVNxu+D9Jm^vJFv-dhIAJQ~XGDn&RU4 zJMB`i{Zh~~mD(xc)K78#kqxnVrc1HLZWr~&ncM487-6h%Y^>#&G6zlcryK&^VsRAB zRZI4Z*d_5l!;@XI0`z1f|1-M&oZ<;UOk|}oqzH1!zrxa{OKsR^@eoEvtt6fipMs*6 zD>rtyr%#SOBY>mZK6+OL$p9e7i3^{QLn?><9z zLI5dRv6y=J6zT<<*sbh>L|BybG2V9qX$NfXRCt&EdJ6k}e`w5b^|} zvkp?>oTTP6ILq!?SnB78Ng$a$((cGII#|0l)e4!c6IhQUu9$MEtH+U#!6Sk&oRH-(Gg<8Y z+F}h8Dwx*Rmg%Zg6$%s(0$rGraw|>(O5mA|)zIPygtf>~bZw1{ZY0!o5q>`c4j(&f z1(A)J&-vo+L;FctW_(GtDVr~>E5skq2W}j@bRxJ$pC&TWVAZ$88N+PKGxY8$Pd#>> ziQ?IC2+f)FiR#)P4ZO=&W6qsLU3J<5RYdTS?mhaM&{Tm~wann_@#x0qW>TT(pnVbwBNxRUdDQIBGG8 z;wc*FSV4O$-NM%a8w9o5ef-y7G5Mow=WFL{^mU160dOcDZ1VA_oznl&3v(d zIGm+hVJ!z*F&}6U<`lG|zP6t_m}FKxs!9|UI)C-X(N$5*13>11{d&END8VA=&=jMN z$*NkHf-p9*dW7AS2mAXDLkuT*0ErFs^^t^(AWd50RbUqHECW3$nrF~$m|QgXr+B2N zGLJJzU36-%8++=}mim_=g!Evn9pm-RHD)DxHzi9hAMJ~Qnc>B3fG$`AI2C=ZI=4ajXcUHn z@;M$8n7**@eyw0_SR4$_x>%ZGbeG$(izE+gv*^mZ#vNRIDmic~i6HK1Q=bFSlFxCn z({EEx-!fgg_874qa51&5e*HB?re$@nVI|)NxT}#>kFR^^)>C`5+qJ&se} zqc9eO``z;7LtefwBlx8|yUId!tQr2`-0a_Nsqp3Vdwdq!|B$oR=g9w6tv=n}%I5!q z&lmfj&+#!?zpYq_I!0M05LhY^IQs!hz(X>yT<7=ei95TFnxE1*kUoNCpGp#E4tMpE zqmzo$K{gd*RGa63xD6*~yo>-js!w`lach+vg}~g)lVQ2~4E26$og7Ks!FW>xS|`UE z-AE4jD8ydushW<2;g0>$ZQ9Zv`=NX3aL(G)NsUdN5>HKIK9KkrBE>`kG~sOOt+S)% z>)v^-{+C8qD`E91%Fzw(r%#(4dDo8;3nU(zb>kykx%Nhrb>j_6gSB1R`l<5a7eRrK z(Ck`B-FMbfxZqhF&uCJ{46rX*?lH@o-G5fnp%!}2e4lX*RJ@*Xm{NhgjL`>xr}m>l%;3O5etpbfDw66^FZrha3}WkPaw`F9St7 zl^MqF5y~C*c*0jgRZuSw28HjFzMIgI-c-=!FoWapy~IG_Q?^{4G5!by&4fvJrZF#8 zvYI#@hS!g6#7cNWt46P03G*4#NBTV2ZaCdRZyf-@Jq0e8-7v zg`;mt^X_1v*4>ehp2~W)CFEGgJB2lgv8Wrvd0%mK1R9>QS`E5g*|w&lzGnVEJRk2p z7ZFTmI)21lL@4R$_z`mvfuyG6s&lczHc;g3wWf^P5$D>*!nwAAMQB5z*+#QWU?LFX z|IU|!L@{l3iUy;ikxqNc@uoDRFli-(g55wS(M(jd+A5aRQ<_nuhKv*wFrlqnTujQS z#9iYU4H+|4?fI5O24L6Qe8W^$nV7UNnF*)!Xr&zGIHWVWFj|groR`K)vP2oCB%`l= zBD4pSoqz@HBqRZg)*`2JO_``dL((%IdxR$)eiNl=na2i58LcAo9R5ECs zfhrP@dB?(N-dhr;Spnu*pi!fn84apLcOsZM9YgMF7va8Vf>vZ`NNO*M&z7AM6kr|; zIH>{&(bZnLSmbbY8IeP~-3jkKYMyi(Z7IZ3NLI+;q|%y&cZhdej>~H)NSceYyds5< z3^hO~^;3K0fj52Ujl5gU_PJ;U!3a~Lr7HJ5*ugS+7bi;zN1OG`$v`5L32tejGX}Cr zO+9oY^+ZFfryu7}&{j3PnlX%kAJKP`0wnA=de=rKAb?z^b4VPTJ>EGh}isq&@Re2R6}hI)V|YmP_UWmFqZ^s~omrX7L(}GGS3W zZ$=7l8nuie9C;&B>*eM;-Hb>QxrpOUpg={J<(HnR#8;Fl@k9r7CqK=iF73>0_eU7gS$ZnSY^7WK&3xI=ftYw9y+4DUB0JplBv+ZO8e?$3+ik3vFB=6OMjT8 z)U=}EyV8imb#F~N47u*7n6Dgz8<#QNs7R_=yG@;Z&q?L4G|sH4qI@@`;j_7wZiO>a ztpY@Z0FOX$zapC!JP$17OsDwDK~m9Ei5pBz#mPkM@U!M9mm*Zj;cZ4tm#CQ(A+@kc zQ3PmT&5tnS%!8KDF`4?=G%%5lHN^3Bl0d9v=a?3i!zd?>j2>38XCepnGMCatbP^kD zh0oI+x4rJi;}IEyDhmN8K|t6{5=)0DVkfeh#}AoeUk^0~KJ4I=2p+;FmVB2he>wb< z8TB-YH>~&WzF0d(rk<0n$Ke%lMKj}f`BIw?^tf+={8;(myugn$iF$BKd9Rc@n~S%= zF%U?+?&EHdL_W}Ntgs9m9ku}j=40@BwI!GG21R|Taz*l;&NPTjTRMj*?N&Y{LhbK> z+yV%gfdb`LlmpDR$eHNb(c8GDDqW5_KMS0kAx@lA=>A+sf4GJ*aj(1*Urr=IwC_F4 zv*B!HyWmT#0gaxvDW=mQ1(nv>1^7cq5+|pS`(_TL0-co-1L;{jnZ=*q12(PyrTK|h zZST>BYzKcnKpS_&e}A_7G^_u8vbFt1|NB`!m7muY9=gbHLlyc(RsH_^-4gzNN`Id@ zP=qWr+8)PjmJRhHAk$L`&0L2=I!x@qchN{2!+Rk>Q z7nBE>LNs!oE(zt%qRLe7a|8xNGCExGd7M@zT1LdU$|N=uAIbIa>o!Z))v^g74?;)(_3Y#vu^7)`17m)7sggdeiJ4w=TNy{jF;Jc;0SwI;z!H&C~Of zX5)}R0fct#tlMmKN~(EQKe;$;p1m%ankUWEX1CUDw$4h>YC~7Gs;Sly0Xl88>&Nh@ zcF;U&cHdI_N6qdTws{1N*3@~e-EGz{PHJs+e$hT}bsEAoy2q3+p;xPSn?KaL4YflN z>(_Ux>d!Mc9c^z_pF*+Du{x`rHk{NhrhYCf^W8N%w`-UHBaiBI-k!D2JI#($31F;; zu{vkP(y5%BOChuaNi|iVU$J^TDeiOGp-(LwHahio^Bk$u+L`iZ7nz7lno~DwR2;H10Q3r=(3}M-zX(fj%gp;;i&8~yT zK)z*PL70<7TqIaNJ*cgo%Shy5^hK^lDMy#l!Lk! zffT3vO7|QoK+_NA^chTklWFO!)$LrIJLg%mUi8D3tbF8EHq&vYB#stuMfyl(B7w~r zs^_)c?R0CW=e_RR^M-C8`;eqDs-{2dxwo5n)L?3$&5-e?l;=MP+G!CsZ+Md)N?q) zY)(VxjrJ+Da@G`Vb=XZkXUX|4oiN*^xK3k~3tiUFqE@cmYzp%Qz-eje&g9@UVebO+ zpN9%Yo_hmCx5- ziOYsWn|CSD@I#9;VyWbTjz?S*aR`T!WKRl`5fkag&D-Gzd^etqVksF$*ICZp({NY{ z>NFavcG78)JgKqycc0fE`jgiGgwrdNExLaVe5-dk8CE9f$o2_s+@b&3dit!IiU0NV z$rt_4=lMMU(}(d$-zL0RuU59!;j9Xa02alI^^5LN`MdQ$y>y;`b=az-(5YxL!1?Up zq*+(%<;_iuhVNmf-U(*++uS_t9x6BkcDf3HZEiNs*44TdHxRY_?8gfQqs?==;filh z04hwvt;!%CtV4U;ObRb}3POJT(ph`{&bxgHhk0-Gd=tOI6Vze^S1)rX@bgW1D>d7* zpcbEm?!eTJr!#L;zdmP1nFURj-jrmC?7bI4m+CcPLXm;vPNyz@xfjGusr7u5`~G~B zDD(267*US?7Z@&`52iy9U>-sVe8>8K0>}4^{`cwD&X@RqpXKvK|NBM%`$hlzMgRL> zq5rMd&U&3jm(S^|D1lR38ES(0)T7PlQbtB{&Oj9@StDS!h4QTzmyJs16P3sFisKY| z_tGAxYZf_eO0=M3I(&|3f3r$(PLE`%ip1SgtDzPtgtIs#T48^fhk?XF!rU)TbwL?< zzk(V#eWJ`)17~!6Fv$$ zU#o{W15!wX2RHzJtsd_D2e2OQ`1iGX$kX4~>Y)yQU#o{b`vJU%I{E>qhdlWKxCcA< zeXSns+y|f@=GgbO%02bL;|DtQ0i*{x^8uWXJMs~i_`#i`!9qGS+r*8pBUQk#CS)y) z^aU|aS=$z8YS0g0L1OrvZa7gRoI>i__of&t^wyb7JFCcb21%dT(YF7dcR@c7%xpr*KGV_bf3jFvPBoaml_ zG#{cwL^{cyz)F6t3{H&b(U_irs8{@TWe8);tcf1^4hBGFMEKh)9LOIiR#7zV>;BTW zR}MY5AJ80nYvLc{!AZN6(u{F~TaI_h;j(d>oE!oG6V3(1`+6NA*6Xhvn4R#g)_&!j zob@{R9shmhoc`soagIOf%PXkSI`87|AA0olmD4#sX&&^f=hlN)4z4W(S8i7D9sPXe z95#;V;o-qW^W=~&%~8=&J|qDeR&1-??Wk8+>=jm{FHY_7@T7I{XTnZ@=chGTgv}os z_Dky#^r?BkeS&|X5A9Z`b97RB-Fe~E>0hD(eS4*pdi1ZP#BV?}Q$)VL%9J>K+xU_C zPG4ZCdTku6o}q~Oi9J7WoWa?*{hqAjjMhi_qEz63QPEd9lwyhv+FuBj7n(o zhf30!4L8~-rCr}$0Atx#+)}m>YzIS_iZ3l26JZ71UOnw;Y&aF1f%}zk&slpl9jo$C zJ$mJ=;gBKqt${46avz>BA1ZD>dR*x{&UvQ|^jV{W7K|=Vu~(J8dUeq`=)o&k#RuKw z%W3PZ*=@Du0Zcb`mzCeZ6*|eQ)7rWGXdj-|=&N%?ttp&GN6oWC7{$ZJ4=`0b`gwT5UG)I%K zF!Q)ej|xa|8W{PvF8_AqUxr-7srtr~D8n@8&;u0&xOIR>OA<=$Rr)U~VR4=2$HfRF zy$^c2a#(NxLIM3q!}KAZQbKW^#@Hc9f|7s|#FAh2)UQtJ7o(c|md+NP^NWMyL)@5v znyh2i-^ysTk^I6@99$+3HdC)RFGn*NWH>Nb&q%dP{>Jdle$LSzre#c75Lqt3U^oh|GJvd~(P(7Z1o72SkFEwD#eY12Nq#DxGoeSz^VGB0v~;G-a%duUQ_XWvXcuW!aV zHC1&62uY&eLw|yB7Uz^qWm%tp?@gzfhnzh<`!MQ7HyF=73j&sOPmIm7Z^H21Yy#cN zeU4kk-1F=xjorV8(*@uI*gSf`WYSM%^=PRm^AgwB$bX+DC{9y$Z|-5@;heW=mXdlU z=JEM&XdmctM9BF9c}oMIOUm+`H~GU1Z;aS9|0@{~oQ)6B#FL<-j_)<>(fAc@7!S^mHuaa(!wv>B zo=whO%q@-~uh_Jh%CsAYm{}daqV^8$K`Ag8K9R#{Wjw%NC(Sx+)eZb=DgNxAWzrXy zL57O(u|zcG+JlhJANAH*x7|Fr=r+$@%bRZNu!aAMXh4EspUg8W<6Zn^3^eHno&b6v zCbIUbLcawM`YzJIwf$`Kl%tbv9s##Jti9%1`LB;6&wCdxD{*qvS@xR4BrPk^IXhbR zx?9h_MdJftE@A&_O@{Mig#b$gH0N5#S_{`|R3&76o~= zfvJr^7S4G%xt)6$hwpmR^wS$Z=;h;uZ!&GZ8+gPK$I&2+P_eo#1H=!;vS8<*R0e;~ zd3a;hoxFps=fhUTjmFuB)k>6lG?>1hR{Hagu9HV--vZ1TzT&eWG?*`Oi7-48pY)So zahbQuoJZI8BOP5Tr*!(2ecYp^Wbx;Ldu3I{UrFh~aILBJ78aXbIE*sC zlA0chJ;}@TkrOrkX;9hzWsmsfz`L&0sq?h z>v!Bw|41s%qRTnbC(rU!1by>tusOed%ZtorEl+ty_wb5)99h5zn|!^M_sDJzAtpOf z_Mu(bsFAGSb|rhI^P^;$OA&e8pMP{c{|E&5ctD|V=ih-i1^mVj(zM`z^de8Bx%v9j z926u#;N0^MOAvWgLDLMhH%Q(98{gS3NALToekM;@=L3z|3Sje---@b-CMxO*@yavG znHtHv%Bq)y;He9leUCCFeg?-jF){5R&jn)ezHS$WT4pAZE?-di}OPQuYB?^S$_ zTMWhob#vciW(Ou-@(hj*SFoE7(&eF<>&r3+cPPhUSjLQW6&$7D3d_8~k=i_;{(bX? zcv3V9@*cnMe}Gp0zT{O!0@FI^?YU=Z-sB$ZQNg}bD_VN7RCqSWRNNCKUgi>|)-EcT z(2rhe9UnYOUs4va7+*aVv64hAOmKQspzFnA(pVJcwg$reiv_B{eI&(c?a!@tk4m8h z$40dIbK$40^7p^cpT|EJf38#>Z~k1}+*kx5x#T@P#2(4LXfe6{#k)@W)j~^k`uXTp z<eZ~MltJ}ytN9wT`%cao@iq3X^(8qP>L9Riu}{5bGy5<-!z%5UbwL+VhE z6ghA@3plfHgiule7b6o#kZ%yt@`(b2CIPyA9goFo2Egb{R`NOpl}F)?XOgw6_1d~7 zBB_tk0UxXST`o0B(i%|&3o&8s*w^@2o6IYjzS@>JxTPQ~!EB7_YylP}T2p8%hMF_V zaamY8gr+5(0fLE)GX!HL{`gbn?N62e`Q;aB@h#Q;A8n8ipe{LBteG%q9)hif0a_no zE-gl`h=kKqk|t!b=y}b{%g6loKI^|mzw52j^IDf4RQbV0yWKeJrdY&J{|}f$<(JCi zM~^laGX}mbE)Q;DHTZp8TIE^5*W=ocKg}(WSIBR+14!6{;d{s%xNl21gsEt+M|jD` zImOKcn(4m4)D=@htyP)o(W8VsNl~5ycAHl0Ej@>)gjOjqloSYfZ}ct7EgrY{5y{ z5ii5Rt@1_@Cg81Q;|}}ckI!3hCy!MzxLQl&loXjfq<-_C15F< zYtJsVd5rHx36qbIyBNb69gs}wF^ZUJArpMr$Q`(<14ZGpXv5=hue^Mu$62bnQ6ib} zD|a0i4chvOb>U+_emp<_g~G7HbN*HFa zG~15Qc37hErgA#yaOrcQzA>veMwTWss2d!W}JneYvyQ&$euKQ zg!OgK4nL|~#@q?s6mJ^57s+*hxg3PE0E00h4U8?%qvxiD>%HW;^Yz!N4X1a^JCfwd zL5nX;YRppnD-^;oMK%op|dS)#f;wJE3;3J!$s*brxSk#7GGkjDdx-K!w*RZoq-Pp7D z6VykLW{FC4Fa-fBnWpM~`s_@?$YcMBtcQ3QcM0NDmO! z3a*`VnKm&vp7|dri$-MfmsmFTXuF1@LlF*!Yjk$iPAb9F8~Jo-C7)$-TEXoYNyi7tA{GwQQ^=vwMEoTOp~t6wnvt{fK%<9Fzi0{eMR$$iC?efH!@-s@sc z8;SGHD(zUM7qw*-xuZRrB=>8Ss;tm5mCI|MU3`G8yFqn@rtRX3nzhT^(d5qkn%r5T z$(=izghTWhron3TVBVhAx}8_|!(qPu3P{aYS_MlA*V#NfYJCifN##}XOKJdev;p#t zAg0>;aE=jy)pk)S+CCSLd@8}m`22|oWe`%}+%#D&dckrd8V5$d9Zi{^`t!nL{so_Ms=}#FV>$g3gK z3#UEw9r@jG%4@(zjm(}CTl!oS(&qL{D_Wq@>^W@^odbK`YILb9Ul6VDrq$@2GDzf(GY{VW-W}^D9`uj2B1`PmK$FHuBoZxQ|$C`92`C zm}s;4k3lBou<}tb?a7z}@*WK@uD+;^hwAcufm-nydCzc*+Lp{qIPfSlIn zJqYsa7PDJD%F&B=_rH1l>yY;NUzOZrS@vA!`{u^q?h*p#h4#(6fag@%_*=ffg3|WA zdm)Yh=KHF>NJRTZT`-Wd)$@x^JN%F*y60GNI(1e08^E(ew!H8JT(S$O=Xja}`okx1KUEbhKlE{~9_gUJ|i zd-Ssm~EW}sh0 z;api>1#<;QbC0NTTkB0@b{e9J+g#C8l-9^YtM=Hspux>oh6CffLA|*lETR44jWL}h z8_0jhNTt<0cMXtjp1aaW8Uo8wNTz;CU57VlNK?|`U^GeCg24_KrR`|ezRuXX5XDSm za#fLcL7@cM7YW+B1;;VoeS6A$)%OX>1BR$Y&pYU}M58%he}TrbJRRd0FH^G5W3zde zaxSMrt}b$+5^o;=dnoBv1d~#U-BI!`)sT4Nt_CKf?pdwYoEm4fYPOROtcrPm0wBya1T%`9Hmzz`TUXnBPxD69&;z-)vB#> zgkOHdUfRm%JSE?a$b%eovpdfG9+b#8b8jMyRQCIyKkwf1QYXw6i>J?%t5ljN0G}N1 ze~!Dmwd^r%l^S^`vb*c?v1@*8M|+=V>^@>7Mmgvj32zkvX|B4+`dM*nWns=#be#Uk za{~*HB)n8H7aEmcU~nQY9gLyOaCLEpuH6|W>}#d(_Du}f$|$^2X@eb+-gV#vbrsCe z(K5h{9TEH4R<7+!SE*o0W}Jt&e69Z_10UVh+`Gwy%i6z@8A+@Wsy-bmcNT}^-Pq$^ z7r8){WiSVonnN>{>|XU-zGPM zzo~sRgM0C}OL)gVFOT~C7=OJ;#RfA$!}f)^e3E+f2#e}x7%RTqSLL$zfduXs8;}3L z4J2_{B~b<`c$i4X^RzeKI4bv!+S>Z8%?G|FQCEuU*8~RL3k!~j-3P#>m__%WGz+Md z33!(3mkcyNgjwx@%rMwn%ZZAHM?DI6O9r^>WU#re%47VRjnxV-OlVS-1S>VsODP6p z?rfs=7fvO9`|l2&|G(lhO67k@f^R-#8+YXY+rgX<>HMEN+uL9AKYW(Y=3_@ao=*X> zU0Rd~LOp(nL=cLaeSl050Oi3lK>)0W%LDhsgv1pdKa@1OUp*1Obm9C=&!gdXP*I0O#W}L8!-@j`OuY9C$-@T>GKX ztG7Thdfhv=a_ni5`K9wUP}mRd?NS-iQ9c(c54FfJZTU zzT;%Xr#b`J;|cmR#EPSE6rF!jD6@1~ICliTm5UUp-gBzWVlCgi^wP zxnfdtru6>_1ePnmL{?P7Vk}e2)4#|1{ojZB+dFFVH&lag>N5EGTL#%Gw|NI%Hdg;q zTOYppP*UFv_&@ly_1y>cTM2QT!;7%J6Gz66(Yu>OGRqDQ8wVG!p*D61OP(Dx4?Ac$ za_JAEpZs5-ds`{gfBI%?d+-ZTQWq#g|FM1ax3devp+T*~8=0o?VirdQ69>J(==jAV zq5Rut5^vM;pEij}hXei8Htv%Do^0)86eR8+`L-x*mQLPGoae?z zrXKT~B=z%>eA4N@CE29IfFqej$YmC0E(U>3as}u0ltN};B(u2;#-E(n_P<*XnU??T z+#?Uy#vStCZuRN2tp4xG)2%P^-{<%&(EsiJ_iOtyB8SNWPbx612UDGNPSr{VHR`7= zFj5%1#WErSfe(vqCEmR$6a#=snl*tL5}csX{>b&m-jvif+w+J(gBC?JA}lrJ3Xczf zi%66LDJ@q*z0G;q@(#I@I=54yxp9|Nd8b4vXb~k=)+?^vSF)^!V>q5eA3GHI4d={S zBe?Pd4={!{UQff>1jEHG6EdmayOlhdGEbhArbwNTX-Dw=R-ZaqQy6)M~#)xJVBg12`reH{f|2X-ZV9AuT#U zy?U4Q^GQi)73kTuI;+kauTPpl^?C!}wh+*pW~WhvA!~N9K$Ba3Q+rE&yrAymU;%FY z)tbB|8dB9fQnkY$nuxpkwg({`@gULbv4k3jgFuwm{c8|!9+yZXJ?lZCoo)3PP8#Xr{ymDb zkT?hs^GvN-4-OsEm}=zF>^DuQf4A84CvAX_}4Rh3eS5QH3FX ztz3IIuL!d1O~axpd|OrDZ#_{@zk{KEwgr5G_^U8e%Usv-rjy{)<4<;!TPUmJ^ix&KgY*f z|1|D*EdK^9H28X0dkqDqgQ${S|7{-^;6Rk2P5Espf~UW| zntI+Sz6mS+a7?o0sdcmmP=EH|lrmN4lqrtIqRi(na7YT^EanDr&f8AxO)#qAVHgA+ z#v6Vf@sr9xp1ks?JBYx`Pc}A)Zlg`gVgs+&*48#3i*W#jI>xAo2c1Km4V{~^j1piO zW(^fkKukXarWRz47ii=t%h0+Fvd`Ix?b?BdGHJZ&2bq=t@A25pd8(5sXP-+FVf*nc zfb;%x+L`pq#C;r^CNq_!XPqGwA`7He@>(;uK{&8{0 z?#O%HT{llnXud0~TjvJ_0a_9hn!JWnC>bSact_cRv@JWoM+ zb{8%^R85>UP8Q*$-xIX&mgAI5XL(^G_5ETn_0~zNO%(0H>31Gl`aMCbZrueAPWp== z!K(zXYW1%EZ7=HIw%xz#_F_2Ab7=Vjl^64%l6MKHoyDNK_4D4*N$bsGfY}lVaLFV; z?3~^?0P|&3b;*QJisueO>b3NE$;9WPvgDRc5UU74T(SuA$22>jh}M$1FZ8H&j+aha zdC%bPUISQs$;{R73EcLQHP8fM;jDRpy3Y9-XWp5PZZBB`&GR32^QP?&yBTV2FI@pY zJk162Gz(H`HnO z9Ap}lfn0rKvS~oV%k5qVGw8IAjyjF*+S(QhL{*R(VsEY>?jt|;YCY7?>I&5*<&oUI zvy0P%M%%#O#`4=#KANk5y*p`~fsDJ0#YSFmg|~Ekdm+6f0XGk;vsRZdW6EwVM&05G zOZskvAKJ7A_)BMzg?;$Gz*p6b)2o0mfbj(F@NcYr~Oy z6=_K`0#Vsqcwv5&A>Ngs+>6jMHQ!HsuJ^-vGyR&Bp=7Lg>_@#zKaQyK8HuKJA9?Nd-$k>r!gnmF zQZ}WLdz%Hog9EjX@LTE~OS}fJlmMJ6C|T#JqJ59b!k_SMUkRdhNqtT83{#_{A7~Ax z5K$INdVH~HK?2o7WN+Z!>Y8}EG zRg3w?RvXQfFx6d>)()Y`bVKT4#*wM_kC{L92EE7|dHvW>mMdr;JooIjZt zP*om8>V-PHI62wZB}vT~dmsF`$CR1&OpJQ6Dc1%0G9N7ePO)gQSU98MS?#=5|4XB*o<4c9^VD=S z4XNvmC+F|tpVC!+*-!RIQhwm8lUnA;Fi>7N%c!= zP@I2nzfD28@?t5{!_28EI3?v3^9p5(q~JxXz>Dqy&;KV*jv3vA^4A&sBz>QBK8#t3RGZIn}%*U~bl;a4?GJD_rGP$OWuJd}QJ3=fz|lk;lvc z7(ndx^b)e5qif9EQp0^iR#^!OO}+PK&55&y^{k|%xLKh4{NyWskKP&hyZmy3k0$#{ zD&s>_nM)wIVDA)QPp}f=TjFcKIqbr+20Kd7Md|K?Kl?`lxPg$+GDXDqcM+A+aE*k#Fu2qpsw7H47X?IjV=0#7UfC@t!U zYGNmfXdg=z2)6Zt65HL;pwtX$KKK|N5PtK+4%$s4AZ)c<#lMujD8dT@G*#G$$ix=| z*KoZ}^lzdXFQ5YU#ioN^>p1J@I7dm6#U^@B(T;#wZ;aj07t2$fAfFJ>9@${GC#q9FW<&vqw!UYnB>;&G;%50S+ zqJ)tm`UQD5hPe{<3%H$y!$PKJ5jys!~yo0OE-dsBR4=RKR)pAp#&(3@HO34 zF(Lbwczz=x_&GcO4+!9ofB#^YNC%-f9j;sIsd; z!9?EdOAA+$$XX8c<{ZAJi4B8*-75g8vT%RdmvZpr+iwx#Z%SB$87m=*Dq0iApkOv- z)yC{)AdQVN*5}y$(BqJMQId*LUz*Axl(twMs}jFlLInavY2#oMk+c{w> zm^dQB01x*^>gn#g1H^`OYv}po!ZI1pM(p-O1)G3t*c($8Lvmcw?n+uabV->D8B{)q zH$Vs%s^NO3VwaNLQKmMjdDYOnF>?s*I;jB$(06fYrN-sR8&ipEA9yF%z?8+9&-dl_ z*4DcToCDQhCUt3WJXB5kUeKrHjP#t0-ARxeqxFSvbrYpDOXp>=EVMP>fCYZF!9cJ_ zqY%)Cb>fGEh`?Nnu9Bh}12|YIQ*Z2zZdEi2Z&cwq(qI!-RnbrwoyN>KB~5Em%M|d( zV{hOC)X{B)a;76gVHkeISKd<(WL8+lsEZ=@sXKmKNi7QAPGNhSTaz#H=2ouwUs8W8 z%&%V*lX#VpUfLFtc=lrRHrs*|Xlac?X69r}&g{JGGLPQ^^D`*ZS_FBY)!jPj2gz&Ib8>CukrPOK;PmN|JB z!=}XoElWEj16ggszAR!8%<%N{V&0sk`g)rl;36m#^v@zgDw0n6+iZ{ad17RGG?kbo zUp6hXP^LVXK^$I31xbPa5+Bm>2m3r_xi>py^u&i55cDUvNE$X=EwR-RN@IJ9YXHWf zitre>UNRoA2Ny?l(O67jR@EU|awhJ#FYFOibv*Gv$D=sC7S^I0Kki=_Om~c!{A^e> zgC@!)*u2OjjQ5jp1kCxpJDPcPhCtUMc{S?Cd?T~gccX>YCVLCsH@e63ujcI}mX*l` zF=xuKsE9TNSo&V-uhGQewafW!_q0MmIE=oF!JX>e*=#g2*Dn_{AI{XccWB}x;q=zS zql#jCWfJue4324f?ooM~62IA7Q|@45`}XCxw1U^velYXQBu~rK3lGl&I5f!A=NSgD z;V=m7Awt0kkC8M3@OB8MM1v2PxN)_4njg^}xRzD0e-rVcA%8a594Lcy3S@~n5pn_T zh%N^v)O)#^`(SbL8$f#$mcyN3{%N^)7Xiw%Z{tz_IVGWmb*b1Tfkj~?_^CF@Q_<{F z-r{*-f^M)uECNwqyX23(>6Ps-DR$U)vn6CwAs$1Z3zuGux2hUx3sDghgLlakyTLIl>AL8wlLNr&cp=NnNX0l;g#oI}2}YzZR0%xTPW_HA0fTEt*(zot3*0xqCe zeTuD#P2pbto9=1;3uL4DZ!9~cW?_la$44s)Z-+=MF zd1*CCb1tvOLp01(TJE8()$68v)p_TO5|Yd+{Jzb7xKjh# z`toLfs{SIHaP-p*Zx8pFzvJ;R=Vfs)5z3g;AnAst?hTZYzOC^u8G=#Dh=occn4%sG248;pzK?Mk zuj4R?3I&1i@}*L{MIy}*K66zjSj8&5y~TyMwuZw@S=JZ7u&7Q?Dn7Y1{SjkT{)v_U zdjz1Ueq{h_g+i)5IR2qbo~~j`SD4t#Mt} zwQwn=GNrz)u2^nc%5Cjn%iGZNYO$zisBrQH^9bRzkLuOk?{@N5U-?DK{x!Ys@?SC+ zo`1o32mtFa@^9a{X$jk;`AS5#v+CCAK~a-lkw$F3*kP;QX?BXmyq>Mb$I|pRIv;Ih zi3?&!ir&rfwvDmgr}8&Vnlk7te+5)rVP&e5)u0?o>Kt3Z!MqMWbHFVs{Su z`8fu!Yd32rcNRTrH%@AA|1;*tf70BzV>)CH0gI0%pM5CrDu!0=D;4Tt(8b<4r5CxQ z_(|>j@IPY?B~sOY#ykQn{yrN|=;Wa%&2gi4*l24Em}xL`I^#(fyV5&uh%U%mv%=Z|O!U0fCFx7C&4Zto)8L~I;;V^prEfD7SD3iXvt z^dZn=^#@x9G?nf0U1t8d%{ zb6#qn#HIC;686Om((NM9mj>8-3ZTFf?6GQI1!xE|btR4;kc^#uVx%dVVM$RLaC^Qj zP~Fkv+}jZ+J0Z$1qX3Frhjfi#&4%QKzHVvHQtD=QN)R>mlx#N8MmNztll=pR6szde z6Nx40ufLM-f_7}k7G&m`%t*sXvDn4PFT2Wj^JnQ+&-48RLU1KSE5? z8Uy+hM~Qke?I@$yM~o-@&YRl#$w{JIiR1>%(oAx}q=cw1@vqj7LodTgT*+ogwUvH! z`P%JtYp3VE^LC@&#I$j}v)WmUr&89u4DDQXsH?5i*=9M!(`LQhnxCnQ!OxwWh&x!e z1kkNY{2uE;C6VIzv_*s|#F5dt;D;u`;~aB2uJG*(Qk+QJIGd;8EFjIUD4pk8p5-)c zjI8HNzI-v)xVZ$)uTh?_vA>`^yhVFZGXv1M5U+UrK!vlZLQf0PHj}x@e3#5J34&97jU2K`&!DFE4Ez|nrtFY?lZ?ZyY< znGR|DP9Zcq&lsD}7ie0Fim|WQ361%F57zj_nZ&m&KndQ&|E1Y<8|`Mrcn!N(PK?S% z{@6Fv)aDQX!MX~k!In1$mHmv(J#O`W@OQ5t+qSUm-G}}K>ha}lsCpMYV;xQ>9e9w~ zu8C`z_;Ghy+KTCLhvebd?#iy-u zU<@Il6@o^cqL7yE=*GQ`>=^O_imenWhLT6SmITnm2+>{~%MCF>LvL4f-D7G>1rv=* z;jW0wkE{r8pv5TEh?T@X^u{Bz@(E5Lw$_fYh73jpeO?$8KBd|2P5|WznzIn;;xHVk zgT_&--N?j+FB&{Lp2v-IWcgy&=9&!>bv>SIkJU=9Q)_I(MVX?|-Vt0Se4S4K+KqJ`s7dS%N5kYpA4U}GuUjdetb73b#>%f5__6Pfa9L7_DdQDwf|!%Jh4F`Du3_jT zVFZiXZ6?M;fb;>c+~MrH&;8O>GVU_~BZU_CbvTZD(8qCf)r0lfBTuoV{dV|#Lj{2d zb(ah|5hs@{6{gxwLCAxlrkFNYVI0y@O=xnCQ59j@O+f0WIMh%A*8t8gsgH&bX%Bj` zsgUU2+L?qrpD08lf)TQmWR{U9T$Wn62jw`}i6^E*LiUe8{s_k`Ki(h%nSe%Hf`4ms zJ~*M^?sVfu>ShYEAy+g;G?d>~sYC6<26K4iyO(I54BaFmvMr+OaBd7Kl$k}nvsMp7 z0QU|X7%`b6)F%epkryQvjlbJar)iuwrfX*TGU4?~OB4E=?K|e=s_QR>&z_1ur~*3i z%RE6hFm6zc%+02j#I;yFGhujU6FmnLel8QPP)IuuT8@l9Ec1e1tTN#;zHI5~HMnzb z=#vpWqHEc+R^zOz-IG#8%*+(*ow+?r>Yq2-r+Ao3p494fN@tw|5eoyjvu5K^gUc)T zp!3WkruqgX4;hKv(W2oH&rYi@`j%6$i{T*URl0DUuQm{$quUnhi+fMrw8?~RO~@nR zA2W~a*LdbvKuiy)H2G+a(0un+p+!5&c2gAZ*kjA)quDSD3;YqbN=QaS%ionQDU{Zi z(xFRHUla!5O~n#%O)L@YYsTO;$KG|{NgRYRh{@dC!ly|Hl&q&T+0~|lq)^O=*=0@@ zfK*cN>iPwveI#ioh|I7uNj%A*ok0ou?0xVCJ=0f;vtpwL&0LVXsOc*=h9sgxV0N50 zw~GmF(d(MHA|3uon6h~z@>Q3MmZIrUDvVVV z5lwHdLprf=w0$mIC~kUjzd}bLJB$tafr&ImmCboN6gQQMkRB`1Nh=obb#!;a7Ylg(A&PnGI|LV#% za1BtQM~4A_JmWb@1<8q&E&b#j39uORl-?6r9Pt(-S=}7#2g~kA^OaIF-MGYSC-gkoB4tg=6`!T<#4E=! zsdls*BxR2n(UgbjdqBR~;^T<;P?{vcOZyTw$0)|RL7efqOYRO#7%YX3k?@Kuy0|Q~ z+oL!!8c#%$5WV=ToK8^eB5R|)^llYtWM%djQ1~Y(MTDnSVHNgz^eJRY7!DL1Slq8@ zcA#Sc5E*u;>Q=eBwKa|^GzL-P>`7igB+a6SuQ-^AbD5qk!toLXs#X;A;(=nw+lJjk(HZt0v4Msw4$jp(35OJ?C8`yi_m3&duBC4fKx=sLDh6UsG`Ih5r z80Rg0+7YjT>3|rS_8Sm3nJ6^19xKs_;Y{3oY)y7yke4n`d5-kr4=H+FELu0Z1vC#e zYxW1M+?u+l2yl9G!kI{Lwu!V?EzBQxBk@sLPfNeCi$8m|x(=rgP>3zNksl8m(Dq`380 z>TNjVai^4F6sbpC067yHO!d(%Rq~ChjNBqI!zV>%M=WL&_KK&tL#Q@Zx8aQE|6DwG z96)%>p@C@OjC}y|&il#|d@}BcylKrlYHwL$%n`W}z>2zt{bY<`PLApwjv1M3_^1k- zRHXbg0(J;zv*~TJ&WN|rB=ch~&HMsjX%5d?QxWvh5lf;c$pNFV^z}4)hI);I>>#U1GB%9}m?>zlC$?F?ty39#C{0)Z>qLyWXI&ATinWihw z)9kQqk{Vx-sKHX?_-bYej_sS-`K4s;6EhJJ*0Qo8#i+7P1=&a2K7%K58SmI-vcvZq z!-g3|caXBi^T?DK zz?q${>bVeI$SLN?a25ms1(z*MY}2P?Zlu7PrwsWjiP_1;XdLXP!-2seU2>2P`6;C^ zCaLuvfASk0me0J)#=w&eJ>{aF?DMvPL(XG=XqC6(lIe-FXPuW;iy6s-{n1e)aY7{G zmeu@ciy~>%u6xc3K_g{J-6Le=e6&aw@a~KlnF zj#!Z&v-)M$(fv34))pW{3{D4cC%x3$tK^*{K8e@ok9}A^vuQ+k`F4f=#9YAlCmz`+ zk(nC+qIh$uP}cNDP69?Mwk|kFVfaps{C9Z5N%$kjAMfKbg1XcG_0-(aZftI7vh*kB zq6`Q^rHuiAZp4o{Z;_R==uhT2NMTFH6981w>5O)0cQ+S4FbyZrD9#g{g;`L%yJ|}5 zO;zZhgb3Z#abcjtTrV$c(!!KUFbjno-+~NBv*|qtZiEiR;fV16BaKB#Rkt*Gcyy3N z8+#k3Lr1BWQ&;6Wa*7@;f&T5c0y^D<2|27=0sKJFlvaU=8$WMtSaghYJ6&0ggvJB| z`~94yTlw|!MTT4px{7hUSZVMPEelPaQ^WE@8cs4&-Pv#+weM~pm56^S@xcRQtkG2? zR$&Mh01_9>-pOlSGZS9e96r^!$ZCF6)N>}aqEe_3m(xOgvUlny)^Ya@99S_CyNJC; z?*ymm{xlSuPYQ(P2Kpz*lY`1+wra6s)VQ@~n17gV0E|5=E~V}NSKirr?8MF&l?|NioUB)IcR|Bgi_>Q7}Seqq%)i=$jI*IP-#Wh_|RDH{*%ip5;UwFsx5wtmq9c)r!|5>otB zU0fGQorq17JhR5tV$J8ITbPgJsRQAP8W`oaeU?ywT9TxKWEpF6OL9r}qrj{GzDEh` z3nCE~>AsDo1RMUDprpl09snI5s33wS*T)LH9pv9hCvjp})CqCM-uMw`yS$pZau7x9 zeDTnt*j0oVhXFMK_lkK~zVQSPTtuw9VO5L98{cZ&FB2`*<^Zo8rqmslgp0Ct91~02 zTu6VFA2=%6F+>Z;)Fg9C3asW)5Zj1#Gect?YN99IOkE_Fx@f||oiYWQC_47d99eFp zLoynROp*GBq&o;=V7MF)*wJw-LHNa6C<=kg?NJ~lL;MiVHbfvXy@Y=_dD6@zmtk## znPl_#^D;q`>v``(`f@%+PS~HViA+kMcZcp(V>&$pQB}Jd>iz_NquAY(i|2H6^i+h;BX&=b*(s#F6Ri!gvgdORf7TE&d%o^()`0twM^af zhs2ghLiXO{*NG8^ISDff!1w?S$9}4A|3X=7_?C0x_uru$g{lk5)uZ}aK8E(F3LtY< zJ8krUS`-aopUc5($^Bz~(;1ftg!VjS3=4v|WeKYl2QY!9mNu}Neh~Au{lv0G8{Go} zk=iO}vSA{=l&hjo!iVaEWR)%g&%XUO&(syW1%lu<%gx^mKyvPzV1Xd7zL1l3Vq?iQ zgd!!CAqh-gLyaV!Cda~8>86)z8*!^cjP`7MQkZ+V$CLc72qnZ9-=roRTcfi!k>lLa zfXKSUv`Pg*9~RR~RIwIyRD3fg$%#*vccPD<^nFsv6VReK_NA-xshZU7M6;~^9VpHi zn{boXRXYVr)pzX3o~C2W0dsTh;X5gBZWHhhWi-3G;)v2ASy{xasG8#W_D@oQOd4#% z1dftU+X30ydOA8KjYsncvksp%>RsHi2lv4?|B+~eG#RK4tVB6xyx7|3FVEBG3wiqO3!}!zp6Sb)IYT^x zT{8TE4DgIY=DY$ZRa^&C$zAqv0MzS#kC(nxZEfvgC~jyzPxXZE^OV=lP!{>iWrI~A z8I$MclyCW*2>|n#{v_I^WVAROuW5bDc4KLBeu&8ORJoiCwI`!aq$EKX`F+-uA7vGC zc0_m}b-~bLt{=JsjKitE{%6<7K)v&(fj82Lb6mM_@H2+YjE{Q((l8!9Kkj9sT4DxVJ24d_b6U)!_ z#7mH%qwWx+&GQvZD#5~f%0y0#NUfU$9B@O(%&;>r`5i4xe_w0ToaOOpR&*b0M7O#P zopzH*rgqjUP`n7{tn7Y2nG%_jzrd}1BzEO5?4&{z%i*W(Cr>a*M$pi4BXjz>i3|sTX zX$b7+Mw#~H$z$0h9@`~~a|xkV8qT@>W|{UZEqVMlcSF9#87Wf-Gzxr~QiduQg@1SA6VK)=0UL%K zKJ>&i7GdZiVxj`+aIvY1R=8MaS!}uc#ll}D;C(hgo<79cJRog@vu3^e$?%|Wzs2sG z&}jRsluW{-tyG*tq$P(w%sFE5fue?CF@`igNwkaHaE%|4NZ_sr|2hz)Q6gwtT+9m^ z&Bl1YR20Kp)j%;V@M5iH-De|8A5Q;L8+%r!jMruAAdOBEhlhenl3bSrkA!6t8ifQY z5>kp;lqW{eB-ufq`4+L+uZAm3GdyfO8pe%~Y`Jc}(?<$IM?p7|CL@ZpX z3Wk^b9hkNWq4#OjZ`afOQ~!n=mV^$fyP zWIeH}h+@1??W27<-}CCwdR#Xlza1iu?>2dqlatZXy{CP&pOn(}6sDjgqRvi?oE?VY zX!C*OJ)L-UG*mcGw9Zc6inf-7A8kEyIrGsKgEgj-na*fSOQf-wdRMa%-Uae?31=ve zLArO%Ril9{x$F4eoU0{eOYGx`;IjbmP|n%Zv}G#ZS}wh^Kbd4$+ZZt zwMf>>pht$zjE&X?IJQ-hDY(p*Fu`NxD?GZuqcMRwM}|Idz|+G+<6%Z8i8N(}l;Ybr z(^b6~G%yZ0!~L=m=e|KZJt>)_;npN1WPfP1JA7HyZl1kX>#6`)lo7AuI+0k8RDbyL z`Ai>~8|7-{`$~0_zOr#arTSoPV0^%*ySw!7_R}5wxBBc!^$!v{aCdk6=^v^)Pj+{A ztJNn@w*IgMKX#t|L2W%421`COG=x#=599uHX}P=J|CfF$Kd-BLIJspP^FqIKsVBOjP@ z;JX!tzFq9yPR2yul>Ds`r$sO5W!oG05u3(PMj<#I&&YTS4#u;ogt5AW^Xc@K;*7#( zL0fn@)!w-TW*h>qkyA6@j8E`b8>8u&iFt(w;XPHT7By_NBv5wy5di}}=gOrd2hQyq zs^U$%AVo?w^ya;qx|3_f7`=&rSa5QUZ%eAMT_k8J_!!7wG$ZRE=@jAMOWvpDO%k}} z&Fah4LD-+6_X!{CF<=c{GL12jneUFcpN23d>XwZwr{XN^6v=kR9iUODPth|B6opMd zQFurIhZ1=O8^lozCFWNY4r6l9M%ROp%SLi+15JSn`|pDAX5tprXKo>A9&Mu-pIR!Czs*Wjp?EoP1a&c%gg;oZ={V4 zbtV?DIwBbc)8Ii!H5Y_Q5n3u)Sd@}kM`k83-T^%I2v$fp;bXM%lg>uaH;PxF!#vs~ zG(PEkLEOiS-f&8gFh6IEcj!3vqll6q;`8otv!gn#qwbqpyP@FwdAs#P^RRIUM6Pw< z0rV7vYlR2L)Juo`IaX*@w;q`VY9k2*P=}5{^iu2`kn;?7>Lwd(w*#JJz&pPM2=6Qc=R%0M)=&})XF)8 zKt|+^h83Da2e&!^6$b)fM7eDp5EU&(I6g4W2V~A{wCfCRfw}p3v2t6cff(c*OZIJg z$uc0^D1I!tAOV)V23KsCp)7BR=a01f?|Yv2-PU%s zTDg9}HkQl()$QG9&oc7=_A~hBi~Ro?KAVrrc+gKD0k&aOR4tBX(Y3EyLFnZc*)GGM zC#vI))rmJ8jxbDkgF;-^L1@KrE5J#~@H9u1=K#qMAjo4(pjGAgj0lOYQ$9=ZXlygZ ztjr)tVrZsH1~n4U>;u3Ul~0Rhev1CAL<}#9ucq9$C(W9?!wF8%D0zQ*Q>2mFo<{^4 zv?!txnTYw&?}Lk+5Cl^CoB;JU=g$gvoD-;XI~8&&5gD0LpTVe3N%EB_6B+3@Px94h z-BN6xLs#pR5MC0Ac;CB?3DX>$VmN>OaLU3naowShNN9v-}AjB|22{jK;fH+VBJ9W`%5}BHKC(^zkp}we&TW^30fN2f0 zauGdSXV_<+1&vnwErLdR5XIq;b=-jGZ6qOduiLI6VNm^A@7l$n$!@DnolE+w&Kj>z zFxyJKfdyI!=uNZJD8d*uJ6NDejl;l0vlrBN92me2Pi)zVS)vhC%_CJi{Go~XOL-Xf zPE)1`k*|I%)YlXI5iWv*&f%Vlrv1(6Hrfolm;@DDWGTG|#$DaQz3Iv3*0as+ZB>1` z_vFdm_A?d1F4g!jQI8yn#TMXYM(?cArOLf#qtW1R$35q3wxC+{T9o7PyHc$p7mCAv zIAXIaW~OqHA#m1`+DG**qXa*#b^fxphG|&uDA+k}9(AGQ9mTfR2->1zeCb7PVzK_R zV$$OFQc$nED>PW|o^Yw%Wu zz~9|TlWy}A3x0oBL16UMK`iXv2^APV7QDO@YC{+8Z>5GGX5-z%f8Obxw@yx0LaE*D ztb|eh|7Y)A8`?OMM&ZxsS9D}H0xSuG9VanSaxh?&h}Y``ivuc`F5S2?Agdns8o_ImGN z3u;?`Ic`f@0fKmR@T=aA^0Vy!a$q*V0?d}`%+^+b)GN(jw)W@7pyx_+?_hK5U`~)A zCl4^K)GKFVA3f@f%Q%Lkz&!Y$fz|2cZnZj}fP#HCC)4gP+nX3?6}~@S&C7sDd-Qg1 zUs~PiAbCQ1^qu$@Aay}LB4Alqr?B$2H+Z^oSD%-y2?+B|L8h%kX-Dpa>Kq7RE)R34 zE8CmglaA@EvN-@@EFD;X4YI|bko&kaR}PXSZq)|iALZ(teM|cIir>+Vxtqhj+dSyo zCNw$pn+t;n^TAUAA+O)+3@2gGihJCGVRViUln!z()y7{yK(}8){c6FjJkC_O@+6hz zn=EfDdAF!v zia!4lCpBHad9h7!vpB6t=X4tapST@4NQK4R2FbgDP&9aU(B}SB$Lbga~nU^mIB31gU)wj3)mt+5f`ndMV9i9N(VE^+NmHjFEpQn$W-s}HA z$3IqOq%DBNy5}i;y9ICqgwdf!==Ojw zHzCf<^ z1h$*z_yJ)Rof;BpFVCDn%y|4jeN3M~ z%yj%fM{WKIgt?ON0+tH8b-1LcDrj~BRPiM0!V1>wh28GOYVS~8@Jf9KB$TEML#+;? zwxMWf3iXvzhpCWPv_GBGW*lDiDLfg6Fp+2n+O+Bik6HV%E(aU#*JbmykWtO@f6chl z=>nl^vg4QfV@$jik8vaaxANHVe@`E;0{{1Pb>-gvUnyDB}-D+Ug0B|%W@`k>625v-1WbbtlSNfIrV|!(xd>Ah~%6>S(3h>6a+XTtB8OixkZi z)1B6rxUE&d^%2FQ;}EN80f;Lj;Gh%37+Q27uGQIaT&!&sRdiOODzp)_wvd+2myCBm z@lB&+T~(P(Lgx2F9|Ak;66$Dr1cP+2b@b+7SN*)c^Jc4fl=$AFju%UJ7aDxvF~;+Mk5|3{o-d{Ud-UzfJ^%MP{w*)5+ER^tyF62^H8l)QYL`)ac=k+vw?=-+ zdcztdCbe_Qva+UHwUZ!;S~XZQNjRi@2m+*!vC2g6sv!OS?q0okuU@=YFW##c@70U< z>c#)n>P6SlCErkOzH&qj@yGyjh7MY6zo9WSg@>lkUUC$-hTUv(5)&^>>9*R#Uk{sy zdmI1W-t(%~1)|ug-v5mLj^X1Rd&7aYqSIpXG90V*?YGoH5ogX%Mx8avcKF9A>;fO0 z4kDaT=wVceYUeF{$B`Uu6N~{+lHuT*!L&ozRR)3C&3@>G!{w+0&GEINCfQGmD7}a2 z?r@{e8$U0(qx6&5U3hAEhwUiNBms||P9rxeUfQS!TUuLMVyA@`;-NPs-RK;H=hAeb zb4z3Fz~Nfv=2lmpeEa0P$4{Spo5dH3CR+nBseV@WYuYdHu`$hftw}5d%EFk3;;!JC9=y)KF8@0BO^3ktuwlXSv>am>O&3-}@RW_SB7z5j7jIuchPQx;~uf{+c?6k6%osvaXKYF#p+&EQu{gF#k z)LFb^1&gdj<$A&n>F(h5XAA_7bsnyxHR8fznOOaxHHev)H}O6ai(??<0IMUOB{drG zfWt1nr#oZX!H(I<`?{@1Ed+Ff`7$8#)E)#KmUG;3)fcpd{pT3p0(Vh&8beB95baRA z=EPZ)){AC=>plgt*1`5BI-aikoyKo_Zv(cz7r4{d@u5_mNH?!DQ>1k-gm8Lc^f)v( zkYv%5Fq`Xu(??T$=Z43|-+PV@-fSGv_OrgZdC=5Zgs{nI5+#^h;NRMhywnz%2%?qN z7*LJ@X$o2q#aVRBzit9-GTO8hkpv+mb}6NfPl2w@XqV=RbahUFaXO#$(V>{R+K+Pp z#6l>KxTMF@&WK~6ELfckkJlB(EQ7i3bT|^24xlaTQHN!P&Ga;sU|qTLX?LY%V`+9+WJgv8ReK@1{Dx`9=Y+gb#r zi>OI{^$jQ($+P&9a)6YN(b*70WSu5Blf$mkBp6WGGr?;ykk2U$lQ$|65$S$_HOdH6 z6WpOR8iVw-%9@vnS%NuOLQP+n0t+D+fPP9oV(Vwt{?`(BAs-mt5TQJ;F!pjnNA#w$62hsP^h+sI_ z2`UVM!dmC<5S`>6Kpx-sO2TP?~Q#x_q1LTktL^qj09(+o&oCUtnx0|rQa0)1D3uG z?@gg!Hi+h9XhaqWNaaQ-kBHp~^%+v$>SB-P6nc+KFRZ_4ZtrfPZUoqu=H|t1JrBpo1Y%^ig)#(^KF5TQ)!@?eD{|51SsVTbSbd=W;`@<*d*X6eAj!-#lzq=QD5nXi*Ra484`n&k3W+$%GhL5!4 zgz*{&=e)xRljX7x{~GaJlucP({hFtHhnXX7c8{HKXOOw8Oj<;t+@WL=Q zlQolC(*oA3g$xn2*U~-vg?oY;G7QzkL4K$~kE$xuF_IbNEEZXu zUw_T5M=#`zo_9AKP6Nh_2~gk=yE8Uss5?kMV5qs_qQTCuzm~pOgsmy3z#`!91Vmub z@w}aCm4Um&(a1Tn)BuD0F8Dj)BF_@-ggIXc?H+oKL(-~_$Q?{f*zN_NTcL+Tu7HPTNZ2?b*8w4JE&;oA{rVK?w?8$ zGgR2qpqE@Sfx;_=7~I6LYqfR=3?`lsvo4IvhyjBwR_?`Rk*Rph5I zW(kE+4F>4t1|`Sbnz@vzAKB;2u-mnS4Hub6`d?dgAkiLXCLd4q+CtpZVX-g^2b<*? zqN#!zd#EV3vIJJMA2X<+SEQ6;Oh`>Jj`QQyn%u*;M#YNa!q8SjJSh(2_ImB<6B%j{ zMWJuUWhZuk=x@A<4~w^ zN)(Q=vtc8{o(=`h!SiIt5r%?GmC;N4b(zjY>*_G-wL-m!)ENvLHo*}a!wU-Yi`BJS zqXEmR7eO~_bKD#e@JNw?j$V>8il9h`%CVGmghW6jT#I2y>M?8yH^kd|zhVS)aL^@B z4xSvokNPC#M_T?o0UllaO_tlE^YiO+Jwr7l*l!YI{K$kmPl#002eiD})w+oaY(+7^ zHD+K;@M4_yc1&P?^149*O3(YL^;FdjtEz7(oE$}ooI@)~XhZ1r59k*UFvp@N%}Shug(F+~285&(y!_OAg0ITXbRn zOt$PN%>@9-pDsJXlV(FWIzAAwsBuM>ZL&Xr;%j_8~l zHgf{x;yU182FV1wOop=GZx_$<5G^x1HfP>f?vRIWPR#0$CBI*GF!JVkt&|-b;WYI8 z6k;){0$QjcHwQ`u_?+5LkTphK+oHdJczf6jJxiF@beTdiLsFFs>oj!&kr^c$1VMFR)>M)u8#>8h>4V*zeH@bbW?%1Oy+$3 zj#(-GQkihA+`L%4)gr^;t(Lsyk~4iy=KKuOJAcu*k={RM=z%*xS&T4mYo**_lSO2w zF?Vq~`#P%V?TRvM1y8V1L2f=t0a;-#H;_A{`SY2(p4%Y^TM`EG6R+s~z3ttjJ^Gtn z)1p$GW<{rqWY@EsW75@}E;DW|Zyp{Mu4RGqsaCRp_t&wjm;J1(SO((8Rh*eJe+_3o z&#;2+z@#z2D!H>mB`a4?+9d0iu4>eVag83bi`Q9M#mhHm8uKQRgO}azbipkBZPCQA z#RD0ZU^sYKsJW!3GgPROxW?nkQwE}QM?;@`U&8Uj zcG#6?to1DBVw^%(C7;=-Z}^)MWFTtZ9LCM4vtSP;^M$DF9#&1AJL;V24W&qB zr}G9}zpE?GXt-^lJNTtgc7OHFp2`0C_rKWC zcr*y_v<|%G_3by`GM0(|36rOJWKsJiLRCwsp|v|@+wMH zYip86e}$A%m;|j-Cn}XnLDKAX8ItI4=)3{Z3uL6eRSa6CU**a0Z3~FH?^qj3mRh z8py|9QDly;;t|mouo0hR*s1^s&9$`Ogv%fq$|=ozCTk}!%xLNH-{h=r*TsKfT|8g6 z>tfznBV~15l5_M0%3Xf@jvAn916a38_u*X`*oX34{aW^LikA=~te!*%M8&2zd-h9@ zK80Om!@P<+>R-vNszm_Dy}WAiOGPgcJv>nF0%7B*b+U}vk&wXub)Ej|;r2M6%cd2! zzLU6p-Kd1H->3}a^8Cs?trl9tUK`VSF@rQV7dEWD0S?YeSv`Z_C-{Y;N3tcP05OqOKQ84wQ8vkWK!WY8)F#0P-{@d2H5 zj}kTv2)ZEHCVZXSE<@Ox_ScVIH4nG;*ALc@_6}rw0?7{^3>Nu$X!lvbG(Zm^muvW^ zvZh{8(meiMQ{22~nVk(6^`A5#4uoe@LHO`NrYO~{${LQ{N8Sw{sO=Yr@b?!y%?jIW z0A9r#_v`{9yu?_1sJrW-wOA`k=wuoNYS=nKTvqD;jbb8YQ37y=+L8=1Um$Z9wj**q zLnrviB6Nd@E^}zT!@K;*rY&rDRCE2XNe%vGedph7L5!|C^gU~6E$~1|D3Slj zsJJa#FmC1m#ct;)@{7qYmc#ROI`bxGvc6b?#70?_%X1n*q4bLgx_t?2_>#09(7&BH zes5iNps5O-q9a3qm*Y_{6rpVc-d;{Zy!Hr>v?-onW6Z)viC5_(UZb=%|8{)5{QHtx zR5llUrv%LCdcypBb`Y%(0ssjl0!>)SH2gPGBx^q2ccIxYSV2FG%`jG3Sa_5TLl&pFAZp8 zn#+*q9OG63|MU*9dt>kQ>-F8u3V@09@xL~HKrWfWNRowphs|^BR5>g7YTon&_kk;S z12Qv!YeJX!O4T|%8dA!X(8R?3`i!mVpP@O1=_P+!Q-jci;RI$OI7#9zvgjzDko`qj z{rL4Nkut#P6`@LR5X&9eMjQ0EW9l)j)_`!82L$cPPe!K+FwA&eAwrn}7Gdpi{gHa} z%l0m^FN=WA&qqTI!zqML7mxv2tv_O}T9rS1kOq};QH}b2eYK%?t;&btskPLnP@H9T z4&Q+(W*PuBRTdU1Z1<0ZVZbJzcpHUwt9~2#sc-75^_3@ejm*$p{6-wl*6z;=|9ic@ zy+eNl!xe3yG)Gs*^MB5BF`~#gu{dhT7a>=q7Km0T$wPWo?o%$o^)h4LXC*@K{lk?; zWgfP!{lnEp1yFs*c!2@q*rj=;m59Eqin+P!6ImaBnz2&le_{V z32oOaQErnTzS`Q^;qMM3=9h2uVk1KOUzh{B4HCXL#~m26X~WJ$g9QgvP@&1?!dhsr|*T6vhsBfC~2hw)l( zv)daJ{}BHF#|ZHi_uXC`wPCKws7~L8L%%3JJu@dkgpw}KCo8}MvZ@D4`VN~@sh1qu z{^*%pTEclWxG(m6DI7-n4JA9hCXpAsv?c5*?|rn`F7ci+wVH9TADjm4n3e7HlhFyJ zwus8sg?Gb$f2P;On#^KqL40&~JHLIY4ex|BHchLsX_OsJ%yIcRtBX1QE0i(EIQQ6` z|8snY3KEu)qVXt}fxU38Fx zzcZGoSZn;v8tibC4Y#kO!8PCJcR5Dl5UaSIVe^1yTu^*w(h%3BD7GDoSYcdhlwu+P)Y88nmgxgkDqa$Nc$YNSCj#)sK+1xx1OM5T5-Ais?j^t)!Hq^YiNS?p% zp-RHwxnC`v^~(vrxm_H{sUaPfqsQ7okME%2z3L1Ix)$f4k14j<=kI|JZT8bmMx{1eVp-0b?2^r4S=Cv`K#IuOHhK{X zQ8EtDb(B{DH#eUNSE|OxX2i8G%SYP5gmq)~tL-!fg(<=t+_0nyWa0EFG^8XAdSNTv zXT-sK$L@X;=;Zyl!VUQYTk_6l=(t*iZjH*xa%I_=%Ty}Mr+B=s9#jk<3&rh?!;HGk zELY|wcSScVDSLUiE$~3jm|+#V1HpSIim-2O@-tO=i%0pt{b%|2iB~?2F^88V0rm?5p#{tF%H1-B7Lm8jI3!S4yIG&gDBbBsr7>dR~DkIFllxh&2)=dN<{YV%nU zHnGTECd~G5;-i&DQp-VBH*Kdt>&n6ii$SG5FW_T2v$F4Bs&Z=s?q>}gq|XsLMNt{ggNkqlvyEbrED~7z{}#hN5E`R)83$u_N2JW zNED8u<{~r8d65(&RYej&WwZ!@AH_caUE?5CowgVtFM70_siWY1hz)381n}vUe8?h8 z!}J{(>gZg=8|~l?Zx5i$0^r>KOLrl9A&d+9B|=B8=q=y@3Ltz_g1dySrGVXGCkEW+ z>poqz_+u2b(NA$p1HdERkZ!)HUJzYi+kB^N37x2m#wVb2QdCLu)5FHpjhQRg@>Uhmcs>1>1D$xXmEG;-1 zM3vpDiV#AyfEo=@IDb`YH`L?{V`y+d;gmNz^OZ$tqkR*c6#bl>~PP(!Lk z$RO%%h=W5*K^bF{Mq~X*w49P{#StdU^G{NCk*uu-xy3x!%JYxQ9~~t-z-hg2q~GUL z326}!Ij``U3s)5NAI&7pucC-P|3r&anbLm7RfB)bwwf-w)E^6!aAgoG2FQ0DF9gVT zWVJ3Oy}y>+QJ zs(p0rUQYTd2Cd6w?`T)DHS~j1zxn33L34->cewn{soL-e(93Ka-O2?*Lw=pA^%q++ zO&_zRZr93acjmFA%alYTzI?o3nYzUkANr_}!F)6YZ^^ZJd?n1ZU-4x8_{7D!60a%j_e@loual9I@cOByW}A>X;gxf7H}n}XVL$>@1FPK z{vU&6IJ&sJy8drPvhHjh9c>*PHY)4SH#WCkynMC&fB(JndUtRC{~a72z4`f zCaXZ5_bQq9;7C@!df2EuT3LPks;<9P>puNm{%!tu z?(8y(vlaD&RnfY5E<#6Q^8>DZU0c?|h~g&8>xuk6^HO(BY8>~o0C5pj=A9|8G(prl z?!k&eoAJfvUM0&@(%%C4O%PH{mu7&G#kf;=n85+H20C^W7GvM^ z%vI45i@5cMap2I@WOPeTxdB2v0Lp>(5gfol;gvRf?+-7_lfN-i^}_ap<`jI!geqh7 z#|^tgnRQ7PlL#`Y;e?rrgkcxSs*6rPPyrj@J!)2-l>j5QHeT&DHyVn5cjfm;EW_XF z`z2RmMnoq$wcgUA)^>4@%GLF8tMZO~u&brk(xL`anX9a=%{`D;a={0Ki#AZf30)PZ z?Eu?zb-k#RG^PT;w8gn%s}io~eRB5QcVwmuWCw%gJgu+1Q$H$uT*XV$t6o%X@IcL$ zj#g^Dias_fff!Yzh-{ttdHKO(Q2mI)y}kI<*2$>)(kzAx0Y5CeMTOZ&=Yb?vg4iT? z_ZO4z1?u^a4!r#9N|3eNQ?yLQ?a^~UtLt2|M%tozWM>}x}VTu z2U?k2p94C-Pu2upMaUj%XD^SBq~x438JbLd~m2MO0>d#nRD} zHF8vEbS}c01{+=LJm}-$7+)TZ$*f#FR&D?$vb#yFZ_sS@`;9WOU&Mf1|7*!-BLB7T zvyuN=OaArSf0`}>@%z7;|2nOdr)`NbiFccmoTXax@L&D@xH?Pr>hk9Q-P}H4wJUCU z-~RCRBlUxwTS|Ni!V=vVaKa&;#pu@J0sZn;CxOOv;EILApAR0_SF04*=;iL4Wpb6d zXrh(`uqaPq9}4ZBgjY>rzZ(&}(-5PQj_5cLI@)ULni}sGOr_9l&Ry#*`jQci#mXNj zY~WQf?}j*l^=G zf4SAfu-lCa-tMoMw4?Qdykt50ZdAw(fKA8PeY-C?w@Q6`{svD=_YPnew25yHcJLMZ zJL*M$j3|P0*q|_H^%h>Ic@dy0onnv*@jL?-3{5zZwWljlG`(YVY+che9NV^S+qTUU z+qP}n&WUZ?ww;{V&X??aIJNrF!3zxX?5*?SrkX@q}JY?^oSE2ga^s! zHWtWp{uk5W#7`$p8Kz;{TZ;M?t&+Bj@emizR1cp2o_6|cD>ky%JUZA?&~api=COS$Guc3ACTVX?-LNNKL9J!@=@iI#LR`Qe@z02?UAe^@ zh@>|={b9MeWnt1S^f)p*J+}GR2IpW)f~HshO%DdeAiZI5dpE}YEsUrL>)fQ*OJ>XK z<(%>zU0V3=)o&0`@$_Bt?r!b$X>t?L+-FrjcvFn{bhtL-ci{5%t?vfr7PE!>R`GOt z<@vxwlGe71gIi%dr1t{!fx5mUWdQ`_4Yg1#_ zv$JC}0V*cv+3nK?*!W`@w{zPDT}`J~i+^`IO$()=weg9%p~y9aR%2&-U4?Jmwejr{ zMFzTizJGdB`wtuY)=2=Y){B9XpB?@szUe$oy{&xfG-fsH*(0d;&*8qA*+1IPVTEFd z_u=PjvPa~NAiFGW`djeRj`l{$$JRH)F9~u)5=ntEUo_>kE~oC=pYHZ%{lK3VSN2v{ zc3&IYKN$-%w#Xgs3S1hyA&w>bkO~o8P_RQJuNK$coEv_?Yt5~0!8hMDM3_5)adl+U z{Ixe-!C})y)xsmBF&o+vt5>D*C!e2_i#nK0I>>xCI!34D$WJ9e9$-2zNy|<%uk7Kf}FX|7-;6 z1&%r$o&Ozzfnd}gh;HL{be)v5xwYUUn5J{55v4TwE0>uaSyDW8r$Pbh16>D6T6e~K zkYfa8xUG;i?oS{@2Y?nz(|7(m8_PKkIve~jLe?a@vF@pNo7$H zK-Cs#vsJL4&FjbD373+590KXdU~WbYfMRN^n*Pe%;*Xo1+uxnati-Y{@66Z*{4B%5DQ--})9~|Dz(szyR(DWQjH=j>*0nnh{5!X{7bg zd&u5qPev!H@WRc z_%kxiUVL(%3v#(z^|S$Afv$O>AyP0+!1+K}4Ud@%M@gIxNkW1uN(jttQhi+VQm`;D2l;{lQgygZPQvWGdiu+kY6fJqeOwz~`V`~yVMyNaRgXK+M zMXF7;`{3D!=OBD96qKy1M(;6AaL8mMt-K6pJujKd8c0wQt8%I(96ns$bm+dbV%3@m z-Ga4@NUu>~ex>FDsd&ilE2Jzh^|;M&?(OXQwdse|OV9e6Ty-yZZOVeyE=O5e#k4Cq zEbY01kUC*} z$Vt*NA%n>R+4oqrmQSGPvB+Zq{=V}pra8Hg4k~;k5qQ?eA@{1t!;*&4n3COYWUdMI z4QS?)_Z<99wt1Ebxg#OH&`OqfQ~bd=(**FiDTeI;%Obm8WB%`pn5|Ma$mu#?CixdZ z@8{vmvLo<<>L$#&oP*E>uAXxB15+FQOrsBr{JS80(O|u?c>TzkomWo+yu32a&$i#w&J>PB;Da@OWB0<-TJE`z z2jzC^Z;?vBAV|)M+1<_-x?8lf4d>y|HIb!~LT`o~AvZWFi$RYR;>q8QM7pAi#_TlQ z;2+@ZB8Jt_lEDWnzMwzY`Zpv(UA`Qwl2-@uH?2QQcq?Cx;SKk(^Op`8X5+X|ZE_A_ zf+@VpwxAW)Y!=C*_`0Z5k-ev72*%Y_($x^0(7LX#^3hi0jE72 zv(NK987+?O*4iHaCaM={lxQU=f>A{yH!qX-lX|I4nt6t*c&GVj;iRl+(iojp>4rOt zyKmcT%|sz|~8 zKMr{Ql}eOurG|qkr;YnO{lbsA{?itJTDcUz185PwT1Z!ll`tpX^F<#Q=kUMvE~CS1 z$jnrlgyN%)d)nz|oGLp@%O6+FvC_QfD%^gSy_j(sM4>lon>$*p4Srz_S0eeK|3CX? zFd-KK%vhq?JSjKlvYV_ExgW?_b7+4}@wD4{%?vdjO;;UIVfZr7eGK}%kK?CPN(C2L znv#Z7`JZ!6B>B(aB;Kqiy>L&2E^jz?$napTa(V{0o!?^>)}yQ(IRgm(cSVgEte&j$ zuXBfB>%d%LS%Ew!<#Om$G7{aLs*Z^-C;ty^&+E#j!lKQEaajH~~T zg(msG%{>ni$w5v21Lc2)TniLH5Sz{WHja{;C{2xVMg01Rb=&G?ZR>HzCir|+He!aQ z^L)K3BiT6+m-9xU*B#_7co$eHIazX?1q(^}=G*EULdxeGBJ#LjNpA8U$w>@hu~Czm z@;vwvLMmsN*!+^v(t7a(M9*o_JHk2ijQ{b`i) z&YBTv_M7Nt`j`82a!JYAlCBk%%=7lMtQ_jG6Rl+$3Av(z*o!<(lePRT&2C3Ukol~Yk`Rg zr}_Su3w)JrFgUO{>cw;&_x`)g-vm)w5(K20*=%%#1o|KO7@h|0{HCP;Jath~E$?Y{ zMU|#RD@9(s^QDfiOfmd*$@5=68kt(j#${*wSBmsMNByGk^Sg6pp9v_Nq4x)>Q{@|dy7I_pTs;{^BvBfl?<)u!dA)zsL4-Qn%3(CDDsQzy9uf_ zD|I7S_!^wy&lG8@+Q)rr@umi`yZPuNjClZ3006&f$`-z2&1=fbu{ z{nGRrIU6{mUXbBleNMr1NWRG5!Lu8TAUWnH?Z)33i&K zB)R+Hu!S$$|3Y|Gge$Wdd}-d`XC9~0_E(_lC9mSpE%j1W3d0Rd36GLZydu0cKu|*b zEXb+jVF)GUpQfdTC)P9F+_n`WCu^3|Asj?S0jEyIsZpm=K*9T!;?>8l!&Iv8$3)p* zY0En>tqaxiuyE?iWL3KDI?k;eiA8Ugc?T?N;j;1ZsH@i6)?7&#(5}&tRs#C9--8+V ze7seBhuKEF313bAwe20Bx99^H2oy3IXVU!2wc;|%beSuN#m%@&l{;6Kd0UoJMo)%u z6v!Mj9%WnB4$xT!SJ#7NW%wnTW3OFCc2grw5&u0LrbyPJ%|*v(j-Z3`Zk zHLE%`&XYu zjVo93UoGd_By*ssWa^z7!-LT5{)nGR8Exuhv)D#OYyh;7qsW)J=&q`_x`)iRi^bg& zW06*CI!0@4d4Y|Vv~&7o4I~IFUm))?3~;&+AABoTX&71sk=m4zJrnaa}q4yz}$ z3LplcO4SE2ADFOK#4w5gvNTj4_x!jj;ZCoC+3T zXFmp!y~CqB0$}Pr11gaHBYA5$Pg(pm<6+RT)eJ-o98+Y!E=o(bRJB}OYSyuBLP+m? z?3TX`Q@DA>aBVd7)~L}{YpK5HzURjjz8l7ioOGPw$sXqn2mIUiitPsT1e=Sm`;M<> z&E?=~GjW|Q)^MHvb;6z7-(;|L3Hu>q^CHIMX64BkZx2OTUV&tnti7q{~yWvC3l+5Jp^=|?&HLY`>O11Y(iyklJQspfAfYO zp-E%nZYK+tzGFTnxYMx3IiwgSMre?ev%Lx(X6^I>*fSFE&5G_!EnpAuIW%%amZ*1( zYhOl1w+tPuUihS}K+$~uFyj^Do6a zNa=5Cc11B;21=*qFjz8D!jHdSwIx z(yVhZ2INplMqLBhGk$ud$RdQ*9b=k|cd2DCu;J8<1V*@Z9V}vni>JiXA4YIgPPU6= zR0yBnKY9q*7Q*Z2P$Tx0tCO5osw;f$UB}I7c1vR-5;C}Z|WyMW!bqYO^FGvgKX zmG_DrIHZtjyGO}OESRuYo%Nn1Z|?L$`45&qV3 zOHW31REOp*3TMsEmh=+wn*~O8ZZ)HMR25-In3Z@aA?Rg2_&I*ZVSvK8_wmaDfuhn( z$=0(c6fINA&8!S3=QD#g%!N=FwHNC`L3ZnW%m;k$HHML#$iWss=zY|`-U(dg6#d8; zhfp-&y~m80dlo`2H6VDQ`pot?jloNypQ3eBke~p^K2vOk7NZ{FbH$==Ga1s;jSyRq z^c$t_c7fjcfexXXW`$jZ;b;EC*7l;8szYn$4~=x0j;Ht+ffN9CmCt`v`c#8@xo{PH zFkS~e?^*E(mIWkpMf`*v_Vj_f4gd4}@GclMfVOW{;f!LXkHPRcPjH>%B`Civ^eYHb zUmgMb6qk$1Uouo}aoI?n1r!(;sHS$o2%R&5(F|@|gY$4IO&9_jSwW;?7|Bswg{{}x zFh&|TEIP~#*F7{h1qwsd-Ry#&*EY2f28+;ue=O4B{%bjP``ugwayG%r4EvZ7bRr^* z81@)L+u@%=Rjf@^ZEn%JuO)jERM$Gtrl#56Jv1jCuPF{^q?LbnP1 zHLQ5p{#Ef6Fg%`LRv8@wr-w?mu>qGZ1keeb^N+;2fb3qGyD26CO_J z^C^3+)#^9;&R(ZA+YU5YUYEQT9XFqyrlY%5Wwom_I(yNUL~SKn5W#Ld2Vs~ z3Rt)N@S$qS^z$>z#g|C?=8hX9eD_xkl%}945!(^tarfPi2BBVRK{j-j?}7$f0Mb`2 zI88!#aI4H*Z%e146!POs3{IV!rHiF{GjN((!QXn4?b&KulkU_9!NV?BTFF3FWAqow zD~Bls3hkekRF&S7wme;4CDjWu7nC8q%EhX?h_6}jP%;p5TZ)-bG9V+D;%Rt?2Ld$` zC#0f`Qe_i65=}IRb#EWtgXPVW8Ysm$^q7NCY`NqJ#?UrZg|4oYNE7UX7)Gvvh*CI0 zlR3>qIBZf-@+&-i3C`@lhQ^1E<88u) zE62SUD^zPPm|@n`MjxmA$3ei2QleD~0@r7@6}LH)do&b*T0PTvrxW$IA+;^BYr#Ch z_Q9!=oJ}OSVAwlET50Lu`6Et}Kb0YL*;Em2yHQ@vi)zweC!VNA7&W~p+TA&SvNJth z<;L`*e_No|f~Mg@<8P&Bh^-EuouEek>))Tu<>Tpa*@)F9My{Nrmhzp!QIU+RKC`tl zvP4HWff1?kE;&J`&yTSH_D&^?Se%6ac_a1U*giPhfW_nwEwE$#5ICD~>45aYHoYC% z73(;OGS?ww{3C}d1bpETl9|`U`-;SMbOqS9 z!pFHh%^nd;2HGmqn(q$z{ILxWCh1GLEpsTV!2m0)>Y(`nIs(-e+%4S7#kl|cH%Y{d z*ex_&WsfP&2;*{(D7-@>gq^hLXlR;5`Tpd#Jp&?!&`pihOI}W$vcgR->u%<9`FX2& z$0OwIi<7%BtNHZo{yvluS2=?&QJ=CSV@53!5%Jm`kG5n7Jq1wNl1T?yzb+FmF}Z+* zQ53d0Bj^^;7}<=|D3ix~k4_q85u zbWTAdaUV*~z^tC|7;A@3_#C<1bRMv*mt7w~M7qr={Ok7OZv4#~?{-eL9=6enO-(P0 zD%~6*CUyN3;Bxu~KvjRNElLaeKh3Fen}lYNEieotOM9$}O&ct+Jw(*>g3?-F+7&|^ zvjfYvDHlQ3+vR=~N0FQ8ntqgb249V*z3sYea{QIz)$zQu)zu&fcRrW4j|1je78Z+x z3|DQ=V-+J-Wcg<8Srn&gVeoXq6&s$un0FAddk80Mj?EWXq|juF+(t=Dl;bMj($qVTqG-hJ|hVJuZl_q_F7AB{`@!U z$6N7B^bP35j93%Jxg&<|>eE!1G54YZdorWDF-owyblrM$;hu^y(lMO;p!16LJt5{~^zTfF&m{{G~c_J$40cZYhnpq8hypH-1MPQhd-fhAB+x^L4FSII04}GD=SJQvSk?)+~NMg3G zbEO*4y&w^&3T`Vmn817T6N>l(4+hB^^!J?f`IObHr^rIG07H{NVrParZO`Yf)n{)X zcYbSGfhALA*^uKOrB*lQ3iX2nr$oD-j%p`s^JYdUC2W_sZ#s#znyf*wTI#H$99eawA7D1yJZG(3XPnl zO^(vH1JR6%WF8t&r2xxzj(5L>$rABX|2@H%S;Z63GHB(qXzaXB91l~51-hGoC_{KolFJGt z>qK^%+5|6)Pt;y5A}%VBM|TyjQ@LwIBefi6TG4LmlyxUqv6BTfUd2E{fv}ZYk5KqS zX$`IwMw(SO)eVSfQ%1ML&qYnYf($nK2qtqp&g{GjfXm`{Mckf5M(aAATo@yO-FOs^ zb%3`{0=aNtpNRd+;sy6+ESVxE7UwfNEo~NjwPktF`=!ea=yBpN0WN{X=$Qfz)c?u% ziZ>?mg)^FecGuOHtKnByRiXzWfXucrcZqD=1HG|hrB!ZRH(!t%=3283h>4nOq7@zk zrWLWF1yT`uC6_DKV&{mjweexSWxkHknya9uVD|k!Dw7q|3zeg;rOb|T)+n4?1dRdr zhkg553Icy!f8@S5{8~AFXj{OTtqd9Q5kLZ4mGvoXXzcE6?o_9u)Bc+>RL8!81P_Zd z_GqT3N&TjAAh;<S2o7?sFM;W89Nnbb8795>ZjvoXfa5KD@7|v1&bi;GxFP;9P2tn>lP0aA~$g`xUUl!m9)qdNxDH?Ty4 z*`}dhU@MuS@5<c#P|9pntx7gOJIajjC0j{m_RoI2+;5B%=$Nxy^`^AoHkDX5Vz;xT zNa3s0!Ac~fEw^e*sL?1CTDOx`gqScRBPWZ&#zj-Yu-@X2?NTVawwNR@qeW})(wcav zh*E#A46H75O^GYeS=E;*$19(Xk8VvE-q_LC-`Uw!hTb&aseV@6Tm`FX`McsJ_`(&D zc+AV^M&@faf9wp2mX(g=7k>M!Z>#-u8EC7-d;z}8Dhqt*j(7+S#9T^ux4{NT^l=YI zIlU7%D9sdspmWn=5NXO1C}f_`U00mbKulv^MKo!Pu|<2EQ|n5n8x@!B%X z^hR=-?*O*>a%WS4ARN-56=gBk*MI%IUt6nc(98G0=Wmp>Pyg|i^$gGnssVa~TbHVE zSGEp*uQBS&zj)w>Q!smV#Jg`c@KaPxO|=FJ(wRlT_iRp|?%?!V1){z5D@=1*zv*NN zxm?TiPF~`P^YZ7`C1ki*UU@%R33&JT60o_kz3f`w;=-Yxi~R~yffOTV91_b9N`|XY z!ZBsYbNguEmx*f(;!)@age0$j%oiGe^<714t>_ zwvxVb3_D6n;LG&t!g$6YPczKshIl(Io}64GE=;xaO+i#jvw2qGOaZJFGAJ!8_wK02 zq{|1z8h<827YA7}c0wR?*S})a*Hu++%B`K}K^~I*TzT+JGq$XynFhDa0=A3FVK;)1 zyOA$B2es+JG2}k4MJQjEDKq6xI(nq zM-kn0j6_=ohjRu>4tD9*OiV&3=T81fQJJ;(EP*ZC?1(QmGpCJ1v?VTx9}Ll>am{FN z-^}uE<$+G!!=!i@n3Kz)&I2YzFFP=Yk2_hR#OGxP4}H@I&Z!fy*^>u_P3C4n&n)Ng zGT=8iy+}vllgU#dlUd~bcSh(hi|>8Hco#Qovw2p17%eB|;cl7QjN zcoMMAX0I?;$ns+(P9K~nZ&sw1tHz3i@AXsQN5T@EcV{hk-nx``N3}OyLZZ8}_b^yi z*Zs!W$BoAg3a^kHYtry0ZcBpR6`;v9ZL21pl2oHSp`n|om3m-aDwVLe7Mwg~T(Ki` z9|7Y>y>=~nl<*SKW$a`<kN6ye9z<}~>11C?1x0Q{o-ayKCV;sfU za}d9qXiwVic>S*RZ3NI;80Zu!tLmqtsOsd!+z(XOO;oV)ECX<#tf|@sS{Rm<%K#Ki z;O(-CGeBnSr*!7G02-)*+qg>HmJUEJ)F9h^v`}BWfxiH?O)ATOzc#X3Elo%#XdNP* zeDOwbo$)8Rx>_uPD!Ms)wFXWih{5Mo;O^YB?%51_#K_&xJrS6@`J+D0V5_{Ux%Nv6 zCm)Z#18(|saz(3|H<0aNIuxzOynLXAEd__6qpUU<;Z4EEn}DA=lRE#8oKV$ zpP}!~7z->9z!rQj+7m)t%t2n?TTtJQo}I0#my20$hBQ03kXZl=vP)9f$Qh{xsEZ{^ zu6M2I&V#|a9)~6oE})-VL<1B}4EV-iNNyOSo_H&(`N2?|b)6GnGh{X7mMm@rnis9w z*DZO^kF?Lkyp_r>*+o7FawzvemyBh2yKWWC!WJpD*PfK<>W{okG|K$k&aff;9}bl5 z$vrN@l~_d3mCya!u(Mn^dR$Emb8qaX&>{dvc-rGl5TIHz!I-l&0}Pl@F<aqM`y% zbE*Xs{dPqm-_rTUjPuSBs(u#@M021VDeD6vK&CrBmD7R@pY-AdPOfwUB+5nNpkkD7 za*MbXDSYS_)kJIl$z0DV@N><R{l%mC`wN$3QsU8`+5W5hdBw0mHU z=1v3N)#J9QU*UgNSR@ydZImut=ux(E<@RZe&rz<{gv!Q>MlMyTgo_|@Q}?;eog(HD z&hB&C*lF|C0W6dlb2ff@b)0YGzZMlh&5wnUzR+L2n;CjL+8|!-)UR}_4&=AZEuV)F;5J9P2}kWT8hAajlfcMeitpc! z^X_fiiIKON0_bqxN|0{Cz#=D9O?W2JB(u-5obhK-if=VvG z0&70wSk0U_g6?D8|EB{`38l%rce>27kI&oxys%ubTa+IH-s4u|?NC>;Cr?@MD{*nd zMRJR2+}MO}iwT`QnKGgEEUCPe2J~HpE6EcWgPopxik!l>5+3m9m<0?v|HJ(Fi@EMr z87=lL%_j94tiP(;ZNG%?IAA&qJlq{ok2WuK@Q90$ei=;fWKnjo6gz-IBER8kG0zbz zoga3C*mLG}ysVIr##TSuc`&N(uj2-J9vL>j7=+^#)=87RAC>tZGy@n=3P4t=z^J9c)t}C-m6;tZc9Ad-uNcxh3voE1CN_KRAy*R4Ypn42_4|umgEjC0UYvY;%FezcR^&w}dW#R1)Qad<)EmyR@58OX4YkPsgn&#@X#jmNC@Ct_^pigFuJB{^}41`oV2 zZpb$tY~er4^%-M9czY|6S|(G8&Tw=xl(D_!(LXdjusLt91dYOo#grOt?Ckd*b;d@f z7yfn4{I}F0AqCdoNxt#=--xjMJd@VGb;wqD(@DN_^-_zl8eBCroDMPteipMD@x{7^ zDM`l@j>j6`s=qRzW48?RY11lWV@e0n(OKAcl)uc}9t8F(#a!4xp3Cqgx+?C&)HI@x z+e2?KKmcD@aAHJ&^UcRRAb>45CNw+ul}BjMjA^qOO?i9=^`{GKjN*!&7Dw$lNcP}J zY`1aGA=8?d*kD*gBo2C0dE04={=m(7OocA*(OS6LEHQG@nmh%?(C^4_a@LCXZ{sc- z;#b|PrJJqP^QRi%4(pW1^L>7tm}(Q!GhG$;iTCJZ+5Oa>2gz6`6LOex6vqti6zW2D zBe^_BcL|wn;O`G+a3^dlO>^;YP0x(ALsAYADXblCLV&Ml8XgRV+UUlJ2(Z*wm6k4p z`Ro_Kj(IOeT*)cndB$a^hx`8!RNGR2POQ$5tkK*s93?B*0rQX3kYJ<2y@(9v!61U+ zlQ@avE&GNZK(H5M4qq%qw35JAny_bEsRhv8spr|zZfRQJWe^qKnR^`R9ajIG{_{F! z_jo82)=LsrtV83vfmNaJ8mg{`!Un@{NIES&4a>Ta{6g#qu1YJH0TrKYObCuaz)cy* zADNju^LJV)LtBS`$mkMrt4l>;a%*rf&dPT)O{L~vVcv%gL} z{=uRDL|gjq)cg3!?42Ae+IX4XO^Zdxej<$q-x!U)S$VwHKvCvK4$$J&*pm$txzT$m zTK8N~EF~p29{v+t=OE{2L|AgQ*jFu4BYrW04XrGwrTbA{5!OfJQGdOFz64vwuIYpN8)x&BI zw!L%q=_VB8yunCt&KR=Kqo>2ir)R-1qzbgsdbHg{znpr1??+Zqx<9~FR3`jc*!nqa zaTZL5;)TO^BPNv~Ow~{z_Nx!JPQWlrW*RfZZPj@Y9zjlm7#v->MLFL&MWD>?K1SH~ zcsyW8!8vW9odb`{+zcxA6A@#&F z&S@6yv+N@`c{|GGHPTkeA*0W_L_F$X7J3QX7?j0trY<+Gw!bbgDSuBg9f-*hbP zqL>Lk(4iPjf1YYTlDS+&pV4!-`1y&%8oI_mLafWS7^o!5yKrCq7(}Yme6LaMO^nUX zEJY?=WcUHKl()UD(Y8u0c<`$DneXa+Bfm(22JP8}@>#1RSyCrg(pskt4r6AvpP zRNX!1uO1dN7(?$2T=%7~g7l<`!+fC=pFonb&E}~`t6R}#qSC22c>MgeIkpyL<$_2I zs!ZF57F%Zacs~xH@V;PjMKT5XBfXv)#xbfhx|5pKZMF8 zMy-iDRk&@KqV`*gf zGWEwpAvwHi7VB0Q+3a! z>55do$&O~Ww?{j`+VtG3Wwt}9PEV#;-jaxWtv!y6oieM`qbAfv^QAL$iqrBDOc*VF zo(tQ4AS~0J4S6}CHia(cC4K0C6eo`7x~22evC4pDMoM(-gWp4p5WpTlNg=>lK@*fK z#<*i;xdRo4grB49end#QEl#{3Z#9)ec6KF$zG-Ipo^t!r)$W<}i^MKcm01tYJ8=8t5`@dT0HpU`Xcm+s*HH5UPoB|eok zcAy5(D+J?lTcsB8j|*(RZZMG|+SNq(Y{NqH3P|6+lg9(^ETFDDka0|LIKo3Ob0YCA z*LaKH^D%&^e2+!&5fFT%$x(NyJ~zw_MrzzZ1Ko=0pASbr{gBflTLCU&9%gVyRtR~* zki)H&sDxFE9?@+%!Cq4V9kN$F)Kyf#jUuZ74d8}bgHIB^S`c?u|dD2zwG z%gGVh=jp1711G#nkTqj9pZ7A>Sb-91Vn}rjEn2zZZ8p7*!#TOnGbyzuX%YHvWMG0DQTwf z40cg`kZuxYIcS*m6&aI;t0ifo1h29iirln=9(NXT@wt<9Gl47l*&SXap8iRmjeZl-PQXUFt6aWer+UDM za?}GKud2gDTt7Z&g;llcSC4HocRcpYFDP_hRi7C4KzC@&KXFl+hnez-{H!3fGTJ|} zuvpN?(%sG%xxhHbq1if%maqu~aOlma1akEpW98|dHRIV4!;^{q5 z+FHrcvp9fAter?ltftx=r_!=YzgVu%JwI&l38j?pR+2I$O&!AtFb4>oZ0N+&+r)or z8XT&VmG)dpD(^GsjBE{${{ue;0Bp|wS6XhZrid4U&I^Z2O$IIo@|^(WAR(Ue2r-i# ziIK=EnFMEU$FfT4wh%;_?4FRqGnTN0C9$uG?eYQmPx1kXF1+)wg+J#s{*%}^#531w z`1~b{ER0rK-;rY%yIZV@ei@9(0bu#L+?0!BCP2~2z+hdxQGWkvgh78_44`Ph*@!Te zg^}!*ui{luQOwX5TdAHS@%Aw*8|G6k#VAHPEd(D5F}<4oAV8ZtN07dW5L8Ot19BHL z+X<8^ncX`TYQ&v@8|9&OYXuNw-3AFdYK+He$q_`598*Q;TN}OV>vsCv9~EzQz^TuS zf_o++4iqbt8%)?6l9MY|Jiph)LztPhmiewytw%b1`4J*3tZ4+Kd|X^O~b= zM#tU=VB7tWEi)W5K3twB63w!F?O z$;~CTOH`yw8af^^RHSB#W@8HeAAo#@qIz`xbfa}8)sCsG!<>w+l)LVgT#AjbE<>h8 zZ%7CUiUY>FRfVT%@z;m@w)&sI!);A-GCUq+E+hWm(uQt!+=RjvjRbdkLXCtbP~Ax$ zbC7K2Hw{`f1s{+IOy+H-gc$B2MnawmGg=~a47=7#1M>)k2xfO3;1)_Dapx(xcHtEpcaHjbYjLNw)J?3p8bwXc}#y3$j;HC5&%!DMBT>jJQh+UJUl$+&BwWl zPiH$}DkkdxDmbo*mPehjQrx(8f(YXAz>@0*uTP0i#yjnJ5;CP9l#K22PTj5)diQ#; zcA!po;OS!I8HzG}2C`c4o2r#eZP2cifaNwaePQmkN~)I~ow$$}kyESe@ZDggNR8Gg zC5_f7Ys=KCBr(}mH%xOHL}l;R2eBd~a?C+C`3ST&b|8A57kN#}kg0H37nF;E&v3Mw zRu=vg2BbCn-k~Ef78C-bj`ngTw)-CEAD*~yKzKr4M2y!X(h0Ib2|Pf4(pTv9|6tU? z*E9Z z)soDT{@&VJTifKfOrFerBIz?m{3On+T$-G~E8!@y+#G#?&UUK5)Z*sy*BDQ>!3x^& z=vh3%Az-=}rXyGov9^A_iihS8y&i-*fhU*b*3zPxo}UD6b_sFA4x3SG8`=!1gPIuE zWVdWqn>7B@SJ140jeyZROOo_Z64y^DvDYT>UrS3XQqk4;WFj7&5ay0W1PFGIrFd&m zFDSNlk5@}GFC(KTS8ixp*Z>td8%kSR*eq#HWDc#gdRIBgRWpT@u@n%$eiv;;-a=sj zB~zd=sH{Y-pU+pq%Y^R8WiHE2<)jKbOU;!=#v1`S%2TEy(Qk&^!(fet{?{8z>zEOq z2xoW8<@p0tJup1SzW+KD$q=2 z=lsaT_}|tL%2cTkZJBrur7oO)S1uiswF0kV1WZAglZ^Iw)-ZYxnU;-{)Iq#v^} zVen}MBD9!#z|qGhPCoEZpGC8b3vOHr0kqt0R<~@XQH1xGC?DaA9D}||;HS`=-fV2w ze|7=0XEz-IragGK>{vpuVPh2WI(z`L;BIi{20Uu}O9tBWeE$kuN?ajjKSr=aye9E6 zHsU@ec!WE#$b)#&%%>-ad3%ruy8SlN4FXG%#+%yXdb^esWvr+>d=i}p?-X;~$Xt(B zK4Zu_2v;N(wrS@R)y2DWCn=PsjwXF2kVD#6pZlC)pfHaUKbawo#%$-{ z#AR@s=B$HL%|{@?&b?196sAh31nquzeps@tnEclWP%I6nmxeXulttjp!eqL{L+m09 zMMGM8C-<2JcFlomAXDcHkDU z-Sbu>O#fC5WaA6;1Z#S(ZBI2v(0k^2`tF=UaI>@{*$Y+QP`FZp`<5!Ar!Dk_TDTZj z)uE5Vrx3Ufxk5&L<_IFw4O5AqjZJ~~mET-WloWI+Q{yV6@GWv(4xd6dgsCC#gW&d!;LD|% zY5ytlHhLZQXV5uJZ15`h5UkCp{2*g2Qi)2!8%vn|v6!b5HqZm8QnHuNahjyX=iPe) z#MBR8iHYR#(|96*D~e<7MwiiYDTYLUy30KOGwmAlPa?kO5Hj^Wy;~#9a&yEVTzGUBm3yY7(J)bDrYYWEy1YkZ?-7>%~0vf)YYr-v5zGw-=Q9JCt zKZ}dR7ap^jj6^6Y$TAV_5UWJE(w=|IyqF9gbBBp47ZfIj!zn@g9r|M|x)B^FWPI~` ztVCt4Qo#VGve)iY>=Q4UEGu)2_~_~_3g)6y_1L<@_xZ%iGk{hl$53EhogxzqX`%^E z>bpA+7tS$Hwet@zxD4>N2nO-68dmd4P_NOTX+zO|Ls)lmoWK|V*}9ncStZs@EdfB` z@7Veqg-{oWgg>9Pp-Nr=DT2Ue)H z!I4#x<^5v#Jd#0F*p3J|Al|`^>5i(#oxdpLO%5HA6ACCKLmsoFm zzoe3*ykHD2r43*wtIifJeGiy)35PS$Izu>J8t@ou7XpqOPlu3!rJ>6quo4ZYWng|a z)oAJmrUkbYPO^Y!$4A?LS1T)<#0|4m05~0IF|Fz2z__A(5;Nr>OkrY84;w{3fn=8j z(bs>I_}J}>g_7$57yf8ii3Xt|P}{=BKy#lgC2WywAvV<*gO}*F0SV?iWeZuZ0$+Mv z4T8TQ?9uC$lyGX6_JWf4A~$P_gsF%X#R-#YoL%Cnx-elu3EKHzLK(Tnq8H{HQ{(LA zd|WqU{pkzww1^$TkcGLB)(CJa>(60%F%5DcET@I%fYvQM8@4Lp6kA{|(dF=1+;vCS zdjh{M=T}bI{Z{_*Id|W0)6?hD1BsNai7T(=vJLCUgGn(cwAjPQ7as}`h3QKU7eNMz z2f=l04P%NLPJh_ToMSeBpt!d|ACm5H3B*3?#L8y}n7d18vJ#`hy0;+`;l3Z@Fy6Wv zMSPFH8pv;{{iopxU7)D248hyl9F9En2M>eZehE{L-zknG@L6;Y8?3Ait-|&WT5^+U zc<`1SrfiZ-11X1_-B`g!X2*m|YNp*V>@toe z*u@~zOe!V~|HlyXZqrV6ec$59wb$O$wScT~EUdATtEMr4yEZ33XHiF-CXtkt(lMQS zxOI4>lA7Fqk1?2;GV$KWp#>){Yszw>;WkxnoJ)%S&xNj$k91kMpv)vBC1Zeb6lR!S zIGWQ9R+%lv{d#v1NOx?s5$3T3+Rvs3(N!MDD&~r!2buIKw!Ulk@yquXW81EVAm-u@yYS5_vSSt zlzVU9ek3ZGYKhS-vG9}HADn%Izu$$j>Os_Nbw?mM{g4dXQCvU!F{QqGvAwgUmO4OO zIpDH@8qiKYP@xN;Zhc?`kzXKLsXgrpOg? zPQwSN)9;d*Nl1-K&i8S9Wr0-WZWo_LI0E(!;}dasx=E!Yw@{HC4d%I;(YMj(Jk3f? zPwYIN{7;^|CrJ5^+kAAt{wk@jNHX$gWLnv1?Jp3H7Jc{SW-;W-LLdUwDMBa;LUI;8 zM)>)sX#>Z~QZAiI3sZL@L)GWq`N;}2x9~&8APeLv`;o}z-t+(K$W8naslTAjJb%AE z56>n_C^x*^edDMWCuio1AQbHaz8{S*WjA;bb$akwHJi|jjb>A?J7~uHP+>6m&*g`C3s;UKigKtg;1Ah#NJ9FIcxu1XmbWn6)H9};M;&rwNWAlc+F`ugFRu1-j zPz4B{&E&~@=?10l<-FY3aEA$B#ljLxYgb{OS25#FPk-d!TdWy$HN%E%iKAuWHKd5Jt>-1%Yr7v^dZB82tDfz)PfDyahDjmjgPUG<_wRiGbrxIG zp|(&~+lPB<Vp-d>sd$q7MXeFqyt>KCc6YJgVJka&@xaZ-ZSTm*oSFi02j!ZC#w zE~@pf2dXqmH%W8 zpP=7An3bT5Hchql-NS8la;*&q@C<>hX>braqaK^v0EP`?bW)v2=p&H6*hmV6t;+G$ zt5+3u7G61ygJBBs=yXW&!XyX_NALh(7sx`R!7hn+BQ($-jxg+X_nITYprst42y7-j z3~oIn(~mY0+(cEb@PPKn!>g#rXCoSH72pn|uBrikV&{Xlgm5{f5SemRtEm6yaT^Wq zHbxYn1*(HCJ$h96ssR8%o(HW#toksW z(7JFy_y99QwdwUC4i#TJ{_N#8|scHLf_%T?-rsF`njmNyS z4=m6+tOD+g(ERd>)-W&Z74;{6Tv+NXa<*V`?W6s?>VB5uoCA~lK{Q|o(OA?h)T&~- zvaqyxGdZEZnzB#>2B)pHl7NDji?tLZrB4#o0$>nksH#VFeu&S%J^Gy@M0=lC>}MR9 zLPkt9V@M_V!d>l;ZqPgJUUVBk*#*=@<#Y57hcbb7Otu)mHQ8^&L^^=2k^&!zO<()jI}wjuF|!oKH1tN1gu@OViB5gpBO>v-7~;-^>Gle>Xhv_kR@+d=kgqOky`W@zXAGb12}SOUuh* z`f&l9Dh3CoO*pA*{wcf)&igug-7t8snP+s+{ItIEsQ$SAP2KFg?eJuDx`1q_>hxj9 z9(IsJ#yf6R)dWh`Tt9dT6n)VYNY3I*WJkG7e*|p$!h_tLz$E~ASio_sQsxDEUW6@N zit+0+r7L#9ENTuK&CDk=nwJCc1oUazkK>ct$g?7$|f1S^fUW_fNlF{T{x#pPGCBRtpShS+WBEWO9Ft9(Z7< z;~f98IUX&dN?U!!AfR*C@d!d# z!-wKeT{}}JbJIF!+6ML;?c#@LgLrg$#t5t~qJSiC4H%FA@NxxSd8T6P-6UqxPsF<& zwz{wik$O`^7EJ5Lai0V@d|5CPLo7KT&Mqxrdml!`rB;p~Ro2wQhayqC$Ez;Knx%8N z_&}a*#r^AgA#s3la)y@gbUR|TmZdSPFHU0$$!kzxaV?dVDwRZhhl{1TKTC7OT2_+EGn^k5v(WAp zo?x`K4!~)j+p5JiYa**5wHXqk9DL)pWG$d}LDG&Z#P z=;$yE5KprqqyI5S8*MO%c3ntlKF4se$*6@i2@N`lkMOeUg&+aU7gCF`d`RQ1x)Cm? zZh29NCQX-ti-P%@QR0}=z3>vS6y4^n_vr4Q%wE}Vf?#r81Qv_gWkAq&1q8o3TAfPS zs(SiORXu)EhpmqWCU>h`^sDG}!z;R=%h~~s?L;*ekV~}$grY&+JP*3vxCLAS5Y4z_ z^l9l5i|V1xBa^O{)XF1POhrNMM@@Qh<9@WJ35Y{CBK3op(IFc;`M2nI$QvQ#I&J=L zH;HO1q}maMYVx}1kn|qb$E&VxaQE?(s-&RLp@!NiAED%MX_Xsg$siOS`Hd%!>yMwn z|M1I4YD_P(Aiw#Jl4#qx2C$J>cUqVML&En8!Zg<&JHGwoRkqKF~Xw8ft4?~J|TH*`@W(EE{?Nw&T1im<7`0X zz@gG(3m@puI&!VG&F10JCP>%7wx=`}-+%uJRSn6+y7Y&9urOP|&^WqgfkRMh1g-;5Ayr6Dc(?1Ew&NbA%GN^w!>EZ}enWhwB zgR-O{086QQ#G}ZWjv$!1R*4@YasrZEpP$6tq^gVR%lD+TmyZ}_sT;K-Jiy?9OXA~6 z7uw%g-*2w(ZyWEc7m@L4oN8>l_>94=>cSRpeC;AheK#55Lrx%1#t_zCkZ>uY7<+ z1Q0vK>w!TIZjl%r=G9c1qm%I)+tQi5EgH3NQ{DO9RVU5{vgLB~qlbaJw>Hsy#a)=v z%uT*ZCcNi82R-gJgLb<)jGHYq?MTR!Wp3^P{zs%zH^^B75ji?U6G@^jbQFsewT)+( z11bpuBgllfTm&Jt8;~U+wM#1K_rqZD6J`B{y*$d%`e?vjGs(+>=huNXTKW?eWhW;n zo8y50F^U0DmAMsdw#g18xkGlZ6ZQtCUGQt{+A5&DWhpj0?aCu16VRr-Vm|GeyDNjR z8IY8Q8YX8KJ!;_5G;9Lrb@SnFokg(b+^Kc_4r;t{)#NOjUR=7h1=bu9p*e$w&JI#` z(D$l5pQ)c1uPchQ>7ld5N!7N= z@qagN1>I#iqbN%R-c8*meNI)|aWVsoQZC&PZnqr_E~B0exN8FM9-(&^G*3v95lZ%a zfmIm1mw2uO9Ypc4N|*jkxws=_6DgkF+@KWEooc+W51^NZ8*izWm))A_Uh=qiVOd$q4NszQ*^-zD-kK)TTH(g?#k zgcW@+uu96qUS(*?hF8&00zaT)y7u325Obp30_ONbXLv}Ao&tNOWYoI|x=|Z8DTNbM z#oM11Bxub3k+m<-P++z~bRy{SQV)L#+2})>L-4!AYsyi(KuyGLp()8$%$MSX0G6s; zc+8e8<}?AukXHFAz68nHFR~|igB=Z`yup6Gy?;3SaBGv~h}g_YhTaslQ!wGsJN)jK zI@oqtx6$t;HMHLk24r?#)x11O5M?~{EkhsaSYAqLqX;xN??!ktlx{uH9x(g6$hp3^(IGwVqwowNo7S@Q+ahD=XwluAQ#x zWsW>;0^)ARioPIyoJap9%vz&XoW)p4?ewuObPD)`ra=}H$T;ql?@QRQ2so{JX%h2X zR1f-s(C%16{|n8FMGRsoqh8QzjRrvrBvG6KQ~P2X^>X&mD=|}NgoR#})ATV;IyvNV zpQ&J5g#OK~4ZIDryi!%0(P=acy6VmD_FHs;<%sg5r%xz3yCjf5M;P|_>n6%;X@f_B z@2TxQx{pEk9Q;n=F6`4u4vw!UE{Y$b$0R)n0~}L8M^ytR4}~eC4s*z_rxugDRd}&# zHVv6nbgv@I*JWLG+es_#hj*zT%ZE9wax4YqQ)$N1)ui-P`K_2mCpJ?>vuMNeDk@Zk zWi#LF!S3~7pIr}@CK;0`!O~^!HDLD|u*o!FS)%t(P=7&FT%FAHtC3imHw1;Q%bkJT znur~LeYy94n8aY9}o=D1sU zSwywuf{4jTMx=M;xF$PXX)j&5dG5en7p|Kr@hxTUnr&Bs)oXr6AAelGFxmVZBt@(^ zoeJ~~HlCv8rKM$n{G&w#-9@5JvgYWQEN+Xa%pRKon>fdlo0RUsLg@xW6beZrG$2LJ z$tZ$NK2R(qh>URk%r85KF>jc|P1uP8i=7x8jRL~eqFy`f1EM2afvk$Q5=G)_T|z8G zX=nYOjjDj>5AVAw-KamJ9POh^w~1D zmq|ZtMIF2pH6;J^3WQ-)p{q7Xo2_9?qMln8H3)eBY}Bh^R%l}|06wiB49}`8QU{)k z4BvqF=jP$7o$cq%jn|uv^6~t_#>QgV|3aux<35&eusaDHqHTzIXAp)bNqgx-FC5Y@ zx{;xW_8>R~%tm$}5z(+pfubU-A;lp|w;0+( zvs&x)qn2SW?Uc6qBbifHkMsedo<5<8oy(ni;5qaho4Mr)UDP{=trMPf;u>u%OnK(! z*0kDQ56i|-T-&kL zVIV*4B&e8jC05URsa+aL5VUh*zgj`RCLU)~jVe^^O*W4+%pqz9C!fTdN4j=424fFg zY_$u99*lOxY`}*)%wiusF%2TzKy4Uklr|6ns)#NINp#sSXulr2PxHyOsjm#!T=v@< zp%Ov1b2?a)7CVEYTTaJZ*k3)ley6{z?VAMi@EOu*a>~^~7f~)giF>cpUet*|&K$16 zMBBSGP@m<_9L5HayAQ~&S8qTk6TCxmQIEL($-f`VG7wcR<-mg-WT=bAR?AOW>H0Qc zAD`v=&9R3;x^#OGUErz;-qU`E%Jcv>z|#?|bWH(Mwd0HfS$m2oy<{&J|!q{MLI z4jC@-FWinF{` zG?#{g4xs0(!d()3fa!99-DX7;m#3yAHJj$KG}n$b0lvK!O!xq)Zr*DL%%$%~MmuNd zlEP!D6UXc|X^nEa-~QCPo1RWuS<57?ViNi_xS<}@<3d%4=o+r%_cLByU9D+BP1J8+ zQySFriM&huvw0WprRM|>?bU6sjDFYnp~@(A6oLHJG=wye4XdE0rFUjM)M@ z!RVc`eHoBy(vMBj&uU7WU9XM~$*mZZt5Xh}d<<2f&}4t!c8kp}`%b=4=;1 zw=thCu|`N>L8ia!NaCW1oz)v4aSyNyJD2~pP{B?jQloQYe5h&R75NQJt`pl?*fwtC zJTMJQq8((^$zP?tkt-W(K|BpgDhm(KDEiPGntL8>zg17`s~p{vf~~h>&x3-~W!En+ zl}=)%52o$7f$UZ5Jzh216_&`7D3M;!a)Ng|BL%XR<{A6k=2 zbsi*tj6l#P`50E69V(7=hi;6dEznX58kAFszZJXfT7ZAl*G1^o4?n2KD~tLEJNi%+ zeqR*NK=id439|jR;6neGT3vba?UU~wKVAJEee!&}x+1$L{QLTAm7n*?x0rWj(PVXe zC{Mb{&Q0S-hrQZN=`&}}_;EpuEl*ct!4jzVKUox;ga=FdGLKtVgFGSb|z|<#@Gff;aP}X9@V--X*Ih> zpFX+A>wCPO7_Xl`xjVcbQ;nD?8y<%C{9A6^=}N|I-g#MRqcVX<3o@bt>cIlKn~c>5 zCB0ZQUh;01d9w?2Ol^8ujXw7u=_}O-Rq>USR5FoX*JdrI{7%L@ zBL6NvVmsjgQ!^V2Jwe{~kwUWN;LOW*g4~{=KJtuG$ zU*c>GMm;&`bYo17+4RSj^Y(YT^m91sk=u*&5KY|@>b>GXppGr9MS~jDg?T8Z1E;hl z#YWNI-*4cQnlk@Q=ST;kj`?A~;LT-u*mjj=J%ZpA4X+}MSWTWl z;vSj3VxU_R`>aEsl3Xf79NZ1x9#t{sGK?+YWg?Co+BQU&>)D}#HqCKQ zCY={%0g(9cx;G52*g*$b&hj0j7+Dm${SHaEU)1l4%fweRN<@@}{V*dVA>o`)W`uPh zI1v-w#utf!{eIp>Z$bM9>N!Q2dj?A;>Lxf3>=7sG^+&^csU@MtTm~YKcZhPX_|nAv zyUO@O_n`v3rwC(-cb|5FytF(cAB>QKD1mwh#^j{LK45yd>e}Hjq-bln^8j(Wvk5VS z+-f>az`>qoMBTB}F@s|3VJJPGX8iYYZWF$wgY5;3_ld!?Qig?_bOwmuf@TRFi#zHa z!Kzdhbgj96u(f}%x6#~wv9)u!1zazwC?$z zlOHS+dOt&=cl?f^UbZXGieg_CX2vj9kf)>FTh0HZ%D&X0j)^EAmt`>kzDC1q#?lgo zbUl727iPNgX@ywxbJTYLW@7%b#R~Ne67_$4u<{ud$EPsnV)aTM4igC(423wRZ0)A2 zDic5`3|t-z&zdg*^Jf#}JXsOJSYZ*7O#^RsP%|PMIWF^^IPQD96f8*Ip>X5HJJ=!n zdQ~A*i%S)j=1aUTRNL7;JVNjZ8#ivhIBd+rpEX5KbaUu%Yk&P<{b=uinTDhZ5-~0T z`kKl@p+Bzrr%#qoq8{@P1jvD3Qcfos8p+Z8*r*%Hl$Ll*{0L3SDgIs4a;M|~RAdBW zu0^o3H5!uTJA4Rx33=J|9RS9^=xgeWXeLyu<^)8-$xjD9fPfZuYN3BvfV4&vyGBb5a2fIWlFs{5QgWX zTR6W^eyU1W191C=V0&H8V(3Q&dsk6E{+N>~GngS~pRdqk4VG#T*}HRO*%oUR^@9(@ z?La&lmSGNz-$07IYK)43x9X@=<`gJf5@*sc&R7@>kei;@Q==ZL6I_!aHLLsa4t%nv%|smV%D*N408I||4%L(TmC^%4(I@C2p&hom=!oY$JYT936M(+F z@Yn#c5%Kp zV1gmtKHN~N^+)wprExMlq<9YWS%y?EirWn-HutX^P^9C_Ep+;#wg=Hw?FkI-H|iAq zg<_~0B3UgoP*mpu9_wMWD?FKCSA#VS)l)CIcaiDrPZlj?DZ4e&ntk?3NEEd(L!k`S zf|*&UsEYbpJ-T}I;>99bv%}Nsqs7t#eK%nHaA)tAt%HTuqFSf~z`->XKEu|GKk!!h zZ^g-ewD)FzU$Q$ze^Qn83K{9Q&|V(^Evjb-VbPq*W$QcU^SFhAdZUWTqLABLsQgb} zwm~LaQqYS@x)scNP z79aH@c!t)tV`fK^Ce-?hYHhr;J@$rX-ZZR?+91d@gz-9iSJL=LJfqH?;eL2BGys}l zQ>T0s3Yav-nM|pSvqU=+P1SMv>Ucg?@)!yA6$PSjX!XsO#7-~C@HMx0uob>jE5_Fn zPA$narTmGC;udsU&r}QybPO-ry5SQJHY`q%g}S#I>@Rk#Geg}Ahy9@SJ{&Idk2ACr z4o((AIW_(!M^k>z#tj>@5Lfdzf`H-knTneSk49{F>u7&{@lY-II~T#= zhB3-ntxnOL!D-Sb8kK@ekbW|*hH&VoV+~OU)5Z>>t?Cw|*W7>c^ZG%-u%#W+MbEl6ps?M{{lvre1p{~&+M^}oWU1<2cb82*N=?W8(;ShHV-CBXs^WWJMP?xQET7 zR|k7o(%6IR7{R5XbEC5Y8iLT8PY~yWS327o5lC2(>#gElJbk< zZYH3Hy8R@Wf3chKoKXtj7`f&a+DTxfhF!UgMf7wM1!bm?Ps>Cob3OE8z}HT6rML9I zOkugaq=nxlb%bWOCN8WBRJlFE5TX=q02d0~4(3qX%4xiXa2Bvy>4Y3)*Ubl@#dC87 zdv*FlbROoV(-7+qWX?+{bolFGb9--NWAAnIRbCllim4Eb;i)iLml4_#*n z(fn{{)FVY9h{kL%p34eTE{CA&+=lzb3{8`oWm*02GjpqlM+aL62YUxT{blkyS&N$m zZEoJ!>Sngx!tMT|*Ja)ci+f;*(#p!V@L@sxW9L}{g&=jbR)dxY5^=P zQZy+#_IFc%x+U{$VNt+_-8UQxd;&(fpyZu1#enG#vcr~t>;WJ)#TWF@HffEGfGKD+ z+qmP=Fs&J~v8eDKVDe+FXdnW#5zm*^k~82yj;oT27gqioHiwIA_SlQPv;(1@bBXIL zF;JD#=kKOnpOI6hftIz^Jjjjc_lcr?7V_@6G;VCutxx`>Q+gS5M2yU0c4HRne_f?L2G>u25MOY(_Y2@< zy74K{ERK2j6%P$aWIB08~PI82#Y$Kq$;)OPk><_-jo!B&K1@EJbO8D!}7 zfffxr&~wyYU)XmJp~kWF5;qf+zOX546N5wJ8wWcr2q;f#mI9c)Fk%d@$Nutv2_;w=6I|Z%(tXxR9u#21FT-vZVBmG48%8k=+{u55M{f+?rgGz6 zaD+qPbq2|hnB%IAd4o6W6*`?5g#B*N3MppzARY}-|5JBLCm|qC+ZLySZXw&NThOd?nhI3W9E&fk(k^8&ruy) zqGCuG8Y6N*xAQf19wlg|u&hDUTNHKygQ{V1j7BMWS<%cIG`h#O_x%4JD$=0=r&%_O zz~vCiOUn4%QBtH)HidJFluOF!eZsESOM@Vj^s->>Bi#r3@SggXO9AYV=(N<3Q0&@( zj5HV6#KWmz@upESKqnuioFeWhAzML6FdTFN6?2xBe3_Vq!ps@|i4u#MCoXdf&S__3 z{iuMPNXN$DKj-ifV+^Kp_Gu6`Q=)JN`qxD>(7&Ey2Kv`IGXRO>W&q3FY6kXy9Ww*a zu^VQfe?8R<^slF#0k1^C3=HG<%|ZSY(5H##fO2Ohfm4fTK}y|X8jkk<-8?9q2kze3 ziJ&Y~%mn41ZYt76(sO|vobAev%i2w2!evNX&v%XJ;=E|YtPJCnQLLMx?^qUhJ**)P z6U=U`K(Tt>u>7&b3`Jv$bx{WHTsfmkO6;*x>YUv#nO6Sgnm-+E@4h^2zG`l6ZS1Tc zY#q|*7wIls)FYoFCt-&a8Qvu}6u6pr0yvC&B0P~2D}aLK({LEH+XK}1E-cof!-In}>V`(<7^32Q?17DTtQMkrSjYF)q6sZOBwr~c zcGaEg$1et_dVf*49|{(SS2jIKu7YPb9@?7_B;BEBnE*sG9tzvBIwA1j8dLZ{l41zA z&OluIV-yY0w?K5#OS-cfGmyUm+iq-7t;;pt!GFUd31Uv*TV@LM1@OWK!l)p)L0nfbi;xXT?C9421N)4rz4Wt zZPk}_+a?*J-WkI@U#Fb=wEEpqg8yl4b9tkzt#7Gu?$n|lC)aEvo#~ETx#r_Z&e>jm zzUhzmCU^JBNS2R$x3P`Q?@G~$U}0v@V%AWmqWqZ?B&LvZK1iOC%yq3H+j0m6@?(UL zTW*@@d7x3d9kp>cg`En4`|#2yiyoOtG}&vjBJwhzZJC%5(GU>=$Xqy3ulC=(#Y@q~e*&z=;Xp39UxpQ!Dm7rY}-nO|3HxR7Ca)mJwh@)?ErkSZ0>kt@Jnr___rHP1=U|1nda=sUmBpv5I zIuY*|fR^ItB7L14@_3iXTd=^AMwwLXdXLBZ`Nk26@FgidAizPpMsd?SQA@RhVSxTX zDgHsf8w{a`=ZQY-XWbW3E_BEN<#)s3^TSP4mhJV!9z1f(&x32S$S_$|+{F#c9U+RY z03b{)d`iC8!#G+oyU3+Mc2Ds|@fJ`}@|9Q0kFLQxMUo`QjKA|z6jkKuN(9`k)tNeWbkfP zv`>m|?lfwl4F);&<)7xssDt*( zykUEk3HMuWhBc z*g9<52MA8jUrQbEWWl4=-z{Z=&uGsFaNfLazT7(6-8y>yEBf|o7G8U~dy~E?0D5@p z(&TAzd~8`C%|92Ok45whreoU7=!%NqVe5Ew^}jZWb3yqW9~gOO!rrenjJu()pAT2pr$W)Y#?eov zAo{yPo>)vEUh)eO6r8sF6Ges8Q2$+p1+N?V;zByh3<5(6#HSD$Qu8s5(2y$nSBeeP z6r+TjM07AEtnlE83V!FZ`;}YK7;)imDk1D2>>cg>ePx8{kotzwf32KQh}k#D3NzsE zKT}?q6qUa;iD5b%&M)*=OAW=yo6fREC%sZSSRs&mu+q8jr~P z93KCv;boKz(GGAp?4rNS|I#_(o86_iA#mS#+r+T{$oC({z^w8iBeL1V8>b97Q`yeM zyEa|I6FXP7{2?DcRJcbDQKl*wnZo2=V#0#xlwzhDgF!!7j%ICV)M@Ibjw$T=gJl3H z3pt*bSx$M*HnbQ!IzoY9L+SWb^{lnFH#d{nZF@z0V^#lCfw^j`{H#{pTSu?94w|p_ z4v&uZb|<#)&QzYZ^cD-WT*OssJ8SrzLej~tzf%P#Gy%^nrkjny^C!$oU+M2DH*8KD zZ?F;{KeKt;0D51eiNpuTXxyLNLi2GR>di>*$WnyCu+3ADaokqa%&$Boz@lU-U8P{$ z!3m1%8G=G;6A<)CK>W#+nrPB}%7n$7nV)>xrOG#s-;{zbq8>mugUSpCp=bsAgYbgf z(}^<{MJfa~cVTZrbomww;f=ZhdP&A|J={WQ`;dl=Zf*wT`jmL;59=pD)NO;TvtTOx z`E1yl+Ql@oitwja9#J7OEe(d@U>f{QfxbuIJ3-&{sNOa9q7$y$klD|Pye=ojcYVmG z#xzLkf}kP`j;1zqod`Z8XJp1k-XAbO6vgZh=>yL8jI;h$rV97K}jvHRL?BP z`|W7@?Pw-n%~^(w@GCFfneb1=t8Kry19ok_gMK4W&w;C(yw|0$$B2VdF8RC_|0`X+ zgqI?f8FnNs`lfrJU8#}Y%%vrlVFmg@D{mOPs)TqnNW$)gRPJ5`FN^Y$+m1J)%ChEU zN(&dA-mrZvC8Kfw+I||mU@GQp^5>@a88v}Lo}<%W9KX@-C&z1aD%nBW{7*OFZBeV! zXgj%gfj1jk>R8|0blnUXMAet5UpVf@hi7=Pn|CDEB;kp7pHJ24K--^}Vt@EjChO^4 zKFr|#-YJ>yP|{VxnELC=MNAE&h155c3(Z(IeU8)3T-Iq&2|iv9ZL)OhQpX~MaNwl)Ok_^ z_X+P0>KfJkt-|f7hFZ1^pRw$#6`G;`@e$g|ftq zh|Qe7b_iRXyX?*Pu@nxz?;pK7*jnFg%Iz2T)ulkr37}Ma13CQ3WW95GI6FCw zVt7vr|Hia%8dCTVql8lv!dd9xBxI1OOg8i290ko^ocdN%lS) zuhzG7bQd$xhwNB?%#ehFJZuPr(lgA!=>SlhI@pc|VQbjECTn!o(FH@8V$}-z!x4oz z1{l34IVTHrC?2DAIF?OVBl;Wze!)W7e<5Mn6zd{@eo$6!4sk9WGz=F`28#h7ktu}| z`_Jn;FAuhNH;=XskD7-E8x3yw;r7uw=@a9@5E1!&G#mw8tl|m;@&sE=ElTx3N}yGG zxmLp*wImt_WkAm^^gZ$5k}I|BS}>&w)&PEQ;`ajF$M1ysCgYk_pnZinFF6RiuF!UC zOz2H)Zw8^J-~qRAN|0C(r1gzm-TUnRLQuvRc)Esmh(9;?H`ezX*frAC2u&>-%RbD` zxUt0V6OAQiT=U{4f5ko!%vUp%x{YNs*xbl;B)b4Gz1Jc&zgEk;0q!`EAr{H35ea#h z8-eho-!Z+65~TAg-SWZD;`K`x|idFAY#-3);b(ev9Nav zP54Q%eVTh?W_;Zou5C5j0*5!Vqr?tvtfGCK<(4ftnkWtE&6M&9&2~qeK!Q7rNG}+ddk+P56M4n>-rm!Gb(()8<4E zoI1I-)umdm75cUgx!wh1_j$q$qlNdY-jT3u-2@+}8?P%nji3`rofLS!-8Q(DlQ&#h-7!l6@;fNJkKl&T2~aZjuiv`sS=HI{^4j!RWNE&w0I!;4(+?! zKy?N4mmjdMDDzzfuAAO?fBweCjfq}2rUWB9p70jLM20O7FqG^GdtM0X`{>+xohuFq znmfL*ElC)3^L9VLcQwE^@@=Sbco1C5c(=R#=zg$g9qcRzKbFqqG4sGsvxSBB6mDIf zqtiuuV;h*Vegrv49YE!+_3nzb+|~SqNN~^=du05J)hG~LRFb!SEeELu%ICrRkor|- z)&=j_xAqRH7R?+lpl0(r9t{+HhMeaRk({9`X(fl-;(80StRZJc3aL38a3&>H5k&2PxInbpja7dT{WoMe_H-0d6d9fs znDNx$5=1+^Z{NNJ9)|K>l0h3>B&_Or|wn0SkB=*7*g4Vd5;%PUp28J$K$ScGqO(e1<0VD$6}JsWklJ2rrK znW~5Y}u>y|`B^u5El}He^9j&+>xBQ63i#IlO zLKxIUHVvCz)=c#s#jG&`W=?KTs+^wfXSB!+g-vFqy$&2AHP?(*tJV(tAe-UYFDc|v zc`X}}h5`E!V(Ov}j1h+D{szYpBrD)zOc0TTbrdJp3U#Kn->_7*8=c_q??`$dl+@fI z(®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%0DSy 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 z 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

ODe}@2n%Uy%v6B_3 z41zVFnl3x|W36wRR67bDsXvrRy?Cw@Eh%cX0ILlCpARoCkIqgL#K1j$88_ml0Mp?t zDGl!X8$?F^|M7(OU-@V{tQObRR}1~m&u8L42KHYP|Ml^s@1L&izrMv|qBfhEPX;Dt z^M?1z5d0*`kbV>YN0Kl%ZtORR^)aSb_c56{I6go6w80E|MT4Hv*YVMRqE5sRsf`HH zPx+Sjv~#dUesMIctsERDug;T;y*CHPmn1hb8#u|6eo)sh#D~r&Eq1JF(9fz4cUQ%5 z3O0Kvvj>lBqT=z{(|nciL-fs7QROo17AmijZ!6T%QsxuT+)Wr6zu6&#VP<^-lWT;iO;2Bn!SFejZL{)m$X= zm#43}A*vDm`(LYBmJeqiw`_O2uIFx=#c9SN#k=Dt(MFcXwgQYSOjkq+__N-vdY zvA&J;Umrpba5H2aCPXqfx?ACk$js!fozwf&3cfCPO=DlG6nAJ*WrHGnx2DtUXZ@_7 u^|OA~&-z(E>u3F}pY^kT*3bG`KkH}xte^F>e%8-7ef|z)>!Y^-ur>f0B&vD< literal 0 HcmV?d00001 From 94ccf98a77efc4979656e81089a0b1f61f82cec0 Mon Sep 17 00:00:00 2001 From: Linke <1102336121@qq.com> Date: Mon, 13 Apr 2026 16:20:07 -0600 Subject: [PATCH 07/47] Rebase opensc_transplant benchmark onto focal base-builder MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Same rebase as the ndpi change: drop the xenial opensc-merge image and build directly on gcr.io/oss-fuzz-base/base-builder@sha256:87ca1e9e... (focal). Clone OpenSC in the Dockerfile — no vendored tarballs needed since OpenSC builds entirely from its own source tree via bootstrap + autoconf. All 23 OSV crash files were regenerated against the focal build; every crash reproduced at the exact same crash_file:crash_line as on xenial, so no bug_metadata entries shifted. Co-Authored-By: Claude Opus 4.6 (1M context) --- .../Dockerfile | 23 +++-- .../bug_metadata.json | 2 +- .../crashes/OSV-2020-1046.txt | 65 +++++++------- .../crashes/OSV-2020-1720.txt | 71 +++++++-------- .../crashes/OSV-2020-1836.txt | 71 +++++++-------- .../crashes/OSV-2020-1844.txt | 71 +++++++-------- .../crashes/OSV-2020-1848.txt | 65 +++++++------- .../crashes/OSV-2020-1860.txt | 71 +++++++-------- .../crashes/OSV-2020-1981.txt | 73 ++++++++------- .../crashes/OSV-2020-1990.txt | 71 +++++++-------- .../crashes/OSV-2020-209.txt | 67 +++++++------- .../crashes/OSV-2020-2157.txt | 68 +------------- .../crashes/OSV-2020-2178.txt | 68 +------------- .../crashes/OSV-2020-2222.txt | 89 +++++++++---------- .../crashes/OSV-2020-2254.txt | 67 +------------- .../crashes/OSV-2020-55.txt | 63 +++++++------ .../crashes/OSV-2020-693.txt | 69 +++++++------- .../crashes/OSV-2020-885.txt | 67 +++++++------- .../crashes/OSV-2020-969.txt | 64 +------------ .../crashes/OSV-2021-1017.txt | 63 +++++++------ .../crashes/OSV-2021-262.txt | 67 +++++++------- .../crashes/OSV-2021-474.txt | 73 ++++++++------- .../crashes/OSV-2021-537.txt | 87 +++++++++--------- .../crashes/OSV-2021-538.txt | 89 +++++++++---------- .../crashes/OSV-2021-915.txt | 65 +++++++------- 25 files changed, 678 insertions(+), 971 deletions(-) diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/Dockerfile b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/Dockerfile index 08b0715c6..c170bb51b 100644 --- a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/Dockerfile +++ b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/Dockerfile @@ -1,23 +1,22 @@ -# Use the committed merge container as base for identical build environment. -# This image has the exact same OS packages, library versions, and source tree -# that were used during bug transplant verification. -FROM opensc-merge:6903aebf +FROM gcr.io/oss-fuzz-base/base-builder@sha256:87ca1e9e19235e731fac8de8d1892ebe8d55caf18e7aa131346fc582a2034fdd -# The merge container runs as a non-root user (agent). Switch back to root -# so downstream Dockerfiles (AFL++'s builder, benchmark-builder, etc.) can -# install packages and write to system directories. -USER root +# Dependencies for building OpenSC. +RUN apt-get update && apt-get install -y --no-install-recommends \ + autoconf automake libtool pkg-config \ + flex bison gettext \ + libssl-dev libreadline-dev \ + libpcsclite-dev zlib1g-dev \ + && rm -rf /var/lib/apt/lists/* -# docker commit can snapshot a broken apt state — fix it so downstream -# Dockerfiles (e.g. AFL++'s builder.Dockerfile) can apt-get install. -RUN rm -rf /var/lib/apt/lists/* && mkdir -p /var/lib/apt/lists/partial && apt-get update +# Full clone — build.sh checks out the target commit, so history is needed. +RUN git clone https://github.com/OpenSC/OpenSC.git /src/opensc WORKDIR /src/opensc # Keep ASan stack-use-after-return detection enabled for direct testcase replay. ENV ASAN_OPTIONS="detect_leaks=0:detect_stack_use_after_return=1" -# Bug transplant patches (re-applied by build.sh after checkout_commit.py resets source) +# Bug transplant patches (re-applied by build.sh after checkout resets source). COPY patches/ /src/patches/ COPY seeds/ /src/benchmark_seeds/ COPY build.sh $SRC/ diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/bug_metadata.json b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/bug_metadata.json index c3293334d..bcc20ac32 100644 --- a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/bug_metadata.json +++ b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/bug_metadata.json @@ -166,4 +166,4 @@ "crash_function": "insert_key" } } -} \ No newline at end of file +} diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-1046.txt b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-1046.txt index 6de2ea75c..c38f825a0 100644 --- a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-1046.txt +++ b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-1046.txt @@ -1,28 +1,25 @@ -INFO: Running with entropic power schedule (0xFF, 100). -INFO: Seed: 1415041598 -INFO: Loaded 1 modules (31673 inline 8-bit counters): 31673 [0xd0a8e8, 0xd124a1), -INFO: Loaded 1 PC tables (31673 PCs): 31673 [0xb96c58,0xc127e8), -/out/fuzz_pkcs15_reader: Running 1 inputs 10 time(s) each. +INFO: Seed: 3269140365 +/out/fuzz_pkcs15_reader: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7fbb64208878 at pc 0x0000004a0681 bp 0x7ffd1628c8b0 sp 0x7ffd1628c078 -READ of size 496 at 0x7fbb64208878 thread T0 - #0 0x4a0680 in __asan_memcpy /src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:22:3 - #1 0x57d282 in sc_pkcs15emu_object_add /src/opensc/src/libopensc/pkcs15-syn.c:439:2 - #2 0x994d04 in sc_pkcs15emu_coolkey_init /src/opensc/src/libopensc/pkcs15-coolkey.c:679:7 - #3 0x991c33 in sc_pkcs15emu_coolkey_init_ex /src/opensc/src/libopensc/pkcs15-coolkey.c:734:7 - #4 0x57aa5e in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 - #5 0x5187bc in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 - #6 0x4dc944 in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 - #7 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 - #8 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 - #9 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 - #10 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #11 0x7fbb64e03082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) - #12 0x421f5d in _start (/out/fuzz_pkcs15_reader+0x421f5d) +==1==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7f878c326078 at pc 0x0000004a2881 bp 0x7ffe0d82fca0 sp 0x7ffe0d82f470 +READ of size 496 at 0x7f878c326078 thread T0 + #0 0x4a2880 in __asan_memcpy /src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:22:3 + #1 0x5be203 in sc_pkcs15emu_object_add /src/opensc/src/libopensc/pkcs15-syn.c:439:2 + #2 0xaf6f36 in sc_pkcs15emu_coolkey_init /src/opensc/src/libopensc/pkcs15-coolkey.c:679:7 + #3 0xaf2911 in sc_pkcs15emu_coolkey_init_ex /src/opensc/src/libopensc/pkcs15-coolkey.c:734:7 + #4 0x5bae88 in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 + #5 0x5379e4 in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 + #6 0x4e3a6f in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 + #7 0xbe318c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #8 0xbd50e5 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #9 0xbd9d91 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #10 0xbd4db2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #11 0x7f878e30e082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #12 0x4220bd in _start (/out/fuzz_pkcs15_reader+0x4220bd) -Address 0x7fbb64208878 is located in stack of thread T0 at offset 8312 in frame - #0 0x991fcf in sc_pkcs15emu_coolkey_init /src/opensc/src/libopensc/pkcs15-coolkey.c:463 +Address 0x7f878c326078 is located in stack of thread T0 at offset 8312 in frame + #0 0xaf2cff in sc_pkcs15emu_coolkey_init /src/opensc/src/libopensc/pkcs15-coolkey.c:463 This frame has 13 object(s): [32, 88) 'serial' (line 483) @@ -42,20 +39,20 @@ HINT: this may be a false positive if your program uses some custom stack unwind (longjmp and C++ exceptions *are* supported) SUMMARY: AddressSanitizer: stack-buffer-overflow /src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:22:3 in __asan_memcpy Shadow bytes around the buggy address: - 0x0ff7ec8390b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 0x0ff7ec8390c0: 00 00 00 00 00 00 00 00 00 00 00 00 f2 f2 f2 f2 - 0x0ff7ec8390d0: f2 f2 f2 f2 00 00 00 00 00 00 00 00 00 00 00 00 - 0x0ff7ec8390e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 0x0ff7ec8390f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -=>0x0ff7ec839100: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00[f2] - 0x0ff7ec839110: f2 f2 f2 f2 f2 f2 f2 f2 00 f2 f2 f2 00 f2 f2 f2 - 0x0ff7ec839120: 00 f2 f2 f2 f8 f3 f3 f3 f5 f5 f5 f5 f5 f5 f5 f5 - 0x0ff7ec839130: f5 f5 f5 f5 f5 f5 f5 f5 00 00 00 00 00 00 00 00 - 0x0ff7ec839140: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 0x0ff7ec839150: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0ff17185cbb0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0ff17185cbc0: 00 00 00 00 00 00 00 00 00 00 00 00 f2 f2 f2 f2 + 0x0ff17185cbd0: f2 f2 f2 f2 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0ff17185cbe0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0ff17185cbf0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +=>0x0ff17185cc00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00[f2] + 0x0ff17185cc10: f2 f2 f2 f2 f2 f2 f2 f2 00 f2 f2 f2 00 f2 f2 f2 + 0x0ff17185cc20: 00 f2 f2 f2 f8 f3 f3 f3 00 00 00 00 00 00 00 00 + 0x0ff17185cc30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0ff17185cc40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0ff17185cc50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Shadow byte legend (one shadow byte represents 8 application bytes): Addressable: 00 - Partially addressable: 01 02 03 04 05 06 07 + Partially addressable: 01 02 03 04 05 06 07 Heap left redzone: fa Freed heap region: fd Stack left redzone: f1 diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-1720.txt b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-1720.txt index c3c2962c3..2a890f9b6 100644 --- a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-1720.txt +++ b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-1720.txt @@ -1,46 +1,43 @@ -INFO: Running with entropic power schedule (0xFF, 100). -INFO: Seed: 1375480656 -INFO: Loaded 1 modules (31673 inline 8-bit counters): 31673 [0xd0a8e8, 0xd124a1), -INFO: Loaded 1 PC tables (31673 PCs): 31673 [0xb96c58,0xc127e8), -/out/fuzz_pkcs15_reader: Running 1 inputs 10 time(s) each. +INFO: Seed: 3289085844 +/out/fuzz_pkcs15_reader: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x602000000651 at pc 0x00000048c59d bp 0x7ffd93149390 sp 0x7ffd93148b48 +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x602000000651 at pc 0x00000048e71d bp 0x7ffdb70b3210 sp 0x7ffdb70b29d0 READ of size 2 at 0x602000000651 thread T0 - #0 0x48c59c in __interceptor_strncpy /src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:469:5 - #1 0x97a799 in hextoint /src/opensc/src/libopensc/pkcs15-itacns.c:382:2 - #2 0x979f2c in get_name_from_EF_DatiPersonali /src/opensc/src/libopensc/pkcs15-itacns.c:401:18 - #3 0x978442 in itacns_add_data_files /src/opensc/src/libopensc/pkcs15-itacns.c:549:6 - #4 0x976823 in itacns_init /src/opensc/src/libopensc/pkcs15-itacns.c:813:6 - #5 0x9759c0 in sc_pkcs15emu_itacns_init_ex /src/opensc/src/libopensc/pkcs15-itacns.c:870:9 - #6 0x57aa5e in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 - #7 0x5187bc in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 - #8 0x4dc944 in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 - #9 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 - #10 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 - #11 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 - #12 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #13 0x7fd3c4508082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) - #14 0x421f5d in _start (/out/fuzz_pkcs15_reader+0x421f5d) + #0 0x48e71c in __interceptor_strncpy /src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:470:5 + #1 0xad04c9 in hextoint /src/opensc/src/libopensc/pkcs15-itacns.c:382:2 + #2 0xacf84b in get_name_from_EF_DatiPersonali /src/opensc/src/libopensc/pkcs15-itacns.c:401:18 + #3 0xacdae5 in itacns_add_data_files /src/opensc/src/libopensc/pkcs15-itacns.c:549:6 + #4 0xacb63a in itacns_init /src/opensc/src/libopensc/pkcs15-itacns.c:813:6 + #5 0xac9fbe in sc_pkcs15emu_itacns_init_ex /src/opensc/src/libopensc/pkcs15-itacns.c:870:9 + #6 0x5bae88 in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 + #7 0x5379e4 in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 + #8 0x4e3a6f in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 + #9 0xbe318c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #10 0xbd50e5 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #11 0xbd9d91 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #12 0xbd4db2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #13 0x7fe5bdb71082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #14 0x4220bd in _start (/out/fuzz_pkcs15_reader+0x4220bd) 0x602000000651 is located 0 bytes to the right of 1-byte region [0x602000000650,0x602000000651) allocated by thread T0 here: - #0 0x4a125d in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:129:3 - #1 0x9e5cd0 in sc_der_copy /src/opensc/src/libopensc/asn1.c:2055:16 - #2 0x534ef0 in sc_pkcs15_read_data_object /src/opensc/src/libopensc/pkcs15-data.c:60:2 - #3 0x9782ec in itacns_add_data_files /src/opensc/src/libopensc/pkcs15-itacns.c:539:7 - #4 0x976823 in itacns_init /src/opensc/src/libopensc/pkcs15-itacns.c:813:6 - #5 0x9759c0 in sc_pkcs15emu_itacns_init_ex /src/opensc/src/libopensc/pkcs15-itacns.c:870:9 - #6 0x57aa5e in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 - #7 0x5187bc in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 - #8 0x4dc944 in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 - #9 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 - #10 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 - #11 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 - #12 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #13 0x7fd3c4508082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) + #0 0x4a34f6 in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0xb64877 in sc_der_copy /src/opensc/src/libopensc/asn1.c:2055:16 + #2 0x55a881 in sc_pkcs15_read_data_object /src/opensc/src/libopensc/pkcs15-data.c:60:2 + #3 0xacd8d4 in itacns_add_data_files /src/opensc/src/libopensc/pkcs15-itacns.c:539:7 + #4 0xacb63a in itacns_init /src/opensc/src/libopensc/pkcs15-itacns.c:813:6 + #5 0xac9fbe in sc_pkcs15emu_itacns_init_ex /src/opensc/src/libopensc/pkcs15-itacns.c:870:9 + #6 0x5bae88 in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 + #7 0x5379e4 in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 + #8 0x4e3a6f in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 + #9 0xbe318c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #10 0xbd50e5 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #11 0xbd9d91 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #12 0xbd4db2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #13 0x7fe5bdb71082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) -SUMMARY: AddressSanitizer: heap-buffer-overflow /src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:469:5 in __interceptor_strncpy +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:470:5 in __interceptor_strncpy Shadow bytes around the buggy address: 0x0c047fff8070: fa fa fd fd fa fa fd fa fa fa fd fa fa fa fd fa 0x0c047fff8080: fa fa fd fa fa fa fd fa fa fa fd fa fa fa fd fa @@ -55,7 +52,7 @@ Shadow bytes around the buggy address: 0x0c047fff8110: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa Shadow byte legend (one shadow byte represents 8 application bytes): Addressable: 00 - Partially addressable: 01 02 03 04 05 06 07 + Partially addressable: 01 02 03 04 05 06 07 Heap left redzone: fa Freed heap region: fd Stack left redzone: f1 diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-1836.txt b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-1836.txt index 66734fa3b..718dcf533 100644 --- a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-1836.txt +++ b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-1836.txt @@ -1,46 +1,43 @@ -INFO: Running with entropic power schedule (0xFF, 100). -INFO: Seed: 1395087024 -INFO: Loaded 1 modules (31673 inline 8-bit counters): 31673 [0xd0a8e8, 0xd124a1), -INFO: Loaded 1 PC tables (31673 PCs): 31673 [0xb96c58,0xc127e8), -/out/fuzz_pkcs15_reader: Running 1 inputs 10 time(s) each. +INFO: Seed: 3309495395 +/out/fuzz_pkcs15_reader: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x602000000676 at pc 0x00000048c59d bp 0x7ffc1482fc50 sp 0x7ffc1482f408 +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x602000000676 at pc 0x00000048e71d bp 0x7fff52643890 sp 0x7fff52643050 READ of size 7 at 0x602000000676 thread T0 - #0 0x48c59c in __interceptor_strncpy /src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:469:5 - #1 0x97a799 in hextoint /src/opensc/src/libopensc/pkcs15-itacns.c:382:2 - #2 0x979f2c in get_name_from_EF_DatiPersonali /src/opensc/src/libopensc/pkcs15-itacns.c:401:18 - #3 0x978442 in itacns_add_data_files /src/opensc/src/libopensc/pkcs15-itacns.c:549:6 - #4 0x976823 in itacns_init /src/opensc/src/libopensc/pkcs15-itacns.c:813:6 - #5 0x9759c0 in sc_pkcs15emu_itacns_init_ex /src/opensc/src/libopensc/pkcs15-itacns.c:870:9 - #6 0x57aa5e in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 - #7 0x5187bc in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 - #8 0x4dc944 in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 - #9 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 - #10 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 - #11 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 - #12 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #13 0x7fd589d68082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) - #14 0x421f5d in _start (/out/fuzz_pkcs15_reader+0x421f5d) + #0 0x48e71c in __interceptor_strncpy /src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:470:5 + #1 0xad04c9 in hextoint /src/opensc/src/libopensc/pkcs15-itacns.c:382:2 + #2 0xacf84b in get_name_from_EF_DatiPersonali /src/opensc/src/libopensc/pkcs15-itacns.c:401:18 + #3 0xacdae5 in itacns_add_data_files /src/opensc/src/libopensc/pkcs15-itacns.c:549:6 + #4 0xacb63a in itacns_init /src/opensc/src/libopensc/pkcs15-itacns.c:813:6 + #5 0xac9fbe in sc_pkcs15emu_itacns_init_ex /src/opensc/src/libopensc/pkcs15-itacns.c:870:9 + #6 0x5bae88 in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 + #7 0x5379e4 in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 + #8 0x4e3a6f in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 + #9 0xbe318c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #10 0xbd50e5 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #11 0xbd9d91 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #12 0xbd4db2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #13 0x7f681889c082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #14 0x4220bd in _start (/out/fuzz_pkcs15_reader+0x4220bd) 0x602000000676 is located 0 bytes to the right of 6-byte region [0x602000000670,0x602000000676) allocated by thread T0 here: - #0 0x4a125d in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:129:3 - #1 0x9e5cd0 in sc_der_copy /src/opensc/src/libopensc/asn1.c:2055:16 - #2 0x534ef0 in sc_pkcs15_read_data_object /src/opensc/src/libopensc/pkcs15-data.c:60:2 - #3 0x9782ec in itacns_add_data_files /src/opensc/src/libopensc/pkcs15-itacns.c:539:7 - #4 0x976823 in itacns_init /src/opensc/src/libopensc/pkcs15-itacns.c:813:6 - #5 0x9759c0 in sc_pkcs15emu_itacns_init_ex /src/opensc/src/libopensc/pkcs15-itacns.c:870:9 - #6 0x57aa5e in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 - #7 0x5187bc in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 - #8 0x4dc944 in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 - #9 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 - #10 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 - #11 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 - #12 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #13 0x7fd589d68082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) + #0 0x4a34f6 in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0xb64877 in sc_der_copy /src/opensc/src/libopensc/asn1.c:2055:16 + #2 0x55a881 in sc_pkcs15_read_data_object /src/opensc/src/libopensc/pkcs15-data.c:60:2 + #3 0xacd8d4 in itacns_add_data_files /src/opensc/src/libopensc/pkcs15-itacns.c:539:7 + #4 0xacb63a in itacns_init /src/opensc/src/libopensc/pkcs15-itacns.c:813:6 + #5 0xac9fbe in sc_pkcs15emu_itacns_init_ex /src/opensc/src/libopensc/pkcs15-itacns.c:870:9 + #6 0x5bae88 in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 + #7 0x5379e4 in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 + #8 0x4e3a6f in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 + #9 0xbe318c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #10 0xbd50e5 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #11 0xbd9d91 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #12 0xbd4db2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #13 0x7f681889c082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) -SUMMARY: AddressSanitizer: heap-buffer-overflow /src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:469:5 in __interceptor_strncpy +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:470:5 in __interceptor_strncpy Shadow bytes around the buggy address: 0x0c047fff8070: fa fa fd fd fa fa fd fa fa fa fd fa fa fa fd fa 0x0c047fff8080: fa fa fd fa fa fa fd fa fa fa fd fa fa fa fd fa @@ -55,7 +52,7 @@ Shadow bytes around the buggy address: 0x0c047fff8110: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa Shadow byte legend (one shadow byte represents 8 application bytes): Addressable: 00 - Partially addressable: 01 02 03 04 05 06 07 + Partially addressable: 01 02 03 04 05 06 07 Heap left redzone: fa Freed heap region: fd Stack left redzone: f1 diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-1844.txt b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-1844.txt index d11d16430..6cbcc4d46 100644 --- a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-1844.txt +++ b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-1844.txt @@ -1,46 +1,43 @@ -INFO: Running with entropic power schedule (0xFF, 100). -INFO: Seed: 1397448717 -INFO: Loaded 1 modules (31673 inline 8-bit counters): 31673 [0xd0a8e8, 0xd124a1), -INFO: Loaded 1 PC tables (31673 PCs): 31673 [0xb96c58,0xc127e8), -/out/fuzz_pkcs15_reader: Running 1 inputs 10 time(s) each. +INFO: Seed: 3312620373 +/out/fuzz_pkcs15_reader: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x602000000676 at pc 0x00000048c59d bp 0x7fff4c2dbb30 sp 0x7fff4c2db2e8 +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x602000000676 at pc 0x00000048e71d bp 0x7ffc41087310 sp 0x7ffc41086ad0 READ of size 7 at 0x602000000676 thread T0 - #0 0x48c59c in __interceptor_strncpy /src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:469:5 - #1 0x97a799 in hextoint /src/opensc/src/libopensc/pkcs15-itacns.c:382:2 - #2 0x979f2c in get_name_from_EF_DatiPersonali /src/opensc/src/libopensc/pkcs15-itacns.c:401:18 - #3 0x978442 in itacns_add_data_files /src/opensc/src/libopensc/pkcs15-itacns.c:549:6 - #4 0x976823 in itacns_init /src/opensc/src/libopensc/pkcs15-itacns.c:813:6 - #5 0x9759c0 in sc_pkcs15emu_itacns_init_ex /src/opensc/src/libopensc/pkcs15-itacns.c:870:9 - #6 0x57aa5e in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 - #7 0x5187bc in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 - #8 0x4dc944 in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 - #9 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 - #10 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 - #11 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 - #12 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #13 0x7fba9a510082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) - #14 0x421f5d in _start (/out/fuzz_pkcs15_reader+0x421f5d) + #0 0x48e71c in __interceptor_strncpy /src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:470:5 + #1 0xad04c9 in hextoint /src/opensc/src/libopensc/pkcs15-itacns.c:382:2 + #2 0xacf84b in get_name_from_EF_DatiPersonali /src/opensc/src/libopensc/pkcs15-itacns.c:401:18 + #3 0xacdae5 in itacns_add_data_files /src/opensc/src/libopensc/pkcs15-itacns.c:549:6 + #4 0xacb63a in itacns_init /src/opensc/src/libopensc/pkcs15-itacns.c:813:6 + #5 0xac9fbe in sc_pkcs15emu_itacns_init_ex /src/opensc/src/libopensc/pkcs15-itacns.c:870:9 + #6 0x5bae88 in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 + #7 0x5379e4 in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 + #8 0x4e3a6f in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 + #9 0xbe318c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #10 0xbd50e5 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #11 0xbd9d91 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #12 0xbd4db2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #13 0x7f9d803c4082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #14 0x4220bd in _start (/out/fuzz_pkcs15_reader+0x4220bd) 0x602000000676 is located 0 bytes to the right of 6-byte region [0x602000000670,0x602000000676) allocated by thread T0 here: - #0 0x4a125d in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:129:3 - #1 0x9e5cd0 in sc_der_copy /src/opensc/src/libopensc/asn1.c:2055:16 - #2 0x534ef0 in sc_pkcs15_read_data_object /src/opensc/src/libopensc/pkcs15-data.c:60:2 - #3 0x9782ec in itacns_add_data_files /src/opensc/src/libopensc/pkcs15-itacns.c:539:7 - #4 0x976823 in itacns_init /src/opensc/src/libopensc/pkcs15-itacns.c:813:6 - #5 0x9759c0 in sc_pkcs15emu_itacns_init_ex /src/opensc/src/libopensc/pkcs15-itacns.c:870:9 - #6 0x57aa5e in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 - #7 0x5187bc in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 - #8 0x4dc944 in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 - #9 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 - #10 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 - #11 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 - #12 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #13 0x7fba9a510082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) + #0 0x4a34f6 in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0xb64877 in sc_der_copy /src/opensc/src/libopensc/asn1.c:2055:16 + #2 0x55a881 in sc_pkcs15_read_data_object /src/opensc/src/libopensc/pkcs15-data.c:60:2 + #3 0xacd8d4 in itacns_add_data_files /src/opensc/src/libopensc/pkcs15-itacns.c:539:7 + #4 0xacb63a in itacns_init /src/opensc/src/libopensc/pkcs15-itacns.c:813:6 + #5 0xac9fbe in sc_pkcs15emu_itacns_init_ex /src/opensc/src/libopensc/pkcs15-itacns.c:870:9 + #6 0x5bae88 in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 + #7 0x5379e4 in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 + #8 0x4e3a6f in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 + #9 0xbe318c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #10 0xbd50e5 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #11 0xbd9d91 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #12 0xbd4db2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #13 0x7f9d803c4082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) -SUMMARY: AddressSanitizer: heap-buffer-overflow /src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:469:5 in __interceptor_strncpy +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:470:5 in __interceptor_strncpy Shadow bytes around the buggy address: 0x0c047fff8070: fa fa fd fd fa fa fd fa fa fa fd fa fa fa fd fa 0x0c047fff8080: fa fa fd fa fa fa fd fa fa fa fd fa fa fa fd fa @@ -55,7 +52,7 @@ Shadow bytes around the buggy address: 0x0c047fff8110: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa Shadow byte legend (one shadow byte represents 8 application bytes): Addressable: 00 - Partially addressable: 01 02 03 04 05 06 07 + Partially addressable: 01 02 03 04 05 06 07 Heap left redzone: fa Freed heap region: fd Stack left redzone: f1 diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-1848.txt b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-1848.txt index f74c1534d..d1b03c4d7 100644 --- a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-1848.txt +++ b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-1848.txt @@ -1,39 +1,36 @@ -INFO: Running with entropic power schedule (0xFF, 100). -INFO: Seed: 1410230493 -INFO: Loaded 1 modules (31673 inline 8-bit counters): 31673 [0xd0a8e8, 0xd124a1), -INFO: Loaded 1 PC tables (31673 PCs): 31673 [0xb96c58,0xc127e8), -/out/fuzz_pkcs15_reader: Running 1 inputs 10 time(s) each. +INFO: Seed: 3325356669 +/out/fuzz_pkcs15_reader: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x606000000119 at pc 0x000000971669 bp 0x7fff345c9fd0 sp 0x7fff345c9fc8 -READ of size 1 at 0x606000000119 thread T0 - #0 0x971668 in sc_oberthur_parse_publicinfo /src/opensc/src/libopensc/pkcs15-oberthur.c:458:38 - #1 0x966533 in sc_pkcs15emu_oberthur_init /src/opensc/src/libopensc/pkcs15-oberthur.c:1040:8 - #2 0x963baf in sc_pkcs15emu_oberthur_init_ex /src/opensc/src/libopensc/pkcs15-oberthur.c:1069:8 - #3 0x57aa5e in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 - #4 0x5187bc in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 - #5 0x4dc944 in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 - #6 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 - #7 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 - #8 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 - #9 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #10 0x7f8f3e39c082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) - #11 0x421f5d in _start (/out/fuzz_pkcs15_reader+0x421f5d) +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x606000000179 at pc 0x000000ac5964 bp 0x7fff27445810 sp 0x7fff27445808 +READ of size 1 at 0x606000000179 thread T0 + #0 0xac5963 in sc_oberthur_parse_publicinfo /src/opensc/src/libopensc/pkcs15-oberthur.c:458:38 + #1 0xab8cb4 in sc_pkcs15emu_oberthur_init /src/opensc/src/libopensc/pkcs15-oberthur.c:1040:8 + #2 0xab52af in sc_pkcs15emu_oberthur_init_ex /src/opensc/src/libopensc/pkcs15-oberthur.c:1069:8 + #3 0x5bae88 in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 + #4 0x5379e4 in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 + #5 0x4e3a6f in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 + #6 0xbe318c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #7 0xbd50e5 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #8 0xbd9d91 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #9 0xbd4db2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #10 0x7f4c3c99b082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #11 0x4220bd in _start (/out/fuzz_pkcs15_reader+0x4220bd) -0x606000000119 is located 0 bytes to the right of 57-byte region [0x6060000000e0,0x606000000119) +0x606000000179 is located 0 bytes to the right of 57-byte region [0x606000000140,0x606000000179) allocated by thread T0 here: - #0 0x4a13e2 in __interceptor_calloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:138:3 - #1 0x9681b1 in sc_oberthur_read_file /src/opensc/src/libopensc/pkcs15-oberthur.c:264:9 - #2 0x96617f in sc_pkcs15emu_oberthur_init /src/opensc/src/libopensc/pkcs15-oberthur.c:1033:8 - #3 0x963baf in sc_pkcs15emu_oberthur_init_ex /src/opensc/src/libopensc/pkcs15-oberthur.c:1069:8 - #4 0x57aa5e in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 - #5 0x5187bc in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 - #6 0x4dc944 in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 - #7 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 - #8 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 - #9 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 - #10 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #11 0x7f8f3e39c082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) + #0 0x4a36ce in __interceptor_calloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:77:3 + #1 0xabaa7b in sc_oberthur_read_file /src/opensc/src/libopensc/pkcs15-oberthur.c:264:9 + #2 0xab8661 in sc_pkcs15emu_oberthur_init /src/opensc/src/libopensc/pkcs15-oberthur.c:1033:8 + #3 0xab52af in sc_pkcs15emu_oberthur_init_ex /src/opensc/src/libopensc/pkcs15-oberthur.c:1069:8 + #4 0x5bae88 in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 + #5 0x5379e4 in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 + #6 0x4e3a6f in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 + #7 0xbe318c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #8 0xbd50e5 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #9 0xbd9d91 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #10 0xbd4db2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #11 0x7f4c3c99b082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) SUMMARY: AddressSanitizer: heap-buffer-overflow /src/opensc/src/libopensc/pkcs15-oberthur.c:458:38 in sc_oberthur_parse_publicinfo Shadow bytes around the buggy address: @@ -42,7 +39,7 @@ Shadow bytes around the buggy address: 0x0c0c7fff7ff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x0c0c7fff8000: fa fa fa fa fd fd fd fd fd fd fd fd fa fa fa fa 0x0c0c7fff8010: 00 00 00 00 00 00 00 02 fa fa fa fa 00 00 00 00 -=>0x0c0c7fff8020: 00 00 00[01]fa fa fa fa fa fa fa fa fa fa fa fa +=>0x0c0c7fff8020: 00 00 00 fa fa fa fa fa 00 00 00 00 00 00 00[01] 0x0c0c7fff8030: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c0c7fff8040: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c0c7fff8050: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa @@ -50,7 +47,7 @@ Shadow bytes around the buggy address: 0x0c0c7fff8070: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa Shadow byte legend (one shadow byte represents 8 application bytes): Addressable: 00 - Partially addressable: 01 02 03 04 05 06 07 + Partially addressable: 01 02 03 04 05 06 07 Heap left redzone: fa Freed heap region: fd Stack left redzone: f1 diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-1860.txt b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-1860.txt index 3054f9b1b..0e2d47d3d 100644 --- a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-1860.txt +++ b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-1860.txt @@ -1,31 +1,28 @@ -INFO: Running with entropic power schedule (0xFF, 100). -INFO: Seed: 1390131310 -INFO: Loaded 1 modules (31673 inline 8-bit counters): 31673 [0xd0a8e8, 0xd124a1), -INFO: Loaded 1 PC tables (31673 PCs): 31673 [0xb96c58,0xc127e8), -/out/fuzz_pkcs15_reader: Running 1 inputs 10 time(s) each. +INFO: Seed: 3304336319 +/out/fuzz_pkcs15_reader: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7ffd1a4719a2 at pc 0x0000004a073c bp 0x7ffd1a460d10 sp 0x7ffd1a4604d8 -WRITE of size 28 at 0x7ffd1a4719a2 thread T0 - #0 0x4a073b in __asan_memcpy /src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:22:3 - #1 0xa200b3 in sc_get_response /src/opensc/src/libopensc/apdu.c:475:3 - #2 0xa1c23b in sc_transmit /src/opensc/src/libopensc/apdu.c:532:7 - #3 0xa1b5c3 in sc_transmit_apdu /src/opensc/src/libopensc/apdu.c:624:7 - #4 0x9fc104 in iso7816_read_binary /src/opensc/src/libopensc/iso7816.c:156:6 - #5 0x91debb in idprime_read_binary /src/opensc/src/libopensc/card-idprime.c:557:8 - #6 0x4f42f5 in sc_read_binary /src/opensc/src/libopensc/card.c:652:7 - #7 0x513e72 in sc_pkcs15_bind_internal /src/opensc/src/libopensc/pkcs15.c:1130:9 - #8 0x518778 in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1265:8 - #9 0x4dc944 in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 - #10 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 - #11 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 - #12 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 - #13 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #14 0x7ffa2a186082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) - #15 0x421f5d in _start (/out/fuzz_pkcs15_reader+0x421f5d) +==1==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7ffe1054cd62 at pc 0x0000004a293c bp 0x7ffe1053c250 sp 0x7ffe1053ba20 +WRITE of size 28 at 0x7ffe1054cd62 thread T0 + #0 0x4a293b in __asan_memcpy /src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:22:3 + #1 0xbac430 in sc_get_response /src/opensc/src/libopensc/apdu.c:475:3 + #2 0xba6ca2 in sc_transmit /src/opensc/src/libopensc/apdu.c:532:7 + #3 0xba5c6e in sc_transmit_apdu /src/opensc/src/libopensc/apdu.c:624:7 + #4 0xb803ac in iso7816_read_binary /src/opensc/src/libopensc/iso7816.c:156:6 + #5 0xa53c14 in idprime_read_binary /src/opensc/src/libopensc/card-idprime.c:557:8 + #6 0x504acc in sc_read_binary /src/opensc/src/libopensc/card.c:652:7 + #7 0x530d40 in sc_pkcs15_bind_internal /src/opensc/src/libopensc/pkcs15.c:1130:9 + #8 0x5379b1 in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1265:8 + #9 0x4e3a6f in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 + #10 0xbe318c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #11 0xbd50e5 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #12 0xbd9d91 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #13 0xbd4db2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #14 0x7fd0d5819082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #15 0x4220bd in _start (/out/fuzz_pkcs15_reader+0x4220bd) -Address 0x7ffd1a4719a2 is located in stack of thread T0 at offset 65570 in frame - #0 0x91d47f in idprime_read_binary /src/opensc/src/libopensc/card-idprime.c:528 +Address 0x7ffe1054cd62 is located in stack of thread T0 at offset 65570 in frame + #0 0xa52dff in idprime_read_binary /src/opensc/src/libopensc/card-idprime.c:528 This frame has 1 object(s): [32, 65570) 'buffer' (line 540) <== Memory access at offset 65570 overflows this variable @@ -33,20 +30,20 @@ HINT: this may be a false positive if your program uses some custom stack unwind (longjmp and C++ exceptions *are* supported) SUMMARY: AddressSanitizer: stack-buffer-overflow /src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:22:3 in __asan_memcpy Shadow bytes around the buggy address: - 0x1000234862e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 0x1000234862f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 0x100023486300: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 0x100023486310: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 0x100023486320: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -=>0x100023486330: 00 00 00 00[02]f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 - 0x100023486340: f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 - 0x100023486350: f3 f3 f3 f3 f3 f3 f3 f3 00 00 00 00 00 00 00 00 - 0x100023486360: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 0x100023486370: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 0x100023486380: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x1000420a1950: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x1000420a1960: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x1000420a1970: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x1000420a1980: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x1000420a1990: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +=>0x1000420a19a0: 00 00 00 00 00 00 00 00 00 00 00 00[02]f3 f3 f3 + 0x1000420a19b0: f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 + 0x1000420a19c0: f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 + 0x1000420a19d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x1000420a19e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x1000420a19f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Shadow byte legend (one shadow byte represents 8 application bytes): Addressable: 00 - Partially addressable: 01 02 03 04 05 06 07 + Partially addressable: 01 02 03 04 05 06 07 Heap left redzone: fa Freed heap region: fd Stack left redzone: f1 diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-1981.txt b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-1981.txt index be794525b..4e417ec63 100644 --- a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-1981.txt +++ b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-1981.txt @@ -1,32 +1,29 @@ -INFO: Running with entropic power schedule (0xFF, 100). -INFO: Seed: 1417753193 -INFO: Loaded 1 modules (31673 inline 8-bit counters): 31673 [0xd0a8e8, 0xd124a1), -INFO: Loaded 1 PC tables (31673 PCs): 31673 [0xb96c58,0xc127e8), -/out/fuzz_pkcs15_reader: Running 1 inputs 10 time(s) each. +INFO: Seed: 3272046150 +/out/fuzz_pkcs15_reader: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7ffd87b25882 at pc 0x0000004a073c bp 0x7ffd87b14b10 sp 0x7ffd87b142d8 -WRITE of size 43246 at 0x7ffd87b25882 thread T0 - #0 0x4a073b in __asan_memcpy /src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:22:3 - #1 0x4db99f in fuzz_reader_transmit /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:141:13 - #2 0xa1ea2e in sc_single_transmit /src/opensc/src/libopensc/apdu.c:379:7 - #3 0xa1bdbe in sc_transmit /src/opensc/src/libopensc/apdu.c:515:6 - #4 0xa1b5c3 in sc_transmit_apdu /src/opensc/src/libopensc/apdu.c:624:7 - #5 0x9fc104 in iso7816_read_binary /src/opensc/src/libopensc/iso7816.c:156:6 - #6 0x91db91 in idprime_read_binary /src/opensc/src/libopensc/card-idprime.c:549:9 - #7 0x4f42f5 in sc_read_binary /src/opensc/src/libopensc/card.c:652:7 - #8 0x513093 in sc_pkcs15_bind_internal /src/opensc/src/libopensc/pkcs15.c:1056:9 - #9 0x518778 in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1265:8 - #10 0x4dc944 in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 - #11 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 - #12 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 - #13 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 - #14 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #15 0x7f29f4043082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) - #16 0x421f5d in _start (/out/fuzz_pkcs15_reader+0x421f5d) +==1==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7ffcc9070782 at pc 0x0000004a293c bp 0x7ffcc905fad0 sp 0x7ffcc905f2a0 +WRITE of size 43246 at 0x7ffcc9070782 thread T0 + #0 0x4a293b in __asan_memcpy /src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:22:3 + #1 0x4e2564 in fuzz_reader_transmit /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:141:13 + #2 0xbaab78 in sc_single_transmit /src/opensc/src/libopensc/apdu.c:379:7 + #3 0xba67e2 in sc_transmit /src/opensc/src/libopensc/apdu.c:515:6 + #4 0xba5c6e in sc_transmit_apdu /src/opensc/src/libopensc/apdu.c:624:7 + #5 0xb803ac in iso7816_read_binary /src/opensc/src/libopensc/iso7816.c:156:6 + #6 0xa537ab in idprime_read_binary /src/opensc/src/libopensc/card-idprime.c:549:9 + #7 0x504acc in sc_read_binary /src/opensc/src/libopensc/card.c:652:7 + #8 0x52fa5b in sc_pkcs15_bind_internal /src/opensc/src/libopensc/pkcs15.c:1056:9 + #9 0x5379b1 in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1265:8 + #10 0x4e3a6f in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 + #11 0xbe318c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #12 0xbd50e5 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #13 0xbd9d91 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #14 0xbd4db2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #15 0x7fa6f2e95082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #16 0x4220bd in _start (/out/fuzz_pkcs15_reader+0x4220bd) -Address 0x7ffd87b25882 is located in stack of thread T0 at offset 65570 in frame - #0 0x91d47f in idprime_read_binary /src/opensc/src/libopensc/card-idprime.c:528 +Address 0x7ffcc9070782 is located in stack of thread T0 at offset 65570 in frame + #0 0xa52dff in idprime_read_binary /src/opensc/src/libopensc/card-idprime.c:528 This frame has 1 object(s): [32, 65570) 'buffer' (line 540) <== Memory access at offset 65570 overflows this variable @@ -34,20 +31,20 @@ HINT: this may be a false positive if your program uses some custom stack unwind (longjmp and C++ exceptions *are* supported) SUMMARY: AddressSanitizer: stack-buffer-overflow /src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:22:3 in __asan_memcpy Shadow bytes around the buggy address: - 0x100030f5cac0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 0x100030f5cad0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 0x100030f5cae0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 0x100030f5caf0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 0x100030f5cb00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -=>0x100030f5cb10:[02]f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 - 0x100030f5cb20: f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 - 0x100030f5cb30: f3 f3 f3 f3 00 00 00 00 00 00 00 00 00 00 00 00 - 0x100030f5cb40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 0x100030f5cb50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 0x100030f5cb60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x1000192060a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x1000192060b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x1000192060c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x1000192060d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x1000192060e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +=>0x1000192060f0:[02]f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 + 0x100019206100: f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 + 0x100019206110: f3 f3 f3 f3 00 00 00 00 00 00 00 00 00 00 00 00 + 0x100019206120: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x100019206130: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x100019206140: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Shadow byte legend (one shadow byte represents 8 application bytes): Addressable: 00 - Partially addressable: 01 02 03 04 05 06 07 + Partially addressable: 01 02 03 04 05 06 07 Heap left redzone: fa Freed heap region: fd Stack left redzone: f1 diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-1990.txt b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-1990.txt index c006dfe9f..c2e96de5e 100644 --- a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-1990.txt +++ b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-1990.txt @@ -1,56 +1,53 @@ -INFO: Running with entropic power schedule (0xFF, 100). -INFO: Seed: 1385077491 -INFO: Loaded 1 modules (31673 inline 8-bit counters): 31673 [0xd0a8e8, 0xd124a1), -INFO: Loaded 1 PC tables (31673 PCs): 31673 [0xb96c58,0xc127e8), -/out/fuzz_pkcs15_reader: Running 1 inputs 10 time(s) each. +INFO: Seed: 3299121798 +/out/fuzz_pkcs15_reader: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x606000000239 at pc 0x000000969acf bp 0x7ffe1dbfbdb0 sp 0x7ffe1dbfbda8 -READ of size 1 at 0x606000000239 thread T0 - #0 0x969ace in sc_oberthur_parse_privateinfo /src/opensc/src/libopensc/pkcs15-oberthur.c:503:38 - #1 0x966533 in sc_pkcs15emu_oberthur_init /src/opensc/src/libopensc/pkcs15-oberthur.c:1040:8 - #2 0x963baf in sc_pkcs15emu_oberthur_init_ex /src/opensc/src/libopensc/pkcs15-oberthur.c:1069:8 - #3 0x57aa5e in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 - #4 0x5187bc in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 - #5 0x4dc944 in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 - #6 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 - #7 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 - #8 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 - #9 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #10 0x7fb6c075f082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) - #11 0x421f5d in _start (/out/fuzz_pkcs15_reader+0x421f5d) +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x606000000299 at pc 0x000000abcad9 bp 0x7ffecf33db10 sp 0x7ffecf33db08 +READ of size 1 at 0x606000000299 thread T0 + #0 0xabcad8 in sc_oberthur_parse_privateinfo /src/opensc/src/libopensc/pkcs15-oberthur.c:503:38 + #1 0xab8cb4 in sc_pkcs15emu_oberthur_init /src/opensc/src/libopensc/pkcs15-oberthur.c:1040:8 + #2 0xab52af in sc_pkcs15emu_oberthur_init_ex /src/opensc/src/libopensc/pkcs15-oberthur.c:1069:8 + #3 0x5bae88 in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 + #4 0x5379e4 in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 + #5 0x4e3a6f in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 + #6 0xbe318c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #7 0xbd50e5 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #8 0xbd9d91 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #9 0xbd4db2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #10 0x7fe657f46082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #11 0x4220bd in _start (/out/fuzz_pkcs15_reader+0x4220bd) -0x606000000239 is located 0 bytes to the right of 57-byte region [0x606000000200,0x606000000239) +0x606000000299 is located 0 bytes to the right of 57-byte region [0x606000000260,0x606000000299) allocated by thread T0 here: - #0 0x4a13e2 in __interceptor_calloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:138:3 - #1 0x9681b1 in sc_oberthur_read_file /src/opensc/src/libopensc/pkcs15-oberthur.c:264:9 - #2 0x96617f in sc_pkcs15emu_oberthur_init /src/opensc/src/libopensc/pkcs15-oberthur.c:1033:8 - #3 0x963baf in sc_pkcs15emu_oberthur_init_ex /src/opensc/src/libopensc/pkcs15-oberthur.c:1069:8 - #4 0x57aa5e in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 - #5 0x5187bc in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 - #6 0x4dc944 in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 - #7 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 - #8 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 - #9 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 - #10 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #11 0x7fb6c075f082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) + #0 0x4a36ce in __interceptor_calloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:77:3 + #1 0xabaa7b in sc_oberthur_read_file /src/opensc/src/libopensc/pkcs15-oberthur.c:264:9 + #2 0xab8661 in sc_pkcs15emu_oberthur_init /src/opensc/src/libopensc/pkcs15-oberthur.c:1033:8 + #3 0xab52af in sc_pkcs15emu_oberthur_init_ex /src/opensc/src/libopensc/pkcs15-oberthur.c:1069:8 + #4 0x5bae88 in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 + #5 0x5379e4 in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 + #6 0x4e3a6f in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 + #7 0xbe318c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #8 0xbd50e5 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #9 0xbd9d91 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #10 0xbd4db2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #11 0x7fe657f46082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) SUMMARY: AddressSanitizer: heap-buffer-overflow /src/opensc/src/libopensc/pkcs15-oberthur.c:503:38 in sc_oberthur_parse_privateinfo Shadow bytes around the buggy address: - 0x0c0c7fff7ff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x0c0c7fff8000: fa fa fa fa fd fd fd fd fd fd fd fd fa fa fa fa 0x0c0c7fff8010: 00 00 00 00 00 00 00 02 fa fa fa fa 00 00 00 00 - 0x0c0c7fff8020: 00 00 00 01 fa fa fa fa 00 00 00 00 00 00 00 01 + 0x0c0c7fff8020: 00 00 00 fa fa fa fa fa 00 00 00 00 00 00 00 01 0x0c0c7fff8030: fa fa fa fa 00 00 00 00 00 00 00 01 fa fa fa fa -=>0x0c0c7fff8040: 00 00 00 00 00 00 00[01]fa fa fa fa fa fa fa fa - 0x0c0c7fff8050: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0c7fff8040: 00 00 00 00 00 00 00 01 fa fa fa fa 00 00 00 00 +=>0x0c0c7fff8050: 00 00 00[01]fa fa fa fa fa fa fa fa fa fa fa fa 0x0c0c7fff8060: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c0c7fff8070: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c0c7fff8080: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c0c7fff8090: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0c7fff80a0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa Shadow byte legend (one shadow byte represents 8 application bytes): Addressable: 00 - Partially addressable: 01 02 03 04 05 06 07 + Partially addressable: 01 02 03 04 05 06 07 Heap left redzone: fa Freed heap region: fd Stack left redzone: f1 diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-209.txt b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-209.txt index 098cfb4f7..d0ead9114 100644 --- a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-209.txt +++ b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-209.txt @@ -1,28 +1,25 @@ -INFO: Running with entropic power schedule (0xFF, 100). -INFO: Seed: 1377744274 -INFO: Loaded 1 modules (31673 inline 8-bit counters): 31673 [0xd0a8e8, 0xd124a1), -INFO: Loaded 1 PC tables (31673 PCs): 31673 [0xb96c58,0xc127e8), -/out/fuzz_pkcs15_reader: Running 1 inputs 10 time(s) each. +INFO: Seed: 3291603688 +/out/fuzz_pkcs15_reader: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: stack-use-after-scope on address 0x7f6069c72e70 at pc 0x0000006f06e6 bp 0x7ffcf0f521d0 sp 0x7ffcf0f521c8 -READ of size 8 at 0x7f6069c72e70 thread T0 - #0 0x6f06e5 in coolkey_apdu_io /src/opensc/src/libopensc/card-coolkey.c:930:17 - #1 0x6fcef4 in coolkey_rsa_op /src/opensc/src/libopensc/card-coolkey.c:1747:6 - #2 0x6f683f in coolkey_compute_crypt /src/opensc/src/libopensc/card-coolkey.c:1859:7 - #3 0x9f4706 in sc_decipher /src/opensc/src/libopensc/sec.c:46:6 - #4 0x5682ad in use_key /src/opensc/src/libopensc/pkcs15-sec.c:155:8 - #5 0x565a90 in sc_pkcs15_decipher /src/opensc/src/libopensc/pkcs15-sec.c:284:6 - #6 0x4dcced in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:232:17 - #7 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 - #8 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 - #9 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 - #10 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #11 0x7f606a8b2082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) - #12 0x421f5d in _start (/out/fuzz_pkcs15_reader+0x421f5d) +==1==ERROR: AddressSanitizer: stack-use-after-scope on address 0x7f6c39501670 at pc 0x00000079a8af bp 0x7ffc2bb7a8b0 sp 0x7ffc2bb7a8a8 +READ of size 8 at 0x7f6c39501670 thread T0 + #0 0x79a8ae in coolkey_apdu_io /src/opensc/src/libopensc/card-coolkey.c:930:17 + #1 0x7aa866 in coolkey_rsa_op /src/opensc/src/libopensc/card-coolkey.c:1747:6 + #2 0x7a2467 in coolkey_compute_crypt /src/opensc/src/libopensc/card-coolkey.c:1859:7 + #3 0xb766b5 in sc_decipher /src/opensc/src/libopensc/sec.c:46:6 + #4 0x5a5670 in use_key /src/opensc/src/libopensc/pkcs15-sec.c:155:8 + #5 0x5a2460 in sc_pkcs15_decipher /src/opensc/src/libopensc/pkcs15-sec.c:284:6 + #6 0x4e3ed6 in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:232:17 + #7 0xbe318c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #8 0xbd50e5 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #9 0xbd9d91 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #10 0xbd4db2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #11 0x7f6c3b963082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #12 0x4220bd in _start (/out/fuzz_pkcs15_reader+0x4220bd) -Address 0x7f6069c72e70 is located in stack of thread T0 at offset 624 in frame - #0 0x6fc4cf in coolkey_rsa_op /src/opensc/src/libopensc/card-coolkey.c:1680 +Address 0x7f6c39501670 is located in stack of thread T0 at offset 624 in frame + #0 0x7a9bef in coolkey_rsa_op /src/opensc/src/libopensc/card-coolkey.c:1680 This frame has 6 object(s): [32, 40) 'crypt_out_len_p' (line 1683) @@ -30,25 +27,25 @@ Address 0x7f6069c72e70 is located in stack of thread T0 at offset 624 in frame [336, 538) 'buf' (line 1688) [608, 610) 'len_buf' (line 1707) [624, 632) 'buf_out' (line 1731) <== Memory access at offset 624 is inside this variable - [656, 658) 'len_buf50' (line 1755) + [656, 658) 'len_buf83' (line 1755) HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork (longjmp and C++ exceptions *are* supported) SUMMARY: AddressSanitizer: stack-use-after-scope /src/opensc/src/libopensc/card-coolkey.c:930:17 in coolkey_apdu_io Shadow bytes around the buggy address: - 0x0fec8d386570: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 - 0x0fec8d386580: f1 f1 f1 f1 00 f2 f2 f2 00 00 00 00 00 00 00 00 - 0x0fec8d386590: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 0x0fec8d3865a0: 00 05 f2 f2 f2 f2 f2 f2 f2 f2 00 00 00 00 00 00 - 0x0fec8d3865b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -=>0x0fec8d3865c0: 00 00 00 02 f2 f2 f2 f2 f2 f2 f2 f2 f8 f2[f8]f2 - 0x0fec8d3865d0: f2 f2 f8 f3 00 00 00 00 00 00 00 00 00 00 00 00 - 0x0fec8d3865e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 0x0fec8d3865f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 0x0fec8d386600: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 0x0fec8d386610: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0fee07298270: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 + 0x0fee07298280: f1 f1 f1 f1 00 f2 f2 f2 00 00 00 00 00 00 00 00 + 0x0fee07298290: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0fee072982a0: 00 05 f2 f2 f2 f2 f2 f2 f2 f2 00 00 00 00 00 00 + 0x0fee072982b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +=>0x0fee072982c0: 00 00 00 02 f2 f2 f2 f2 f2 f2 f2 f2 f8 f2[f8]f2 + 0x0fee072982d0: f2 f2 f8 f3 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0fee072982e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0fee072982f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0fee07298300: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0fee07298310: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Shadow byte legend (one shadow byte represents 8 application bytes): Addressable: 00 - Partially addressable: 01 02 03 04 05 06 07 + Partially addressable: 01 02 03 04 05 06 07 Heap left redzone: fa Freed heap region: fd Stack left redzone: f1 diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-2157.txt b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-2157.txt index 3b252f164..a0c731652 100644 --- a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-2157.txt +++ b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-2157.txt @@ -1,65 +1,5 @@ -INFO: Running with entropic power schedule (0xFF, 100). -INFO: Seed: 1407432501 -INFO: Loaded 1 modules (31673 inline 8-bit counters): 31673 [0xd0a8e8, 0xd124a1), -INFO: Loaded 1 PC tables (31673 PCs): 31673 [0xb96c58,0xc127e8), -/out/fuzz_pkcs15_reader: Running 1 inputs 10 time(s) each. +INFO: Seed: 3322738276 +/out/fuzz_pkcs15_reader: Running 1 inputs 1 time(s) each. Running: /tmp/testcase -================================================================= -==1==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7f25d4f726c0 at pc 0x000000935b0d bp 0x7ffe3ad052f0 sp 0x7ffe3ad052e8 -READ of size 1 at 0x7f25d4f726c0 thread T0 - #0 0x935b0c in insert_key /src/opensc/src/libopensc/pkcs15-tcos.c:142:8 - #1 0x932260 in detect_netkey /src/opensc/src/libopensc/pkcs15-tcos.c:308:2 - #2 0x93161b in sc_pkcs15emu_tcos_init_ex /src/opensc/src/libopensc/pkcs15-tcos.c:520:6 - #3 0x57aa5e in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 - #4 0x5187bc in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 - #5 0x4dc944 in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 - #6 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 - #7 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 - #8 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 - #9 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #10 0x7f25d5b85082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) - #11 0x421f5d in _start (/out/fuzz_pkcs15_reader+0x421f5d) - -Address 0x7f25d4f726c0 is located in stack of thread T0 at offset 3776 in frame - #0 0x934f8f in insert_key /src/opensc/src/libopensc/pkcs15-tcos.c:102 - - This frame has 4 object(s): - [32, 40) 'f' (line 105) - [64, 536) 'prkey_info' (line 106) - [608, 3384) 'prkey_obj' (line 107) - [3520, 3776) 'buf' (line 126) <== Memory access at offset 3776 overflows this variable -HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork - (longjmp and C++ exceptions *are* supported) -SUMMARY: AddressSanitizer: stack-buffer-overflow /src/opensc/src/libopensc/pkcs15-tcos.c:142:8 in insert_key -Shadow bytes around the buggy address: - 0x0fe53a9e6480: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 0x0fe53a9e6490: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 0x0fe53a9e64a0: 00 00 00 00 00 00 00 f2 f2 f2 f2 f2 f2 f2 f2 f2 - 0x0fe53a9e64b0: f2 f2 f2 f2 f2 f2 f2 f2 00 00 00 00 00 00 00 00 - 0x0fe53a9e64c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -=>0x0fe53a9e64d0: 00 00 00 00 00 00 00 00[f3]f3 f3 f3 f3 f3 f3 f3 - 0x0fe53a9e64e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 0x0fe53a9e64f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 0x0fe53a9e6500: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 0x0fe53a9e6510: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 0x0fe53a9e6520: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -Shadow byte legend (one shadow byte represents 8 application bytes): - Addressable: 00 - Partially addressable: 01 02 03 04 05 06 07 - Heap left redzone: fa - Freed heap region: fd - Stack left redzone: f1 - Stack mid redzone: f2 - Stack right redzone: f3 - Stack after return: f5 - Stack use after scope: f8 - Global redzone: f9 - Global init order: f6 - Poisoned by user: f7 - Container overflow: fc - Array cookie: ac - Intra object redzone: bb - ASan internal: fe - Left alloca redzone: ca - Right alloca redzone: cb -==1==ABORTING +pkcs15-tcos.c:142:8: runtime error: index 256 out of bounds for type 'unsigned char[256]' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pkcs15-tcos.c:142:8 in diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-2178.txt b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-2178.txt index 63df6bf24..56617ba18 100644 --- a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-2178.txt +++ b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-2178.txt @@ -1,65 +1,5 @@ -INFO: Running with entropic power schedule (0xFF, 100). -INFO: Seed: 1412568156 -INFO: Loaded 1 modules (31673 inline 8-bit counters): 31673 [0xd0a8e8, 0xd124a1), -INFO: Loaded 1 PC tables (31673 PCs): 31673 [0xb96c58,0xc127e8), -/out/fuzz_pkcs15_reader: Running 1 inputs 10 time(s) each. +INFO: Seed: 3327933198 +/out/fuzz_pkcs15_reader: Running 1 inputs 1 time(s) each. Running: /tmp/testcase -================================================================= -==1==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7f2d0c3f36c0 at pc 0x0000009360af bp 0x7fff5e7f8230 sp 0x7fff5e7f8228 -READ of size 1 at 0x7f2d0c3f36c0 thread T0 - #0 0x9360ae in insert_key /src/opensc/src/libopensc/pkcs15-tcos.c:150:20 - #1 0x9322bf in detect_netkey /src/opensc/src/libopensc/pkcs15-tcos.c:309:2 - #2 0x93161b in sc_pkcs15emu_tcos_init_ex /src/opensc/src/libopensc/pkcs15-tcos.c:520:6 - #3 0x57aa5e in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 - #4 0x5187bc in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 - #5 0x4dc944 in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 - #6 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 - #7 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 - #8 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 - #9 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #10 0x7f2d0d005082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) - #11 0x421f5d in _start (/out/fuzz_pkcs15_reader+0x421f5d) - -Address 0x7f2d0c3f36c0 is located in stack of thread T0 at offset 3776 in frame - #0 0x934f8f in insert_key /src/opensc/src/libopensc/pkcs15-tcos.c:102 - - This frame has 4 object(s): - [32, 40) 'f' (line 105) - [64, 536) 'prkey_info' (line 106) - [608, 3384) 'prkey_obj' (line 107) - [3520, 3776) 'buf' (line 126) <== Memory access at offset 3776 overflows this variable -HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork - (longjmp and C++ exceptions *are* supported) -SUMMARY: AddressSanitizer: stack-buffer-overflow /src/opensc/src/libopensc/pkcs15-tcos.c:150:20 in insert_key -Shadow bytes around the buggy address: - 0x0fe621876680: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 0x0fe621876690: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 0x0fe6218766a0: 00 00 00 00 00 00 00 f2 f2 f2 f2 f2 f2 f2 f2 f2 - 0x0fe6218766b0: f2 f2 f2 f2 f2 f2 f2 f2 00 00 00 00 00 00 00 00 - 0x0fe6218766c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -=>0x0fe6218766d0: 00 00 00 00 00 00 00 00[f3]f3 f3 f3 f3 f3 f3 f3 - 0x0fe6218766e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 0x0fe6218766f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 0x0fe621876700: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 0x0fe621876710: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 0x0fe621876720: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -Shadow byte legend (one shadow byte represents 8 application bytes): - Addressable: 00 - Partially addressable: 01 02 03 04 05 06 07 - Heap left redzone: fa - Freed heap region: fd - Stack left redzone: f1 - Stack mid redzone: f2 - Stack right redzone: f3 - Stack after return: f5 - Stack use after scope: f8 - Global redzone: f9 - Global init order: f6 - Poisoned by user: f7 - Container overflow: fc - Array cookie: ac - Intra object redzone: bb - ASan internal: fe - Left alloca redzone: ca - Right alloca redzone: cb -==1==ABORTING +pkcs15-tcos.c:150:20: runtime error: index 256 out of bounds for type 'unsigned char[256]' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pkcs15-tcos.c:150:20 in diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-2222.txt b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-2222.txt index 0a611c41e..08f8c371b 100644 --- a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-2222.txt +++ b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-2222.txt @@ -1,54 +1,51 @@ -INFO: Running with entropic power schedule (0xFF, 100). -INFO: Seed: 1387868069 -INFO: Loaded 1 modules (31673 inline 8-bit counters): 31673 [0xd0a8e8, 0xd124a1), -INFO: Loaded 1 PC tables (31673 PCs): 31673 [0xb96c58,0xc127e8), -/out/fuzz_pkcs15_reader: Running 1 inputs 10 time(s) each. +INFO: Seed: 3301760983 +/out/fuzz_pkcs15_reader: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: attempting double-free on 0x6030000002e0 in thread T0: - #0 0x4a0ff2 in __interceptor_free /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:111:3 - #1 0x50f410 in sc_pkcs15_free_tokeninfo /src/opensc/src/libopensc/pkcs15.c:736:2 - #2 0x50fc92 in sc_pkcs15_card_free /src/opensc/src/libopensc/pkcs15.c:790:2 - #3 0x4de1cd in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:297:9 - #4 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 - #5 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 - #6 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 - #7 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #8 0x7f1edb8d0082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) - #9 0x421f5d in _start (/out/fuzz_pkcs15_reader+0x421f5d) +==1==ERROR: AddressSanitizer: attempting double-free on 0x603000000310 in thread T0: + #0 0x4a3252 in __interceptor_free /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:52:3 + #1 0x528eee in sc_pkcs15_free_tokeninfo /src/opensc/src/libopensc/pkcs15.c:736:2 + #2 0x52a01e in sc_pkcs15_card_free /src/opensc/src/libopensc/pkcs15.c:790:2 + #3 0x4e54f9 in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:297:9 + #4 0xbe318c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #5 0xbd50e5 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #6 0xbd9d91 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #7 0xbd4db2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #8 0x7ff3151d7082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #9 0x4220bd in _start (/out/fuzz_pkcs15_reader+0x4220bd) -0x6030000002e0 is located 0 bytes inside of 32-byte region [0x6030000002e0,0x603000000300) +0x603000000310 is located 0 bytes inside of 32-byte region [0x603000000310,0x603000000330) freed by thread T0 here: - #0 0x4a0ff2 in __interceptor_free /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:111:3 - #1 0x926ea6 in idprime_get_token_name /src/opensc/src/libopensc/card-idprime.c:452:3 - #2 0x91fbb2 in idprime_card_ctl /src/opensc/src/libopensc/card-idprime.c:476:11 - #3 0x4fbd22 in sc_card_ctl /src/opensc/src/libopensc/card.c:1058:7 - #4 0x99d0b1 in sc_pkcs15emu_idprime_init /src/opensc/src/libopensc/pkcs15-idprime.c:112:6 - #5 0x99bf86 in sc_pkcs15emu_idprime_init_ex /src/opensc/src/libopensc/pkcs15-idprime.c:285:9 - #6 0x57aa5e in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 - #7 0x5187bc in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 - #8 0x4dc944 in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 - #9 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 - #10 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 - #11 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 - #12 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #13 0x7f1edb8d0082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) + #0 0x4a3252 in __interceptor_free /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:52:3 + #1 0xa5edbc in idprime_get_token_name /src/opensc/src/libopensc/card-idprime.c:452:3 + #2 0xa56578 in idprime_card_ctl /src/opensc/src/libopensc/card-idprime.c:476:11 + #3 0x50e02c in sc_card_ctl /src/opensc/src/libopensc/card.c:1058:7 + #4 0xb01bdd in sc_pkcs15emu_idprime_init /src/opensc/src/libopensc/pkcs15-idprime.c:112:6 + #5 0xb0033b in sc_pkcs15emu_idprime_init_ex /src/opensc/src/libopensc/pkcs15-idprime.c:285:9 + #6 0x5bae88 in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 + #7 0x5379e4 in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 + #8 0x4e3a6f in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 + #9 0xbe318c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #10 0xbd50e5 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #11 0xbd9d91 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #12 0xbd4db2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #13 0x7ff3151d7082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) previously allocated by thread T0 here: - #0 0x4a125d in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:129:3 - #1 0x926adc in idprime_get_token_name /src/opensc/src/libopensc/card-idprime.c:445:11 - #2 0x91fbb2 in idprime_card_ctl /src/opensc/src/libopensc/card-idprime.c:476:11 - #3 0x4fbd22 in sc_card_ctl /src/opensc/src/libopensc/card.c:1058:7 - #4 0x99d0b1 in sc_pkcs15emu_idprime_init /src/opensc/src/libopensc/pkcs15-idprime.c:112:6 - #5 0x99bf86 in sc_pkcs15emu_idprime_init_ex /src/opensc/src/libopensc/pkcs15-idprime.c:285:9 - #6 0x57aa5e in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 - #7 0x5187bc in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 - #8 0x4dc944 in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 - #9 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 - #10 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 - #11 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 - #12 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #13 0x7f1edb8d0082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) + #0 0x4a34f6 in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0xa5e852 in idprime_get_token_name /src/opensc/src/libopensc/card-idprime.c:445:11 + #2 0xa56578 in idprime_card_ctl /src/opensc/src/libopensc/card-idprime.c:476:11 + #3 0x50e02c in sc_card_ctl /src/opensc/src/libopensc/card.c:1058:7 + #4 0xb01bdd in sc_pkcs15emu_idprime_init /src/opensc/src/libopensc/pkcs15-idprime.c:112:6 + #5 0xb0033b in sc_pkcs15emu_idprime_init_ex /src/opensc/src/libopensc/pkcs15-idprime.c:285:9 + #6 0x5bae88 in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 + #7 0x5379e4 in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 + #8 0x4e3a6f in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 + #9 0xbe318c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #10 0xbd50e5 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #11 0xbd9d91 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #12 0xbd4db2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #13 0x7ff3151d7082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) -SUMMARY: AddressSanitizer: double-free /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:111:3 in __interceptor_free +SUMMARY: AddressSanitizer: double-free /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:52:3 in __interceptor_free ==1==ABORTING diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-2254.txt b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-2254.txt index 398e20a2b..8249a15d8 100644 --- a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-2254.txt +++ b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-2254.txt @@ -1,64 +1,5 @@ -INFO: Running with entropic power schedule (0xFF, 100). -INFO: Seed: 1379993096 -INFO: Loaded 1 modules (31673 inline 8-bit counters): 31673 [0xd0a8e8, 0xd124a1), -INFO: Loaded 1 PC tables (31673 PCs): 31673 [0xb96c58,0xc127e8), -/out/fuzz_pkcs15_reader: Running 1 inputs 10 time(s) each. +INFO: Seed: 3294163737 +/out/fuzz_pkcs15_reader: Running 1 inputs 1 time(s) each. Running: /tmp/testcase -================================================================= -==1==ERROR: AddressSanitizer: stack-use-after-return on address 0x7fce942b9805 at pc 0x000000937a8e bp 0x7fff40035570 sp 0x7fff40035568 -READ of size 1 at 0x7fce942b9805 thread T0 - #0 0x937a8d in insert_pin /src/opensc/src/libopensc/pkcs15-tcos.c:235:26 - #1 0x933213 in detect_idkey /src/opensc/src/libopensc/pkcs15-tcos.c:402:2 - #2 0x931668 in sc_pkcs15emu_tcos_init_ex /src/opensc/src/libopensc/pkcs15-tcos.c:521:6 - #3 0x57aa5e in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 - #4 0x5187bc in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 - #5 0x4dc944 in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 - #6 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 - #7 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 - #8 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 - #9 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #10 0x7fce94ed8082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) - #11 0x421f5d in _start (/out/fuzz_pkcs15_reader+0x421f5d) - -Address 0x7fce942b9805 is located in stack of thread T0 at offset 5 in frame - #0 0x933c9f in insert_cert /src/opensc/src/libopensc/pkcs15-tcos.c:42 - - This frame has 3 object(s): - [32, 384) 'cert_info' (line 45) - [448, 3224) 'cert_obj' (line 46) - [3360, 3380) 'cert' (line 47) -HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork - (longjmp and C++ exceptions *are* supported) -SUMMARY: AddressSanitizer: stack-use-after-return /src/opensc/src/libopensc/pkcs15-tcos.c:235:26 in insert_pin -Shadow bytes around the buggy address: - 0x0ffa5284f2b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 0x0ffa5284f2c0: 00 00 00 f2 f2 f2 f2 f2 f2 f2 f2 f2 f2 f2 f2 f2 - 0x0ffa5284f2d0: f2 f2 f2 f2 00 00 00 00 00 00 00 00 00 00 00 00 - 0x0ffa5284f2e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 0x0ffa5284f2f0: 00 00 00 00 f3 f3 f3 f3 f3 f3 f3 f3 00 00 00 00 -=>0x0ffa5284f300:[f5]f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 - 0x0ffa5284f310: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 - 0x0ffa5284f320: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 - 0x0ffa5284f330: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 - 0x0ffa5284f340: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 - 0x0ffa5284f350: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 -Shadow byte legend (one shadow byte represents 8 application bytes): - Addressable: 00 - Partially addressable: 01 02 03 04 05 06 07 - Heap left redzone: fa - Freed heap region: fd - Stack left redzone: f1 - Stack mid redzone: f2 - Stack right redzone: f3 - Stack after return: f5 - Stack use after scope: f8 - Global redzone: f9 - Global init order: f6 - Poisoned by user: f7 - Container overflow: fc - Array cookie: ac - Intra object redzone: bb - ASan internal: fe - Left alloca redzone: ca - Right alloca redzone: cb -==1==ABORTING +pkcs15-tcos.c:235:26: runtime error: index 357 out of bounds for type 'unsigned char[256]' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pkcs15-tcos.c:235:26 in diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-55.txt b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-55.txt index 52b6748ba..9028cee70 100644 --- a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-55.txt +++ b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-55.txt @@ -1,27 +1,24 @@ -INFO: Running with entropic power schedule (0xFF, 100). -INFO: Seed: 1420039993 -INFO: Loaded 1 modules (31673 inline 8-bit counters): 31673 [0xd0a8e8, 0xd124a1), -INFO: Loaded 1 PC tables (31673 PCs): 31673 [0xb96c58,0xc127e8), -/out/fuzz_pkcs15_reader: Running 1 inputs 10 time(s) each. +INFO: Seed: 3274967325 +/out/fuzz_pkcs15_reader: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7f99b5765f05 at pc 0x0000004a073c bp 0x7fff869f9e70 sp 0x7fff869f9638 -WRITE of size 52545 at 0x7f99b5765f05 thread T0 - #0 0x4a073b in __asan_memcpy /src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:22:3 - #1 0x5ebab9 in tcos_decipher /src/opensc/src/libopensc/card-tcos.c:654:2 - #2 0x9f4706 in sc_decipher /src/opensc/src/libopensc/sec.c:46:6 - #3 0x5682ad in use_key /src/opensc/src/libopensc/pkcs15-sec.c:155:8 - #4 0x565a90 in sc_pkcs15_decipher /src/opensc/src/libopensc/pkcs15-sec.c:284:6 - #5 0x4dcced in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:232:17 - #6 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 - #7 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 - #8 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 - #9 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #10 0x7f99b639f082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) - #11 0x421f5d in _start (/out/fuzz_pkcs15_reader+0x421f5d) +==1==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7f5e7d507705 at pc 0x0000004a293c bp 0x7ffdb62fee30 sp 0x7ffdb62fe600 +WRITE of size 52545 at 0x7f5e7d507705 thread T0 + #0 0x4a293b in __asan_memcpy /src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:22:3 + #1 0x64ac2c in tcos_decipher /src/opensc/src/libopensc/card-tcos.c:654:2 + #2 0xb766b5 in sc_decipher /src/opensc/src/libopensc/sec.c:46:6 + #3 0x5a5670 in use_key /src/opensc/src/libopensc/pkcs15-sec.c:155:8 + #4 0x5a2460 in sc_pkcs15_decipher /src/opensc/src/libopensc/pkcs15-sec.c:284:6 + #5 0x4e3ed6 in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:232:17 + #6 0xbe318c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #7 0xbd50e5 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #8 0xbd9d91 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #9 0xbd4db2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #10 0x7f5e7f9ab082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #11 0x4220bd in _start (/out/fuzz_pkcs15_reader+0x4220bd) -Address 0x7f99b5765f05 is located in stack of thread T0 at offset 773 in frame - #0 0x5eb13f in tcos_decipher /src/opensc/src/libopensc/card-tcos.c:622 +Address 0x7f5e7d507705 is located in stack of thread T0 at offset 773 in frame + #0 0x64a0cf in tcos_decipher /src/opensc/src/libopensc/card-tcos.c:622 This frame has 3 object(s): [32, 136) 'apdu' (line 624) @@ -31,20 +28,20 @@ HINT: this may be a false positive if your program uses some custom stack unwind (longjmp and C++ exceptions *are* supported) SUMMARY: AddressSanitizer: stack-buffer-overflow /src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:22:3 in __asan_memcpy Shadow bytes around the buggy address: - 0x0ff3b6ae4b90: 00 f2 f2 f2 f2 f2 00 00 00 00 00 00 00 00 00 00 - 0x0ff3b6ae4ba0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 0x0ff3b6ae4bb0: 00 00 00 00 00 00 05 f2 f2 f2 f2 f2 f2 f2 f2 f2 - 0x0ff3b6ae4bc0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 0x0ff3b6ae4bd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -=>0x0ff3b6ae4be0:[05]f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 00 00 00 00 - 0x0ff3b6ae4bf0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 0x0ff3b6ae4c00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 0x0ff3b6ae4c10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 0x0ff3b6ae4c20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 0x0ff3b6ae4c30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0fec4fa98e90: 00 f2 f2 f2 f2 f2 00 00 00 00 00 00 00 00 00 00 + 0x0fec4fa98ea0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0fec4fa98eb0: 00 00 00 00 00 00 05 f2 f2 f2 f2 f2 f2 f2 f2 f2 + 0x0fec4fa98ec0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0fec4fa98ed0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +=>0x0fec4fa98ee0:[05]f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 00 00 00 00 + 0x0fec4fa98ef0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0fec4fa98f00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0fec4fa98f10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0fec4fa98f20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0fec4fa98f30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Shadow byte legend (one shadow byte represents 8 application bytes): Addressable: 00 - Partially addressable: 01 02 03 04 05 06 07 + Partially addressable: 01 02 03 04 05 06 07 Heap left redzone: fa Freed heap region: fd Stack left redzone: f1 diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-693.txt b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-693.txt index e82de71f7..e14e6cfa6 100644 --- a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-693.txt +++ b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-693.txt @@ -1,44 +1,41 @@ -INFO: Running with entropic power schedule (0xFF, 100). -INFO: Seed: 1422770067 -INFO: Loaded 1 modules (31673 inline 8-bit counters): 31673 [0xd0a8e8, 0xd124a1), -INFO: Loaded 1 PC tables (31673 PCs): 31673 [0xb96c58,0xc127e8), -/out/fuzz_pkcs15_reader: Running 1 inputs 10 time(s) each. +INFO: Seed: 3277936951 +/out/fuzz_pkcs15_reader: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6020000005f9 at pc 0x000000597563 bp 0x7ffeb2e0ba30 sp 0x7ffeb2e0ba28 +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6020000005f9 at pc 0x0000005e113b bp 0x7ffc24574590 sp 0x7ffc24574588 READ of size 1 at 0x6020000005f9 thread T0 - #0 0x597562 in parse_sec_attr_44 /src/opensc/src/libopensc/card-setcos.c:792:21 - #1 0x591701 in setcos_select_file /src/opensc/src/libopensc/card-setcos.c:939:4 - #2 0x4f83c9 in sc_select_file /src/opensc/src/libopensc/card.c:865:6 - #3 0x500e99 in sc_enum_apps /src/opensc/src/libopensc/dir.c:173:6 - #4 0x511f91 in sc_pkcs15_bind_internal /src/opensc/src/libopensc/pkcs15.c:958:9 - #5 0x518778 in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1265:8 - #6 0x4dc944 in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 - #7 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 - #8 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 - #9 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 - #10 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #11 0x7f88342a0082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) - #12 0x421f5d in _start (/out/fuzz_pkcs15_reader+0x421f5d) + #0 0x5e113a in parse_sec_attr_44 /src/opensc/src/libopensc/card-setcos.c:792:21 + #1 0x5d968e in setcos_select_file /src/opensc/src/libopensc/card-setcos.c:939:4 + #2 0x5098f7 in sc_select_file /src/opensc/src/libopensc/card.c:865:6 + #3 0x515967 in sc_enum_apps /src/opensc/src/libopensc/dir.c:173:6 + #4 0x52de11 in sc_pkcs15_bind_internal /src/opensc/src/libopensc/pkcs15.c:958:9 + #5 0x5379b1 in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1265:8 + #6 0x4e3a6f in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 + #7 0xbe318c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #8 0xbd50e5 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #9 0xbd9d91 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #10 0xbd4db2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #11 0x7f9f96e26082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #12 0x4220bd in _start (/out/fuzz_pkcs15_reader+0x4220bd) 0x6020000005f9 is located 1 bytes to the right of 8-byte region [0x6020000005f0,0x6020000005f8) allocated by thread T0 here: - #0 0x4a1533 in __interceptor_realloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:148:3 - #1 0x9d63b2 in sc_file_set_sec_attr /src/opensc/src/libopensc/sc.c:698:15 - #2 0xa0c375 in iso7816_process_fci /src/opensc/src/libopensc/iso7816.c:437:23 - #3 0x59259e in setcos_process_fci /src/opensc/src/libopensc/card-setcos.c:971:10 - #4 0xa0331e in iso7816_select_file /src/opensc/src/libopensc/iso7816.c:617:4 - #5 0x59128a in setcos_select_file /src/opensc/src/libopensc/card-setcos.c:929:6 - #6 0x4f83c9 in sc_select_file /src/opensc/src/libopensc/card.c:865:6 - #7 0x500e99 in sc_enum_apps /src/opensc/src/libopensc/dir.c:173:6 - #8 0x511f91 in sc_pkcs15_bind_internal /src/opensc/src/libopensc/pkcs15.c:958:9 - #9 0x518778 in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1265:8 - #10 0x4dc944 in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 - #11 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 - #12 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 - #13 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 - #14 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #15 0x7f88342a0082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) + #0 0x4a38fc in __interceptor_realloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:85:3 + #1 0xb519b7 in sc_file_set_sec_attr /src/opensc/src/libopensc/sc.c:698:15 + #2 0xb91db4 in iso7816_process_fci /src/opensc/src/libopensc/iso7816.c:437:23 + #3 0x5da69b in setcos_process_fci /src/opensc/src/libopensc/card-setcos.c:971:10 + #4 0xb87807 in iso7816_select_file /src/opensc/src/libopensc/iso7816.c:617:4 + #5 0x5d900f in setcos_select_file /src/opensc/src/libopensc/card-setcos.c:929:6 + #6 0x5098f7 in sc_select_file /src/opensc/src/libopensc/card.c:865:6 + #7 0x515967 in sc_enum_apps /src/opensc/src/libopensc/dir.c:173:6 + #8 0x52de11 in sc_pkcs15_bind_internal /src/opensc/src/libopensc/pkcs15.c:958:9 + #9 0x5379b1 in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1265:8 + #10 0x4e3a6f in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 + #11 0xbe318c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #12 0xbd50e5 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #13 0xbd9d91 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #14 0xbd4db2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #15 0x7f9f96e26082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) SUMMARY: AddressSanitizer: heap-buffer-overflow /src/opensc/src/libopensc/card-setcos.c:792:21 in parse_sec_attr_44 Shadow bytes around the buggy address: @@ -55,7 +52,7 @@ Shadow bytes around the buggy address: 0x0c047fff8100: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa Shadow byte legend (one shadow byte represents 8 application bytes): Addressable: 00 - Partially addressable: 01 02 03 04 05 06 07 + Partially addressable: 01 02 03 04 05 06 07 Heap left redzone: fa Freed heap region: fd Stack left redzone: f1 diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-885.txt b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-885.txt index 61b82f55c..6054f1d2d 100644 --- a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-885.txt +++ b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-885.txt @@ -1,28 +1,25 @@ -INFO: Running with entropic power schedule (0xFF, 100). -INFO: Seed: 1382740449 -INFO: Loaded 1 modules (31673 inline 8-bit counters): 31673 [0xd0a8e8, 0xd124a1), -INFO: Loaded 1 PC tables (31673 PCs): 31673 [0xb96c58,0xc127e8), -/out/fuzz_pkcs15_reader: Running 1 inputs 10 time(s) each. +INFO: Seed: 3296691694 +/out/fuzz_pkcs15_reader: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: stack-use-after-scope on address 0x7f568e227e70 at pc 0x0000006f06e6 bp 0x7fff09f43830 sp 0x7fff09f43828 -READ of size 8 at 0x7f568e227e70 thread T0 - #0 0x6f06e5 in coolkey_apdu_io /src/opensc/src/libopensc/card-coolkey.c:930:17 - #1 0x6fcef4 in coolkey_rsa_op /src/opensc/src/libopensc/card-coolkey.c:1747:6 - #2 0x6f683f in coolkey_compute_crypt /src/opensc/src/libopensc/card-coolkey.c:1859:7 - #3 0x9f4cd6 in sc_compute_signature /src/opensc/src/libopensc/sec.c:62:6 - #4 0x5682ad in use_key /src/opensc/src/libopensc/pkcs15-sec.c:155:8 - #5 0x57174a in sc_pkcs15_compute_signature /src/opensc/src/libopensc/pkcs15-sec.c:742:6 - #6 0x4ddbbb in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:286:17 - #7 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 - #8 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 - #9 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 - #10 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #11 0x7f568ee67082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) - #12 0x421f5d in _start (/out/fuzz_pkcs15_reader+0x421f5d) +==1==ERROR: AddressSanitizer: stack-use-after-scope on address 0x7fbe2f701670 at pc 0x00000079a8af bp 0x7ffd9c395250 sp 0x7ffd9c395248 +READ of size 8 at 0x7fbe2f701670 thread T0 + #0 0x79a8ae in coolkey_apdu_io /src/opensc/src/libopensc/card-coolkey.c:930:17 + #1 0x7aa866 in coolkey_rsa_op /src/opensc/src/libopensc/card-coolkey.c:1747:6 + #2 0x7a2467 in coolkey_compute_crypt /src/opensc/src/libopensc/card-coolkey.c:1859:7 + #3 0xb76dea in sc_compute_signature /src/opensc/src/libopensc/sec.c:62:6 + #4 0x5a5670 in use_key /src/opensc/src/libopensc/pkcs15-sec.c:155:8 + #5 0x5af4bf in sc_pkcs15_compute_signature /src/opensc/src/libopensc/pkcs15-sec.c:742:6 + #6 0x4e4ea7 in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:286:17 + #7 0xbe318c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #8 0xbd50e5 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #9 0xbd9d91 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #10 0xbd4db2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #11 0x7fbe31b02082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #12 0x4220bd in _start (/out/fuzz_pkcs15_reader+0x4220bd) -Address 0x7f568e227e70 is located in stack of thread T0 at offset 624 in frame - #0 0x6fc4cf in coolkey_rsa_op /src/opensc/src/libopensc/card-coolkey.c:1680 +Address 0x7fbe2f701670 is located in stack of thread T0 at offset 624 in frame + #0 0x7a9bef in coolkey_rsa_op /src/opensc/src/libopensc/card-coolkey.c:1680 This frame has 6 object(s): [32, 40) 'crypt_out_len_p' (line 1683) @@ -30,25 +27,25 @@ Address 0x7f568e227e70 is located in stack of thread T0 at offset 624 in frame [336, 538) 'buf' (line 1688) [608, 610) 'len_buf' (line 1707) [624, 632) 'buf_out' (line 1731) <== Memory access at offset 624 is inside this variable - [656, 658) 'len_buf50' (line 1755) + [656, 658) 'len_buf83' (line 1755) HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork (longjmp and C++ exceptions *are* supported) SUMMARY: AddressSanitizer: stack-use-after-scope /src/opensc/src/libopensc/card-coolkey.c:930:17 in coolkey_apdu_io Shadow bytes around the buggy address: - 0x0feb51c3cf70: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 - 0x0feb51c3cf80: f1 f1 f1 f1 00 f2 f2 f2 00 00 00 00 00 00 00 00 - 0x0feb51c3cf90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 0x0feb51c3cfa0: 00 05 f2 f2 f2 f2 f2 f2 f2 f2 00 00 00 00 00 00 - 0x0feb51c3cfb0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -=>0x0feb51c3cfc0: 00 00 00 02 f2 f2 f2 f2 f2 f2 f2 f2 f8 f2[f8]f2 - 0x0feb51c3cfd0: f2 f2 f8 f3 00 00 00 00 00 00 00 00 00 00 00 00 - 0x0feb51c3cfe0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 0x0feb51c3cff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 0x0feb51c3d000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 0x0feb51c3d010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0ff845ed8270: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 + 0x0ff845ed8280: f1 f1 f1 f1 00 f2 f2 f2 00 00 00 00 00 00 00 00 + 0x0ff845ed8290: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0ff845ed82a0: 00 05 f2 f2 f2 f2 f2 f2 f2 f2 00 00 00 00 00 00 + 0x0ff845ed82b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +=>0x0ff845ed82c0: 00 00 00 02 f2 f2 f2 f2 f2 f2 f2 f2 f8 f2[f8]f2 + 0x0ff845ed82d0: f2 f2 f8 f3 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0ff845ed82e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0ff845ed82f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0ff845ed8300: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0ff845ed8310: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Shadow byte legend (one shadow byte represents 8 application bytes): Addressable: 00 - Partially addressable: 01 02 03 04 05 06 07 + Partially addressable: 01 02 03 04 05 06 07 Heap left redzone: fa Freed heap region: fd Stack left redzone: f1 diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-969.txt b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-969.txt index d3bf38ae2..23847203b 100644 --- a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-969.txt +++ b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2020-969.txt @@ -1,61 +1,5 @@ -INFO: Running with entropic power schedule (0xFF, 100). -INFO: Seed: 1425224972 -INFO: Loaded 1 modules (31673 inline 8-bit counters): 31673 [0xd0a8e8, 0xd124a1), -INFO: Loaded 1 PC tables (31673 PCs): 31673 [0xb96c58,0xc127e8), -/out/fuzz_pkcs15_reader: Running 1 inputs 10 time(s) each. +INFO: Seed: 3281330741 +/out/fuzz_pkcs15_reader: Running 1 inputs 1 time(s) each. Running: /tmp/testcase -================================================================= -==1==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7f343d357ce0 at pc 0x00000063c671 bp 0x7ffd9595e1d0 sp 0x7ffd9595e1c8 -WRITE of size 4 at 0x7f343d357ce0 thread T0 - #0 0x63c670 in pgp_parse_algo_attr_blob /src/opensc/src/libopensc/card-openpgp.c:618:19 - #1 0x6370b7 in pgp_get_card_features /src/opensc/src/libopensc/card-openpgp.c:788:9 - #2 0x6250a4 in pgp_init /src/opensc/src/libopensc/card-openpgp.c:483:2 - #3 0x4ecf91 in sc_connect_card /src/opensc/src/libopensc/card.c:358:8 - #4 0x4dc902 in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:216:5 - #5 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 - #6 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 - #7 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 - #8 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #9 0x7f343dfc2082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) - #10 0x421f5d in _start (/out/fuzz_pkcs15_reader+0x421f5d) - -Address 0x7f343d357ce0 is located in stack of thread T0 at offset 96 in frame - #0 0x63b4ef in pgp_parse_algo_attr_blob /src/opensc/src/libopensc/card-openpgp.c:570 - - This frame has 1 object(s): - [32, 96) 'oid' (line 571) <== Memory access at offset 96 overflows this variable -HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork - (longjmp and C++ exceptions *are* supported) -SUMMARY: AddressSanitizer: stack-buffer-overflow /src/opensc/src/libopensc/card-openpgp.c:618:19 in pgp_parse_algo_attr_blob -Shadow bytes around the buggy address: - 0x0fe707a62f40: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 - 0x0fe707a62f50: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 - 0x0fe707a62f60: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 - 0x0fe707a62f70: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 - 0x0fe707a62f80: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 -=>0x0fe707a62f90: f1 f1 f1 f1 00 00 00 00 00 00 00 00[f3]f3 f3 f3 - 0x0fe707a62fa0: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 - 0x0fe707a62fb0: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 - 0x0fe707a62fc0: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 - 0x0fe707a62fd0: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 - 0x0fe707a62fe0: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 -Shadow byte legend (one shadow byte represents 8 application bytes): - Addressable: 00 - Partially addressable: 01 02 03 04 05 06 07 - Heap left redzone: fa - Freed heap region: fd - Stack left redzone: f1 - Stack mid redzone: f2 - Stack right redzone: f3 - Stack after return: f5 - Stack use after scope: f8 - Global redzone: f9 - Global init order: f6 - Poisoned by user: f7 - Container overflow: fc - Array cookie: ac - Intra object redzone: bb - ASan internal: fe - Left alloca redzone: ca - Right alloca redzone: cb -==1==ABORTING +card-openpgp.c:618:6: runtime error: index 16 out of bounds for type 'int[16]' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior card-openpgp.c:618:6 in diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2021-1017.txt b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2021-1017.txt index c3165d6b8..16f86fdd0 100644 --- a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2021-1017.txt +++ b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2021-1017.txt @@ -1,27 +1,24 @@ -INFO: Running with entropic power schedule (0xFF, 100). -INFO: Seed: 1428029245 -INFO: Loaded 1 modules (31673 inline 8-bit counters): 31673 [0xd0a8e8, 0xd124a1), -INFO: Loaded 1 PC tables (31673 PCs): 31673 [0xb96c58,0xc127e8), -/out/fuzz_pkcs15_reader: Running 1 inputs 10 time(s) each. +INFO: Seed: 3284039333 +/out/fuzz_pkcs15_reader: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7ffc6be3c75f at pc 0x0000004a073c bp 0x7ffc6be3b590 sp 0x7ffc6be3ad58 -WRITE of size 33 at 0x7ffc6be3c75f thread T0 - #0 0x4a073b in __asan_memcpy /src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:22:3 - #1 0x7158cc in piv_compute_signature /src/opensc/src/libopensc/card-piv.c:2423:6 - #2 0x9f4cd6 in sc_compute_signature /src/opensc/src/libopensc/sec.c:62:6 - #3 0x5682ad in use_key /src/opensc/src/libopensc/pkcs15-sec.c:155:8 - #4 0x57174a in sc_pkcs15_compute_signature /src/opensc/src/libopensc/pkcs15-sec.c:742:6 - #5 0x4ddbbb in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:286:17 - #6 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 - #7 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 - #8 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 - #9 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #10 0x7fccc33f8082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) - #11 0x421f5d in _start (/out/fuzz_pkcs15_reader+0x421f5d) +==1==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7ffd4f7fde7f at pc 0x0000004a293c bp 0x7ffd4f7fcf90 sp 0x7ffd4f7fc760 +WRITE of size 33 at 0x7ffd4f7fde7f thread T0 + #0 0x4a293b in __asan_memcpy /src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:22:3 + #1 0x7c9e4e in piv_compute_signature /src/opensc/src/libopensc/card-piv.c:2423:6 + #2 0xb76dea in sc_compute_signature /src/opensc/src/libopensc/sec.c:62:6 + #3 0x5a5670 in use_key /src/opensc/src/libopensc/pkcs15-sec.c:155:8 + #4 0x5af4bf in sc_pkcs15_compute_signature /src/opensc/src/libopensc/pkcs15-sec.c:742:6 + #5 0x4e4ea7 in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:286:17 + #6 0xbe318c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #7 0xbd50e5 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #8 0xbd9d91 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #9 0xbd4db2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #10 0x7f2778355082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #11 0x4220bd in _start (/out/fuzz_pkcs15_reader+0x4220bd) -Address 0x7ffc6be3c75f is located in stack of thread T0 at offset 223 in frame - #0 0x4dc04f in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:187 +Address 0x7ffd4f7fde7f is located in stack of thread T0 at offset 223 in frame + #0 0x4e2e4f in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:187 This frame has 16 object(s): [32, 40) 'ctx' (line 188) @@ -44,20 +41,20 @@ HINT: this may be a false positive if your program uses some custom stack unwind (longjmp and C++ exceptions *are* supported) SUMMARY: AddressSanitizer: stack-buffer-overflow /src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:22:3 in __asan_memcpy Shadow bytes around the buggy address: - 0x10000d7bf890: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 0x10000d7bf8a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 0x10000d7bf8b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 0x10000d7bf8c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 0x10000d7bf8d0: f1 f1 f1 f1 00 f2 f2 f2 00 f2 f2 f2 00 f2 f2 f2 -=>0x10000d7bf8e0: 00 f2 f2 f2 00 f2 f2 f2 02 f2 02[f2]00 00 00 00 - 0x10000d7bf8f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 0x10000d7bf900: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 0x10000d7bf910: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 0x10000d7bf920: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 0x10000d7bf930: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x100029ef7b70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x100029ef7b80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x100029ef7b90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x100029ef7ba0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x100029ef7bb0: 00 00 00 00 f1 f1 f1 f1 00 f2 f2 f2 00 f2 f2 f2 +=>0x100029ef7bc0: 00 f2 f2 f2 00 f2 f2 f2 00 f2 f2 f2 02 f2 02[f2] + 0x100029ef7bd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x100029ef7be0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x100029ef7bf0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x100029ef7c00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x100029ef7c10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Shadow byte legend (one shadow byte represents 8 application bytes): Addressable: 00 - Partially addressable: 01 02 03 04 05 06 07 + Partially addressable: 01 02 03 04 05 06 07 Heap left redzone: fa Freed heap region: fd Stack left redzone: f1 diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2021-262.txt b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2021-262.txt index c04241487..eaad58aed 100644 --- a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2021-262.txt +++ b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2021-262.txt @@ -1,43 +1,40 @@ -INFO: Running with entropic power schedule (0xFF, 100). -INFO: Seed: 1402372479 -INFO: Loaded 1 modules (31673 inline 8-bit counters): 31673 [0xd0a8e8, 0xd124a1), -INFO: Loaded 1 PC tables (31673 PCs): 31673 [0xb96c58,0xc127e8), -/out/fuzz_pkcs15_reader: Running 1 inputs 10 time(s) each. +INFO: Seed: 3317721244 +/out/fuzz_pkcs15_reader: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60c000000180 at pc 0x0000004a0681 bp 0x7ffd88344bd0 sp 0x7ffd88344398 +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60c000000180 at pc 0x0000004a2881 bp 0x7ffebc27c4b0 sp 0x7ffebc27bc80 READ of size 254 at 0x60c000000180 thread T0 - #0 0x4a0680 in __asan_memcpy /src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:22:3 - #1 0x96ed15 in sc_pkcs15emu_oberthur_add_data /src/opensc/src/libopensc/pkcs15-oberthur.c:898:2 - #2 0x96a260 in sc_oberthur_parse_privateinfo /src/opensc/src/libopensc/pkcs15-oberthur.c:531:9 - #3 0x966533 in sc_pkcs15emu_oberthur_init /src/opensc/src/libopensc/pkcs15-oberthur.c:1040:8 - #4 0x963baf in sc_pkcs15emu_oberthur_init_ex /src/opensc/src/libopensc/pkcs15-oberthur.c:1069:8 - #5 0x57aa5e in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 - #6 0x5187bc in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 - #7 0x4dc944 in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 - #8 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 - #9 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 - #10 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 - #11 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #12 0x7f864520d082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) - #13 0x421f5d in _start (/out/fuzz_pkcs15_reader+0x421f5d) + #0 0x4a2880 in __asan_memcpy /src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:22:3 + #1 0xac1efe in sc_pkcs15emu_oberthur_add_data /src/opensc/src/libopensc/pkcs15-oberthur.c:898:2 + #2 0xabd271 in sc_oberthur_parse_privateinfo /src/opensc/src/libopensc/pkcs15-oberthur.c:531:9 + #3 0xab8cb4 in sc_pkcs15emu_oberthur_init /src/opensc/src/libopensc/pkcs15-oberthur.c:1040:8 + #4 0xab52af in sc_pkcs15emu_oberthur_init_ex /src/opensc/src/libopensc/pkcs15-oberthur.c:1069:8 + #5 0x5bae88 in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 + #6 0x5379e4 in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 + #7 0x4e3a6f in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 + #8 0xbe318c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #9 0xbd50e5 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #10 0xbd9d91 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #11 0xbd4db2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #12 0x7f680e5e0082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #13 0x4220bd in _start (/out/fuzz_pkcs15_reader+0x4220bd) 0x60c000000180 is located 0 bytes to the right of 128-byte region [0x60c000000100,0x60c000000180) allocated by thread T0 here: - #0 0x4a13e2 in __interceptor_calloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:138:3 - #1 0x9681b1 in sc_oberthur_read_file /src/opensc/src/libopensc/pkcs15-oberthur.c:264:9 - #2 0x96db0f in sc_pkcs15emu_oberthur_add_data /src/opensc/src/libopensc/pkcs15-oberthur.c:856:7 - #3 0x96a260 in sc_oberthur_parse_privateinfo /src/opensc/src/libopensc/pkcs15-oberthur.c:531:9 - #4 0x966533 in sc_pkcs15emu_oberthur_init /src/opensc/src/libopensc/pkcs15-oberthur.c:1040:8 - #5 0x963baf in sc_pkcs15emu_oberthur_init_ex /src/opensc/src/libopensc/pkcs15-oberthur.c:1069:8 - #6 0x57aa5e in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 - #7 0x5187bc in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 - #8 0x4dc944 in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 - #9 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 - #10 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 - #11 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 - #12 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #13 0x7f864520d082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) + #0 0x4a36ce in __interceptor_calloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:77:3 + #1 0xabaa7b in sc_oberthur_read_file /src/opensc/src/libopensc/pkcs15-oberthur.c:264:9 + #2 0xac0bd3 in sc_pkcs15emu_oberthur_add_data /src/opensc/src/libopensc/pkcs15-oberthur.c:856:7 + #3 0xabd271 in sc_oberthur_parse_privateinfo /src/opensc/src/libopensc/pkcs15-oberthur.c:531:9 + #4 0xab8cb4 in sc_pkcs15emu_oberthur_init /src/opensc/src/libopensc/pkcs15-oberthur.c:1040:8 + #5 0xab52af in sc_pkcs15emu_oberthur_init_ex /src/opensc/src/libopensc/pkcs15-oberthur.c:1069:8 + #6 0x5bae88 in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 + #7 0x5379e4 in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 + #8 0x4e3a6f in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 + #9 0xbe318c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #10 0xbd50e5 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #11 0xbd9d91 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #12 0xbd4db2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #13 0x7f680e5e0082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) SUMMARY: AddressSanitizer: heap-buffer-overflow /src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:22:3 in __asan_memcpy Shadow bytes around the buggy address: @@ -54,7 +51,7 @@ Shadow bytes around the buggy address: 0x0c187fff8080: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa Shadow byte legend (one shadow byte represents 8 application bytes): Addressable: 00 - Partially addressable: 01 02 03 04 05 06 07 + Partially addressable: 01 02 03 04 05 06 07 Heap left redzone: fa Freed heap region: fd Stack left redzone: f1 diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2021-474.txt b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2021-474.txt index 2df5e54cd..df1cf9423 100644 --- a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2021-474.txt +++ b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2021-474.txt @@ -1,43 +1,40 @@ -INFO: Running with entropic power schedule (0xFF, 100). -INFO: Seed: 1405212648 -INFO: Loaded 1 modules (31673 inline 8-bit counters): 31673 [0xd0a8e8, 0xd124a1), -INFO: Loaded 1 PC tables (31673 PCs): 31673 [0xb96c58,0xc127e8), -/out/fuzz_pkcs15_reader: Running 1 inputs 10 time(s) each. +INFO: Seed: 3320145933 +/out/fuzz_pkcs15_reader: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60600000011c at pc 0x0000004a0681 bp 0x7ffc590aa090 sp 0x7ffc590a9858 -READ of size 254 at 0x60600000011c thread T0 - #0 0x4a0680 in __asan_memcpy /src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:22:3 - #1 0x974371 in sc_pkcs15emu_oberthur_add_cert /src/opensc/src/libopensc/pkcs15-oberthur.c:670:3 - #2 0x9719a6 in sc_oberthur_parse_publicinfo /src/opensc/src/libopensc/pkcs15-oberthur.c:468:9 - #3 0x966533 in sc_pkcs15emu_oberthur_init /src/opensc/src/libopensc/pkcs15-oberthur.c:1040:8 - #4 0x963baf in sc_pkcs15emu_oberthur_init_ex /src/opensc/src/libopensc/pkcs15-oberthur.c:1069:8 - #5 0x57aa5e in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 - #6 0x5187bc in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 - #7 0x4dc944 in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 - #8 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 - #9 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 - #10 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 - #11 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #12 0x7f0b08ba9082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) - #13 0x421f5d in _start (/out/fuzz_pkcs15_reader+0x421f5d) +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60600000017c at pc 0x0000004a2881 bp 0x7ffce2ff5b90 sp 0x7ffce2ff5360 +READ of size 254 at 0x60600000017c thread T0 + #0 0x4a2880 in __asan_memcpy /src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:22:3 + #1 0xac86de in sc_pkcs15emu_oberthur_add_cert /src/opensc/src/libopensc/pkcs15-oberthur.c:670:3 + #2 0xac5d79 in sc_oberthur_parse_publicinfo /src/opensc/src/libopensc/pkcs15-oberthur.c:468:9 + #3 0xab8cb4 in sc_pkcs15emu_oberthur_init /src/opensc/src/libopensc/pkcs15-oberthur.c:1040:8 + #4 0xab52af in sc_pkcs15emu_oberthur_init_ex /src/opensc/src/libopensc/pkcs15-oberthur.c:1069:8 + #5 0x5bae88 in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 + #6 0x5379e4 in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 + #7 0x4e3a6f in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 + #8 0xbe318c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #9 0xbd50e5 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #10 0xbd9d91 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #11 0xbd4db2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #12 0x7f9c935d4082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #13 0x4220bd in _start (/out/fuzz_pkcs15_reader+0x4220bd) -0x60600000011c is located 0 bytes to the right of 60-byte region [0x6060000000e0,0x60600000011c) +0x60600000017c is located 0 bytes to the right of 60-byte region [0x606000000140,0x60600000017c) allocated by thread T0 here: - #0 0x4a13e2 in __interceptor_calloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:138:3 - #1 0x9681b1 in sc_oberthur_read_file /src/opensc/src/libopensc/pkcs15-oberthur.c:264:9 - #2 0x973b8a in sc_pkcs15emu_oberthur_add_cert /src/opensc/src/libopensc/pkcs15-oberthur.c:655:7 - #3 0x9719a6 in sc_oberthur_parse_publicinfo /src/opensc/src/libopensc/pkcs15-oberthur.c:468:9 - #4 0x966533 in sc_pkcs15emu_oberthur_init /src/opensc/src/libopensc/pkcs15-oberthur.c:1040:8 - #5 0x963baf in sc_pkcs15emu_oberthur_init_ex /src/opensc/src/libopensc/pkcs15-oberthur.c:1069:8 - #6 0x57aa5e in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 - #7 0x5187bc in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 - #8 0x4dc944 in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 - #9 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 - #10 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 - #11 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 - #12 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #13 0x7f0b08ba9082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) + #0 0x4a36ce in __interceptor_calloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:77:3 + #1 0xabaa7b in sc_oberthur_read_file /src/opensc/src/libopensc/pkcs15-oberthur.c:264:9 + #2 0xac7eb0 in sc_pkcs15emu_oberthur_add_cert /src/opensc/src/libopensc/pkcs15-oberthur.c:655:7 + #3 0xac5d79 in sc_oberthur_parse_publicinfo /src/opensc/src/libopensc/pkcs15-oberthur.c:468:9 + #4 0xab8cb4 in sc_pkcs15emu_oberthur_init /src/opensc/src/libopensc/pkcs15-oberthur.c:1040:8 + #5 0xab52af in sc_pkcs15emu_oberthur_init_ex /src/opensc/src/libopensc/pkcs15-oberthur.c:1069:8 + #6 0x5bae88 in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 + #7 0x5379e4 in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 + #8 0x4e3a6f in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 + #9 0xbe318c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #10 0xbd50e5 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #11 0xbd9d91 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #12 0xbd4db2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #13 0x7f9c935d4082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) SUMMARY: AddressSanitizer: heap-buffer-overflow /src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:22:3 in __asan_memcpy Shadow bytes around the buggy address: @@ -46,7 +43,7 @@ Shadow bytes around the buggy address: 0x0c0c7fff7ff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x0c0c7fff8000: fa fa fa fa fd fd fd fd fd fd fd fd fa fa fa fa 0x0c0c7fff8010: 00 00 00 00 00 00 00 02 fa fa fa fa 00 00 00 00 -=>0x0c0c7fff8020: 00 00 00[04]fa fa fa fa fa fa fa fa fa fa fa fa +=>0x0c0c7fff8020: 00 00 00 fa fa fa fa fa 00 00 00 00 00 00 00[04] 0x0c0c7fff8030: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c0c7fff8040: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c0c7fff8050: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa @@ -54,7 +51,7 @@ Shadow bytes around the buggy address: 0x0c0c7fff8070: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa Shadow byte legend (one shadow byte represents 8 application bytes): Addressable: 00 - Partially addressable: 01 02 03 04 05 06 07 + Partially addressable: 01 02 03 04 05 06 07 Heap left redzone: fa Freed heap region: fd Stack left redzone: f1 diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2021-537.txt b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2021-537.txt index 8e7515931..60e1bd7ef 100644 --- a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2021-537.txt +++ b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2021-537.txt @@ -1,59 +1,56 @@ -INFO: Running with entropic power schedule (0xFF, 100). -INFO: Seed: 1400128832 -INFO: Loaded 1 modules (31673 inline 8-bit counters): 31673 [0xd0a8e8, 0xd124a1), -INFO: Loaded 1 PC tables (31673 PCs): 31673 [0xb96c58,0xc127e8), -/out/fuzz_pkcs15_reader: Running 1 inputs 10 time(s) each. +INFO: Seed: 3315254236 +/out/fuzz_pkcs15_reader: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x611000000641 at pc 0x00000097308b bp 0x7ffe015740d0 sp 0x7ffe015740c8 -READ of size 1 at 0x611000000641 thread T0 - #0 0x97308a in sc_pkcs15emu_oberthur_add_pubkey /src/opensc/src/libopensc/pkcs15-oberthur.c:607:8 - #1 0x97185e in sc_oberthur_parse_publicinfo /src/opensc/src/libopensc/pkcs15-oberthur.c:464:9 - #2 0x966533 in sc_pkcs15emu_oberthur_init /src/opensc/src/libopensc/pkcs15-oberthur.c:1040:8 - #3 0x963baf in sc_pkcs15emu_oberthur_init_ex /src/opensc/src/libopensc/pkcs15-oberthur.c:1069:8 - #4 0x57aa5e in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 - #5 0x5187bc in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 - #6 0x4dc944 in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 - #7 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 - #8 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 - #9 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 - #10 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #11 0x7f4942e62082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) - #12 0x421f5d in _start (/out/fuzz_pkcs15_reader+0x421f5d) +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x611000000501 at pc 0x000000ac7329 bp 0x7ffd011956b0 sp 0x7ffd011956a8 +READ of size 1 at 0x611000000501 thread T0 + #0 0xac7328 in sc_pkcs15emu_oberthur_add_pubkey /src/opensc/src/libopensc/pkcs15-oberthur.c:607:8 + #1 0xac5c7e in sc_oberthur_parse_publicinfo /src/opensc/src/libopensc/pkcs15-oberthur.c:464:9 + #2 0xab8cb4 in sc_pkcs15emu_oberthur_init /src/opensc/src/libopensc/pkcs15-oberthur.c:1040:8 + #3 0xab52af in sc_pkcs15emu_oberthur_init_ex /src/opensc/src/libopensc/pkcs15-oberthur.c:1069:8 + #4 0x5bae88 in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 + #5 0x5379e4 in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 + #6 0x4e3a6f in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 + #7 0xbe318c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #8 0xbd50e5 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #9 0xbd9d91 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #10 0xbd4db2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #11 0x7fd906497082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #12 0x4220bd in _start (/out/fuzz_pkcs15_reader+0x4220bd) -0x611000000641 is located 1 bytes to the right of 256-byte region [0x611000000540,0x611000000640) +0x611000000501 is located 1 bytes to the right of 256-byte region [0x611000000400,0x611000000500) allocated by thread T0 here: - #0 0x4a13e2 in __interceptor_calloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:138:3 - #1 0x9681b1 in sc_oberthur_read_file /src/opensc/src/libopensc/pkcs15-oberthur.c:264:9 - #2 0x97244b in sc_pkcs15emu_oberthur_add_pubkey /src/opensc/src/libopensc/pkcs15-oberthur.c:580:7 - #3 0x97185e in sc_oberthur_parse_publicinfo /src/opensc/src/libopensc/pkcs15-oberthur.c:464:9 - #4 0x966533 in sc_pkcs15emu_oberthur_init /src/opensc/src/libopensc/pkcs15-oberthur.c:1040:8 - #5 0x963baf in sc_pkcs15emu_oberthur_init_ex /src/opensc/src/libopensc/pkcs15-oberthur.c:1069:8 - #6 0x57aa5e in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 - #7 0x5187bc in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 - #8 0x4dc944 in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 - #9 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 - #10 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 - #11 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 - #12 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #13 0x7f4942e62082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) + #0 0x4a36ce in __interceptor_calloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:77:3 + #1 0xabaa7b in sc_oberthur_read_file /src/opensc/src/libopensc/pkcs15-oberthur.c:264:9 + #2 0xac6721 in sc_pkcs15emu_oberthur_add_pubkey /src/opensc/src/libopensc/pkcs15-oberthur.c:580:7 + #3 0xac5c7e in sc_oberthur_parse_publicinfo /src/opensc/src/libopensc/pkcs15-oberthur.c:464:9 + #4 0xab8cb4 in sc_pkcs15emu_oberthur_init /src/opensc/src/libopensc/pkcs15-oberthur.c:1040:8 + #5 0xab52af in sc_pkcs15emu_oberthur_init_ex /src/opensc/src/libopensc/pkcs15-oberthur.c:1069:8 + #6 0x5bae88 in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 + #7 0x5379e4 in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 + #8 0x4e3a6f in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 + #9 0xbe318c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #10 0xbd50e5 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #11 0xbd9d91 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #12 0xbd4db2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #13 0x7fd906497082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) SUMMARY: AddressSanitizer: heap-buffer-overflow /src/opensc/src/libopensc/pkcs15-oberthur.c:607:8 in sc_pkcs15emu_oberthur_add_pubkey Shadow bytes around the buggy address: - 0x0c227fff8070: fd fd fa fa fa fa fa fa fa fa fa fa fa fa fa fa - 0x0c227fff8080: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd - 0x0c227fff8090: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd - 0x0c227fff80a0: fa fa fa fa fa fa fa fa 00 00 00 00 00 00 00 00 - 0x0c227fff80b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -=>0x0c227fff80c0: 00 00 00 00 00 00 00 00[fa]fa fa fa fa fa fa fa + 0x0c227fff8050: fa fa fa fa fa fa fa fa fd fd fd fd fd fd fd fd + 0x0c227fff8060: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c227fff8070: fd fd fd fd fd fd fd fd fa fa fa fa fa fa fa fa + 0x0c227fff8080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c227fff8090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +=>0x0c227fff80a0:[fa]fa fa fa fa fa fa fa fd fd fd fd fd fd fd fd + 0x0c227fff80b0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c227fff80c0: fd fd fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c227fff80d0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x0c227fff80e0: fd fd fd fd fd fd fd fd fd fd fa fa fa fa fa fa - 0x0c227fff80f0: fa fa fa fa fa fa fa fa fd fd fd fd fd fd fd fd - 0x0c227fff8100: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd - 0x0c227fff8110: fd fd fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c227fff80f0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa Shadow byte legend (one shadow byte represents 8 application bytes): Addressable: 00 - Partially addressable: 01 02 03 04 05 06 07 + Partially addressable: 01 02 03 04 05 06 07 Heap left redzone: fa Freed heap region: fd Stack left redzone: f1 diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2021-538.txt b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2021-538.txt index 14bae679f..2a61f1cce 100644 --- a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2021-538.txt +++ b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2021-538.txt @@ -1,60 +1,57 @@ -INFO: Running with entropic power schedule (0xFF, 100). -INFO: Seed: 1392788569 -INFO: Loaded 1 modules (31673 inline 8-bit counters): 31673 [0xd0a8e8, 0xd124a1), -INFO: Loaded 1 PC tables (31673 PCs): 31673 [0xb96c58,0xc127e8), -/out/fuzz_pkcs15_reader: Running 1 inputs 10 time(s) each. +INFO: Seed: 3306863739 +/out/fuzz_pkcs15_reader: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x611000000640 at pc 0x0000004a0681 bp 0x7ffd672557b0 sp 0x7ffd67254f78 -READ of size 254 at 0x611000000640 thread T0 - #0 0x4a0680 in __asan_memcpy /src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:22:3 - #1 0x972e19 in sc_pkcs15emu_oberthur_add_pubkey /src/opensc/src/libopensc/pkcs15-oberthur.c:600:3 - #2 0x97185e in sc_oberthur_parse_publicinfo /src/opensc/src/libopensc/pkcs15-oberthur.c:464:9 - #3 0x966533 in sc_pkcs15emu_oberthur_init /src/opensc/src/libopensc/pkcs15-oberthur.c:1040:8 - #4 0x963baf in sc_pkcs15emu_oberthur_init_ex /src/opensc/src/libopensc/pkcs15-oberthur.c:1069:8 - #5 0x57aa5e in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 - #6 0x5187bc in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 - #7 0x4dc944 in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 - #8 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 - #9 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 - #10 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 - #11 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #12 0x7fb94c334082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) - #13 0x421f5d in _start (/out/fuzz_pkcs15_reader+0x421f5d) +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x611000000500 at pc 0x0000004a2881 bp 0x7ffe29fe7e90 sp 0x7ffe29fe7660 +READ of size 254 at 0x611000000500 thread T0 + #0 0x4a2880 in __asan_memcpy /src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:22:3 + #1 0xac710f in sc_pkcs15emu_oberthur_add_pubkey /src/opensc/src/libopensc/pkcs15-oberthur.c:600:3 + #2 0xac5c7e in sc_oberthur_parse_publicinfo /src/opensc/src/libopensc/pkcs15-oberthur.c:464:9 + #3 0xab8cb4 in sc_pkcs15emu_oberthur_init /src/opensc/src/libopensc/pkcs15-oberthur.c:1040:8 + #4 0xab52af in sc_pkcs15emu_oberthur_init_ex /src/opensc/src/libopensc/pkcs15-oberthur.c:1069:8 + #5 0x5bae88 in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 + #6 0x5379e4 in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 + #7 0x4e3a6f in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 + #8 0xbe318c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #9 0xbd50e5 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #10 0xbd9d91 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #11 0xbd4db2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #12 0x7f7f03647082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #13 0x4220bd in _start (/out/fuzz_pkcs15_reader+0x4220bd) -0x611000000640 is located 0 bytes to the right of 256-byte region [0x611000000540,0x611000000640) +0x611000000500 is located 0 bytes to the right of 256-byte region [0x611000000400,0x611000000500) allocated by thread T0 here: - #0 0x4a13e2 in __interceptor_calloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:138:3 - #1 0x9681b1 in sc_oberthur_read_file /src/opensc/src/libopensc/pkcs15-oberthur.c:264:9 - #2 0x97244b in sc_pkcs15emu_oberthur_add_pubkey /src/opensc/src/libopensc/pkcs15-oberthur.c:580:7 - #3 0x97185e in sc_oberthur_parse_publicinfo /src/opensc/src/libopensc/pkcs15-oberthur.c:464:9 - #4 0x966533 in sc_pkcs15emu_oberthur_init /src/opensc/src/libopensc/pkcs15-oberthur.c:1040:8 - #5 0x963baf in sc_pkcs15emu_oberthur_init_ex /src/opensc/src/libopensc/pkcs15-oberthur.c:1069:8 - #6 0x57aa5e in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 - #7 0x5187bc in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 - #8 0x4dc944 in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 - #9 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 - #10 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 - #11 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 - #12 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #13 0x7fb94c334082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) + #0 0x4a36ce in __interceptor_calloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:77:3 + #1 0xabaa7b in sc_oberthur_read_file /src/opensc/src/libopensc/pkcs15-oberthur.c:264:9 + #2 0xac6721 in sc_pkcs15emu_oberthur_add_pubkey /src/opensc/src/libopensc/pkcs15-oberthur.c:580:7 + #3 0xac5c7e in sc_oberthur_parse_publicinfo /src/opensc/src/libopensc/pkcs15-oberthur.c:464:9 + #4 0xab8cb4 in sc_pkcs15emu_oberthur_init /src/opensc/src/libopensc/pkcs15-oberthur.c:1040:8 + #5 0xab52af in sc_pkcs15emu_oberthur_init_ex /src/opensc/src/libopensc/pkcs15-oberthur.c:1069:8 + #6 0x5bae88 in sc_pkcs15_bind_synthetic /src/opensc/src/libopensc/pkcs15-syn.c:125:8 + #7 0x5379e4 in sc_pkcs15_bind /src/opensc/src/libopensc/pkcs15.c:1268:8 + #8 0x4e3a6f in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:217:5 + #9 0xbe318c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #10 0xbd50e5 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #11 0xbd9d91 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #12 0xbd4db2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #13 0x7f7f03647082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) SUMMARY: AddressSanitizer: heap-buffer-overflow /src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:22:3 in __asan_memcpy Shadow bytes around the buggy address: - 0x0c227fff8070: fd fd fa fa fa fa fa fa fa fa fa fa fa fa fa fa - 0x0c227fff8080: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd - 0x0c227fff8090: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd - 0x0c227fff80a0: fa fa fa fa fa fa fa fa 00 00 00 00 00 00 00 00 - 0x0c227fff80b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -=>0x0c227fff80c0: 00 00 00 00 00 00 00 00[fa]fa fa fa fa fa fa fa + 0x0c227fff8050: fa fa fa fa fa fa fa fa fd fd fd fd fd fd fd fd + 0x0c227fff8060: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c227fff8070: fd fd fd fd fd fd fd fd fa fa fa fa fa fa fa fa + 0x0c227fff8080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c227fff8090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +=>0x0c227fff80a0:[fa]fa fa fa fa fa fa fa fd fd fd fd fd fd fd fd + 0x0c227fff80b0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c227fff80c0: fd fd fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c227fff80d0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x0c227fff80e0: fd fd fd fd fd fd fd fd fd fd fa fa fa fa fa fa - 0x0c227fff80f0: fa fa fa fa fa fa fa fa fd fd fd fd fd fd fd fd - 0x0c227fff8100: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd - 0x0c227fff8110: fd fd fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c227fff80f0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa Shadow byte legend (one shadow byte represents 8 application bytes): Addressable: 00 - Partially addressable: 01 02 03 04 05 06 07 + Partially addressable: 01 02 03 04 05 06 07 Heap left redzone: fa Freed heap region: fd Stack left redzone: f1 diff --git a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2021-915.txt b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2021-915.txt index 081ba750d..fa762318d 100644 --- a/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2021-915.txt +++ b/benchmarks/opensc_transplant_fuzz_pkcs15_reader/crashes/OSV-2021-915.txt @@ -1,28 +1,25 @@ -INFO: Running with entropic power schedule (0xFF, 100). -INFO: Seed: 1430550372 -INFO: Loaded 1 modules (31673 inline 8-bit counters): 31673 [0xd0a8e8, 0xd124a1), -INFO: Loaded 1 PC tables (31673 PCs): 31673 [0xb96c58,0xc127e8), -/out/fuzz_pkcs15_reader: Running 1 inputs 10 time(s) each. +INFO: Seed: 3286568417 +/out/fuzz_pkcs15_reader: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7f8618f5e0a3 at pc 0x0000009db52b bp 0x7fffed458120 sp 0x7fffed458118 -READ of size 1 at 0x7f8618f5e0a3 thread T0 - #0 0x9db52a in sc_asn1_read_tag /src/opensc/src/libopensc/asn1.c:74:6 - #1 0x9ddcbb in sc_asn1_find_tag /src/opensc/src/libopensc/asn1.c:489:7 - #2 0x7156a7 in piv_compute_signature /src/opensc/src/libopensc/card-piv.c:2410:11 - #3 0x9f4cd6 in sc_compute_signature /src/opensc/src/libopensc/sec.c:62:6 - #4 0x5682ad in use_key /src/opensc/src/libopensc/pkcs15-sec.c:155:8 - #5 0x57174a in sc_pkcs15_compute_signature /src/opensc/src/libopensc/pkcs15-sec.c:742:6 - #6 0x4ddbbb in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:286:17 - #7 0xa77033 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 - #8 0xa62cc2 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 - #9 0xa6850c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 - #10 0xa91102 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #11 0x7f8619bb7082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) - #12 0x421f5d in _start (/out/fuzz_pkcs15_reader+0x421f5d) +==1==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7f83a3c078a3 at pc 0x000000b591e1 bp 0x7ffd420b8130 sp 0x7ffd420b8128 +READ of size 1 at 0x7f83a3c078a3 thread T0 + #0 0xb591e0 in sc_asn1_read_tag /src/opensc/src/libopensc/asn1.c:74:6 + #1 0xb5b961 in sc_asn1_find_tag /src/opensc/src/libopensc/asn1.c:489:7 + #2 0x7c9c27 in piv_compute_signature /src/opensc/src/libopensc/card-piv.c:2410:11 + #3 0xb76dea in sc_compute_signature /src/opensc/src/libopensc/sec.c:62:6 + #4 0x5a5670 in use_key /src/opensc/src/libopensc/pkcs15-sec.c:155:8 + #5 0x5af4bf in sc_pkcs15_compute_signature /src/opensc/src/libopensc/pkcs15-sec.c:742:6 + #6 0x4e4ea7 in LLVMFuzzerTestOneInput /src/opensc/src/tests/fuzzing/fuzz_pkcs15_reader.c:286:17 + #7 0xbe318c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #8 0xbd50e5 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #9 0xbd9d91 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #10 0xbd4db2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #11 0x7f83a61df082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #12 0x4220bd in _start (/out/fuzz_pkcs15_reader+0x4220bd) -Address 0x7f8618f5e0a3 is located in stack of thread T0 at offset 163 in frame - #0 0x714fff in piv_compute_signature /src/opensc/src/libopensc/card-piv.c:2370 +Address 0x7f83a3c078a3 is located in stack of thread T0 at offset 163 in frame + #0 0x7c936f in piv_compute_signature /src/opensc/src/libopensc/card-piv.c:2370 This frame has 3 object(s): [32, 160) 'rbuf' (line 2375) <== Memory access at offset 163 overflows this variable @@ -32,20 +29,20 @@ HINT: this may be a false positive if your program uses some custom stack unwind (longjmp and C++ exceptions *are* supported) SUMMARY: AddressSanitizer: stack-buffer-overflow /src/opensc/src/libopensc/asn1.c:74:6 in sc_asn1_read_tag Shadow bytes around the buggy address: - 0x0ff1431e3bc0: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 - 0x0ff1431e3bd0: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 - 0x0ff1431e3be0: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 - 0x0ff1431e3bf0: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 - 0x0ff1431e3c00: f1 f1 f1 f1 00 00 00 00 00 00 00 00 00 00 00 00 -=>0x0ff1431e3c10: 00 00 00 00[f2]f2 f2 f2 00 f2 f2 f2 00 f3 f3 f3 - 0x0ff1431e3c20: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 - 0x0ff1431e3c30: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 - 0x0ff1431e3c40: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 - 0x0ff1431e3c50: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 - 0x0ff1431e3c60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0ff0f4778ec0: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 + 0x0ff0f4778ed0: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 + 0x0ff0f4778ee0: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 + 0x0ff0f4778ef0: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 + 0x0ff0f4778f00: f1 f1 f1 f1 00 00 00 00 00 00 00 00 00 00 00 00 +=>0x0ff0f4778f10: 00 00 00 00[f2]f2 f2 f2 00 f2 f2 f2 00 f3 f3 f3 + 0x0ff0f4778f20: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 + 0x0ff0f4778f30: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 + 0x0ff0f4778f40: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 + 0x0ff0f4778f50: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 + 0x0ff0f4778f60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Shadow byte legend (one shadow byte represents 8 application bytes): Addressable: 00 - Partially addressable: 01 02 03 04 05 06 07 + Partially addressable: 01 02 03 04 05 06 07 Heap left redzone: fa Freed heap region: fd Stack left redzone: f1 From 6fa45371840128e60c6dba194d40f659afea0c28 Mon Sep 17 00:00:00 2001 From: linkeLi0421 Date: Tue, 14 Apr 2026 18:00:12 -0400 Subject: [PATCH 08/47] Add libavc_transplant_svc_dec_fuzzer benchmark - New transplant benchmark with 18 OSV bugs, dispatch-gated harness. - Dockerfile sets HOME=/root, removes stale OSS-Fuzz /rust cargo shim, and disables UBSan halt so shallow UB does not drown the crash dir. - build.sh: borrow avc_dec_fuzzer_seed_corpus.zip (500-capped) so svc decoder gets real H.264 structural seeds with 9 dispatch variants, strips -fsanitize=undefined / -fno-sanitize-recover from CFLAGS so the two shallow UB sites in ih264d_parse_cavlc stop drowning out transplanted bugs. - Bump libafl pinned nightly to 2025-08-15 (select_unpredictable and stdarch_x86_avx512 now stabilized; fixes LibAFL cargo build). --- .../Dockerfile | 33 +++ .../benchmark.yaml | 5 + .../bug_metadata.json | 134 +++++++++ .../libavc_transplant_svc_dec_fuzzer/build.sh | 157 +++++++++++ .../crashes/OSV-2023-1205.txt | 75 +++++ .../crashes/OSV-2023-1206.txt | 80 ++++++ .../crashes/OSV-2023-1207.txt | 77 ++++++ .../crashes/OSV-2023-1208.txt | 77 ++++++ .../crashes/OSV-2023-1294.txt | 76 +++++ .../crashes/OSV-2023-1311.txt | 77 ++++++ .../crashes/OSV-2023-1312.txt | 69 +++++ .../crashes/OSV-2023-1313.txt | 77 ++++++ .../crashes/OSV-2023-342.txt | 98 +++++++ .../crashes/OSV-2023-68.txt | 259 ++++++++++++++++++ .../crashes/OSV-2023-75.txt | 81 ++++++ .../crashes/OSV-2023-840.txt | 30 ++ .../crashes/OSV-2023-97.txt | 62 +++++ .../crashes/OSV-2024-637.txt | 69 +++++ .../crashes/OSV-2024-638.txt | 77 ++++++ .../crashes/OSV-2025-534.txt | 98 +++++++ .../crashes/OSV-2025-584.txt | 74 +++++ .../crashes/OSV-2025-589.txt | 78 ++++++ .../patches/combined.diff | 251 +++++++++++++++++ .../patches/harness.diff | 80 ++++++ .../seeds/testcase-OSV-2023-1205-patched | Bin 0 -> 77 bytes .../seeds/testcase-OSV-2023-1206-patched | Bin 0 -> 111 bytes .../seeds/testcase-OSV-2023-1207-patched | Bin 0 -> 71 bytes .../seeds/testcase-OSV-2023-1208-patched | Bin 0 -> 9959 bytes .../seeds/testcase-OSV-2023-1294-patched | Bin 0 -> 14483 bytes .../seeds/testcase-OSV-2023-1311-patched | Bin 0 -> 6428 bytes .../seeds/testcase-OSV-2023-1312-patched | Bin 0 -> 754 bytes .../seeds/testcase-OSV-2023-1313-patched | Bin 0 -> 15848 bytes .../seeds/testcase-OSV-2023-342-patched | Bin 0 -> 18798 bytes .../seeds/testcase-OSV-2023-68-patched | Bin 0 -> 161 bytes .../seeds/testcase-OSV-2023-75-patched | Bin 0 -> 202 bytes .../seeds/testcase-OSV-2023-840-patched | Bin 0 -> 862 bytes .../seeds/testcase-OSV-2023-97-patched | Bin 0 -> 1042 bytes .../seeds/testcase-OSV-2024-637-patched | Bin 0 -> 6181 bytes .../seeds/testcase-OSV-2024-638-patched | Bin 0 -> 967 bytes .../seeds/testcase-OSV-2025-534-patched | Bin 0 -> 1416 bytes .../seeds/testcase-OSV-2025-584-patched | Bin 0 -> 513 bytes .../seeds/testcase-OSV-2025-589-patched | Bin 0 -> 435 bytes fuzzers/libafl/builder.Dockerfile | 2 +- 43 files changed, 2195 insertions(+), 1 deletion(-) create mode 100644 benchmarks/libavc_transplant_svc_dec_fuzzer/Dockerfile create mode 100644 benchmarks/libavc_transplant_svc_dec_fuzzer/benchmark.yaml create mode 100644 benchmarks/libavc_transplant_svc_dec_fuzzer/bug_metadata.json create mode 100755 benchmarks/libavc_transplant_svc_dec_fuzzer/build.sh create mode 100644 benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2023-1205.txt create mode 100644 benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2023-1206.txt create mode 100644 benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2023-1207.txt create mode 100644 benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2023-1208.txt create mode 100644 benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2023-1294.txt create mode 100644 benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2023-1311.txt create mode 100644 benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2023-1312.txt create mode 100644 benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2023-1313.txt create mode 100644 benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2023-342.txt create mode 100644 benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2023-68.txt create mode 100644 benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2023-75.txt create mode 100644 benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2023-840.txt create mode 100644 benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2023-97.txt create mode 100644 benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2024-637.txt create mode 100644 benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2024-638.txt create mode 100644 benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2025-534.txt create mode 100644 benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2025-584.txt create mode 100644 benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2025-589.txt create mode 100644 benchmarks/libavc_transplant_svc_dec_fuzzer/patches/combined.diff create mode 100644 benchmarks/libavc_transplant_svc_dec_fuzzer/patches/harness.diff create mode 100644 benchmarks/libavc_transplant_svc_dec_fuzzer/seeds/testcase-OSV-2023-1205-patched create mode 100644 benchmarks/libavc_transplant_svc_dec_fuzzer/seeds/testcase-OSV-2023-1206-patched create mode 100644 benchmarks/libavc_transplant_svc_dec_fuzzer/seeds/testcase-OSV-2023-1207-patched create mode 100644 benchmarks/libavc_transplant_svc_dec_fuzzer/seeds/testcase-OSV-2023-1208-patched create mode 100644 benchmarks/libavc_transplant_svc_dec_fuzzer/seeds/testcase-OSV-2023-1294-patched create mode 100644 benchmarks/libavc_transplant_svc_dec_fuzzer/seeds/testcase-OSV-2023-1311-patched create mode 100644 benchmarks/libavc_transplant_svc_dec_fuzzer/seeds/testcase-OSV-2023-1312-patched create mode 100644 benchmarks/libavc_transplant_svc_dec_fuzzer/seeds/testcase-OSV-2023-1313-patched create mode 100644 benchmarks/libavc_transplant_svc_dec_fuzzer/seeds/testcase-OSV-2023-342-patched create mode 100644 benchmarks/libavc_transplant_svc_dec_fuzzer/seeds/testcase-OSV-2023-68-patched create mode 100644 benchmarks/libavc_transplant_svc_dec_fuzzer/seeds/testcase-OSV-2023-75-patched create mode 100644 benchmarks/libavc_transplant_svc_dec_fuzzer/seeds/testcase-OSV-2023-840-patched create mode 100644 benchmarks/libavc_transplant_svc_dec_fuzzer/seeds/testcase-OSV-2023-97-patched create mode 100644 benchmarks/libavc_transplant_svc_dec_fuzzer/seeds/testcase-OSV-2024-637-patched create mode 100644 benchmarks/libavc_transplant_svc_dec_fuzzer/seeds/testcase-OSV-2024-638-patched create mode 100644 benchmarks/libavc_transplant_svc_dec_fuzzer/seeds/testcase-OSV-2025-534-patched create mode 100644 benchmarks/libavc_transplant_svc_dec_fuzzer/seeds/testcase-OSV-2025-584-patched create mode 100644 benchmarks/libavc_transplant_svc_dec_fuzzer/seeds/testcase-OSV-2025-589-patched diff --git a/benchmarks/libavc_transplant_svc_dec_fuzzer/Dockerfile b/benchmarks/libavc_transplant_svc_dec_fuzzer/Dockerfile new file mode 100644 index 000000000..48ca6c816 --- /dev/null +++ b/benchmarks/libavc_transplant_svc_dec_fuzzer/Dockerfile @@ -0,0 +1,33 @@ +# Use the committed merge container as base for identical build environment. +# This image has the exact same OS packages, library versions, and source tree +# that were used during bug transplant verification. +FROM libavc-merge:c38af025 + +# The merge container runs as a non-root user (agent). Switch back to root +# so downstream Dockerfiles (AFL++'s builder, benchmark-builder, etc.) can +# install packages and write to system directories. +USER root +ENV HOME=/root + +# docker commit can snapshot a broken apt state - fix it so downstream +# Dockerfiles (e.g. AFL++'s builder.Dockerfile) can apt-get install. +RUN rm -rf /var/lib/apt/lists/* && mkdir -p /var/lib/apt/lists/partial && apt-get update + +# Remove stale OSS-Fuzz Rust wrapper (/usr/local/bin/cargo points to /rust/bin/cargo +# which doesn't exist in the merge image). libafl's builder installs a fresh +# rustup toolchain; the dead shim must be out of the way first. +RUN rm -f /usr/local/bin/cargo /usr/local/bin/rustc + +WORKDIR /src/libavc + +# Keep ASan stack-use-after-return detection enabled for direct testcase replay. +ENV ASAN_OPTIONS="detect_leaks=0:detect_stack_use_after_return=1" +# Don't abort on shallow UB (integer overflow / bad shift in base libavc); +# otherwise fuzzers burn all their time rediscovering the same 2-3 UB sites +# instead of reaching transplanted bugs deeper in the decode path. +ENV UBSAN_OPTIONS="halt_on_error=0:print_stacktrace=0" + +# Bug transplant patches (re-applied by build.sh after checkout_commit.py resets source) +COPY patches/ /src/patches/ +COPY seeds/ /src/benchmark_seeds/ +COPY build.sh $SRC/ diff --git a/benchmarks/libavc_transplant_svc_dec_fuzzer/benchmark.yaml b/benchmarks/libavc_transplant_svc_dec_fuzzer/benchmark.yaml new file mode 100644 index 000000000..ae2a4df50 --- /dev/null +++ b/benchmarks/libavc_transplant_svc_dec_fuzzer/benchmark.yaml @@ -0,0 +1,5 @@ +project: libavc +fuzz_target: svc_dec_fuzzer +commit: c38af025abf0040f6693d15f4ce2e878a728cfee +commit_date: 2023-03-22T10:19:05-04:00 +type: bug diff --git a/benchmarks/libavc_transplant_svc_dec_fuzzer/bug_metadata.json b/benchmarks/libavc_transplant_svc_dec_fuzzer/bug_metadata.json new file mode 100644 index 000000000..e0df5ad7f --- /dev/null +++ b/benchmarks/libavc_transplant_svc_dec_fuzzer/bug_metadata.json @@ -0,0 +1,134 @@ +{ + "project": "libavc", + "target_commit": "c38af025abf0040f6693d15f4ce2e878a728cfee", + "dispatch_bytes": 1, + "total_bugs": 18, + "bugs": { + "OSV-2023-68": { + "dispatch_value": 1, + "triggered": true, + "crash_file": "/src/libavc/decoder/svc/isvcd_intra_resamp.c", + "crash_line": 4786, + "crash_function": "isvcd_populate_res_prms" + }, + "OSV-2023-75": { + "dispatch_value": 2, + "triggered": true, + "crash_file": "/src/libavc/decoder/svc/isvcd_mode_mv_resamp.c", + "crash_line": 2622, + "crash_function": "isvcd_interlyr_motion_mode_pred_dyadic" + }, + "OSV-2024-638": { + "dispatch_value": 4, + "triggered": true, + "crash_file": "/src/libavc/decoder/ih264d_format_conv.c", + "crash_line": 497, + "crash_function": "ih264d_fmt_conv_420sp_to_420sp_swap_uv" + }, + "OSV-2025-584": { + "dispatch_value": 8, + "triggered": true, + "crash_file": "/src/libavc/decoder/svc/isvcd_parse_epslice.c", + "crash_line": 2839, + "crash_function": "isvcd_mark_err_slice_skip" + }, + "OSV-2025-589": { + "dispatch_value": 16, + "triggered": true, + "crash_file": "/src/libavc/decoder/svc/isvcd_process_epslice.c", + "crash_line": 1564, + "crash_function": "isvcd_decode_recon_tfr_nmb_base_lyr" + }, + "OSV-2025-534": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/libavc/common/x86/ih264_inter_pred_filters_ssse3.c", + "crash_line": 394, + "crash_function": "ih264_inter_pred_luma_horz_ssse3" + }, + "OSV-2023-1206": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/libavc/decoder/ih264d_format_conv.c", + "crash_line": 400, + "crash_function": "ih264d_fmt_conv_420sp_to_420sp" + }, + "OSV-2023-1207": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/libavc/decoder/svc/isvcd_parse_slice.c", + "crash_line": 298, + "crash_function": "isvcd_start_of_pic" + }, + "OSV-2023-1312": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/libavc/decoder/ih264d_format_conv.c", + "crash_line": 611, + "crash_function": "ih264d_fmt_conv_420sp_to_420p" + }, + "OSV-2023-1205": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/libavc/decoder/svc/isvcd_intra_resamp.c", + "crash_line": 4802, + "crash_function": "isvcd_populate_res_prms" + }, + "OSV-2023-1311": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/libavc/decoder/ih264d_format_conv.c", + "crash_line": 611, + "crash_function": "ih264d_fmt_conv_420sp_to_420p" + }, + "OSV-2023-97": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/libavc/decoder/svc/isvcd_intra_resamp.c", + "crash_line": 2116, + "crash_function": "isvcd_reflayer_construction_dyadic" + }, + "OSV-2023-342": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/libavc/common/x86/ih264_inter_pred_filters_ssse3.c", + "crash_line": 650, + "crash_function": "ih264_inter_pred_luma_vert_ssse3" + }, + "OSV-2024-637": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/libavc/decoder/ih264d_format_conv.c", + "crash_line": 497, + "crash_function": "ih264d_fmt_conv_420sp_to_420sp_swap_uv" + }, + "OSV-2023-1313": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/libavc/decoder/svc/isvcd_parse_slice.c", + "crash_line": 298, + "crash_function": "isvcd_start_of_pic" + }, + "OSV-2023-840": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/libavc/decoder/svc/isvcd_parse_epslice.c", + "crash_line": 1908, + "crash_function": "isvcd_parse_inter_slice_data_cavlc_enh_lyr" + }, + "OSV-2023-1208": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/libavc/decoder/ih264d_format_conv.c", + "crash_line": 400, + "crash_function": "ih264d_fmt_conv_420sp_to_420sp" + }, + "OSV-2023-1294": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/libavc/decoder/ih264d_compute_bs.c", + "crash_line": 1181, + "crash_function": "ih264d_compute_bs_non_mbaff" + } + } +} \ No newline at end of file diff --git a/benchmarks/libavc_transplant_svc_dec_fuzzer/build.sh b/benchmarks/libavc_transplant_svc_dec_fuzzer/build.sh new file mode 100755 index 000000000..233a5655b --- /dev/null +++ b/benchmarks/libavc_transplant_svc_dec_fuzzer/build.sh @@ -0,0 +1,157 @@ +#!/bin/bash -eu +# Generated by fuzzbench_generate.py for bug transplant evaluation + +cd /src/libavc + +# Checkout target commit +git checkout c38af025abf0040f6693d15f4ce2e878a728cfee + +# Restore harness sources that live outside the project git repository. +if [ -f /src/patches/harness_sources/manifest.json ]; then + python3 - <<'PY' +import json +import shutil +from pathlib import Path + +root = Path("/src/patches/harness_sources") +for entry in json.loads((root / "manifest.json").read_text()): + source = root / entry["snapshot"] + destination = Path(entry["container_path"]) + destination.parent.mkdir(parents=True, exist_ok=True) + shutil.copy2(source, destination) +PY +fi + +# Apply dispatch harness first (modifies build system), then bug patches +if ! git apply --check /src/patches/harness.diff 2>/dev/null; then + echo "Trying git apply --3way for harness.diff..." + git apply --3way /src/patches/harness.diff +else + git apply /src/patches/harness.diff +fi + +if ! git apply --check /src/patches/combined.diff 2>/dev/null; then + echo "Trying git apply --3way for combined.diff..." + git apply --3way /src/patches/combined.diff +else + git apply /src/patches/combined.diff +fi + +# --- Fix library CMakeLists.txt for new source files from combined.diff --- +# combined.diff may create new .c files (e.g., zfp_getcell.c) that need to +# be added to the library's explicit source list. +if [ -d blosc ] && [ -f blosc/CMakeLists.txt ]; then + for newfile in blosc/*.c; do + base=$(basename "$newfile") + if ! grep -q "$base" blosc/CMakeLists.txt 2>/dev/null; then + echo "Adding $base to blosc/CMakeLists.txt" + sed -i "/^set(SOURCES /s/)/ $base)/" blosc/CMakeLists.txt + fi + done +fi + +# --- Strip UBSan from build flags --- +# libavc's project.yaml enables SANITIZER=undefined alongside address, which +# bakes -fsanitize=array-bounds,...,shift,signed-integer-overflow,... plus +# -fno-sanitize-recover=... into CFLAGS. That makes shallow integer UB in +# the H.264 parser (ih264d_parse_cavlc.c shift-by-31, etc.) unrecoverable +# and dominate the crash dir, drowning out the transplanted OSV bugs. +# Strip the undefined sanitizer bits; keep ASan and fuzzer-no-link. +strip_ubsan() { + echo "$1" \ + | sed -E 's/-fsanitize=array-bounds,[^ ]+//g' \ + | sed -E 's/-fno-sanitize-recover=[^ ]+//g' \ + | sed -E 's/ +/ /g' +} +export CFLAGS="$(strip_ubsan "$CFLAGS")" +export CXXFLAGS="$(strip_ubsan "$CXXFLAGS")" +export SANITIZER_FLAGS_undefined="" + +# --- Original build commands --- +$SRC/libavc/fuzzer/ossfuzz.sh + + +# --- Seed corpus: expand original seeds and per-bug testcase candidates --- +# FuzzBench uses $OUT/{fuzz_target}_seed_corpus.zip as initial corpus. +# Create one seed variant for the default path plus one for each dispatch bit. +# Per-bug reproducers are used only as source material: exact crashing inputs +# are filtered out before packaging. +seed_zip="$OUT/svc_dec_fuzzer_seed_corpus.zip" +seed_target="$OUT/svc_dec_fuzzer" +mkdir -p /tmp/seeds_dispatch /tmp/original_seeds /tmp/benchmark_seed_candidates + +if [ -f "$seed_zip" ]; then + unzip -q -o "$seed_zip" -d /tmp/original_seeds 2>/dev/null || true +fi +# svc_dec_fuzzer has no upstream corpus, but SVC decodes AVC as a subset, so +# borrow avc_dec_fuzzer's 21 MB H.264 corpus as structural seed material. +avc_zip="$OUT/avc_dec_fuzzer_seed_corpus.zip" +if [ -f "$avc_zip" ]; then + unzip -q -o "$avc_zip" -d /tmp/original_seeds_raw 2>/dev/null || true + # Corpus may have subdirs (e.g. h264/); flatten into /tmp/original_seeds. + find /tmp/original_seeds_raw -type f -exec cp -n {} /tmp/original_seeds/ \; 2>/dev/null || true + rm -rf /tmp/original_seeds_raw +fi +# Cap to 500 original seeds to keep total corpus manageable after 9x dispatch fanout. +orig_count=$(find /tmp/original_seeds -maxdepth 1 -type f 2>/dev/null | wc -l) +if [ "$orig_count" -gt 500 ]; then + find /tmp/original_seeds -maxdepth 1 -type f | shuf -n $((orig_count - 500)) | xargs -r rm -f +fi +if [ "$(find /tmp/original_seeds -maxdepth 1 -type f 2>/dev/null | wc -l)" -gt 0 ]; then + for f in /tmp/original_seeds/*; do + [ -f "$f" ] || continue + base=$(basename "$f") + for dispatch in '\x00' '\x01' '\x02' '\x04' '\x08' '\x10' '\x20' '\x40' '\x80'; do + dispatch_name=$(printf '%s' "$dispatch" | tr -d '\x') + printf '%b' "$dispatch" | cat - "$f" > "/tmp/seeds_dispatch/${base}.dispatch_${dispatch_name}" + done + done +fi + +if [ -d /src/benchmark_seeds ]; then + for f in /src/benchmark_seeds/*; do + [ -f "$f" ] || continue + base=$(basename "$f") + size=$(wc -c < "$f") + [ "$size" -gt 0 ] || continue + + cp "$f" "/tmp/benchmark_seed_candidates/${base}.exact" + # Zero the dispatch byte (byte 0): deactivates dispatch-gated patches + # while keeping the full APDU conversation and card driver routing intact. + cp "$f" "/tmp/benchmark_seed_candidates/${base}.dispatch_zero" + printf '\000' | dd of="/tmp/benchmark_seed_candidates/${base}.dispatch_zero" bs=1 seek=0 conv=notrunc 2>/dev/null || true + for keep in 1 2 8 16 64 256 1024; do + if [ "$size" -gt "$keep" ]; then + head -c "$keep" "$f" > "/tmp/benchmark_seed_candidates/${base}.head_${keep}" + fi + done + if [ "$size" -gt 1 ]; then + head -c "$((size - 1))" "$f" > "/tmp/benchmark_seed_candidates/${base}.trim_1" + cp "$f" "/tmp/benchmark_seed_candidates/${base}.zero_last" + printf '\000' | dd of="/tmp/benchmark_seed_candidates/${base}.zero_last" bs=1 seek="$((size - 1))" conv=notrunc 2>/dev/null || true + cp "$f" "/tmp/benchmark_seed_candidates/${base}.ff_last" + printf '\377' | dd of="/tmp/benchmark_seed_candidates/${base}.ff_last" bs=1 seek="$((size - 1))" conv=notrunc 2>/dev/null || true + fi + if [ "$size" -gt 4 ]; then + mid=$((size / 2)) + cp "$f" "/tmp/benchmark_seed_candidates/${base}.zero_mid" + printf '\000' | dd of="/tmp/benchmark_seed_candidates/${base}.zero_mid" bs=1 seek="$mid" conv=notrunc 2>/dev/null || true + cp "$f" "/tmp/benchmark_seed_candidates/${base}.ff_mid" + printf '\377' | dd of="/tmp/benchmark_seed_candidates/${base}.ff_mid" bs=1 seek="$mid" conv=notrunc 2>/dev/null || true + fi + done +fi + +if [ -x "$seed_target" ] && ls /tmp/benchmark_seed_candidates/* 1>/dev/null 2>&1; then + for f in /tmp/benchmark_seed_candidates/*; do + [ -f "$f" ] || continue + if timeout 10s env ASAN_OPTIONS="${ASAN_OPTIONS:-detect_leaks=0:detect_stack_use_after_return=1}" UBSAN_OPTIONS="${UBSAN_OPTIONS:-halt_on_error=0:print_stacktrace=0}" "$seed_target" "$f" >/tmp/seed_replay.log 2>&1; then + cp "$f" "/tmp/seeds_dispatch/poc_$(basename "$f")" + fi + done +fi + +if ls /tmp/seeds_dispatch/* 1>/dev/null 2>&1; then + rm -f "$seed_zip" + zip -j -q "$seed_zip" /tmp/seeds_dispatch/* +fi diff --git a/benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2023-1205.txt b/benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2023-1205.txt new file mode 100644 index 000000000..c2d191421 --- /dev/null +++ b/benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2023-1205.txt @@ -0,0 +1,75 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 3682247513 +INFO: Loaded 1 modules (16698 inline 8-bit counters): 16698 [0x8a2000, 0x8a613a), +INFO: Loaded 1 PC tables (16698 PCs): 16698 [0x804f48,0x8462e8), +/out/svc_dec_fuzzer: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x624000007eb4 at pc 0x0000005f9754 bp 0x7ffe1ebd19f0 sp 0x7ffe1ebd19e8 +WRITE of size 1 at 0x624000007eb4 thread T0 + #0 0x5f9753 in isvcd_populate_res_prms /src/libavc/decoder/svc/isvcd_intra_resamp.c:4802:37 + #1 0x5a3702 in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3220:15 + #2 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #3 0x5847ba in isvcd_video_decode /src/libavc/decoder/svc/isvcd_api.c:5363:28 + #4 0x59105f in isvcd_api_function /src/libavc/decoder/svc/isvcd_api.c:7274:26 + #5 0x56f07b in Codec::decodeFrame(unsigned char const*, unsigned long, unsigned long*) /src/libavc/fuzzer/svc_dec_fuzzer.cpp:377:11 + #6 0x5701fc in LLVMFuzzerTestOneInput /src/libavc/fuzzer/svc_dec_fuzzer.cpp:444:22 + #7 0x43de33 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #8 0x429592 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 + #9 0x42ee3c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #10 0x458372 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #11 0x7f72e7c26082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #12 0x41f75d in _start (/out/svc_dec_fuzzer+0x41f75d) + +0x624000007eb4 is located 4 bytes to the right of 7600-byte region [0x624000006100,0x624000007eb0) +allocated by thread T0 here: + #0 0x52fb17 in posix_memalign /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 + #1 0x56c4d5 in iv_aligned_malloc(void*, int, int) /src/libavc/fuzzer/svc_dec_fuzzer.cpp:87:13 + #2 0x5e4d5e in isvcd_allocate_dynamic_bufs /src/libavc/decoder/svc/isvcd_utils.c:178:14 + #3 0x5e8295 in isvcd_init_pic /src/libavc/decoder/svc/isvcd_utils.c:843:15 + #4 0x5be514 in isvcd_start_of_pic /src/libavc/decoder/svc/isvcd_parse_slice.c:283:11 + #5 0x5cbcc4 in isvcd_parse_decode_slice /src/libavc/decoder/svc/isvcd_parse_slice.c:2390:19 + #6 0x5b96eb in isvcd_parse_nal_unit /src/libavc/decoder/svc/isvcd_parse_headers.c:1006:40 + #7 0x5840ae in isvcd_video_decode /src/libavc/decoder/svc/isvcd_api.c:5291:27 + #8 0x59105f in isvcd_api_function /src/libavc/decoder/svc/isvcd_api.c:7274:26 + #9 0x56f07b in Codec::decodeFrame(unsigned char const*, unsigned long, unsigned long*) /src/libavc/fuzzer/svc_dec_fuzzer.cpp:377:11 + #10 0x5701fc in LLVMFuzzerTestOneInput /src/libavc/fuzzer/svc_dec_fuzzer.cpp:444:22 + #11 0x43de33 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #12 0x429592 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 + #13 0x42ee3c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #14 0x458372 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #15 0x7f72e7c26082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/libavc/decoder/svc/isvcd_intra_resamp.c:4802:37 in isvcd_populate_res_prms +Shadow bytes around the buggy address: + 0x0c487fff8f80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c487fff8f90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c487fff8fa0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c487fff8fb0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c487fff8fc0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +=>0x0c487fff8fd0: 00 00 00 00 00 00[fa]fa fa fa fa fa fa fa fa fa + 0x0c487fff8fe0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c487fff8ff0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c487fff9000: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c487fff9010: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c487fff9020: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2023-1206.txt b/benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2023-1206.txt new file mode 100644 index 000000000..8a5897900 --- /dev/null +++ b/benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2023-1206.txt @@ -0,0 +1,80 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 3681015743 +INFO: Loaded 1 modules (16698 inline 8-bit counters): 16698 [0x8a2000, 0x8a613a), +INFO: Loaded 1 PC tables (16698 PCs): 16698 [0x804f48,0x8462e8), +/out/svc_dec_fuzzer: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x631000060cf0 at pc 0x00000052e40c bp 0x7f9185d37c00 sp 0x7f9185d373d0 +WRITE of size 640 at 0x631000060cf0 thread T4 + #0 0x52e40b in __asan_memcpy /src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:22:3 + #1 0x69ff4d in ih264d_fmt_conv_420sp_to_420sp /src/libavc/decoder/ih264d_format_conv.c:400:9 + #2 0x69ff4d in ih264d_format_convert /src/libavc/decoder/ih264d_format_conv.c:752:13 + #3 0x71078a in ih264d_decode_recon_tfr_nmb_thread /src/libavc/decoder/ih264d_thread_parse_decode.c:257:21 + #4 0x712250 in ih264d_decode_slice_thread /src/libavc/decoder/ih264d_thread_parse_decode.c:585:15 + #5 0x71261f in ih264d_decode_picture_thread /src/libavc/decoder/ih264d_thread_parse_decode.c:621:13 + #6 0x7f918a573608 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x8608) (BuildId: 7b4536f41cdaa5888408e82d0836e33dcf436466) + #7 0x7f918a46d132 in __clone (/lib/x86_64-linux-gnu/libc.so.6+0x11f132) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + +0x631000060cf0 is located 0 bytes to the right of 66800-byte region [0x631000050800,0x631000060cf0) +allocated by thread T0 here: + #0 0x52fb17 in posix_memalign /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 + #1 0x56e141 in iv_aligned_malloc /src/libavc/fuzzer/svc_dec_fuzzer.cpp:87:13 + #2 0x56e141 in Codec::allocFrame() /src/libavc/fuzzer/svc_dec_fuzzer.cpp:310:48 + #3 0x56f3de in Codec::decodeFrame(unsigned char const*, unsigned long, unsigned long*) /src/libavc/fuzzer/svc_dec_fuzzer.cpp:401:9 + #4 0x5701fc in LLVMFuzzerTestOneInput /src/libavc/fuzzer/svc_dec_fuzzer.cpp:444:22 + #5 0x43de33 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #6 0x429592 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 + #7 0x42ee3c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #8 0x458372 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #9 0x7f918a372082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + +Thread T4 created by T0 here: + #0 0x5186bc in pthread_create /src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:208:3 + #1 0x6400c1 in ithread_create /src/libavc/common/ithread.c:80:12 + #2 0x5b23cd in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2773:21 + #3 0x5cad72 in isvcd_parse_decode_slice /src/libavc/decoder/svc/isvcd_parse_slice.c:2236:15 + #4 0x5b96eb in isvcd_parse_nal_unit /src/libavc/decoder/svc/isvcd_parse_headers.c:1006:40 + #5 0x5840ae in isvcd_video_decode /src/libavc/decoder/svc/isvcd_api.c:5291:27 + #6 0x59105f in isvcd_api_function /src/libavc/decoder/svc/isvcd_api.c:7274:26 + #7 0x56f07b in Codec::decodeFrame(unsigned char const*, unsigned long, unsigned long*) /src/libavc/fuzzer/svc_dec_fuzzer.cpp:377:11 + #8 0x5701fc in LLVMFuzzerTestOneInput /src/libavc/fuzzer/svc_dec_fuzzer.cpp:444:22 + #9 0x43de33 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #10 0x429592 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 + #11 0x42ee3c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #12 0x458372 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #13 0x7f918a372082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:22:3 in __asan_memcpy +Shadow bytes around the buggy address: + 0x0c6280004140: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c6280004150: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c6280004160: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c6280004170: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c6280004180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +=>0x0c6280004190: 00 00 00 00 00 00 00 00 00 00 00 00 00 00[fa]fa + 0x0c62800041a0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c62800041b0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c62800041c0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c62800041d0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c62800041e0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2023-1207.txt b/benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2023-1207.txt new file mode 100644 index 000000000..0a5b840ce --- /dev/null +++ b/benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2023-1207.txt @@ -0,0 +1,77 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 3681439498 +INFO: Loaded 1 modules (16698 inline 8-bit counters): 16698 [0x8a2000, 0x8a613a), +INFO: Loaded 1 PC tables (16698 PCs): 16698 [0x804f48,0x8462e8), +/out/svc_dec_fuzzer: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x611000002386 at pc 0x00000052e63e bp 0x7ffdbdb4a110 sp 0x7ffdbdb498e0 +WRITE of size 828 at 0x611000002386 thread T0 + #0 0x52e63d in __asan_memset /src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:26:3 + #1 0x5be6ec in isvcd_start_of_pic /src/libavc/decoder/svc/isvcd_parse_slice.c:298:13 + #2 0x5cbcc4 in isvcd_parse_decode_slice /src/libavc/decoder/svc/isvcd_parse_slice.c:2390:19 + #3 0x5b96eb in isvcd_parse_nal_unit /src/libavc/decoder/svc/isvcd_parse_headers.c:1006:40 + #4 0x5840ae in isvcd_video_decode /src/libavc/decoder/svc/isvcd_api.c:5291:27 + #5 0x59105f in isvcd_api_function /src/libavc/decoder/svc/isvcd_api.c:7274:26 + #6 0x56f07b in Codec::decodeFrame(unsigned char const*, unsigned long, unsigned long*) /src/libavc/fuzzer/svc_dec_fuzzer.cpp:377:11 + #7 0x5701fc in LLVMFuzzerTestOneInput /src/libavc/fuzzer/svc_dec_fuzzer.cpp:444:22 + #8 0x43de33 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #9 0x429592 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 + #10 0x42ee3c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #11 0x458372 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #12 0x7ff55adb2082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #13 0x41f75d in _start (/out/svc_dec_fuzzer+0x41f75d) + +0x611000002386 is located 0 bytes to the right of 6-byte region [0x611000002380,0x611000002386) +allocated by thread T0 here: + #0 0x52fb17 in posix_memalign /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 + #1 0x56c4d5 in iv_aligned_malloc(void*, int, int) /src/libavc/fuzzer/svc_dec_fuzzer.cpp:87:13 + #2 0x7172e9 in ih264d_allocate_dynamic_bufs /src/libavc/decoder/ih264d_utils.c:1935:14 + #3 0x5e4a33 in isvcd_allocate_dynamic_bufs /src/libavc/decoder/svc/isvcd_utils.c:126:18 + #4 0x5e8295 in isvcd_init_pic /src/libavc/decoder/svc/isvcd_utils.c:843:15 + #5 0x5be514 in isvcd_start_of_pic /src/libavc/decoder/svc/isvcd_parse_slice.c:283:11 + #6 0x5cbcc4 in isvcd_parse_decode_slice /src/libavc/decoder/svc/isvcd_parse_slice.c:2390:19 + #7 0x5b96eb in isvcd_parse_nal_unit /src/libavc/decoder/svc/isvcd_parse_headers.c:1006:40 + #8 0x5840ae in isvcd_video_decode /src/libavc/decoder/svc/isvcd_api.c:5291:27 + #9 0x59105f in isvcd_api_function /src/libavc/decoder/svc/isvcd_api.c:7274:26 + #10 0x56f07b in Codec::decodeFrame(unsigned char const*, unsigned long, unsigned long*) /src/libavc/fuzzer/svc_dec_fuzzer.cpp:377:11 + #11 0x5701fc in LLVMFuzzerTestOneInput /src/libavc/fuzzer/svc_dec_fuzzer.cpp:444:22 + #12 0x43de33 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #13 0x429592 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 + #14 0x42ee3c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #15 0x458372 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #16 0x7ff55adb2082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:26:3 in __asan_memset +Shadow bytes around the buggy address: + 0x0c227fff8420: 00 00 00 01 fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c227fff8430: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c227fff8440: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c227fff8450: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c227fff8460: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +=>0x0c227fff8470:[06]fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c227fff8480: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c227fff8490: 06 fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c227fff84a0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c227fff84b0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c227fff84c0: 00 04 fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2023-1208.txt b/benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2023-1208.txt new file mode 100644 index 000000000..f392a5f86 --- /dev/null +++ b/benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2023-1208.txt @@ -0,0 +1,77 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 3685500324 +INFO: Loaded 1 modules (16698 inline 8-bit counters): 16698 [0x8a2000, 0x8a613a), +INFO: Loaded 1 PC tables (16698 PCs): 16698 [0x804f48,0x8462e8), +/out/svc_dec_fuzzer: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x61a000000b30 at pc 0x00000052e40c bp 0x7f43300d2db0 sp 0x7f43300d2580 +WRITE of size 640 at 0x61a000000b30 thread T41 + #0 0x52e40b in __asan_memcpy /src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:22:3 + #1 0x69ff4d in ih264d_fmt_conv_420sp_to_420sp /src/libavc/decoder/ih264d_format_conv.c:400:9 + #2 0x69ff4d in ih264d_format_convert /src/libavc/decoder/ih264d_format_conv.c:752:13 + #3 0x7127ab in ih264d_decode_picture_thread /src/libavc/decoder/ih264d_thread_parse_decode.c:644:13 + #4 0x7f4334909608 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x8608) (BuildId: 7b4536f41cdaa5888408e82d0836e33dcf436466) + #5 0x7f4334803132 in __clone (/lib/x86_64-linux-gnu/libc.so.6+0x11f132) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + +0x61a000000b30 is located 0 bytes to the right of 1200-byte region [0x61a000000680,0x61a000000b30) +allocated by thread T0 here: + #0 0x52fb17 in posix_memalign /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 + #1 0x56e141 in iv_aligned_malloc /src/libavc/fuzzer/svc_dec_fuzzer.cpp:87:13 + #2 0x56e141 in Codec::allocFrame() /src/libavc/fuzzer/svc_dec_fuzzer.cpp:310:48 + #3 0x56f3de in Codec::decodeFrame(unsigned char const*, unsigned long, unsigned long*) /src/libavc/fuzzer/svc_dec_fuzzer.cpp:401:9 + #4 0x5701fc in LLVMFuzzerTestOneInput /src/libavc/fuzzer/svc_dec_fuzzer.cpp:444:22 + #5 0x43de33 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #6 0x429592 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 + #7 0x42ee3c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #8 0x458372 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #9 0x7f4334708082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + +Thread T41 created by T0 here: + #0 0x5186bc in pthread_create /src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:208:3 + #1 0x6400c1 in ithread_create /src/libavc/common/ithread.c:80:12 + #2 0x5cbec0 in isvcd_parse_decode_slice /src/libavc/decoder/svc/isvcd_parse_slice.c + #3 0x5b96eb in isvcd_parse_nal_unit /src/libavc/decoder/svc/isvcd_parse_headers.c:1006:40 + #4 0x5840ae in isvcd_video_decode /src/libavc/decoder/svc/isvcd_api.c:5291:27 + #5 0x59105f in isvcd_api_function /src/libavc/decoder/svc/isvcd_api.c:7274:26 + #6 0x56f07b in Codec::decodeFrame(unsigned char const*, unsigned long, unsigned long*) /src/libavc/fuzzer/svc_dec_fuzzer.cpp:377:11 + #7 0x5701fc in LLVMFuzzerTestOneInput /src/libavc/fuzzer/svc_dec_fuzzer.cpp:444:22 + #8 0x43de33 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #9 0x429592 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 + #10 0x42ee3c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #11 0x458372 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #12 0x7f4334708082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:22:3 in __asan_memcpy +Shadow bytes around the buggy address: + 0x0c347fff8110: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c347fff8120: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c347fff8130: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c347fff8140: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c347fff8150: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +=>0x0c347fff8160: 00 00 00 00 00 00[fa]fa fa fa fa fa fa fa fa fa + 0x0c347fff8170: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c347fff8180: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c347fff8190: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c347fff81a0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c347fff81b0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2023-1294.txt b/benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2023-1294.txt new file mode 100644 index 000000000..5f680a43c --- /dev/null +++ b/benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2023-1294.txt @@ -0,0 +1,76 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 3686031222 +INFO: Loaded 1 modules (16698 inline 8-bit counters): 16698 [0x8a2000, 0x8a613a), +INFO: Loaded 1 PC tables (16698 PCs): 16698 [0x804f48,0x8462e8), +/out/svc_dec_fuzzer: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6110000023d0 at pc 0x000000686590 bp 0x7ffc8488d880 sp 0x7ffc8488d878 +READ of size 1 at 0x6110000023d0 thread T0 + #0 0x68658f in ih264d_compute_bs_non_mbaff /src/libavc/decoder/ih264d_compute_bs.c:1181:38 + #1 0x7044d9 in ih264d_mv_pred_ref_tfr_nby2_pmb /src/libavc/decoder/ih264d_process_pslice.c:321:17 + #2 0x5b1b91 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:3126:13 + #3 0x5847ba in isvcd_video_decode /src/libavc/decoder/svc/isvcd_api.c:5363:28 + #4 0x59105f in isvcd_api_function /src/libavc/decoder/svc/isvcd_api.c:7274:26 + #5 0x56f07b in Codec::decodeFrame(unsigned char const*, unsigned long, unsigned long*) /src/libavc/fuzzer/svc_dec_fuzzer.cpp:377:11 + #6 0x5701fc in LLVMFuzzerTestOneInput /src/libavc/fuzzer/svc_dec_fuzzer.cpp:444:22 + #7 0x43de33 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #8 0x429592 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 + #9 0x42ee3c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #10 0x458372 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #11 0x7fe73c0f4082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #12 0x41f75d in _start (/out/svc_dec_fuzzer+0x41f75d) + +0x6110000023d0 is located 0 bytes to the right of 80-byte region [0x611000002380,0x6110000023d0) +allocated by thread T0 here: + #0 0x52fb17 in posix_memalign /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 + #1 0x56c4d5 in iv_aligned_malloc(void*, int, int) /src/libavc/fuzzer/svc_dec_fuzzer.cpp:87:13 + #2 0x71761b in ih264d_allocate_dynamic_bufs /src/libavc/decoder/ih264d_utils.c:1975:14 + #3 0x5e4a33 in isvcd_allocate_dynamic_bufs /src/libavc/decoder/svc/isvcd_utils.c:126:18 + #4 0x5e8295 in isvcd_init_pic /src/libavc/decoder/svc/isvcd_utils.c:843:15 + #5 0x5be514 in isvcd_start_of_pic /src/libavc/decoder/svc/isvcd_parse_slice.c:283:11 + #6 0x5cbcc4 in isvcd_parse_decode_slice /src/libavc/decoder/svc/isvcd_parse_slice.c:2390:19 + #7 0x5b96eb in isvcd_parse_nal_unit /src/libavc/decoder/svc/isvcd_parse_headers.c:1006:40 + #8 0x5840ae in isvcd_video_decode /src/libavc/decoder/svc/isvcd_api.c:5291:27 + #9 0x59105f in isvcd_api_function /src/libavc/decoder/svc/isvcd_api.c:7274:26 + #10 0x56f07b in Codec::decodeFrame(unsigned char const*, unsigned long, unsigned long*) /src/libavc/fuzzer/svc_dec_fuzzer.cpp:377:11 + #11 0x5701fc in LLVMFuzzerTestOneInput /src/libavc/fuzzer/svc_dec_fuzzer.cpp:444:22 + #12 0x43de33 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #13 0x429592 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 + #14 0x42ee3c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #15 0x458372 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #16 0x7fe73c0f4082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/libavc/decoder/ih264d_compute_bs.c:1181:38 in ih264d_compute_bs_non_mbaff +Shadow bytes around the buggy address: + 0x0c227fff8420: 00 00 00 01 fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c227fff8430: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c227fff8440: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c227fff8450: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c227fff8460: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +=>0x0c227fff8470: 00 00 00 00 00 00 00 00 00 00[fa]fa fa fa fa fa + 0x0c227fff8480: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c227fff8490: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c227fff84a0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c227fff84b0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c227fff84c0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2023-1311.txt b/benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2023-1311.txt new file mode 100644 index 000000000..f691cf86d --- /dev/null +++ b/benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2023-1311.txt @@ -0,0 +1,77 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 3682663697 +INFO: Loaded 1 modules (16698 inline 8-bit counters): 16698 [0x8a2000, 0x8a613a), +INFO: Loaded 1 PC tables (16698 PCs): 16698 [0x804f48,0x8462e8), +/out/svc_dec_fuzzer: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x61a000000b30 at pc 0x00000052e40c bp 0x7fef68c54db0 sp 0x7fef68c54580 +WRITE of size 640 at 0x61a000000b30 thread T17 + #0 0x52e40b in __asan_memcpy /src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:22:3 + #1 0x6a003e in ih264d_fmt_conv_420sp_to_420p /src/libavc/decoder/ih264d_format_conv.c:611:13 + #2 0x6a003e in ih264d_format_convert /src/libavc/decoder/ih264d_format_conv.c:724:9 + #3 0x7127ab in ih264d_decode_picture_thread /src/libavc/decoder/ih264d_thread_parse_decode.c:644:13 + #4 0x7fef6d4a6608 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x8608) (BuildId: 7b4536f41cdaa5888408e82d0836e33dcf436466) + #5 0x7fef6d3a0132 in __clone (/lib/x86_64-linux-gnu/libc.so.6+0x11f132) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + +0x61a000000b30 is located 0 bytes to the right of 1200-byte region [0x61a000000680,0x61a000000b30) +allocated by thread T0 here: + #0 0x52fb17 in posix_memalign /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 + #1 0x56e141 in iv_aligned_malloc /src/libavc/fuzzer/svc_dec_fuzzer.cpp:87:13 + #2 0x56e141 in Codec::allocFrame() /src/libavc/fuzzer/svc_dec_fuzzer.cpp:310:48 + #3 0x56f3de in Codec::decodeFrame(unsigned char const*, unsigned long, unsigned long*) /src/libavc/fuzzer/svc_dec_fuzzer.cpp:401:9 + #4 0x5701fc in LLVMFuzzerTestOneInput /src/libavc/fuzzer/svc_dec_fuzzer.cpp:444:22 + #5 0x43de33 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #6 0x429592 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 + #7 0x42ee3c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #8 0x458372 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #9 0x7fef6d2a5082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + +Thread T17 created by T0 here: + #0 0x5186bc in pthread_create /src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:208:3 + #1 0x6400c1 in ithread_create /src/libavc/common/ithread.c:80:12 + #2 0x5cbec0 in isvcd_parse_decode_slice /src/libavc/decoder/svc/isvcd_parse_slice.c + #3 0x5b96eb in isvcd_parse_nal_unit /src/libavc/decoder/svc/isvcd_parse_headers.c:1006:40 + #4 0x5840ae in isvcd_video_decode /src/libavc/decoder/svc/isvcd_api.c:5291:27 + #5 0x59105f in isvcd_api_function /src/libavc/decoder/svc/isvcd_api.c:7274:26 + #6 0x56f07b in Codec::decodeFrame(unsigned char const*, unsigned long, unsigned long*) /src/libavc/fuzzer/svc_dec_fuzzer.cpp:377:11 + #7 0x5701fc in LLVMFuzzerTestOneInput /src/libavc/fuzzer/svc_dec_fuzzer.cpp:444:22 + #8 0x43de33 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #9 0x429592 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 + #10 0x42ee3c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #11 0x458372 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #12 0x7fef6d2a5082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:22:3 in __asan_memcpy +Shadow bytes around the buggy address: + 0x0c347fff8110: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c347fff8120: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c347fff8130: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c347fff8140: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c347fff8150: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +=>0x0c347fff8160: 00 00 00 00 00 00[fa]fa fa fa fa fa fa fa fa fa + 0x0c347fff8170: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c347fff8180: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c347fff8190: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c347fff81a0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c347fff81b0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2023-1312.txt b/benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2023-1312.txt new file mode 100644 index 000000000..be84c91b0 --- /dev/null +++ b/benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2023-1312.txt @@ -0,0 +1,69 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 3681836165 +INFO: Loaded 1 modules (16698 inline 8-bit counters): 16698 [0x8a2000, 0x8a613a), +INFO: Loaded 1 PC tables (16698 PCs): 16698 [0x804f48,0x8462e8), +/out/svc_dec_fuzzer: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x61f000001ae0 at pc 0x00000052e40c bp 0x7fff97cbd6f0 sp 0x7fff97cbcec0 +WRITE of size 640 at 0x61f000001ae0 thread T0 + #0 0x52e40b in __asan_memcpy /src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:22:3 + #1 0x6a003e in ih264d_fmt_conv_420sp_to_420p /src/libavc/decoder/ih264d_format_conv.c:611:13 + #2 0x6a003e in ih264d_format_convert /src/libavc/decoder/ih264d_format_conv.c:724:9 + #3 0x5852f1 in isvcd_video_decode /src/libavc/decoder/svc/isvcd_api.c:5596:21 + #4 0x59105f in isvcd_api_function /src/libavc/decoder/svc/isvcd_api.c:7274:26 + #5 0x56f07b in Codec::decodeFrame(unsigned char const*, unsigned long, unsigned long*) /src/libavc/fuzzer/svc_dec_fuzzer.cpp:377:11 + #6 0x5701fc in LLVMFuzzerTestOneInput /src/libavc/fuzzer/svc_dec_fuzzer.cpp:444:22 + #7 0x43de33 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #8 0x429592 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 + #9 0x42ee3c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #10 0x458372 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #11 0x7f7acc48b082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #12 0x41f75d in _start (/out/svc_dec_fuzzer+0x41f75d) + +0x61f000001ae0 is located 0 bytes to the right of 3168-byte region [0x61f000000e80,0x61f000001ae0) +allocated by thread T0 here: + #0 0x52fb17 in posix_memalign /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 + #1 0x56e141 in iv_aligned_malloc /src/libavc/fuzzer/svc_dec_fuzzer.cpp:87:13 + #2 0x56e141 in Codec::allocFrame() /src/libavc/fuzzer/svc_dec_fuzzer.cpp:310:48 + #3 0x56f3de in Codec::decodeFrame(unsigned char const*, unsigned long, unsigned long*) /src/libavc/fuzzer/svc_dec_fuzzer.cpp:401:9 + #4 0x5701fc in LLVMFuzzerTestOneInput /src/libavc/fuzzer/svc_dec_fuzzer.cpp:444:22 + #5 0x43de33 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #6 0x429592 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 + #7 0x42ee3c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #8 0x458372 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #9 0x7f7acc48b082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:22:3 in __asan_memcpy +Shadow bytes around the buggy address: + 0x0c3e7fff8300: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c3e7fff8310: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c3e7fff8320: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c3e7fff8330: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c3e7fff8340: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +=>0x0c3e7fff8350: 00 00 00 00 00 00 00 00 00 00 00 00[fa]fa fa fa + 0x0c3e7fff8360: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c3e7fff8370: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c3e7fff8380: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c3e7fff8390: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c3e7fff83a0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2023-1313.txt b/benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2023-1313.txt new file mode 100644 index 000000000..b5b700920 --- /dev/null +++ b/benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2023-1313.txt @@ -0,0 +1,77 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 3684631844 +INFO: Loaded 1 modules (16698 inline 8-bit counters): 16698 [0x8a2000, 0x8a613a), +INFO: Loaded 1 PC tables (16698 PCs): 16698 [0x804f48,0x8462e8), +/out/svc_dec_fuzzer: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x615000000691 at pc 0x00000052e63e bp 0x7ffd9e515dd0 sp 0x7ffd9e5155a0 +WRITE of size 920 at 0x615000000691 thread T0 + #0 0x52e63d in __asan_memset /src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:26:3 + #1 0x5be6ec in isvcd_start_of_pic /src/libavc/decoder/svc/isvcd_parse_slice.c:298:13 + #2 0x5cbcc4 in isvcd_parse_decode_slice /src/libavc/decoder/svc/isvcd_parse_slice.c:2390:19 + #3 0x5b96eb in isvcd_parse_nal_unit /src/libavc/decoder/svc/isvcd_parse_headers.c:1006:40 + #4 0x5840ae in isvcd_video_decode /src/libavc/decoder/svc/isvcd_api.c:5291:27 + #5 0x59105f in isvcd_api_function /src/libavc/decoder/svc/isvcd_api.c:7274:26 + #6 0x56f07b in Codec::decodeFrame(unsigned char const*, unsigned long, unsigned long*) /src/libavc/fuzzer/svc_dec_fuzzer.cpp:377:11 + #7 0x5701fc in LLVMFuzzerTestOneInput /src/libavc/fuzzer/svc_dec_fuzzer.cpp:444:22 + #8 0x43de33 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #9 0x429592 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 + #10 0x42ee3c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #11 0x458372 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #12 0x7f3719185082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #13 0x41f75d in _start (/out/svc_dec_fuzzer+0x41f75d) + +0x615000000691 is located 0 bytes to the right of 273-byte region [0x615000000580,0x615000000691) +allocated by thread T0 here: + #0 0x52fb17 in posix_memalign /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 + #1 0x56c4d5 in iv_aligned_malloc(void*, int, int) /src/libavc/fuzzer/svc_dec_fuzzer.cpp:87:13 + #2 0x7172e9 in ih264d_allocate_dynamic_bufs /src/libavc/decoder/ih264d_utils.c:1935:14 + #3 0x5e4a33 in isvcd_allocate_dynamic_bufs /src/libavc/decoder/svc/isvcd_utils.c:126:18 + #4 0x5e8295 in isvcd_init_pic /src/libavc/decoder/svc/isvcd_utils.c:843:15 + #5 0x5be514 in isvcd_start_of_pic /src/libavc/decoder/svc/isvcd_parse_slice.c:283:11 + #6 0x5cbcc4 in isvcd_parse_decode_slice /src/libavc/decoder/svc/isvcd_parse_slice.c:2390:19 + #7 0x5b96eb in isvcd_parse_nal_unit /src/libavc/decoder/svc/isvcd_parse_headers.c:1006:40 + #8 0x5840ae in isvcd_video_decode /src/libavc/decoder/svc/isvcd_api.c:5291:27 + #9 0x59105f in isvcd_api_function /src/libavc/decoder/svc/isvcd_api.c:7274:26 + #10 0x56f07b in Codec::decodeFrame(unsigned char const*, unsigned long, unsigned long*) /src/libavc/fuzzer/svc_dec_fuzzer.cpp:377:11 + #11 0x5701fc in LLVMFuzzerTestOneInput /src/libavc/fuzzer/svc_dec_fuzzer.cpp:444:22 + #12 0x43de33 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #13 0x429592 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 + #14 0x42ee3c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #15 0x458372 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #16 0x7f3719185082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:26:3 in __asan_memset +Shadow bytes around the buggy address: + 0x0c2a7fff8080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c2a7fff8090: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c2a7fff80a0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c2a7fff80b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c2a7fff80c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +=>0x0c2a7fff80d0: 00 00[01]fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c2a7fff80e0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c2a7fff80f0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c2a7fff8100: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c2a7fff8110: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c2a7fff8120: 00 00 01 fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2023-342.txt b/benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2023-342.txt new file mode 100644 index 000000000..65318a200 --- /dev/null +++ b/benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2023-342.txt @@ -0,0 +1,98 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 3683775353 +INFO: Loaded 1 modules (16698 inline 8-bit counters): 16698 [0x8a2000, 0x8a613a), +INFO: Loaded 1 PC tables (16698 PCs): 16698 [0x804f48,0x8462e8), +/out/svc_dec_fuzzer: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-use-after-free on address 0x7f8620099638 at pc 0x00000064c3d9 bp 0x7ffdecce6370 sp 0x7ffdecce6368 +READ of size 16 at 0x7f8620099638 thread T0 + #0 0x64c3d8 in ih264_inter_pred_luma_vert_ssse3 /src/libavc/common/x86/ih264_inter_pred_filters_ssse3.c:650:24 + #1 0x6a4d31 in ih264d_motion_compensate_mp /src/libavc/decoder/ih264d_inter_pred.c:1125:13 + #2 0x5da760 in isvcd_decode_recon_tfr_nmb_non_base_lyr /src/libavc/decoder/svc/isvcd_process_epslice.c:1215:17 + #3 0x5a598f in isvcd_parse_inter_slice_data_cabac_enh_lyr /src/libavc/decoder/svc/isvcd_parse_epslice.c:1527:23 + #4 0x5a2db1 in isvcd_parse_epslice /src/libavc/decoder/svc/isvcd_parse_epslice.c:475:11 + #5 0x5c5cc1 in isvcd_parse_decode_slice_ext_nal /src/libavc/decoder/svc/isvcd_parse_slice.c:1496:15 + #6 0x5b97c5 in isvcd_parse_nal_unit /src/libavc/decoder/svc/isvcd_parse_headers.c:1064:44 + #7 0x5840ae in isvcd_video_decode /src/libavc/decoder/svc/isvcd_api.c:5291:27 + #8 0x59105f in isvcd_api_function /src/libavc/decoder/svc/isvcd_api.c:7274:26 + #9 0x56f07b in Codec::decodeFrame(unsigned char const*, unsigned long, unsigned long*) /src/libavc/fuzzer/svc_dec_fuzzer.cpp:377:11 + #10 0x5701fc in LLVMFuzzerTestOneInput /src/libavc/fuzzer/svc_dec_fuzzer.cpp:444:22 + #11 0x43de33 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #12 0x429592 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 + #13 0x42ee3c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #14 0x458372 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #15 0x7f8623ffe082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #16 0x41f75d in _start (/out/svc_dec_fuzzer+0x41f75d) + +0x7f8620099638 is located 986680 bytes inside of 1204224-byte region [0x7f861ffa8800,0x7f86200ce800) +freed by thread T0 here: + #0 0x52ed22 in free /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:52:3 + #1 0x56c592 in iv_aligned_free(void*, void*) /src/libavc/fuzzer/svc_dec_fuzzer.cpp:97:5 + #2 0x719b5e in ih264d_free_dynamic_bufs /src/libavc/decoder/ih264d_utils.c:2337:5 + #3 0x5e43af in isvcd_free_dynamic_bufs /src/libavc/decoder/svc/isvcd_utils.c:87:5 + #4 0x570f23 in isvcd_init_decoder /src/libavc/decoder/svc/isvcd_api.c:1081:5 + #5 0x58ba85 in isvcd_reset /src/libavc/decoder/svc/isvcd_api.c:6433:13 + #6 0x58ba85 in isvcd_ctl /src/libavc/decoder/svc/isvcd_api.c:6495:19 + #7 0x591048 in isvcd_api_function /src/libavc/decoder/svc/isvcd_api.c:7292:26 + #8 0x56f1a4 in resetCodec /src/libavc/fuzzer/svc_dec_fuzzer.cpp:187:5 + #9 0x56f1a4 in Codec::decodeFrame(unsigned char const*, unsigned long, unsigned long*) /src/libavc/fuzzer/svc_dec_fuzzer.cpp:383:9 + #10 0x5701fc in LLVMFuzzerTestOneInput /src/libavc/fuzzer/svc_dec_fuzzer.cpp:444:22 + #11 0x43de33 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #12 0x429592 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 + #13 0x42ee3c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #14 0x458372 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #15 0x7f8623ffe082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + +previously allocated by thread T0 here: + #0 0x52fb17 in posix_memalign /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 + #1 0x56c4d5 in iv_aligned_malloc(void*, int, int) /src/libavc/fuzzer/svc_dec_fuzzer.cpp:87:13 + #2 0x7182fd in ih264d_allocate_dynamic_bufs /src/libavc/decoder/ih264d_utils.c:2170:14 + #3 0x5e4a33 in isvcd_allocate_dynamic_bufs /src/libavc/decoder/svc/isvcd_utils.c:126:18 + #4 0x5e8295 in isvcd_init_pic /src/libavc/decoder/svc/isvcd_utils.c:843:15 + #5 0x5be514 in isvcd_start_of_pic /src/libavc/decoder/svc/isvcd_parse_slice.c:283:11 + #6 0x5c49a6 in isvcd_parse_decode_slice_ext_nal /src/libavc/decoder/svc/isvcd_parse_slice.c:1181:19 + #7 0x5b97c5 in isvcd_parse_nal_unit /src/libavc/decoder/svc/isvcd_parse_headers.c:1064:44 + #8 0x5840ae in isvcd_video_decode /src/libavc/decoder/svc/isvcd_api.c:5291:27 + #9 0x59105f in isvcd_api_function /src/libavc/decoder/svc/isvcd_api.c:7274:26 + #10 0x56f07b in Codec::decodeFrame(unsigned char const*, unsigned long, unsigned long*) /src/libavc/fuzzer/svc_dec_fuzzer.cpp:377:11 + #11 0x5701fc in LLVMFuzzerTestOneInput /src/libavc/fuzzer/svc_dec_fuzzer.cpp:444:22 + #12 0x43de33 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #13 0x429592 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 + #14 0x42ee3c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #15 0x458372 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #16 0x7f8623ffe082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + +SUMMARY: AddressSanitizer: heap-use-after-free /src/libavc/common/x86/ih264_inter_pred_filters_ssse3.c:650:24 in ih264_inter_pred_luma_vert_ssse3 +Shadow bytes around the buggy address: + 0x0ff14400b270: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0ff14400b280: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0ff14400b290: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0ff14400b2a0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0ff14400b2b0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd +=>0x0ff14400b2c0: fd fd fd fd fd fd fd[fd]fd fd fd fd fd fd fd fd + 0x0ff14400b2d0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0ff14400b2e0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0ff14400b2f0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0ff14400b300: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0ff14400b310: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2023-68.txt b/benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2023-68.txt new file mode 100644 index 000000000..e2f646b35 --- /dev/null +++ b/benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2023-68.txt @@ -0,0 +1,259 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 3686591350 +INFO: Loaded 1 modules (16698 inline 8-bit counters): 16698 [0x8a2000, 0x8a613a), +INFO: Loaded 1 PC tables (16698 PCs): 16698 [0x804f48,0x8462e8), +/out/svc_dec_fuzzer: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +AddressSanitizer:DEADLYSIGNAL +================================================================= +==1==ERROR: AddressSanitizer: stack-overflow on address 0x7ffcc4f03dd8 (pc 0x00000052e615 bp 0x7ffcc4f04610 sp 0x7ffcc4f03de0 T0) + #0 0x52e615 in __asan_memset /src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:26:3 + #1 0x5f8f65 in isvcd_populate_res_prms /src/libavc/decoder/svc/isvcd_intra_resamp.c:4786:9 + #2 0x5a3702 in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3220:15 + #3 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #4 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #5 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #6 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #7 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #8 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #9 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #10 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #11 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #12 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #13 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #14 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #15 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #16 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #17 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #18 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #19 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #20 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #21 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #22 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #23 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #24 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #25 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #26 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #27 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #28 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #29 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #30 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #31 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #32 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #33 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #34 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #35 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #36 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #37 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #38 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #39 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #40 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #41 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #42 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #43 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #44 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #45 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #46 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #47 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #48 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #49 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #50 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #51 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #52 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #53 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #54 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #55 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #56 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #57 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #58 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #59 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #60 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #61 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #62 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #63 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #64 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #65 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #66 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #67 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #68 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #69 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #70 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #71 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #72 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #73 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #74 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #75 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #76 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #77 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #78 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #79 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #80 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #81 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #82 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #83 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #84 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #85 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #86 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #87 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #88 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #89 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #90 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #91 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #92 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #93 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #94 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #95 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #96 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #97 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #98 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #99 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #100 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #101 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #102 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #103 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #104 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #105 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #106 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #107 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #108 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #109 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #110 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #111 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #112 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #113 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #114 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #115 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #116 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #117 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #118 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #119 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #120 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #121 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #122 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #123 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #124 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #125 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #126 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #127 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #128 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #129 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #130 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #131 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #132 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #133 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #134 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #135 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #136 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #137 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #138 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #139 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #140 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #141 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #142 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #143 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #144 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #145 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #146 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #147 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #148 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #149 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #150 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #151 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #152 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #153 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #154 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #155 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #156 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #157 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #158 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #159 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #160 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #161 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #162 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #163 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #164 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #165 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #166 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #167 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #168 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #169 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #170 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #171 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #172 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #173 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #174 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #175 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #176 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #177 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #178 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #179 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #180 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #181 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #182 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #183 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #184 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #185 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #186 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #187 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #188 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #189 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #190 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #191 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #192 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #193 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #194 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #195 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #196 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #197 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #198 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #199 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #200 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #201 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #202 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #203 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #204 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #205 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #206 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #207 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #208 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #209 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #210 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #211 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #212 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #213 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #214 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #215 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #216 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #217 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #218 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #219 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #220 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #221 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #222 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #223 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #224 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #225 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #226 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #227 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #228 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #229 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #230 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #231 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #232 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #233 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #234 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #235 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #236 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #237 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #238 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #239 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #240 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #241 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #242 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #243 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #244 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + #245 0x5b0dd9 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2973:11 + #246 0x5a39aa in isvcd_parse_interlayer_resamp_func_init /src/libavc/decoder/svc/isvcd_parse_epslice.c:3258:20 + +SUMMARY: AddressSanitizer: stack-overflow /src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:26:3 in __asan_memset +==1==ABORTING diff --git a/benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2023-75.txt b/benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2023-75.txt new file mode 100644 index 000000000..17bc7fb37 --- /dev/null +++ b/benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2023-75.txt @@ -0,0 +1,81 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 3687023755 +INFO: Loaded 1 modules (16698 inline 8-bit counters): 16698 [0x8a2000, 0x8a613a), +INFO: Loaded 1 PC tables (16698 PCs): 16698 [0x804f48,0x8462e8), +/out/svc_dec_fuzzer: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x613000003774 at pc 0x000000605128 bp 0x7ffe1d62ceb0 sp 0x7ffe1d62cea8 +READ of size 1 at 0x613000003774 thread T0 + #0 0x605127 in isvcd_interlyr_motion_mode_pred_dyadic /src/libavc/decoder/svc/isvcd_mode_mv_resamp.c:2622:48 + #1 0x5d2c03 in isvcd_interlyr_motion_mode_pred /src/libavc/decoder/svc/isvcd_process_epslice.c:164:13 + #2 0x5d2c03 in isvcd_mv_pred_ref_tfr_nby2_epmb /src/libavc/decoder/svc/isvcd_process_epslice.c:238:30 + #3 0x5a576f in isvcd_parse_inter_slice_data_cabac_enh_lyr /src/libavc/decoder/svc/isvcd_parse_epslice.c:1509:19 + #4 0x5a2db1 in isvcd_parse_epslice /src/libavc/decoder/svc/isvcd_parse_epslice.c:475:11 + #5 0x5c5cc1 in isvcd_parse_decode_slice_ext_nal /src/libavc/decoder/svc/isvcd_parse_slice.c:1496:15 + #6 0x5b97c5 in isvcd_parse_nal_unit /src/libavc/decoder/svc/isvcd_parse_headers.c:1064:44 + #7 0x5840ae in isvcd_video_decode /src/libavc/decoder/svc/isvcd_api.c:5291:27 + #8 0x59105f in isvcd_api_function /src/libavc/decoder/svc/isvcd_api.c:7274:26 + #9 0x56f07b in Codec::decodeFrame(unsigned char const*, unsigned long, unsigned long*) /src/libavc/fuzzer/svc_dec_fuzzer.cpp:377:11 + #10 0x5701fc in LLVMFuzzerTestOneInput /src/libavc/fuzzer/svc_dec_fuzzer.cpp:444:22 + #11 0x43de33 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #12 0x43e955 in fuzzer::Fuzzer::TryDetectingAMemoryLeak(unsigned char const*, unsigned long, bool) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:687:3 + #13 0x4295de in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:329:8 + #14 0x42ee3c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #15 0x458372 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #16 0x7f4cce213082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #17 0x41f75d in _start (/out/svc_dec_fuzzer+0x41f75d) + +0x613000003774 is located 52 bytes to the right of 192-byte region [0x613000003680,0x613000003740) +allocated by thread T0 here: + #0 0x52fb17 in posix_memalign /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 + #1 0x56c4d5 in iv_aligned_malloc(void*, int, int) /src/libavc/fuzzer/svc_dec_fuzzer.cpp:87:13 + #2 0x5e4d5e in isvcd_allocate_dynamic_bufs /src/libavc/decoder/svc/isvcd_utils.c:178:14 + #3 0x5e8295 in isvcd_init_pic /src/libavc/decoder/svc/isvcd_utils.c:843:15 + #4 0x5be514 in isvcd_start_of_pic /src/libavc/decoder/svc/isvcd_parse_slice.c:283:11 + #5 0x5cbcc4 in isvcd_parse_decode_slice /src/libavc/decoder/svc/isvcd_parse_slice.c:2390:19 + #6 0x5b96eb in isvcd_parse_nal_unit /src/libavc/decoder/svc/isvcd_parse_headers.c:1006:40 + #7 0x5840ae in isvcd_video_decode /src/libavc/decoder/svc/isvcd_api.c:5291:27 + #8 0x59105f in isvcd_api_function /src/libavc/decoder/svc/isvcd_api.c:7274:26 + #9 0x56f07b in Codec::decodeFrame(unsigned char const*, unsigned long, unsigned long*) /src/libavc/fuzzer/svc_dec_fuzzer.cpp:377:11 + #10 0x5701fc in LLVMFuzzerTestOneInput /src/libavc/fuzzer/svc_dec_fuzzer.cpp:444:22 + #11 0x43de33 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #12 0x43e955 in fuzzer::Fuzzer::TryDetectingAMemoryLeak(unsigned char const*, unsigned long, bool) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:687:3 + #13 0x4295de in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:329:8 + #14 0x42ee3c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #15 0x458372 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #16 0x7f4cce213082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/libavc/decoder/svc/isvcd_mode_mv_resamp.c:2622:48 in isvcd_interlyr_motion_mode_pred_dyadic +Shadow bytes around the buggy address: + 0x0c267fff8690: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c267fff86a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c267fff86b0: 00 00 00 00 fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c267fff86c0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c267fff86d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +=>0x0c267fff86e0: 00 00 00 00 00 00 00 00 fa fa fa fa fa fa[fa]fa + 0x0c267fff86f0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c267fff8700: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c267fff8710: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c267fff8720: 00 00 00 00 00 00 00 00 00 00 00 00 fa fa fa fa + 0x0c267fff8730: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2023-840.txt b/benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2023-840.txt new file mode 100644 index 000000000..a7716ced8 --- /dev/null +++ b/benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2023-840.txt @@ -0,0 +1,30 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 3685115778 +INFO: Loaded 1 modules (16698 inline 8-bit counters): 16698 [0x8a2000, 0x8a613a), +INFO: Loaded 1 PC tables (16698 PCs): 16698 [0x804f48,0x8462e8), +/out/svc_dec_fuzzer: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +AddressSanitizer:DEADLYSIGNAL +================================================================= +==1==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000 (pc 0x000000000000 bp 0x7ffe8e010ff0 sp 0x7ffe8e010d58 T0) +==1==Hint: pc points to the zero page. +==1==The signal is caused by a READ memory access. +==1==Hint: address points to the zero page. + #0 0x0 () + #1 0x5a9b37 in isvcd_parse_inter_slice_data_cavlc_enh_lyr /src/libavc/decoder/svc/isvcd_parse_epslice.c:1908:19 + #2 0x5a2db1 in isvcd_parse_epslice /src/libavc/decoder/svc/isvcd_parse_epslice.c:475:11 + #3 0x5c5cc1 in isvcd_parse_decode_slice_ext_nal /src/libavc/decoder/svc/isvcd_parse_slice.c:1496:15 + #4 0x5b97c5 in isvcd_parse_nal_unit /src/libavc/decoder/svc/isvcd_parse_headers.c:1064:44 + #5 0x5840ae in isvcd_video_decode /src/libavc/decoder/svc/isvcd_api.c:5291:27 + #6 0x59105f in isvcd_api_function /src/libavc/decoder/svc/isvcd_api.c:7274:26 + #7 0x56f07b in Codec::decodeFrame(unsigned char const*, unsigned long, unsigned long*) /src/libavc/fuzzer/svc_dec_fuzzer.cpp:377:11 + #8 0x5701fc in LLVMFuzzerTestOneInput /src/libavc/fuzzer/svc_dec_fuzzer.cpp:444:22 + #9 0x43de33 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #10 0x429592 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 + #11 0x42ee3c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #12 0x458372 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #13 0x7ff3f510e082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + +AddressSanitizer can not provide additional info. +SUMMARY: AddressSanitizer: SEGV () +==1==ABORTING diff --git a/benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2023-97.txt b/benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2023-97.txt new file mode 100644 index 000000000..fa85aafa8 --- /dev/null +++ b/benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2023-97.txt @@ -0,0 +1,62 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 3683371550 +INFO: Loaded 1 modules (16698 inline 8-bit counters): 16698 [0x8a2000, 0x8a613a), +INFO: Loaded 1 PC tables (16698 PCs): 16698 [0x804f48,0x8462e8), +/out/svc_dec_fuzzer: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6130000092b6 at pc 0x0000005f3362 bp 0x7ffd711ec580 sp 0x7ffd711ec578 +READ of size 1 at 0x6130000092b6 thread T0 + #0 0x5f3361 in isvcd_reflayer_construction_dyadic /src/libavc/decoder/svc/isvcd_intra_resamp.c:2116:45 + #1 0x5f50c3 in isvcd_intra_resamp_mb_dyadic /src/libavc/decoder/svc/isvcd_intra_resamp.c:3572:11 + #2 0x5d9a2b in isvcd_process_ibl_mb /src/libavc/decoder/svc/isvcd_process_epslice.c:1762:15 + #3 0x5daf9b in isvcd_decode_recon_tfr_nmb_non_base_lyr /src/libavc/decoder/svc/isvcd_process_epslice.c:1340:19 + #4 0x5a598f in isvcd_parse_inter_slice_data_cabac_enh_lyr /src/libavc/decoder/svc/isvcd_parse_epslice.c:1527:23 + #5 0x5a2db1 in isvcd_parse_epslice /src/libavc/decoder/svc/isvcd_parse_epslice.c:475:11 + #6 0x5c5cc1 in isvcd_parse_decode_slice_ext_nal /src/libavc/decoder/svc/isvcd_parse_slice.c:1496:15 + #7 0x5b97c5 in isvcd_parse_nal_unit /src/libavc/decoder/svc/isvcd_parse_headers.c:1064:44 + #8 0x5840ae in isvcd_video_decode /src/libavc/decoder/svc/isvcd_api.c:5291:27 + #9 0x59105f in isvcd_api_function /src/libavc/decoder/svc/isvcd_api.c:7274:26 + #10 0x56f07b in Codec::decodeFrame(unsigned char const*, unsigned long, unsigned long*) /src/libavc/fuzzer/svc_dec_fuzzer.cpp:377:11 + #11 0x5701fc in LLVMFuzzerTestOneInput /src/libavc/fuzzer/svc_dec_fuzzer.cpp:444:22 + #12 0x43de33 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #13 0x429592 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 + #14 0x42ee3c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #15 0x458372 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #16 0x7f7a3a43b082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #17 0x41f75d in _start (/out/svc_dec_fuzzer+0x41f75d) + +Address 0x6130000092b6 is a wild pointer inside of access range of size 0x000000000001. +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/libavc/decoder/svc/isvcd_intra_resamp.c:2116:45 in isvcd_reflayer_construction_dyadic +Shadow bytes around the buggy address: + 0x0c267fff9200: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c267fff9210: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c267fff9220: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c267fff9230: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c267fff9240: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +=>0x0c267fff9250: fa fa fa fa fa fa[fa]fa fa fa fa fa fa fa fa fa + 0x0c267fff9260: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c267fff9270: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c267fff9280: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c267fff9290: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c267fff92a0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2024-637.txt b/benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2024-637.txt new file mode 100644 index 000000000..235d30c09 --- /dev/null +++ b/benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2024-637.txt @@ -0,0 +1,69 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 3684215656 +INFO: Loaded 1 modules (16698 inline 8-bit counters): 16698 [0x8a2000, 0x8a613a), +INFO: Loaded 1 PC tables (16698 PCs): 16698 [0x804f48,0x8462e8), +/out/svc_dec_fuzzer: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x61f000001a80 at pc 0x00000052e40c bp 0x7ffc932eecb0 sp 0x7ffc932ee480 +WRITE of size 48 at 0x61f000001a80 thread T0 + #0 0x52e40b in __asan_memcpy /src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:22:3 + #1 0x69ffce in ih264d_fmt_conv_420sp_to_420sp_swap_uv /src/libavc/decoder/ih264d_format_conv.c:497:9 + #2 0x69ffce in ih264d_format_convert /src/libavc/decoder/ih264d_format_conv.c:765:13 + #3 0x5852f1 in isvcd_video_decode /src/libavc/decoder/svc/isvcd_api.c:5596:21 + #4 0x59105f in isvcd_api_function /src/libavc/decoder/svc/isvcd_api.c:7274:26 + #5 0x56f07b in Codec::decodeFrame(unsigned char const*, unsigned long, unsigned long*) /src/libavc/fuzzer/svc_dec_fuzzer.cpp:377:11 + #6 0x5701fc in LLVMFuzzerTestOneInput /src/libavc/fuzzer/svc_dec_fuzzer.cpp:444:22 + #7 0x43de33 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #8 0x429592 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 + #9 0x42ee3c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #10 0x458372 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #11 0x7ff7504e3082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #12 0x41f75d in _start (/out/svc_dec_fuzzer+0x41f75d) + +0x61f000001a80 is located 0 bytes to the right of 3072-byte region [0x61f000000e80,0x61f000001a80) +allocated by thread T0 here: + #0 0x52fb17 in posix_memalign /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 + #1 0x56e141 in iv_aligned_malloc /src/libavc/fuzzer/svc_dec_fuzzer.cpp:87:13 + #2 0x56e141 in Codec::allocFrame() /src/libavc/fuzzer/svc_dec_fuzzer.cpp:310:48 + #3 0x56f3de in Codec::decodeFrame(unsigned char const*, unsigned long, unsigned long*) /src/libavc/fuzzer/svc_dec_fuzzer.cpp:401:9 + #4 0x5701fc in LLVMFuzzerTestOneInput /src/libavc/fuzzer/svc_dec_fuzzer.cpp:444:22 + #5 0x43de33 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #6 0x429592 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 + #7 0x42ee3c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #8 0x458372 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #9 0x7ff7504e3082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:22:3 in __asan_memcpy +Shadow bytes around the buggy address: + 0x0c3e7fff8300: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c3e7fff8310: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c3e7fff8320: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c3e7fff8330: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c3e7fff8340: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +=>0x0c3e7fff8350:[fa]fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c3e7fff8360: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c3e7fff8370: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c3e7fff8380: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c3e7fff8390: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c3e7fff83a0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2024-638.txt b/benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2024-638.txt new file mode 100644 index 000000000..cf124a25f --- /dev/null +++ b/benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2024-638.txt @@ -0,0 +1,77 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 3687459930 +INFO: Loaded 1 modules (16698 inline 8-bit counters): 16698 [0x8a2000, 0x8a613a), +INFO: Loaded 1 PC tables (16698 PCs): 16698 [0x804f48,0x8462e8), +/out/svc_dec_fuzzer: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x61c000002f00 at pc 0x00000052e40c bp 0x7f95346eedb0 sp 0x7f95346ee580 +WRITE of size 32 at 0x61c000002f00 thread T25 + #0 0x52e40b in __asan_memcpy /src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:22:3 + #1 0x69ffce in ih264d_fmt_conv_420sp_to_420sp_swap_uv /src/libavc/decoder/ih264d_format_conv.c:497:9 + #2 0x69ffce in ih264d_format_convert /src/libavc/decoder/ih264d_format_conv.c:765:13 + #3 0x7127ab in ih264d_decode_picture_thread /src/libavc/decoder/ih264d_thread_parse_decode.c:644:13 + #4 0x7f9538b79608 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x8608) (BuildId: 7b4536f41cdaa5888408e82d0836e33dcf436466) + #5 0x7f9538a73132 in __clone (/lib/x86_64-linux-gnu/libc.so.6+0x11f132) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + +0x61c000002f00 is located 0 bytes to the right of 1664-byte region [0x61c000002880,0x61c000002f00) +allocated by thread T0 here: + #0 0x52fb17 in posix_memalign /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 + #1 0x56e141 in iv_aligned_malloc /src/libavc/fuzzer/svc_dec_fuzzer.cpp:87:13 + #2 0x56e141 in Codec::allocFrame() /src/libavc/fuzzer/svc_dec_fuzzer.cpp:310:48 + #3 0x56f3de in Codec::decodeFrame(unsigned char const*, unsigned long, unsigned long*) /src/libavc/fuzzer/svc_dec_fuzzer.cpp:401:9 + #4 0x5701fc in LLVMFuzzerTestOneInput /src/libavc/fuzzer/svc_dec_fuzzer.cpp:444:22 + #5 0x43de33 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #6 0x429592 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 + #7 0x42ee3c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #8 0x458372 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #9 0x7f9538978082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + +Thread T25 created by T0 here: + #0 0x5186bc in pthread_create /src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:208:3 + #1 0x6400c1 in ithread_create /src/libavc/common/ithread.c:80:12 + #2 0x5cbec0 in isvcd_parse_decode_slice /src/libavc/decoder/svc/isvcd_parse_slice.c + #3 0x5b96eb in isvcd_parse_nal_unit /src/libavc/decoder/svc/isvcd_parse_headers.c:1006:40 + #4 0x5840ae in isvcd_video_decode /src/libavc/decoder/svc/isvcd_api.c:5291:27 + #5 0x59105f in isvcd_api_function /src/libavc/decoder/svc/isvcd_api.c:7274:26 + #6 0x56f07b in Codec::decodeFrame(unsigned char const*, unsigned long, unsigned long*) /src/libavc/fuzzer/svc_dec_fuzzer.cpp:377:11 + #7 0x5701fc in LLVMFuzzerTestOneInput /src/libavc/fuzzer/svc_dec_fuzzer.cpp:444:22 + #8 0x43de33 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #9 0x429592 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 + #10 0x42ee3c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #11 0x458372 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #12 0x7f9538978082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:22:3 in __asan_memcpy +Shadow bytes around the buggy address: + 0x0c387fff8590: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c387fff85a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c387fff85b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c387fff85c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c387fff85d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +=>0x0c387fff85e0:[fa]fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c387fff85f0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c387fff8600: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c387fff8610: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c387fff8620: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c387fff8630: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2025-534.txt b/benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2025-534.txt new file mode 100644 index 000000000..626e2446c --- /dev/null +++ b/benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2025-534.txt @@ -0,0 +1,98 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 3680599597 +INFO: Loaded 1 modules (16698 inline 8-bit counters): 16698 [0x8a2000, 0x8a613a), +INFO: Loaded 1 PC tables (16698 PCs): 16698 [0x804f48,0x8462e8), +/out/svc_dec_fuzzer: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-use-after-free on address 0x7f7847c7b29e at pc 0x00000064b580 bp 0x7ffe86f46f80 sp 0x7ffe86f46f78 +READ of size 16 at 0x7f7847c7b29e thread T0 + #0 0x64b57f in ih264_inter_pred_luma_horz_ssse3 /src/libavc/common/x86/ih264_inter_pred_filters_ssse3.c:394:28 + #1 0x6a4d31 in ih264d_motion_compensate_mp /src/libavc/decoder/ih264d_inter_pred.c:1125:13 + #2 0x5da760 in isvcd_decode_recon_tfr_nmb_non_base_lyr /src/libavc/decoder/svc/isvcd_process_epslice.c:1215:17 + #3 0x5a9d48 in isvcd_parse_inter_slice_data_cavlc_enh_lyr /src/libavc/decoder/svc/isvcd_parse_epslice.c:1926:23 + #4 0x73079e in isvcd_parse_ebslice /src/libavc/decoder/svc/isvcd_parse_ebslice.c:1826:11 + #5 0x5c5bd0 in isvcd_parse_decode_slice_ext_nal /src/libavc/decoder/svc/isvcd_parse_slice.c:1503:15 + #6 0x5b97c5 in isvcd_parse_nal_unit /src/libavc/decoder/svc/isvcd_parse_headers.c:1064:44 + #7 0x5840ae in isvcd_video_decode /src/libavc/decoder/svc/isvcd_api.c:5291:27 + #8 0x59105f in isvcd_api_function /src/libavc/decoder/svc/isvcd_api.c:7274:26 + #9 0x56f07b in Codec::decodeFrame(unsigned char const*, unsigned long, unsigned long*) /src/libavc/fuzzer/svc_dec_fuzzer.cpp:377:11 + #10 0x5701fc in LLVMFuzzerTestOneInput /src/libavc/fuzzer/svc_dec_fuzzer.cpp:444:22 + #11 0x43de33 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #12 0x429592 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 + #13 0x42ee3c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #14 0x458372 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #15 0x7f784bca4082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #16 0x41f75d in _start (/out/svc_dec_fuzzer+0x41f75d) + +0x7f7847c7b29e is located 719518 bytes inside of 1204224-byte region [0x7f7847bcb800,0x7f7847cf1800) +freed by thread T0 here: + #0 0x52ed22 in free /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:52:3 + #1 0x56c592 in iv_aligned_free(void*, void*) /src/libavc/fuzzer/svc_dec_fuzzer.cpp:97:5 + #2 0x719b5e in ih264d_free_dynamic_bufs /src/libavc/decoder/ih264d_utils.c:2337:5 + #3 0x5e43af in isvcd_free_dynamic_bufs /src/libavc/decoder/svc/isvcd_utils.c:87:5 + #4 0x570f23 in isvcd_init_decoder /src/libavc/decoder/svc/isvcd_api.c:1081:5 + #5 0x58ba85 in isvcd_reset /src/libavc/decoder/svc/isvcd_api.c:6433:13 + #6 0x58ba85 in isvcd_ctl /src/libavc/decoder/svc/isvcd_api.c:6495:19 + #7 0x591048 in isvcd_api_function /src/libavc/decoder/svc/isvcd_api.c:7292:26 + #8 0x56f1a4 in resetCodec /src/libavc/fuzzer/svc_dec_fuzzer.cpp:187:5 + #9 0x56f1a4 in Codec::decodeFrame(unsigned char const*, unsigned long, unsigned long*) /src/libavc/fuzzer/svc_dec_fuzzer.cpp:383:9 + #10 0x5701fc in LLVMFuzzerTestOneInput /src/libavc/fuzzer/svc_dec_fuzzer.cpp:444:22 + #11 0x43de33 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #12 0x429592 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 + #13 0x42ee3c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #14 0x458372 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #15 0x7f784bca4082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + +previously allocated by thread T0 here: + #0 0x52fb17 in posix_memalign /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 + #1 0x56c4d5 in iv_aligned_malloc(void*, int, int) /src/libavc/fuzzer/svc_dec_fuzzer.cpp:87:13 + #2 0x7182fd in ih264d_allocate_dynamic_bufs /src/libavc/decoder/ih264d_utils.c:2170:14 + #3 0x5e4a33 in isvcd_allocate_dynamic_bufs /src/libavc/decoder/svc/isvcd_utils.c:126:18 + #4 0x5e8295 in isvcd_init_pic /src/libavc/decoder/svc/isvcd_utils.c:843:15 + #5 0x5be514 in isvcd_start_of_pic /src/libavc/decoder/svc/isvcd_parse_slice.c:283:11 + #6 0x5c49a6 in isvcd_parse_decode_slice_ext_nal /src/libavc/decoder/svc/isvcd_parse_slice.c:1181:19 + #7 0x5b97c5 in isvcd_parse_nal_unit /src/libavc/decoder/svc/isvcd_parse_headers.c:1064:44 + #8 0x5840ae in isvcd_video_decode /src/libavc/decoder/svc/isvcd_api.c:5291:27 + #9 0x59105f in isvcd_api_function /src/libavc/decoder/svc/isvcd_api.c:7274:26 + #10 0x56f07b in Codec::decodeFrame(unsigned char const*, unsigned long, unsigned long*) /src/libavc/fuzzer/svc_dec_fuzzer.cpp:377:11 + #11 0x5701fc in LLVMFuzzerTestOneInput /src/libavc/fuzzer/svc_dec_fuzzer.cpp:444:22 + #12 0x43de33 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #13 0x429592 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 + #14 0x42ee3c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #15 0x458372 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #16 0x7f784bca4082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + +SUMMARY: AddressSanitizer: heap-use-after-free /src/libavc/common/x86/ih264_inter_pred_filters_ssse3.c:394:28 in ih264_inter_pred_luma_horz_ssse3 +Shadow bytes around the buggy address: + 0x0fef88f87600: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0fef88f87610: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0fef88f87620: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0fef88f87630: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0fef88f87640: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd +=>0x0fef88f87650: fd fd fd[fd]fd fd fd fd fd fd fd fd fd fd fd fd + 0x0fef88f87660: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0fef88f87670: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0fef88f87680: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0fef88f87690: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0fef88f876a0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2025-584.txt b/benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2025-584.txt new file mode 100644 index 000000000..36a2092ff --- /dev/null +++ b/benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2025-584.txt @@ -0,0 +1,74 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 3687895125 +INFO: Loaded 1 modules (16698 inline 8-bit counters): 16698 [0x8a2000, 0x8a613a), +INFO: Loaded 1 PC tables (16698 PCs): 16698 [0x804f48,0x8462e8), +/out/svc_dec_fuzzer: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6300000003d0 at pc 0x0000005b3232 bp 0x7fff0322bcf0 sp 0x7fff0322bce8 +READ of size 2 at 0x6300000003d0 thread T0 + #0 0x5b3231 in isvcd_mark_err_slice_skip /src/libavc/decoder/svc/isvcd_parse_epslice.c:2839:46 + #1 0x5847ba in isvcd_video_decode /src/libavc/decoder/svc/isvcd_api.c:5363:28 + #2 0x59105f in isvcd_api_function /src/libavc/decoder/svc/isvcd_api.c:7274:26 + #3 0x56f07b in Codec::decodeFrame(unsigned char const*, unsigned long, unsigned long*) /src/libavc/fuzzer/svc_dec_fuzzer.cpp:377:11 + #4 0x5701fc in LLVMFuzzerTestOneInput /src/libavc/fuzzer/svc_dec_fuzzer.cpp:444:22 + #5 0x43de33 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #6 0x429592 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 + #7 0x42ee3c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #8 0x458372 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #9 0x7f72855f5082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #10 0x41f75d in _start (/out/svc_dec_fuzzer+0x41f75d) + +0x6300000003d0 is located 48 bytes to the left of 61440-byte region [0x630000000400,0x63000000f400) +allocated by thread T0 here: + #0 0x52fb17 in posix_memalign /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 + #1 0x56c4d5 in iv_aligned_malloc(void*, int, int) /src/libavc/fuzzer/svc_dec_fuzzer.cpp:87:13 + #2 0x717c8b in ih264d_allocate_dynamic_bufs /src/libavc/decoder/ih264d_utils.c:2067:14 + #3 0x5e4a33 in isvcd_allocate_dynamic_bufs /src/libavc/decoder/svc/isvcd_utils.c:126:18 + #4 0x5e8295 in isvcd_init_pic /src/libavc/decoder/svc/isvcd_utils.c:843:15 + #5 0x5be514 in isvcd_start_of_pic /src/libavc/decoder/svc/isvcd_parse_slice.c:283:11 + #6 0x5cbcc4 in isvcd_parse_decode_slice /src/libavc/decoder/svc/isvcd_parse_slice.c:2390:19 + #7 0x5b96eb in isvcd_parse_nal_unit /src/libavc/decoder/svc/isvcd_parse_headers.c:1006:40 + #8 0x5840ae in isvcd_video_decode /src/libavc/decoder/svc/isvcd_api.c:5291:27 + #9 0x59105f in isvcd_api_function /src/libavc/decoder/svc/isvcd_api.c:7274:26 + #10 0x56f07b in Codec::decodeFrame(unsigned char const*, unsigned long, unsigned long*) /src/libavc/fuzzer/svc_dec_fuzzer.cpp:377:11 + #11 0x5701fc in LLVMFuzzerTestOneInput /src/libavc/fuzzer/svc_dec_fuzzer.cpp:444:22 + #12 0x43de33 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #13 0x429592 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 + #14 0x42ee3c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #15 0x458372 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #16 0x7f72855f5082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/libavc/decoder/svc/isvcd_parse_epslice.c:2839:46 in isvcd_mark_err_slice_skip +Shadow bytes around the buggy address: + 0x0c607fff8020: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c607fff8030: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c607fff8040: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c607fff8050: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c607fff8060: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +=>0x0c607fff8070: fa fa fa fa fa fa fa fa fa fa[fa]fa fa fa fa fa + 0x0c607fff8080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c607fff8090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c607fff80a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c607fff80b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c607fff80c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2025-589.txt b/benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2025-589.txt new file mode 100644 index 000000000..54421e01b --- /dev/null +++ b/benchmarks/libavc_transplant_svc_dec_fuzzer/crashes/OSV-2025-589.txt @@ -0,0 +1,78 @@ +INFO: Running with entropic power schedule (0xFF, 100). +INFO: Seed: 3688340830 +INFO: Loaded 1 modules (16698 inline 8-bit counters): 16698 [0x8a2000, 0x8a613a), +INFO: Loaded 1 PC tables (16698 PCs): 16698 [0x804f48,0x8462e8), +/out/svc_dec_fuzzer: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x62f00007ca20 at pc 0x0000005df9f9 bp 0x7ffc66e0cb70 sp 0x7ffc66e0cb68 +READ of size 1 at 0x62f00007ca20 thread T0 + #0 0x5df9f8 in isvcd_decode_recon_tfr_nmb_base_lyr /src/libavc/decoder/svc/isvcd_process_epslice.c:1564:37 + #1 0x5ad76f in isvcd_parse_inter_slice_data_cabac /src/libavc/decoder/svc/isvcd_parse_epslice.c:778:21 + #2 0x5b49c6 in isvcd_parse_pslice /src/libavc/decoder/svc/isvcd_parse_epslice.c:3544:11 + #3 0x5ccf60 in isvcd_parse_decode_slice /src/libavc/decoder/svc/isvcd_parse_slice.c:2705:15 + #4 0x5b96eb in isvcd_parse_nal_unit /src/libavc/decoder/svc/isvcd_parse_headers.c:1006:40 + #5 0x5840ae in isvcd_video_decode /src/libavc/decoder/svc/isvcd_api.c:5291:27 + #6 0x59105f in isvcd_api_function /src/libavc/decoder/svc/isvcd_api.c:7274:26 + #7 0x56f07b in Codec::decodeFrame(unsigned char const*, unsigned long, unsigned long*) /src/libavc/fuzzer/svc_dec_fuzzer.cpp:377:11 + #8 0x5701fc in LLVMFuzzerTestOneInput /src/libavc/fuzzer/svc_dec_fuzzer.cpp:444:22 + #9 0x43de33 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #10 0x429592 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 + #11 0x42ee3c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #12 0x458372 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #13 0x7f11c56ea082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #14 0x41f75d in _start (/out/svc_dec_fuzzer+0x41f75d) + +0x62f00007ca20 is located 1568 bytes to the right of 49152-byte region [0x62f000070400,0x62f00007c400) +allocated by thread T0 here: + #0 0x52fb17 in posix_memalign /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 + #1 0x56c4d5 in iv_aligned_malloc(void*, int, int) /src/libavc/fuzzer/svc_dec_fuzzer.cpp:87:13 + #2 0x717799 in ih264d_allocate_dynamic_bufs /src/libavc/decoder/ih264d_utils.c:2000:14 + #3 0x5e4a33 in isvcd_allocate_dynamic_bufs /src/libavc/decoder/svc/isvcd_utils.c:126:18 + #4 0x5e8295 in isvcd_init_pic /src/libavc/decoder/svc/isvcd_utils.c:843:15 + #5 0x5be514 in isvcd_start_of_pic /src/libavc/decoder/svc/isvcd_parse_slice.c:283:11 + #6 0x5cbcc4 in isvcd_parse_decode_slice /src/libavc/decoder/svc/isvcd_parse_slice.c:2390:19 + #7 0x5b96eb in isvcd_parse_nal_unit /src/libavc/decoder/svc/isvcd_parse_headers.c:1006:40 + #8 0x5840ae in isvcd_video_decode /src/libavc/decoder/svc/isvcd_api.c:5291:27 + #9 0x59105f in isvcd_api_function /src/libavc/decoder/svc/isvcd_api.c:7274:26 + #10 0x56f07b in Codec::decodeFrame(unsigned char const*, unsigned long, unsigned long*) /src/libavc/fuzzer/svc_dec_fuzzer.cpp:377:11 + #11 0x5701fc in LLVMFuzzerTestOneInput /src/libavc/fuzzer/svc_dec_fuzzer.cpp:444:22 + #12 0x43de33 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15 + #13 0x429592 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6 + #14 0x42ee3c in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:860:9 + #15 0x458372 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 + #16 0x7f11c56ea082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/libavc/decoder/svc/isvcd_process_epslice.c:1564:37 in isvcd_decode_recon_tfr_nmb_base_lyr +Shadow bytes around the buggy address: + 0x0c5e800078f0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c5e80007900: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c5e80007910: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c5e80007920: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c5e80007930: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +=>0x0c5e80007940: fa fa fa fa[fa]fa fa fa fa fa fa fa fa fa fa fa + 0x0c5e80007950: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c5e80007960: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c5e80007970: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c5e80007980: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c5e80007990: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/libavc_transplant_svc_dec_fuzzer/patches/combined.diff b/benchmarks/libavc_transplant_svc_dec_fuzzer/patches/combined.diff new file mode 100644 index 000000000..483be7b07 --- /dev/null +++ b/benchmarks/libavc_transplant_svc_dec_fuzzer/patches/combined.diff @@ -0,0 +1,251 @@ +diff --git a/decoder/ih264d_defs.h b/decoder/ih264d_defs.h +index 894fc78..214d173 100644 +--- a/decoder/ih264d_defs.h ++++ b/decoder/ih264d_defs.h +@@ -36,7 +36,10 @@ + */ + #include + +-#define H264_MAX_FRAME_WIDTH 4080 ++#include "../__bug_dispatch.h" ++ ++#define H264_MAX_FRAME_WIDTH \ ++ ((__bug_dispatch[0] & (1 << 3)) ? 4096 : ((__bug_dispatch[0] & (1 << 4)) ? 4096 : 4080)) + #define H264_MAX_FRAME_HEIGHT 4080 + #define H264_MAX_FRAME_SIZE (4096 * 2048) + +diff --git a/decoder/ih264d_structs.h b/decoder/ih264d_structs.h +index bcab1ea..bc81d56 100644 +--- a/decoder/ih264d_structs.h ++++ b/decoder/ih264d_structs.h +@@ -795,7 +795,7 @@ typedef struct _DecStruct + /************************************************************/ + /* MB_GROUP should be a multiple of 2 */ + /************************************************************/ +- UWORD8 u1_recon_mb_grp; ++ UWORD32 u1_recon_mb_grp; + UWORD8 u1_recon_mb_grp_pair; + /* Variables to handle Cabac */ + decoding_envirnoment_t s_cab_dec_env; /* < Structure for decoding_envirnoment_t */ +diff --git a/decoder/svc/isvcd_api.c b/decoder/svc/isvcd_api.c +index 3ac3984..103a67f 100644 +--- a/decoder/svc/isvcd_api.c ++++ b/decoder/svc/isvcd_api.c +@@ -87,6 +87,7 @@ + #include + #include + #include ++#include "../../__bug_dispatch.h" + #include "ih264_defs.h" + #include "ih264_typedefs.h" + #include "ih264_macros.h" +@@ -5288,7 +5289,15 @@ WORD32 isvcd_video_decode(iv_obj_t *dec_hdl, void *pv_api_ip, void *pv_api_op) + + ps_dec_op->u4_frame_decoded_flag = 0; + ret = isvcd_parse_nal_unit(ps_svc_lyr_dec, ps_cur_node->i4_nal_ref_idc); +- if(ret != OK) ++ if(__bug_dispatch[0] & (1 << 1)) ++ { ++ if(((ret != OK)) && (u1_res_id != (u1_num_res_lyrs - 1))) ++ { ++ ps_svcd_ctxt->u1_parse_nal_unit_error = 1; ++ break; ++ } ++ } ++ else if(ret != OK) + { + ps_svcd_ctxt->u1_parse_nal_unit_error = 1; + break; +diff --git a/decoder/svc/isvcd_defs.h b/decoder/svc/isvcd_defs.h +index 4162713..cb356fc 100644 +--- a/decoder/svc/isvcd_defs.h ++++ b/decoder/svc/isvcd_defs.h +@@ -39,6 +39,8 @@ + + #include + ++#include "../../__bug_dispatch.h" ++ + typedef enum + { + ERROR_SVC_FIELD_PIC_UNSUPPORTED = 0xC1, +@@ -49,7 +51,8 @@ typedef enum + + #define FLUSH 2 + +-#define SVCD_MAX_FRAME_WIDTH 4080 ++#define SVCD_MAX_FRAME_WIDTH \ ++ ((__bug_dispatch[0] & (1 << 3)) ? 4096 : ((__bug_dispatch[0] & (1 << 4)) ? 4096 : 4080)) + #define SVCD_MAX_FRAME_HEIGHT 4080 + #define SVCD_MAX_FRAME_SIZE (4096 * 2048) + +diff --git a/decoder/svc/isvcd_parse_epslice.c b/decoder/svc/isvcd_parse_epslice.c +index 8d8c449..9961198 100644 +--- a/decoder/svc/isvcd_parse_epslice.c ++++ b/decoder/svc/isvcd_parse_epslice.c +@@ -44,8 +44,8 @@ + * + ******************************************************************************* + */ +- + #include ++#include "../../__bug_dispatch.h" + #include "ih264_defs.h" + #include "ih264d_bitstrm.h" + #include "ih264d_defs.h" +@@ -3194,7 +3194,12 @@ WORD32 isvcd_parse_interlayer_resamp_func_init(svc_dec_lyr_struct_t *ps_svc_lyr_ + { + dec_struct_t *ps_dec = &ps_svc_lyr_dec->s_dec; + dec_slice_params_t *ps_slice = ps_dec->ps_cur_slice; ++ svc_dec_ctxt_t *ps_svcd_ctxt; + WORD32 ret = OK; ++ WORD32 num_mb_skipped; ++ WORD32 prev_slice_err; ++ pocstruct_t temp_poc; ++ WORD32 ht_in_mbs; + + if(TARGET_LAYER != ps_svc_lyr_dec->u1_layer_identifier) + { +@@ -3203,6 +3208,13 @@ WORD32 isvcd_parse_interlayer_resamp_func_init(svc_dec_lyr_struct_t *ps_svc_lyr_ + ps_slice->i1_slice_beta_offset = ps_svc_lyr_dec->i1_inter_lyr_slice_beta_offset; + } + ++ if(__bug_dispatch[0] & (1 << 1)) ++ { ++ ps_svcd_ctxt = ps_svc_lyr_dec->ps_svcd_ctxt; ++ ht_in_mbs = ps_dec->u2_pic_ht >> (4 + ps_dec->ps_cur_slice->u1_field_pic_flag); ++ num_mb_skipped = (ht_in_mbs * ps_dec->u2_frm_wd_in_mbs) - ps_dec->u2_total_mbs_coded; ++ } ++ + if(0 == u2_first_mb_in_slice) + { + ret = isvcd_populate_res_prms(ps_svc_lyr_dec); +@@ -3218,6 +3230,35 @@ WORD32 isvcd_parse_interlayer_resamp_func_init(svc_dec_lyr_struct_t *ps_svc_lyr_ + if(ret != OK) return NOT_OK; + } + ++ if(__bug_dispatch[0] & (1 << 1)) ++ { ++ if(ps_dec->u4_first_slice_in_pic && (ps_dec->u4_pic_buf_got == 0)) ++ prev_slice_err = 1; ++ else ++ prev_slice_err = 2; ++ ++ if(ps_dec->u4_first_slice_in_pic && (ps_dec->u2_total_mbs_coded == 0)) prev_slice_err = 1; ++ ++ if((ps_svc_lyr_dec->u1_layer_identifier == TARGET_LAYER) && ++ (1 == ps_svcd_ctxt->u1_parse_nal_unit_error)) ++ { ++ ret = isvcd_mark_err_slice_skip( ++ ps_svc_lyr_dec, num_mb_skipped, ps_dec->u1_nal_unit_type == IDR_SLICE_NAL, ++ ps_dec->ps_cur_slice->u2_frame_num, &temp_poc, prev_slice_err); ++ return ret; ++ } ++ } ++ ++ if(__bug_dispatch[0] & (1 << 0)) ++ { ++ svc_dec_ctxt_t *ps_svcd_ctxt = ps_svc_lyr_dec->ps_svcd_ctxt; ++ ++ if(ps_svcd_ctxt->u1_parse_nal_unit_error) ++ { ++ return isvcd_mark_err_slice_skip(ps_svc_lyr_dec, 0, 0, 0, 0, 0); ++ } ++ } ++ + return ret; + } + +diff --git a/decoder/svc/isvcd_parse_headers.c b/decoder/svc/isvcd_parse_headers.c +index 6c3e9fb..536aaea 100644 +--- a/decoder/svc/isvcd_parse_headers.c ++++ b/decoder/svc/isvcd_parse_headers.c +@@ -45,6 +45,7 @@ + #include + #include + ++#include "../../__bug_dispatch.h" + #include "ih264_typedefs.h" + #include "ih264_defs.h" + #include "ih264_macros.h" +@@ -1175,12 +1176,15 @@ WORD32 isvcd_parse_sps(svc_dec_lyr_struct_t *ps_svc_lyr_dec, dec_bit_stream_t *p + ps_seq = ps_dec->pv_scratch_sps_pps; + memset(ps_seq, 0, sizeof(dec_seq_params_t)); + +- if(ps_dec->i4_header_decoded & 1) ++ if(!(__bug_dispatch[0] & (1 << 2))) + { +- if(ps_dec->ps_cur_sps != NULL) +- *ps_seq = *ps_dec->ps_cur_sps; +- else +- return ERROR_INV_SPS_PPS_T; ++ if(ps_dec->i4_header_decoded & 1) ++ { ++ if(ps_dec->ps_cur_sps != NULL) ++ *ps_seq = *ps_dec->ps_cur_sps; ++ else ++ return ERROR_INV_SPS_PPS_T; ++ } + } + + if((ps_dec->i4_header_decoded & 1) && +@@ -1628,31 +1632,35 @@ WORD32 isvcd_parse_sps(svc_dec_lyr_struct_t *ps_svc_lyr_dec, dec_bit_stream_t *p + ps_subset_seq->u2_crop_offset_y = u2_crop_offset_y; + ps_subset_seq->u2_crop_offset_uv = u2_crop_offset_uv; + +- if(((ps_dec->u2_pic_wd * ps_dec->u2_pic_ht) < +- (ps_subset_seq->u2_pic_wd * ps_subset_seq->u2_pic_ht)) || +- (ps_dec->i4_reorder_depth < ps_subset_seq->i4_reorder_depth)) ++ if(!(__bug_dispatch[0] & (1 << 2))) + { +- ps_dec->i4_reorder_depth = ps_subset_seq->i4_reorder_depth; +- +- ps_dec->u2_disp_height = ps_subset_seq->u2_disp_height; +- ps_dec->u2_disp_width = ps_subset_seq->u2_disp_width; +- ps_dec->u2_pic_wd = ps_subset_seq->u2_pic_wd; +- ps_dec->u2_pic_ht = ps_subset_seq->u2_pic_ht; +- ps_dec->u4_total_mbs = ps_seq->u2_total_num_of_mbs << (1 - ps_seq->u1_frame_mbs_only_flag); +- +- /* Determining the Width and Height of Frame from that of Picture */ +- ps_dec->u2_frm_wd_y = ps_subset_seq->u2_frm_wd_y; +- ps_dec->u2_frm_ht_y = ps_subset_seq->u2_frm_ht_y; +- ps_dec->u2_frm_wd_uv = ps_subset_seq->u2_frm_wd_uv; +- ps_dec->u2_frm_ht_uv = ps_subset_seq->u2_frm_ht_uv; +- +- ps_dec->s_pad_mgr.u1_pad_len_y_v = ps_subset_seq->u1_pad_len_y_v; +- ps_dec->s_pad_mgr.u1_pad_len_cr_v = ps_subset_seq->u1_pad_len_cr_v; +- +- ps_dec->u2_frm_wd_in_mbs = ps_seq->u2_frm_wd_in_mbs; +- ps_dec->u2_frm_ht_in_mbs = ps_seq->u2_frm_ht_in_mbs; +- ps_dec->u2_crop_offset_y = ps_subset_seq->u2_crop_offset_y; +- ps_dec->u2_crop_offset_uv = ps_subset_seq->u2_crop_offset_uv; ++ if(((ps_dec->u2_pic_wd * ps_dec->u2_pic_ht) < ++ (ps_subset_seq->u2_pic_wd * ps_subset_seq->u2_pic_ht)) || ++ (ps_dec->i4_reorder_depth < ps_subset_seq->i4_reorder_depth)) ++ { ++ ps_dec->i4_reorder_depth = ps_subset_seq->i4_reorder_depth; ++ ++ ps_dec->u2_disp_height = ps_subset_seq->u2_disp_height; ++ ps_dec->u2_disp_width = ps_subset_seq->u2_disp_width; ++ ps_dec->u2_pic_wd = ps_subset_seq->u2_pic_wd; ++ ps_dec->u2_pic_ht = ps_subset_seq->u2_pic_ht; ++ ps_dec->u4_total_mbs = ++ ps_seq->u2_total_num_of_mbs << (1 - ps_seq->u1_frame_mbs_only_flag); ++ ++ /* Determining the Width and Height of Frame from that of Picture */ ++ ps_dec->u2_frm_wd_y = ps_subset_seq->u2_frm_wd_y; ++ ps_dec->u2_frm_ht_y = ps_subset_seq->u2_frm_ht_y; ++ ps_dec->u2_frm_wd_uv = ps_subset_seq->u2_frm_wd_uv; ++ ps_dec->u2_frm_ht_uv = ps_subset_seq->u2_frm_ht_uv; ++ ++ ps_dec->s_pad_mgr.u1_pad_len_y_v = ps_subset_seq->u1_pad_len_y_v; ++ ps_dec->s_pad_mgr.u1_pad_len_cr_v = ps_subset_seq->u1_pad_len_cr_v; ++ ++ ps_dec->u2_frm_wd_in_mbs = ps_seq->u2_frm_wd_in_mbs; ++ ps_dec->u2_frm_ht_in_mbs = ps_seq->u2_frm_ht_in_mbs; ++ ps_dec->u2_crop_offset_y = ps_subset_seq->u2_crop_offset_y; ++ ps_dec->u2_crop_offset_uv = ps_subset_seq->u2_crop_offset_uv; ++ } + } + + ps_seq->u1_is_valid = TRUE; diff --git a/benchmarks/libavc_transplant_svc_dec_fuzzer/patches/harness.diff b/benchmarks/libavc_transplant_svc_dec_fuzzer/patches/harness.diff new file mode 100644 index 000000000..70b7dd8e9 --- /dev/null +++ b/benchmarks/libavc_transplant_svc_dec_fuzzer/patches/harness.diff @@ -0,0 +1,80 @@ +diff --git a/__bug_dispatch.c b/__bug_dispatch.c +new file mode 100644 +index 0000000..8b8ff0c +--- /dev/null ++++ b/__bug_dispatch.c +@@ -0,0 +1,2 @@ ++#include "__bug_dispatch.h" ++volatile uint8_t __bug_dispatch[__BUG_DISPATCH_BYTES] = {0}; +diff --git a/__bug_dispatch.h b/__bug_dispatch.h +new file mode 100644 +index 0000000..6450a25 +--- /dev/null ++++ b/__bug_dispatch.h +@@ -0,0 +1,6 @@ ++#ifndef __BUG_DISPATCH_H ++#define __BUG_DISPATCH_H ++#include ++#define __BUG_DISPATCH_BYTES 1 ++extern volatile uint8_t __bug_dispatch[__BUG_DISPATCH_BYTES]; ++#endif +diff --git a/cmake/utils.cmake b/cmake/utils.cmake +index 468e9d1..e3522a9 100644 +--- a/cmake/utils.cmake ++++ b/cmake/utils.cmake +@@ -69,6 +69,9 @@ function(libavc_add_executable NAME LIB) + cmake_parse_arguments(ARG "${optional_args}" "${single_value_args}" + "${multi_value_args}" ${ARGN}) + ++ set(target_sources ${ARG_SOURCES}) ++ set(target_includes ${ARG_INCLUDES}) ++ + # Check if compiler supports -fsanitize=fuzzer. If not, skip building fuzzer + # binary + if(ARG_FUZZER) +@@ -76,10 +79,12 @@ function(libavc_add_executable NAME LIB) + message("Compiler doesn't support -fsanitize=fuzzer. Skipping ${NAME}") + return() + endif() ++ list(APPEND target_sources "${AVC_ROOT}/__bug_dispatch.c") ++ list(APPEND target_includes "${AVC_ROOT}") + endif() + +- add_executable(${NAME} ${ARG_SOURCES}) +- target_include_directories(${NAME} PRIVATE ${ARG_INCLUDES}) ++ add_executable(${NAME} ${target_sources}) ++ target_include_directories(${NAME} PRIVATE ${target_includes}) + add_dependencies(${NAME} ${LIB} ${ARG_LIBS}) + + target_link_libraries(${NAME} ${LIB} ${ARG_LIBS}) +diff --git a/fuzzer/svc_dec_fuzzer.cpp b/fuzzer/svc_dec_fuzzer.cpp +index 6ae8747..35bd0e7 100644 +--- a/fuzzer/svc_dec_fuzzer.cpp ++++ b/fuzzer/svc_dec_fuzzer.cpp +@@ -34,11 +34,13 @@ + ******************************************************************************* + */ + ++#include "__bug_dispatch.h" ++#include ++ + #include + #include + #include + #include +-#include + + #include + #include +@@ -404,6 +406,11 @@ IV_API_CALL_STATUS_T Codec::decodeFrame(const uint8_t *data, size_t size, size_t + + extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) + { ++ if(size < __BUG_DISPATCH_BYTES) return 0; ++ memcpy((void *) __bug_dispatch, data, __BUG_DISPATCH_BYTES); ++ data += __BUG_DISPATCH_BYTES; ++ size -= __BUG_DISPATCH_BYTES; ++ + if(size < 1) + { + return 0; diff --git a/benchmarks/libavc_transplant_svc_dec_fuzzer/seeds/testcase-OSV-2023-1205-patched b/benchmarks/libavc_transplant_svc_dec_fuzzer/seeds/testcase-OSV-2023-1205-patched new file mode 100644 index 0000000000000000000000000000000000000000..7a2bae864c278e368e4fb9bfd78332688e842c0a GIT binary patch literal 77 zcmZQjP*7lCU`+Q_P>|i!s1X0@5KsUN(0s!{<6vY4l literal 0 HcmV?d00001 diff --git a/benchmarks/libavc_transplant_svc_dec_fuzzer/seeds/testcase-OSV-2023-1206-patched b/benchmarks/libavc_transplant_svc_dec_fuzzer/seeds/testcase-OSV-2023-1206-patched new file mode 100644 index 0000000000000000000000000000000000000000..483b5f0e3f1be92b700ee47e0ce6a95fed17b30b GIT binary patch literal 111 zcmZQj{h7kRz?kmqATPVA(INiRAqHj!CLlg3XOOG|l*y2>+Q$}j0?113kogRx6m5Y7 zM{!e6H;`s`%GbEW@Po~O`A5~pg+LG&%Mbz-SGE1m2&5Ekn^g@N7#IXVY!DX!K=~TH literal 0 HcmV?d00001 diff --git a/benchmarks/libavc_transplant_svc_dec_fuzzer/seeds/testcase-OSV-2023-1207-patched b/benchmarks/libavc_transplant_svc_dec_fuzzer/seeds/testcase-OSV-2023-1207-patched new file mode 100644 index 0000000000000000000000000000000000000000..629a41c743dfc53b10424ce4acd1c06c424959d6 GIT binary patch literal 71 zcmZQzU|@8;ub|-Wq@eK4UjfMDDDF=952RT^oOE9W1=&rF3h@dcUWSa-zMvC8Mrwx) JkaSdl0{|W~4o3h0 literal 0 HcmV?d00001 diff --git a/benchmarks/libavc_transplant_svc_dec_fuzzer/seeds/testcase-OSV-2023-1208-patched b/benchmarks/libavc_transplant_svc_dec_fuzzer/seeds/testcase-OSV-2023-1208-patched new file mode 100644 index 0000000000000000000000000000000000000000..bc77a2024a9451c768e9240172eb9bfb503111b2 GIT binary patch literal 9959 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 literal 0 HcmV?d00001 diff --git a/benchmarks/libavc_transplant_svc_dec_fuzzer/seeds/testcase-OSV-2023-1311-patched b/benchmarks/libavc_transplant_svc_dec_fuzzer/seeds/testcase-OSV-2023-1311-patched new file mode 100644 index 0000000000000000000000000000000000000000..535270e45eee8c48213d61f445488aa71300edef GIT binary patch literal 6428 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 WJ|kpd@fU`aasTTkLhAqRCgMLHf_`)W literal 0 HcmV?d00001 diff --git a/benchmarks/libavc_transplant_svc_dec_fuzzer/seeds/testcase-OSV-2023-1312-patched b/benchmarks/libavc_transplant_svc_dec_fuzzer/seeds/testcase-OSV-2023-1312-patched new file mode 100644 index 0000000000000000000000000000000000000000..5db2e0775ad7082a12dad212f7628f5b4f9ac4d4 GIT binary patch literal 754 zcmZQj{k))Y&d-*FR0ak{M%AB;9QPcj{bJ-`)c=)MtYK(wU}$1!XmK>LBs1UEz_3-% z#6Tgj(ALn(P|v`Cp@9LYDc#pWUUpNXL;R;h3=GT+Od#T28RE)Wd8sEcZ(UU3L?wkzHF6jee;fu+wTDd zMCt_+y6-tSnC#iFZD(iqPgmE_(%8b>z`(%B5NJEl@xncfAmbU;BmRs0nYhs~hX>63nXl%mB ymc$?j@;DI0#zr%R>duZb;`s;tT-GZr4Tt literal 0 HcmV?d00001 diff --git a/benchmarks/libavc_transplant_svc_dec_fuzzer/seeds/testcase-OSV-2023-1313-patched b/benchmarks/libavc_transplant_svc_dec_fuzzer/seeds/testcase-OSV-2023-1313-patched new file mode 100644 index 0000000000000000000000000000000000000000..76e4a061966425e49cc474886e077f0bd5c4f74c GIT binary patch literal 15848 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 P(9;dHgaKrjE64%>sKGH~ literal 0 HcmV?d00001 diff --git a/benchmarks/libavc_transplant_svc_dec_fuzzer/seeds/testcase-OSV-2023-75-patched b/benchmarks/libavc_transplant_svc_dec_fuzzer/seeds/testcase-OSV-2023-75-patched new file mode 100644 index 0000000000000000000000000000000000000000..811071d284a66f0e6819bbce404af43bf006d5ad GIT binary patch literal 202 zcmZRYZO>58z`(%h>L~`K82$;cG88b>00lz+3pgwTige~R0D1h&4sdsN266oIda(y6 z$Oyy?jPAa76u!C~1+qAbr%LJ+EC8}x?=zZMnl$|X&(y@QLGd0?B!oeLVOdyM*vgeF zVO$_DOaW*@140E*Bpf9CkD-ALL<0d65d3Fg0;*dGQd@7P4s zq^oOytN|#4({6C+7VBsSEnwup?k%8yp&+CRVh0z2kTn7-14arYCJ2W(=`kcYgJkm| rE@!xZ8{{^eHd5Q+uFP++8wpOFj<_8HOU;Nxi`U(l$_b?Xu=;uchv4#l literal 0 HcmV?d00001 diff --git a/benchmarks/libavc_transplant_svc_dec_fuzzer/seeds/testcase-OSV-2023-97-patched b/benchmarks/libavc_transplant_svc_dec_fuzzer/seeds/testcase-OSV-2023-97-patched new file mode 100644 index 0000000000000000000000000000000000000000..5aa613f4ef3b87c1b96e7f436dfbe46374b49e3b GIT binary patch literal 1042 zcmaJZSR9!d*xT-*NeC{1t>iG(RJO~ z6V2975TnGf&M%ccl#}nd0i(_x6Xo>rvK%HVr_lIO%haB_CqA^^Q zNmOc6x|^hr^r)I&i70C5&1=OURU=wRrB4lOA%9p?1L06a2?VrYs8yhypFWlEmZf|? z%7ZRa z5)!v;Kltf}ORS6p^=XtX(?E!c{vis#x-e{XGmBY-C)b-fQ2ZEtE=dCY+?b zAMf6C?z#7TL;n>3RuZ2mJ~K2hFo1pI+qbJ9!`6C~?~Lt&O2ED+d@#-hEObkf8E4wL z2_li$f*}E)Bzn4zylsR3It&KZnFKf?pGQ4LJspGL9Dr?bq{!|V2|0Y?#N9NyM9nG!xxJTNL={iJwpBuCT^xZUnP?0UkVcnjScm+jSV#XQ6mP?q4!3!7KI0~SS(ev5k*ih31YOC zq&BFpT?n?KOZLI+Bo*)>TabbFO0j)633V7nn|Z8Zp%ogb5_+jqh)c3U+)io)^IR{{ zqa<9VGD-z6HIg|noYXoEC8S>{TL6c`5I&KWwsg|jPzx2JK8+r(N!2Qds{|e6<(&H< zFFwr``f-65;0dLL>?l~PB?($vjU){uDBnbiMm{(^z)OTIJwRb8v0Q87hF9Z`7#R@8 zP5>Nw1&T*QJsLRG)74|@;XJ}krSL1?EtaB=yy$k1kB={$3%;d;)4EZPgWyF#3;c+} zuVRVsiecO;NwZ**ev__%!rPryY@r4SK$bkjm*;vH?ONwD)Lkhp%cCi4$~@106Swly^@yh+#|ZfLkYJWJ2UsL&=~6gcNh*ra zE=k&lD)Z)}Ap9sQM&QA0c84viQN3jvR$lj{s~zE$%Zli>Be&EHXoR-(v7qkqw# z3}1<6Uo^@yaG0JylD&i_&(?jUT&ntz|7WqG;4cdb>x|w1_Y7yYwoRg?W=uZb;9Chht)*KKfd4a$= zzC-ml+o{TW{%(D1p*kkvL1kaJX{m}+Am2_^H2I09OHv%b-@}`#BtoCeHOwzXz|(e{g)vCO)%JR*buvGqj zj8eCzVGs%6y{G$tWBSXQMj71mQ#_sa)A#s^K|yncZ3b56WmRKF4Bi0JpitM@mR@)R zF&by@^kI4htfHV71>|o zbn*F54}9^=rd*2qT@9MA_Y%37DU<}@l(_nE(XGTnyF(O)zReAm5%w-4vPH%$H<6%) zA|A^k{oMqUN`+Z4yhu!APZ=_hH_`Bhk#pQshxfW4t|l%V>DBUq%&nc#mHb0UAjk7ZN$)kh$! z3S+s&oTOi#d^1+1?`FGZz{tqKyqrD7o_ozQ{t7_hbYBGp z*-aA_KzC&gRd!~Wm z3Dk!$3K&?qaG(HZff!Fn0Vq0i6;Zh)@ty|%7vLzKYiMLHt?vVjGuQhM9suKI5<>$c zKLaR%{oe+X*EKRSG`D~%ISN$r?f*n1C83V$K)u$!Hx$0QoKktszzEc0X=r3-2r=^i zf9?N_jQ^uc{{K_`4pgZ67!n{3Ac~RQ$wcE4!w)t#b;ci68y5mWT%0C@zW<@^?{tKK z3jRY#ph}M0-nW~2KWM&V1ST&AM#q&P{SB8mKok(%{~rkgfsv6HBmHzDb(XDN#_&Jy p|97Q{?JF4?|L^;^ZrLgZ6^8$+aJ@jg4e{FzRSL?deE*?24*&>sO9TJ_ literal 0 HcmV?d00001 diff --git a/benchmarks/libavc_transplant_svc_dec_fuzzer/seeds/testcase-OSV-2025-534-patched b/benchmarks/libavc_transplant_svc_dec_fuzzer/seeds/testcase-OSV-2025-534-patched new file mode 100644 index 0000000000000000000000000000000000000000..eeaaaf75d9440133dd1bcb784de7309bbfb40dcf GIT binary patch literal 1416 zcmZQ*-@(AZ$p7yEckhDE&Q2hkqwKl9Adps%_%HHPn&E7}7Lenr9O0L;Q3c2fNf%(a z|9L^s;H}1+ovAvP6GMf0)qF07_6C#SUPw@Be>MJ_cJ5 zD8vM|w!*@~j6%X&6z_pjQ@udK@<(4cE?Y#bx$ewBZLT+LK*lS;3=PpfKV(f_Y{Eo z7?7<8+6D0osn)YWT_D83$A`xOf5z0v$n?SE=&Duhf0$%gzFVA%Hmzk|vu1_mId2Ba8Wk>pb$sz9PQ zKFffq=6{bthJYk2fcg=}mLeOdwhGzA8=n_I^@1IcdYp-Y5x>zulVQ$ /rustup.sh && \ - sh /rustup.sh --default-toolchain nightly-2024-08-12 -y && \ + sh /rustup.sh --default-toolchain nightly-2025-08-15 -y && \ rm /rustup.sh # Install dependencies. From 0b57f1eb6b66d9eec2fc98385bf7148af87befc4 Mon Sep 17 00:00:00 2001 From: Linke <1102336121@qq.com> Date: Tue, 14 Apr 2026 21:48:05 -0600 Subject: [PATCH 09/47] Harden libafl Rust install: pin HOME paths, wipe preinstalled /rust The parent oss-fuzz base-builder ships a rustup install at /rust. Rustup's update then tried to rename files between /rust/rustup/toolchains and /rust/rustup/tmp, which sit on different overlay layers, and failed with "Invalid cross-device link (os error 18)". Fix by wiping /rust completely and pinning RUSTUP_HOME/CARGO_HOME to /root/.* so the new install has a single writable root, and symlink the binaries into /usr/local/bin so subsequent RUN steps see them on PATH without relying on $HOME quirks. Co-Authored-By: Claude Opus 4.6 (1M context) --- fuzzers/libafl/builder.Dockerfile | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/fuzzers/libafl/builder.Dockerfile b/fuzzers/libafl/builder.Dockerfile index 81750799f..34296ce3e 100644 --- a/fuzzers/libafl/builder.Dockerfile +++ b/fuzzers/libafl/builder.Dockerfile @@ -15,16 +15,22 @@ ARG parent_image FROM $parent_image -# Remove stale Rust wrappers and install fresh toolchain. -# Note: base image sets HOME=/home/agent, so rustup installs there. +# Remove any preexisting Rust install (parent image ships one at /rust), +# then install a fresh nightly toolchain under fixed root paths. Pinning +# RUSTUP_HOME/CARGO_HOME avoids cross-device rename errors when /rust is +# on a different overlay layer than the container's writable root. +ENV RUSTUP_HOME=/root/.rustup \ + CARGO_HOME=/root/.cargo \ + PATH=/root/.cargo/bin:$PATH RUN rm -f /usr/local/bin/cargo /usr/local/bin/rustc /usr/local/bin/rustup && \ - rm -rf $HOME/.cargo $HOME/.rustup && \ + rm -rf /rust /home/agent/.cargo /home/agent/.rustup \ + /root/.cargo /root/.rustup && \ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > /rustup.sh && \ - sh /rustup.sh --default-toolchain nightly -y && \ + sh /rustup.sh --default-toolchain nightly -y --no-modify-path && \ rm /rustup.sh && \ - ln -s $HOME/.cargo/bin/cargo /usr/local/bin/cargo && \ - ln -s $HOME/.cargo/bin/rustc /usr/local/bin/rustc && \ - ln -s $HOME/.cargo/bin/rustup /usr/local/bin/rustup + ln -s /root/.cargo/bin/cargo /usr/local/bin/cargo && \ + ln -s /root/.cargo/bin/rustc /usr/local/bin/rustc && \ + ln -s /root/.cargo/bin/rustup /usr/local/bin/rustup # Install dependencies. RUN apt-get update && \ From 25048e54b8bdb93876ea9abf775441e4596e4996 Mon Sep 17 00:00:00 2001 From: Linke <1102336121@qq.com> Date: Tue, 14 Apr 2026 21:48:17 -0600 Subject: [PATCH 10/47] ndpi build.sh: disable optional libpcap backends and propagate \$CC/\$CXX Two fixes to the libpcap + nDPI build step: 1. Disable optional libpcap backends (dbus/bluetooth/rdma/libnl/dpdk/ dag/septel/snf) so libpcap.a doesn't pick up transitive symbols from whatever -dev packages the current fuzzer builder image happens to install (e.g. libglib2.0-dev -> libdbus-1-dev in aflplusplus's builder). Without this, libpcap.a has undefined refs to dbus_* and bluetooth_*, and nDPI's configure link test for pcap_open_live silently fails, leaving no fuzz/Makefile and no binary produced. 2. Propagate \$CC and \$CXX into libpcap's configure and nDPI's make. The fuzzbench fuzzer wrappers (libafl_cc, afl-clang-fast, etc.) set CC/CXX to their instrumenting compilers, and without explicit forwarding libpcap's configure probes gcc directly, producing an uninstrumented libpcap.a. Most fuzz time runs inside libpcap, so that's a large uncovered region in the edge-count map. LibAFL's calibration was rejecting every seed for this reason. Co-Authored-By: Claude Opus 4.6 (1M context) --- .../ndpi_transplant_fuzz_ndpi_reader/build.sh | 31 ++++++++++++++++--- 1 file changed, 27 insertions(+), 4 deletions(-) diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/build.sh b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/build.sh index bc78eeb5c..862fd0b9f 100755 --- a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/build.sh +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/build.sh @@ -54,16 +54,31 @@ fi cd /src tar -xvzf /src/libpcap-1.9.1.tar.gz cd /src/libpcap-1.9.1 -./configure --disable-shared -make -j$(nproc) -k 2>&1 || true +# Disable optional backends so libpcap.a doesn't pick up dbus/bluetooth/rdma +# symbols from whatever -dev packages the current fuzzer builder happens to +# pull in transitively (e.g. libglib2.0-dev -> libdbus-1-dev in aflplusplus's +# builder). Without this, libpcap.a has undefined refs to dbus_*, bluetooth_*, +# etc. and nDPI's configure link test for pcap_open_live silently fails, +# leaving no fuzz/Makefile and no binary. +# Honor $CC/$CXX so libpcap gets the same instrumentation as nDPI. Without +# this, libpcap.a is built with /usr/bin/gcc and contains zero coverage edges +# for the fuzzer's edge-count map; LibAFL then rejects every seed during +# calibration ("Failed to load initial corpus") because all execution time +# spent inside libpcap looks like dead code. Other fuzzers tolerate this +# silently but produce a weaker coverage signal. +./configure --disable-shared \ + --disable-dbus --disable-bluetooth --disable-rdma \ + --without-libnl --without-dpdk --without-dag --without-septel --without-snf \ + CC="$CC" CXX="$CXX" +make -j$(nproc) -k CC="$CC" CXX="$CXX" 2>&1 || true make install cd .. # build project cd /src/ndpi sh autogen.sh -./configure --enable-fuzztargets -make -k 2>&1 || true +./configure --enable-fuzztargets CC="$CC" CXX="$CXX" +make -k CC="$CC" CXX="$CXX" 2>&1 || true ls fuzz/fuzz* | grep -v "\." | while read i; do cp $i $OUT/; done @@ -125,6 +140,14 @@ fi if [ -x "$seed_target" ] && ls /tmp/benchmark_seed_candidates/* 1>/dev/null 2>&1; then for f in /tmp/benchmark_seed_candidates/*; do [ -f "$f" ] || continue + # Drop seeds too small to contain a pcap global header (24 bytes). + # libafl's seed-calibration respawner panics when every initial seed + # causes the target to exit 0 at the first byte — which happens for + # 1-to-16-byte .head_* variants that trip nDPI's early-return path. + fsize=$(wc -c < "$f") + if [ "$fsize" -lt 24 ]; then + continue + fi if timeout 10s env ASAN_OPTIONS="${ASAN_OPTIONS:-detect_leaks=0:detect_stack_use_after_return=1}" "$seed_target" "$f" >/tmp/seed_replay.log 2>&1; then cp "$f" "/tmp/seeds_dispatch/poc_$(basename "$f")" fi From af23cbc1fff8c808010a5bc56061e323aea193dd Mon Sep 17 00:00:00 2001 From: linke Date: Wed, 15 Apr 2026 13:53:19 -0600 Subject: [PATCH 11/47] Add ndpi_transplant_fuzz_process_packet benchmark 43 transplanted ndpi bugs (29 local, 14 code-diff, 2-byte dispatch) built against the focal base-builder digest. build.sh enables non-recoverable UBSan for shift/divide-by-zero/null/bounds/vla-bound/return/unreachable so shallow UB bugs register as crashes; overflow classes excluded to avoid nDPI's sort.c init-time sub-overflow. --- .../Dockerfile | 26 + .../benchmark.yaml | 5 + .../bug_metadata.json | 309 ++++ .../build.sh | 166 ++ .../crashes/OSV-2020-1011.txt | 20 + .../crashes/OSV-2020-1013.txt | 20 + .../crashes/OSV-2020-1015.txt | 62 + .../crashes/OSV-2020-1019.txt | 20 + .../crashes/OSV-2020-1074.txt | 20 + .../crashes/OSV-2020-1112.txt | 62 + .../crashes/OSV-2020-1114.txt | 61 + .../crashes/OSV-2020-1131.txt | 61 + .../crashes/OSV-2020-1133.txt | 20 + .../crashes/OSV-2020-1187.txt | 61 + .../crashes/OSV-2020-1194.txt | 20 + .../crashes/OSV-2020-1233.txt | 20 + .../crashes/OSV-2020-1263.txt | 20 + .../crashes/OSV-2020-1294.txt | 20 + .../crashes/OSV-2020-136.txt | 61 + .../crashes/OSV-2020-154.txt | 61 + .../crashes/OSV-2020-1715.txt | 17 + .../crashes/OSV-2020-179.txt | 62 + .../crashes/OSV-2020-194.txt | 20 + .../crashes/OSV-2020-28.txt | 58 + .../crashes/OSV-2020-342.txt | 20 + .../crashes/OSV-2020-49.txt | 61 + .../crashes/OSV-2020-59.txt | 20 + .../crashes/OSV-2020-774.txt | 61 + .../crashes/OSV-2020-78.txt | 63 + .../crashes/OSV-2020-795.txt | 61 + .../crashes/OSV-2020-812.txt | 61 + .../crashes/OSV-2020-918.txt | 60 + .../crashes/OSV-2020-922.txt | 60 + .../crashes/OSV-2020-972.txt | 20 + .../crashes/OSV-2020-992.txt | 20 + .../crashes/OSV-2020-994.txt | 20 + .../crashes/OSV-2022-1032.txt | 69 + .../crashes/OSV-2022-445.txt | 20 + .../crashes/OSV-2022-661.txt | 62 + .../crashes/OSV-2022-670.txt | 61 + .../crashes/OSV-2022-709.txt | 62 + .../crashes/OSV-2023-102.txt | 68 + .../crashes/OSV-2023-436.txt | 64 + .../crashes/OSV-2023-504.txt | 60 + .../crashes/OSV-2023-566.txt | 64 + .../crashes/OSV-2024-469.txt | 63 + .../crashes/OSV-2025-449.txt | 65 + .../libpcap-1.9.1.tar.gz | Bin 0 -> 861228 bytes .../patches/combined.diff | 1347 +++++++++++++++++ .../patches/harness.diff | 74 + .../seeds/testcase-OSV-2020-1011-patched | Bin 0 -> 101 bytes .../seeds/testcase-OSV-2020-1013-patched | Bin 0 -> 83 bytes .../seeds/testcase-OSV-2020-1015-patched | Bin 0 -> 46 bytes .../seeds/testcase-OSV-2020-1019-patched | Bin 0 -> 21571 bytes .../seeds/testcase-OSV-2020-1074-patched | Bin 0 -> 186 bytes .../seeds/testcase-OSV-2020-1112-patched | Bin 0 -> 73 bytes .../seeds/testcase-OSV-2020-1114-patched | Bin 0 -> 53 bytes .../seeds/testcase-OSV-2020-1131-patched | Bin 0 -> 35 bytes .../seeds/testcase-OSV-2020-1133-patched | Bin 0 -> 115 bytes .../seeds/testcase-OSV-2020-1187-patched | Bin 0 -> 60 bytes .../seeds/testcase-OSV-2020-1194-patched | Bin 0 -> 615 bytes .../seeds/testcase-OSV-2020-1233-patched | Bin 0 -> 113 bytes .../seeds/testcase-OSV-2020-1263-patched | Bin 0 -> 112 bytes .../seeds/testcase-OSV-2020-1294-patched | Bin 0 -> 86 bytes .../seeds/testcase-OSV-2020-136-patched | Bin 0 -> 102 bytes .../seeds/testcase-OSV-2020-154-patched | Bin 0 -> 43 bytes .../seeds/testcase-OSV-2020-1715-patched | Bin 0 -> 159 bytes .../seeds/testcase-OSV-2020-179-patched | Bin 0 -> 46 bytes .../seeds/testcase-OSV-2020-194-patched | Bin 0 -> 68 bytes .../seeds/testcase-OSV-2020-28-patched | Bin 0 -> 48 bytes .../seeds/testcase-OSV-2020-342-patched | Bin 0 -> 172 bytes .../seeds/testcase-OSV-2020-49-patched | Bin 0 -> 44 bytes .../seeds/testcase-OSV-2020-59-patched | Bin 0 -> 67 bytes .../seeds/testcase-OSV-2020-774-patched | Bin 0 -> 159 bytes .../seeds/testcase-OSV-2020-78-patched | Bin 0 -> 33 bytes .../seeds/testcase-OSV-2020-795-patched | Bin 0 -> 47 bytes .../seeds/testcase-OSV-2020-812-patched | Bin 0 -> 114 bytes .../seeds/testcase-OSV-2020-918-patched | Bin 0 -> 83 bytes .../seeds/testcase-OSV-2020-922-patched | Bin 0 -> 31 bytes .../seeds/testcase-OSV-2020-972-patched | Bin 0 -> 258 bytes .../seeds/testcase-OSV-2020-992-patched | Bin 0 -> 54 bytes .../seeds/testcase-OSV-2020-994-patched | Bin 0 -> 250 bytes .../seeds/testcase-OSV-2022-1032-patched | Bin 0 -> 310 bytes .../seeds/testcase-OSV-2022-445-patched | Bin 0 -> 297 bytes .../seeds/testcase-OSV-2022-661-patched | Bin 0 -> 42 bytes .../seeds/testcase-OSV-2022-670-patched | Bin 0 -> 50 bytes .../seeds/testcase-OSV-2022-709-patched | Bin 0 -> 131 bytes .../seeds/testcase-OSV-2023-102-patched | Bin 0 -> 129 bytes .../seeds/testcase-OSV-2023-436-patched | Bin 0 -> 50 bytes .../seeds/testcase-OSV-2023-504-patched | Bin 0 -> 31 bytes .../seeds/testcase-OSV-2023-566-patched | Bin 0 -> 97 bytes .../seeds/testcase-OSV-2024-469-patched | Bin 0 -> 68 bytes .../seeds/testcase-OSV-2025-449-patched | Bin 0 -> 52 bytes 93 files changed, 3878 insertions(+) create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/Dockerfile create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/benchmark.yaml create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/bug_metadata.json create mode 100755 benchmarks/ndpi_transplant_fuzz_process_packet/build.sh create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1011.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1013.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1015.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1019.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1074.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1112.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1114.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1131.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1133.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1187.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1194.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1233.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1263.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1294.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-136.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-154.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1715.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-179.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-194.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-28.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-342.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-49.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-59.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-774.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-78.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-795.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-812.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-918.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-922.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-972.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-992.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-994.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2022-1032.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2022-445.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2022-661.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2022-670.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2022-709.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2023-102.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2023-436.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2023-504.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2023-566.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2024-469.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2025-449.txt create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/libpcap-1.9.1.tar.gz create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/patches/combined.diff create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/patches/harness.diff create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2020-1011-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2020-1013-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2020-1015-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2020-1019-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2020-1074-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2020-1112-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2020-1114-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2020-1131-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2020-1133-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2020-1187-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2020-1194-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2020-1233-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2020-1263-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2020-1294-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2020-136-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2020-154-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2020-1715-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2020-179-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2020-194-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2020-28-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2020-342-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2020-49-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2020-59-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2020-774-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2020-78-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2020-795-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2020-812-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2020-918-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2020-922-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2020-972-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2020-992-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2020-994-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2022-1032-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2022-445-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2022-661-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2022-670-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2022-709-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2023-102-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2023-436-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2023-504-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2023-566-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2024-469-patched create mode 100644 benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2025-449-patched diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/Dockerfile b/benchmarks/ndpi_transplant_fuzz_process_packet/Dockerfile new file mode 100644 index 000000000..662fe78f4 --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/Dockerfile @@ -0,0 +1,26 @@ +FROM gcr.io/oss-fuzz-base/base-builder@sha256:87ca1e9e19235e731fac8de8d1892ebe8d55caf18e7aa131346fc582a2034fdd + +# Dependencies for building nDPI + libpcap. +RUN apt-get update && apt-get install -y --no-install-recommends \ + autoconf automake libtool pkg-config \ + flex bison gettext libbison-dev libfl-dev \ + libjson-c-dev zlib1g-dev \ + && rm -rf /var/lib/apt/lists/* + +# Full clone — build.sh checks out the target commit, so history is needed. +RUN git clone https://github.com/ntop/nDPI.git /src/ndpi + +WORKDIR /src/ndpi + +# Keep ASan stack-use-after-return detection enabled for direct testcase replay. +ENV ASAN_OPTIONS="detect_leaks=0:detect_stack_use_after_return=1" +ENV UBSAN_OPTIONS="print_stacktrace=1:halt_on_error=1:abort_on_error=1" + +# Vendored libpcap tarball (offline-build reproducibility, +# sha256: 635237637c5b619bcceba91900666b64d56ecb7be63f298f601ec786ce087094). +COPY libpcap-1.9.1.tar.gz /src/libpcap-1.9.1.tar.gz + +# Bug transplant patches (re-applied by build.sh after checkout resets source). +COPY patches/ /src/patches/ +COPY seeds/ /src/benchmark_seeds/ +COPY build.sh $SRC/ diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/benchmark.yaml b/benchmarks/ndpi_transplant_fuzz_process_packet/benchmark.yaml new file mode 100644 index 000000000..a649270fb --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/benchmark.yaml @@ -0,0 +1,5 @@ +project: ndpi +fuzz_target: fuzz_process_packet +commit: e695dd6eade754b2d50bdf297ca8bdc4105f93ff +commit_date: 2019-12-04T12:02:08-05:00 +type: bug diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/bug_metadata.json b/benchmarks/ndpi_transplant_fuzz_process_packet/bug_metadata.json new file mode 100644 index 000000000..6dc86974f --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/bug_metadata.json @@ -0,0 +1,309 @@ +{ + "project": "ndpi", + "target_commit": "e695dd6eade754b2d50bdf297ca8bdc4105f93ff", + "dispatch_bytes": 2, + "total_bugs": 43, + "bugs": { + "OSV-2020-342": { + "dispatch_value": 1, + "triggered": true, + "crash_file": "/src/ndpi/src/lib/ndpi_utils.c", + "crash_line": 218, + "crash_function": "ndpi_net_match" + }, + "OSV-2020-774": { + "dispatch_value": 2, + "triggered": true, + "crash_file": "/src/ndpi/src/lib/protocols/kerberos.c", + "crash_line": 423, + "crash_function": "ndpi_search_kerberos_original" + }, + "OSV-2020-1715": { + "dispatch_value": 4, + "triggered": true, + "crash_file": "/src/ndpi/src/lib/protocols/kerberos.c", + "crash_line": 240, + "crash_function": "ndpi_search_kerberos_osv_2020_1715" + }, + "OSV-2022-445": { + "dispatch_value": 8, + "triggered": true, + "crash_file": "/src/ndpi/src/lib/ndpi_utils.c", + "crash_line": 218, + "crash_function": "ndpi_net_match" + }, + "OSV-2022-661": { + "dispatch_value": 16, + "triggered": true, + "crash_file": "/src/ndpi/src/lib/protocols/softether.c", + "crash_line": 85, + "crash_function": "dissect_softether_ip_port" + }, + "OSV-2022-670": { + "dispatch_value": 32, + "triggered": true, + "crash_file": "/src/ndpi/src/lib/protocols/softether.c", + "crash_line": 140, + "crash_function": "ndpi_search_softether" + }, + "OSV-2022-709": { + "dispatch_value": 64, + "triggered": true, + "crash_file": "/src/ndpi/src/lib/protocols/softether.c", + "crash_line": 113, + "crash_function": "dissect_softether_host_fqdn" + }, + "OSV-2022-1032": { + "dispatch_value": 128, + "triggered": true, + "crash_file": "/src/ndpi/src/lib/protocols/http.c", + "crash_line": 238, + "crash_function": "check_content_type_and_change_protocol" + }, + "OSV-2023-102": { + "dispatch_value": 256, + "triggered": true, + "crash_file": "/src/ndpi/fuzz/fuzz_process_packet.c", + "crash_line": 33, + "crash_function": "LLVMFuzzerTestOneInput" + }, + "OSV-2023-436": { + "dispatch_value": 512, + "triggered": true, + "crash_file": "/src/ndpi/src/lib/ndpi_utils.c", + "crash_line": 63, + "crash_function": "ndpi_check_punycode_string" + }, + "OSV-2023-504": { + "dispatch_value": 1024, + "triggered": true, + "crash_file": "/src/ndpi/src/lib/protocols/line.c", + "crash_line": 52, + "crash_function": "ndpi_search_line" + }, + "OSV-2023-566": { + "dispatch_value": 2048, + "triggered": true, + "crash_file": "/src/ndpi/src/lib/protocols/http.c", + "crash_line": 134, + "crash_function": "ndpi_http_check_content" + }, + "OSV-2024-469": { + "dispatch_value": 4096, + "triggered": true, + "crash_file": "/src/ndpi/src/lib/ndpi_main.c", + "crash_line": 6071, + "crash_function": "ndpi_strnstr" + }, + "OSV-2025-449": { + "dispatch_value": 8192, + "triggered": true, + "crash_file": "/src/ndpi/src/lib/protocols/http.c", + "crash_line": 149, + "crash_function": "ndpi_check_http_server" + }, + "OSV-2020-28": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ndpi/src/lib/protocols/dns.c", + "crash_line": 50, + "crash_function": "getNameLength" + }, + "OSV-2020-49": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ndpi/src/lib/protocols/netbios.c", + "crash_line": 42, + "crash_function": "ndpi_netbios_name_interpret" + }, + "OSV-2020-59": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ndpi/src/lib/ndpi_utils.c", + "crash_line": 218, + "crash_function": "ndpi_net_match" + }, + "OSV-2020-78": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ndpi/src/lib/protocols/spotify.c", + "crash_line": 51, + "crash_function": "ndpi_check_spotify" + }, + "OSV-2020-136": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ndpi/src/lib/protocols/netbios.c", + "crash_line": 50, + "crash_function": "ndpi_netbios_name_interpret" + }, + "OSV-2020-154": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ndpi/src/lib/protocols/dns.c", + "crash_line": 142, + "crash_function": "search_valid_dns" + }, + "OSV-2020-179": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ndpi/src/lib/protocols/dns.c", + "crash_line": 40, + "crash_function": "get16" + }, + "OSV-2020-194": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ndpi/src/lib/ndpi_utils.c", + "crash_line": 218, + "crash_function": "ndpi_net_match" + }, + "OSV-2020-795": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ndpi/src/lib/protocols/iax.c", + "crash_line": 70, + "crash_function": "ndpi_search_setup_iax" + }, + "OSV-2020-812": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ndpi/src/lib/protocols/netbios.c", + "crash_line": 50, + "crash_function": "ndpi_netbios_name_interpret" + }, + "OSV-2020-918": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ndpi/src/lib/protocols/oracle.c", + "crash_line": 46, + "crash_function": "ndpi_search_oracle" + }, + "OSV-2020-922": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ndpi/src/lib/protocols/h323.c", + "crash_line": 81, + "crash_function": "ndpi_search_h323" + }, + "OSV-2020-972": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ndpi/src/lib/ndpi_utils.c", + "crash_line": 218, + "crash_function": "ndpi_net_match" + }, + "OSV-2020-992": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ndpi/src/lib/ndpi_utils.c", + "crash_line": 218, + "crash_function": "ndpi_net_match" + }, + "OSV-2020-994": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ndpi/src/lib/ndpi_utils.c", + "crash_line": 218, + "crash_function": "ndpi_net_match" + }, + "OSV-2020-1011": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ndpi/src/lib/ndpi_utils.c", + "crash_line": 218, + "crash_function": "ndpi_net_match" + }, + "OSV-2020-1013": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ndpi/src/lib/ndpi_utils.c", + "crash_line": 218, + "crash_function": "ndpi_net_match" + }, + "OSV-2020-1015": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ndpi/src/lib/protocols/memcached.c", + "crash_line": 162, + "crash_function": "ndpi_search_memcached" + }, + "OSV-2020-1019": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ndpi/src/lib/ndpi_utils.c", + "crash_line": 218, + "crash_function": "ndpi_net_match" + }, + "OSV-2020-1074": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ndpi/src/lib/ndpi_utils.c", + "crash_line": 218, + "crash_function": "ndpi_net_match" + }, + "OSV-2020-1112": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ndpi/src/lib/protocols/dns.c", + "crash_line": 50, + "crash_function": "getNameLength" + }, + "OSV-2020-1114": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ndpi/src/lib/protocols/stun.c", + "crash_line": 319, + "crash_function": "ndpi_int_check_stun" + }, + "OSV-2020-1131": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ndpi/src/lib/protocols/capwap.c", + "crash_line": 69, + "crash_function": "ndpi_search_setup_capwap" + }, + "OSV-2020-1133": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ndpi/src/lib/ndpi_utils.c", + "crash_line": 218, + "crash_function": "ndpi_net_match" + }, + "OSV-2020-1187": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ndpi/src/lib/protocols/stun.c", + "crash_line": 354, + "crash_function": "ndpi_int_check_stun" + }, + "OSV-2020-1194": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ndpi/src/lib/ndpi_utils.c", + "crash_line": 218, + "crash_function": "ndpi_net_match" + }, + "OSV-2020-1233": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ndpi/src/lib/ndpi_utils.c", + "crash_line": 218, + "crash_function": "ndpi_net_match" + }, + "OSV-2020-1263": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ndpi/src/lib/ndpi_utils.c", + "crash_line": 218, + "crash_function": "ndpi_net_match" + }, + "OSV-2020-1294": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ndpi/src/lib/ndpi_utils.c", + "crash_line": 218, + "crash_function": "ndpi_net_match" + } + } +} diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/build.sh b/benchmarks/ndpi_transplant_fuzz_process_packet/build.sh new file mode 100755 index 000000000..151a6f1c5 --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/build.sh @@ -0,0 +1,166 @@ +#!/bin/bash -eu +# Generated by fuzzbench_generate.py for bug transplant evaluation + +cd /src/ndpi + +# Checkout target commit +git checkout e695dd6eade754b2d50bdf297ca8bdc4105f93ff + +# Restore harness sources that live outside the project git repository. +if [ -f /src/patches/harness_sources/manifest.json ]; then + python3 - <<'PY' +import json +import shutil +from pathlib import Path + +root = Path("/src/patches/harness_sources") +for entry in json.loads((root / "manifest.json").read_text()): + source = root / entry["snapshot"] + destination = Path(entry["container_path"]) + destination.parent.mkdir(parents=True, exist_ok=True) + shutil.copy2(source, destination) +PY +fi + +# Apply dispatch harness first (modifies build system), then bug patches +if ! git apply --check /src/patches/harness.diff 2>/dev/null; then + echo "Trying git apply --3way for harness.diff..." + git apply --3way /src/patches/harness.diff +else + git apply /src/patches/harness.diff +fi + +if ! git apply --check /src/patches/combined.diff 2>/dev/null; then + echo "Trying git apply --3way for combined.diff..." + git apply --3way /src/patches/combined.diff +else + git apply /src/patches/combined.diff +fi + +# --- Fix library CMakeLists.txt for new source files from combined.diff --- +# combined.diff may create new .c files (e.g., zfp_getcell.c) that need to +# be added to the library's explicit source list. +if [ -d blosc ] && [ -f blosc/CMakeLists.txt ]; then + for newfile in blosc/*.c; do + base=$(basename "$newfile") + if ! grep -q "$base" blosc/CMakeLists.txt 2>/dev/null; then + echo "Adding $base to blosc/CMakeLists.txt" + sed -i "/^set(SOURCES /s/)/ $base)/" blosc/CMakeLists.txt + fi + done +fi + +# --- Original build commands --- +cd /src +tar -xvzf /src/libpcap-1.9.1.tar.gz +cd /src/libpcap-1.9.1 +# Disable optional backends so libpcap.a doesn't pick up dbus/bluetooth/rdma +# symbols from whatever -dev packages the current fuzzer builder happens to +# pull in transitively (e.g. libglib2.0-dev -> libdbus-1-dev in aflplusplus's +# builder). Without this, libpcap.a has undefined refs to dbus_*, bluetooth_*, +# etc. and nDPI's configure link test for pcap_open_live silently fails, +# leaving no fuzz/Makefile and no binary. +# Honor $CC/$CXX so libpcap gets the same instrumentation as nDPI. Without +# this, libpcap.a is built with /usr/bin/gcc and contains zero coverage edges +# for the fuzzer's edge-count map; LibAFL then rejects every seed during +# calibration ("Failed to load initial corpus") because all execution time +# spent inside libpcap looks like dead code. Other fuzzers tolerate this +# silently but produce a weaker coverage signal. +./configure --disable-shared \ + --disable-dbus --disable-bluetooth --disable-rdma \ + --without-libnl --without-dpdk --without-dag --without-septel --without-snf \ + CC="$CC" CXX="$CXX" +make -j$(nproc) -k CC="$CC" CXX="$CXX" 2>&1 || true +make install +cd .. + +# build project +cd /src/ndpi +# Promote common UB classes to non-recoverable so fuzzers register them as +# crashes. Without this, UBSan just prints "runtime error:" and keeps going, +# so shallow UB bugs (e.g. shift-exponent) are invisible to libfuzzer/AFL. +UB_CLASSES=shift,integer-divide-by-zero,null,bounds,vla-bound,return,unreachable +export CFLAGS="${CFLAGS:-} -fsanitize=$UB_CLASSES -fno-sanitize-recover=$UB_CLASSES" +export CXXFLAGS="${CXXFLAGS:-} -fsanitize=$UB_CLASSES -fno-sanitize-recover=$UB_CLASSES" +sh autogen.sh +./configure --enable-fuzztargets CC="$CC" CXX="$CXX" +make -k CC="$CC" CXX="$CXX" 2>&1 || true +ls fuzz/fuzz* | grep -v "\." | while read i; do cp $i $OUT/; done + + +# --- Seed corpus: expand original seeds and per-bug testcase candidates --- +# FuzzBench uses $OUT/{fuzz_target}_seed_corpus.zip as initial corpus. +# Create one seed variant for the default path plus one for each dispatch bit. +# Per-bug reproducers are used only as source material: exact crashing inputs +# are filtered out before packaging. +seed_zip="$OUT/fuzz_process_packet_seed_corpus.zip" +seed_target="$OUT/fuzz_process_packet" +mkdir -p /tmp/seeds_dispatch /tmp/original_seeds /tmp/benchmark_seed_candidates + +if [ -f "$seed_zip" ]; then + unzip -q -o "$seed_zip" -d /tmp/original_seeds 2>/dev/null || true + for f in /tmp/original_seeds/*; do + [ -f "$f" ] || continue + base=$(basename "$f") + for dispatch in '\x00\x00' '\x01\x00' '\x02\x00' '\x04\x00' '\x08\x00' '\x10\x00' '\x20\x00' '\x40\x00' '\x80\x00' '\x00\x01' '\x00\x02' '\x00\x04' '\x00\x08' '\x00\x10' '\x00\x20' '\x00\x40' '\x00\x80'; do + dispatch_name=$(printf '%s' "$dispatch" | tr -d '\x') + printf '%b' "$dispatch" | cat - "$f" > "/tmp/seeds_dispatch/${base}.dispatch_${dispatch_name}" + done + done +fi + +if [ -d /src/benchmark_seeds ]; then + for f in /src/benchmark_seeds/*; do + [ -f "$f" ] || continue + base=$(basename "$f") + size=$(wc -c < "$f") + [ "$size" -gt 0 ] || continue + + cp "$f" "/tmp/benchmark_seed_candidates/${base}.exact" + # Zero the dispatch byte (byte 0): deactivates dispatch-gated patches + # while keeping the full APDU conversation and card driver routing intact. + cp "$f" "/tmp/benchmark_seed_candidates/${base}.dispatch_zero" + printf '\000' | dd of="/tmp/benchmark_seed_candidates/${base}.dispatch_zero" bs=1 seek=0 conv=notrunc 2>/dev/null || true + for keep in 1 2 8 16 64 256 1024; do + if [ "$size" -gt "$keep" ]; then + head -c "$keep" "$f" > "/tmp/benchmark_seed_candidates/${base}.head_${keep}" + fi + done + if [ "$size" -gt 1 ]; then + head -c "$((size - 1))" "$f" > "/tmp/benchmark_seed_candidates/${base}.trim_1" + cp "$f" "/tmp/benchmark_seed_candidates/${base}.zero_last" + printf '\000' | dd of="/tmp/benchmark_seed_candidates/${base}.zero_last" bs=1 seek="$((size - 1))" conv=notrunc 2>/dev/null || true + cp "$f" "/tmp/benchmark_seed_candidates/${base}.ff_last" + printf '\377' | dd of="/tmp/benchmark_seed_candidates/${base}.ff_last" bs=1 seek="$((size - 1))" conv=notrunc 2>/dev/null || true + fi + if [ "$size" -gt 4 ]; then + mid=$((size / 2)) + cp "$f" "/tmp/benchmark_seed_candidates/${base}.zero_mid" + printf '\000' | dd of="/tmp/benchmark_seed_candidates/${base}.zero_mid" bs=1 seek="$mid" conv=notrunc 2>/dev/null || true + cp "$f" "/tmp/benchmark_seed_candidates/${base}.ff_mid" + printf '\377' | dd of="/tmp/benchmark_seed_candidates/${base}.ff_mid" bs=1 seek="$mid" conv=notrunc 2>/dev/null || true + fi + done +fi + +if [ -x "$seed_target" ] && ls /tmp/benchmark_seed_candidates/* 1>/dev/null 2>&1; then + for f in /tmp/benchmark_seed_candidates/*; do + [ -f "$f" ] || continue + # Drop seeds too small to contain a pcap global header (24 bytes). + # libafl's seed-calibration respawner panics when every initial seed + # causes the target to exit 0 at the first byte — which happens for + # 1-to-16-byte .head_* variants that trip nDPI's early-return path. + fsize=$(wc -c < "$f") + if [ "$fsize" -lt 24 ]; then + continue + fi + if timeout 10s env ASAN_OPTIONS="${ASAN_OPTIONS:-detect_leaks=0:detect_stack_use_after_return=1}" "$seed_target" "$f" >/tmp/seed_replay.log 2>&1; then + cp "$f" "/tmp/seeds_dispatch/poc_$(basename "$f")" + fi + done +fi + +if ls /tmp/seeds_dispatch/* 1>/dev/null 2>&1; then + rm -f "$seed_zip" + zip -j -q "$seed_zip" /tmp/seeds_dispatch/* +fi diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1011.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1011.txt new file mode 100644 index 000000000..8890092d1 --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1011.txt @@ -0,0 +1,20 @@ +INFO: Seed: 4134000162 +/out/fuzz_process_packet: Running 1 inputs 1 time(s) each. +Running: /tmp/testcase +ndpi_utils.c:218:18: runtime error: shift exponent 32 is too large for 32-bit type 'u_int32_t' (aka 'unsigned int') + #0 0x5b4303 in ndpi_net_match /src/ndpi/src/lib/ndpi_utils.c:218:18 + #1 0x5b4303 in ndpi_ips_match /src/ndpi/src/lib/ndpi_utils.c:226:10 + #2 0x547a91 in sc2_match_logon_ip /src/ndpi/src/lib/protocols/starcraft.c:37:11 + #3 0x547c27 in ndpi_check_starcraft_tcp /src/ndpi/src/lib/protocols/starcraft.c:52:7 + #4 0x548467 in ndpi_search_starcraft /src/ndpi/src/lib/protocols/starcraft.c:131:16 + #5 0x4f6b0f in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4061:4 + #6 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #7 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 + #8 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #9 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #10 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #11 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #12 0x7fd05d7bd082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #13 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) + +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ndpi_utils.c:218:18 in diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1013.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1013.txt new file mode 100644 index 000000000..bbf2d17ed --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1013.txt @@ -0,0 +1,20 @@ +INFO: Seed: 4136249366 +/out/fuzz_process_packet: Running 1 inputs 1 time(s) each. +Running: /tmp/testcase +ndpi_utils.c:218:18: runtime error: shift exponent 32 is too large for 32-bit type 'u_int32_t' (aka 'unsigned int') + #0 0x5b4303 in ndpi_net_match /src/ndpi/src/lib/ndpi_utils.c:218:18 + #1 0x5b4303 in ndpi_ips_match /src/ndpi/src/lib/ndpi_utils.c:226:10 + #2 0x547a91 in sc2_match_logon_ip /src/ndpi/src/lib/protocols/starcraft.c:37:11 + #3 0x547c27 in ndpi_check_starcraft_tcp /src/ndpi/src/lib/protocols/starcraft.c:52:7 + #4 0x548467 in ndpi_search_starcraft /src/ndpi/src/lib/protocols/starcraft.c:131:16 + #5 0x4f6b0f in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4061:4 + #6 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #7 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 + #8 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #9 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #10 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #11 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #12 0x7fb0833f6082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #13 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) + +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ndpi_utils.c:218:18 in diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1015.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1015.txt new file mode 100644 index 000000000..a7bcaa779 --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1015.txt @@ -0,0 +1,62 @@ +INFO: Seed: 4138424798 +/out/fuzz_process_packet: Running 1 inputs 1 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60400000013c at pc 0x000000439ca6 bp 0x7ffc8af95ec0 sp 0x7ffc8af95670 +READ of size 13 at 0x60400000013c thread T0 + #0 0x439ca5 in MemcmpInterceptorCommon(void*, int (*)(void const*, void const*, unsigned long), void const*, void const*, unsigned long) /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:860:7 + #1 0x43a1fb in bcmp /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:906:10 + #2 0x525127 in ndpi_search_memcached /src/ndpi/src/lib/protocols/memcached.c:162:14 + #3 0x4f22f4 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4018:7 + #4 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #5 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 + #6 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #7 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #8 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #9 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #10 0x7f1a9357d082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #11 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) + +0x60400000013c is located 0 bytes to the right of 44-byte region [0x604000000110,0x60400000013c) +allocated by thread T0 here: + #0 0x4a0ca6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0x4de202 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 + #2 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7f1a9357d082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:860:7 in MemcmpInterceptorCommon(void*, int (*)(void const*, void const*, unsigned long), void const*, void const*, unsigned long) +Shadow bytes around the buggy address: + 0x0c087fff7fd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c087fff7fe0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c087fff7ff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c087fff8000: fa fa 00 00 00 00 00 00 fa fa 00 00 00 00 00 00 + 0x0c087fff8010: fa fa 00 00 00 00 00 06 fa fa 00 00 00 00 00 06 +=>0x0c087fff8020: fa fa 00 00 00 00 00[04]fa fa 00 00 00 00 00 05 + 0x0c087fff8030: fa fa 00 00 00 00 01 fa fa fa 00 00 00 00 07 fa + 0x0c087fff8040: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8050: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8060: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8070: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1019.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1019.txt new file mode 100644 index 000000000..3b3e99de5 --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1019.txt @@ -0,0 +1,20 @@ +INFO: Seed: 4140649349 +/out/fuzz_process_packet: Running 1 inputs 1 time(s) each. +Running: /tmp/testcase +ndpi_utils.c:218:18: runtime error: shift exponent 32 is too large for 32-bit type 'u_int32_t' (aka 'unsigned int') + #0 0x5b4303 in ndpi_net_match /src/ndpi/src/lib/ndpi_utils.c:218:18 + #1 0x5b4303 in ndpi_ips_match /src/ndpi/src/lib/ndpi_utils.c:226:10 + #2 0x547a91 in sc2_match_logon_ip /src/ndpi/src/lib/protocols/starcraft.c:37:11 + #3 0x547c27 in ndpi_check_starcraft_tcp /src/ndpi/src/lib/protocols/starcraft.c:52:7 + #4 0x548467 in ndpi_search_starcraft /src/ndpi/src/lib/protocols/starcraft.c:131:16 + #5 0x4f6b0f in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4061:4 + #6 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #7 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 + #8 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #9 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #10 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #11 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #12 0x7f800192e082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #13 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) + +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ndpi_utils.c:218:18 in diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1074.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1074.txt new file mode 100644 index 000000000..bbbdbb3d0 --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1074.txt @@ -0,0 +1,20 @@ +INFO: Seed: 4142832974 +/out/fuzz_process_packet: Running 1 inputs 1 time(s) each. +Running: /tmp/testcase +ndpi_utils.c:218:18: runtime error: shift exponent 32 is too large for 32-bit type 'u_int32_t' (aka 'unsigned int') + #0 0x5b4303 in ndpi_net_match /src/ndpi/src/lib/ndpi_utils.c:218:18 + #1 0x5b4303 in ndpi_ips_match /src/ndpi/src/lib/ndpi_utils.c:226:10 + #2 0x547a91 in sc2_match_logon_ip /src/ndpi/src/lib/protocols/starcraft.c:37:11 + #3 0x547c27 in ndpi_check_starcraft_tcp /src/ndpi/src/lib/protocols/starcraft.c:52:7 + #4 0x548467 in ndpi_search_starcraft /src/ndpi/src/lib/protocols/starcraft.c:131:16 + #5 0x4f6b0f in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4061:4 + #6 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #7 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 + #8 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #9 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #10 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #11 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #12 0x7f8690086082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #13 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) + +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ndpi_utils.c:218:18 in diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1112.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1112.txt new file mode 100644 index 000000000..9288de684 --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1112.txt @@ -0,0 +1,62 @@ +INFO: Seed: 4145091390 +/out/fuzz_process_packet: Running 1 inputs 1 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6070000001c0 at pc 0x000000513a38 bp 0x7fffe4153b20 sp 0x7fffe4153b18 +READ of size 1 at 0x6070000001c0 thread T0 + #0 0x513a37 in getNameLength /src/ndpi/src/lib/protocols/dns.c:50:6 + #1 0x51274f in search_valid_dns /src/ndpi/src/lib/protocols/dns.c:164:19 + #2 0x51274f in ndpi_search_dns /src/ndpi/src/lib/protocols/dns.c:253:19 + #3 0x4f4070 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4005:2 + #4 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #5 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 + #6 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #7 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #8 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #9 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #10 0x7f980f9f6082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #11 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) + +0x6070000001c0 is located 9 bytes to the right of 71-byte region [0x607000000170,0x6070000001b7) +allocated by thread T0 here: + #0 0x4a0ca6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0x4de202 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 + #2 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7f980f9f6082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/src/lib/protocols/dns.c:50:6 in getNameLength +Shadow bytes around the buggy address: + 0x0c0e7fff7fe0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c0e7fff7ff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c0e7fff8000: fa fa fa fa fd fd fd fd fd fd fd fd fd fa fa fa + 0x0c0e7fff8010: fa fa 00 00 00 00 00 00 00 00 00 01 fa fa fa fa + 0x0c0e7fff8020: 00 00 00 00 00 00 00 00 00 01 fa fa fa fa 00 00 +=>0x0c0e7fff8030: 00 00 00 00 00 00 07 fa[fa]fa fa fa fa fa fa fa + 0x0c0e7fff8040: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0e7fff8050: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0e7fff8060: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0e7fff8070: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0e7fff8080: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1114.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1114.txt new file mode 100644 index 000000000..065af8ad7 --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1114.txt @@ -0,0 +1,61 @@ +INFO: Seed: 4147532681 +/out/fuzz_process_packet: Running 1 inputs 1 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x606000000232 at pc 0x00000055dcf7 bp 0x7fffb0a00f90 sp 0x7fffb0a00f88 +READ of size 2 at 0x606000000232 thread T0 + #0 0x55dcf6 in ndpi_int_check_stun /src/ndpi/src/lib/protocols/stun.c:319:25 + #1 0x55be2c in ndpi_search_stun /src/ndpi/src/lib/protocols/stun.c:512:6 + #2 0x4f22f4 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4018:7 + #3 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #4 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 + #5 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #6 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #7 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #8 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #9 0x7fa8a92d7082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #10 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) + +0x606000000233 is located 0 bytes to the right of 51-byte region [0x606000000200,0x606000000233) +allocated by thread T0 here: + #0 0x4a0ca6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0x4de202 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 + #2 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7fa8a92d7082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/src/lib/protocols/stun.c:319:25 in ndpi_int_check_stun +Shadow bytes around the buggy address: + 0x0c0c7fff7ff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c0c7fff8000: fa fa fa fa fd fd fd fd fd fd fd fd fa fa fa fa + 0x0c0c7fff8010: 00 00 00 00 00 00 00 03 fa fa fa fa 00 00 00 00 + 0x0c0c7fff8020: 00 00 00 fa fa fa fa fa 00 00 00 00 00 00 05 fa + 0x0c0c7fff8030: fa fa fa fa 00 00 00 00 00 00 05 fa fa fa fa fa +=>0x0c0c7fff8040: 00 00 00 00 00 00[03]fa fa fa fa fa 00 00 00 00 + 0x0c0c7fff8050: 00 00 00 fa fa fa fa fa 00 00 00 00 00 00 00 fa + 0x0c0c7fff8060: fa fa fa fa 00 00 00 00 00 00 00 fa fa fa fa fa + 0x0c0c7fff8070: 00 00 00 00 00 00 00 fa fa fa fa fa 00 00 00 00 + 0x0c0c7fff8080: 00 00 00 fa fa fa fa fa 00 00 00 00 00 00 00 fa + 0x0c0c7fff8090: fa fa fa fa 00 00 00 00 00 00 00 fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1131.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1131.txt new file mode 100644 index 000000000..9484254a9 --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1131.txt @@ -0,0 +1,61 @@ +INFO: Seed: 4149749657 +/out/fuzz_process_packet: Running 1 inputs 1 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x604000000139 at pc 0x00000053e057 bp 0x7fffb885b4f0 sp 0x7fffb885b4e8 +READ of size 2 at 0x604000000139 thread T0 + #0 0x53e056 in ndpi_search_setup_capwap /src/ndpi/src/lib/protocols/capwap.c:69:15 + #1 0x53e056 in ndpi_search_capwap /src/ndpi/src/lib/protocols/capwap.c:108:5 + #2 0x4f4070 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4005:2 + #3 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #4 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 + #5 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #6 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #7 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #8 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #9 0x7fb57c718082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #10 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) + +0x604000000139 is located 8 bytes to the right of 33-byte region [0x604000000110,0x604000000131) +allocated by thread T0 here: + #0 0x4a0ca6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0x4de202 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 + #2 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7fb57c718082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/src/lib/protocols/capwap.c:69:15 in ndpi_search_setup_capwap +Shadow bytes around the buggy address: + 0x0c087fff7fd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c087fff7fe0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c087fff7ff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c087fff8000: fa fa 00 00 00 00 00 00 fa fa 00 00 00 00 00 00 + 0x0c087fff8010: fa fa 00 00 00 00 03 fa fa fa 00 00 00 00 03 fa +=>0x0c087fff8020: fa fa 00 00 00 00 01[fa]fa fa 00 00 00 00 00 05 + 0x0c087fff8030: fa fa 00 00 00 00 01 fa fa fa 00 00 00 00 07 fa + 0x0c087fff8040: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8050: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8060: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8070: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1133.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1133.txt new file mode 100644 index 000000000..6b0bd8f8d --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1133.txt @@ -0,0 +1,20 @@ +INFO: Seed: 4151933193 +/out/fuzz_process_packet: Running 1 inputs 1 time(s) each. +Running: /tmp/testcase +ndpi_utils.c:218:18: runtime error: shift exponent 32 is too large for 32-bit type 'u_int32_t' (aka 'unsigned int') + #0 0x5b4303 in ndpi_net_match /src/ndpi/src/lib/ndpi_utils.c:218:18 + #1 0x5b4303 in ndpi_ips_match /src/ndpi/src/lib/ndpi_utils.c:226:10 + #2 0x547a91 in sc2_match_logon_ip /src/ndpi/src/lib/protocols/starcraft.c:37:11 + #3 0x547c27 in ndpi_check_starcraft_tcp /src/ndpi/src/lib/protocols/starcraft.c:52:7 + #4 0x548467 in ndpi_search_starcraft /src/ndpi/src/lib/protocols/starcraft.c:131:16 + #5 0x4f6b0f in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4061:4 + #6 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #7 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 + #8 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #9 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #10 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #11 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #12 0x7f117c63b082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #13 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) + +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ndpi_utils.c:218:18 in diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1187.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1187.txt new file mode 100644 index 000000000..db8f08c60 --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1187.txt @@ -0,0 +1,61 @@ +INFO: Seed: 4154099699 +/out/fuzz_process_packet: Running 1 inputs 1 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60600000023a at pc 0x00000055dd0b bp 0x7ffd09cf5cf0 sp 0x7ffd09cf5ce8 +READ of size 1 at 0x60600000023a thread T0 + #0 0x55dd0a in ndpi_int_check_stun /src/ndpi/src/lib/protocols/stun.c:354:43 + #1 0x55be2c in ndpi_search_stun /src/ndpi/src/lib/protocols/stun.c:512:6 + #2 0x4f22f4 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4018:7 + #3 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #4 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 + #5 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #6 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #7 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #8 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #9 0x7f6bba36a082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #10 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) + +0x60600000023a is located 0 bytes to the right of 58-byte region [0x606000000200,0x60600000023a) +allocated by thread T0 here: + #0 0x4a0ca6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0x4de202 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 + #2 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7f6bba36a082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/src/lib/protocols/stun.c:354:43 in ndpi_int_check_stun +Shadow bytes around the buggy address: + 0x0c0c7fff7ff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c0c7fff8000: fa fa fa fa fd fd fd fd fd fd fd fd fa fa fa fa + 0x0c0c7fff8010: 00 00 00 00 00 00 00 03 fa fa fa fa 00 00 00 00 + 0x0c0c7fff8020: 00 00 00 fa fa fa fa fa 00 00 00 00 00 00 00 04 + 0x0c0c7fff8030: fa fa fa fa 00 00 00 00 00 00 00 04 fa fa fa fa +=>0x0c0c7fff8040: 00 00 00 00 00 00 00[02]fa fa fa fa 00 00 00 00 + 0x0c0c7fff8050: 00 00 00 fa fa fa fa fa 00 00 00 00 00 00 00 fa + 0x0c0c7fff8060: fa fa fa fa 00 00 00 00 00 00 00 fa fa fa fa fa + 0x0c0c7fff8070: 00 00 00 00 00 00 00 fa fa fa fa fa 00 00 00 00 + 0x0c0c7fff8080: 00 00 00 fa fa fa fa fa 00 00 00 00 00 00 00 fa + 0x0c0c7fff8090: fa fa fa fa 00 00 00 00 00 00 00 fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1194.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1194.txt new file mode 100644 index 000000000..1286c0ab0 --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1194.txt @@ -0,0 +1,20 @@ +INFO: Seed: 4156649980 +/out/fuzz_process_packet: Running 1 inputs 1 time(s) each. +Running: /tmp/testcase +ndpi_utils.c:218:18: runtime error: shift exponent 32 is too large for 32-bit type 'u_int32_t' (aka 'unsigned int') + #0 0x5b4303 in ndpi_net_match /src/ndpi/src/lib/ndpi_utils.c:218:18 + #1 0x5b4303 in ndpi_ips_match /src/ndpi/src/lib/ndpi_utils.c:226:10 + #2 0x547a91 in sc2_match_logon_ip /src/ndpi/src/lib/protocols/starcraft.c:37:11 + #3 0x547c27 in ndpi_check_starcraft_tcp /src/ndpi/src/lib/protocols/starcraft.c:52:7 + #4 0x548467 in ndpi_search_starcraft /src/ndpi/src/lib/protocols/starcraft.c:131:16 + #5 0x4f6b0f in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4061:4 + #6 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #7 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 + #8 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #9 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #10 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #11 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #12 0x7f6fd1346082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #13 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) + +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ndpi_utils.c:218:18 in diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1233.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1233.txt new file mode 100644 index 000000000..f59ef47f0 --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1233.txt @@ -0,0 +1,20 @@ +INFO: Seed: 4158850455 +/out/fuzz_process_packet: Running 1 inputs 1 time(s) each. +Running: /tmp/testcase +ndpi_utils.c:218:18: runtime error: shift exponent 32 is too large for 32-bit type 'u_int32_t' (aka 'unsigned int') + #0 0x5b4303 in ndpi_net_match /src/ndpi/src/lib/ndpi_utils.c:218:18 + #1 0x5b4303 in ndpi_ips_match /src/ndpi/src/lib/ndpi_utils.c:226:10 + #2 0x547a91 in sc2_match_logon_ip /src/ndpi/src/lib/protocols/starcraft.c:37:11 + #3 0x547c27 in ndpi_check_starcraft_tcp /src/ndpi/src/lib/protocols/starcraft.c:52:7 + #4 0x548467 in ndpi_search_starcraft /src/ndpi/src/lib/protocols/starcraft.c:131:16 + #5 0x4f6b0f in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4061:4 + #6 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #7 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 + #8 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #9 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #10 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #11 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #12 0x7ff476324082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #13 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) + +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ndpi_utils.c:218:18 in diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1263.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1263.txt new file mode 100644 index 000000000..928f9427b --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1263.txt @@ -0,0 +1,20 @@ +INFO: Seed: 4161007915 +/out/fuzz_process_packet: Running 1 inputs 1 time(s) each. +Running: /tmp/testcase +ndpi_utils.c:218:18: runtime error: shift exponent 32 is too large for 32-bit type 'u_int32_t' (aka 'unsigned int') + #0 0x5b4303 in ndpi_net_match /src/ndpi/src/lib/ndpi_utils.c:218:18 + #1 0x5b4303 in ndpi_ips_match /src/ndpi/src/lib/ndpi_utils.c:226:10 + #2 0x547a91 in sc2_match_logon_ip /src/ndpi/src/lib/protocols/starcraft.c:37:11 + #3 0x547c27 in ndpi_check_starcraft_tcp /src/ndpi/src/lib/protocols/starcraft.c:52:7 + #4 0x548467 in ndpi_search_starcraft /src/ndpi/src/lib/protocols/starcraft.c:131:16 + #5 0x4f6b0f in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4061:4 + #6 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #7 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 + #8 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #9 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #10 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #11 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #12 0x7f8643fc1082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #13 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) + +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ndpi_utils.c:218:18 in diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1294.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1294.txt new file mode 100644 index 000000000..a04c6132c --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1294.txt @@ -0,0 +1,20 @@ +INFO: Seed: 4163424412 +/out/fuzz_process_packet: Running 1 inputs 1 time(s) each. +Running: /tmp/testcase +ndpi_utils.c:218:18: runtime error: shift exponent 32 is too large for 32-bit type 'u_int32_t' (aka 'unsigned int') + #0 0x5b4303 in ndpi_net_match /src/ndpi/src/lib/ndpi_utils.c:218:18 + #1 0x5b4303 in ndpi_ips_match /src/ndpi/src/lib/ndpi_utils.c:226:10 + #2 0x547a91 in sc2_match_logon_ip /src/ndpi/src/lib/protocols/starcraft.c:37:11 + #3 0x547c27 in ndpi_check_starcraft_tcp /src/ndpi/src/lib/protocols/starcraft.c:52:7 + #4 0x548467 in ndpi_search_starcraft /src/ndpi/src/lib/protocols/starcraft.c:131:16 + #5 0x4f6b0f in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4061:4 + #6 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #7 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 + #8 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #9 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #10 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #11 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #12 0x7ffa34b0d082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #13 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) + +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ndpi_utils.c:218:18 in diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-136.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-136.txt new file mode 100644 index 000000000..711868cf6 --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-136.txt @@ -0,0 +1,61 @@ +INFO: Seed: 4109408147 +/out/fuzz_process_packet: Running 1 inputs 1 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60b0000002b4 at pc 0x0000005a5513 bp 0x7fffd5a08410 sp 0x7fffd5a08408 +READ of size 1 at 0x60b0000002b4 thread T0 + #0 0x5a5512 in ndpi_netbios_name_interpret /src/ndpi/src/lib/protocols/netbios.c:50:38 + #1 0x5a707e in ndpi_int_netbios_add_connection /src/ndpi/src/lib/protocols/netbios.c:80:8 + #2 0x4f4070 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4005:2 + #3 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #4 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 + #5 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #6 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #7 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #8 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #9 0x7f5b4e5a1082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #10 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) + +0x60b0000002b4 is located 0 bytes to the right of 100-byte region [0x60b000000250,0x60b0000002b4) +allocated by thread T0 here: + #0 0x4a0ca6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0x4de202 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 + #2 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7f5b4e5a1082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/src/lib/protocols/netbios.c:50:38 in ndpi_netbios_name_interpret +Shadow bytes around the buggy address: + 0x0c167fff8000: fa fa fa fa fa fa fa fa fd fd fd fd fd fd fd fd + 0x0c167fff8010: fd fd fd fd fd fa fa fa fa fa fa fa fa fa 00 00 + 0x0c167fff8020: 00 00 00 00 00 00 00 00 00 00 06 fa fa fa fa fa + 0x0c167fff8030: fa fa fa fa 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c167fff8040: 06 fa fa fa fa fa fa fa fa fa 00 00 00 00 00 00 +=>0x0c167fff8050: 00 00 00 00 00 00[04]fa fa fa fa fa fa fa fa fa + 0x0c167fff8060: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c167fff8070: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c167fff8080: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c167fff8090: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c167fff80a0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-154.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-154.txt new file mode 100644 index 000000000..0ae88920a --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-154.txt @@ -0,0 +1,61 @@ +INFO: Seed: 4111633166 +/out/fuzz_process_packet: Running 1 inputs 1 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x604000000139 at pc 0x000000513502 bp 0x7fff323d3ff0 sp 0x7fff323d3fe8 +READ of size 1 at 0x604000000139 thread T0 + #0 0x513501 in search_valid_dns /src/ndpi/src/lib/protocols/dns.c:142:10 + #1 0x513501 in ndpi_search_dns /src/ndpi/src/lib/protocols/dns.c:253:19 + #2 0x4f4070 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4005:2 + #3 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #4 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 + #5 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #6 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #7 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #8 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #9 0x7f01548e4082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #10 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) + +0x604000000139 is located 0 bytes to the right of 41-byte region [0x604000000110,0x604000000139) +allocated by thread T0 here: + #0 0x4a0ca6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0x4de202 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 + #2 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7f01548e4082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/src/lib/protocols/dns.c:142:10 in search_valid_dns +Shadow bytes around the buggy address: + 0x0c087fff7fd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c087fff7fe0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c087fff7ff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c087fff8000: fa fa 00 00 00 00 00 00 fa fa 00 00 00 00 00 00 + 0x0c087fff8010: fa fa 00 00 00 00 00 03 fa fa 00 00 00 00 00 03 +=>0x0c087fff8020: fa fa 00 00 00 00 00[01]fa fa 00 00 00 00 00 05 + 0x0c087fff8030: fa fa 00 00 00 00 01 fa fa fa 00 00 00 00 07 fa + 0x0c087fff8040: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8050: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8060: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8070: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1715.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1715.txt new file mode 100644 index 000000000..349b42c33 --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1715.txt @@ -0,0 +1,17 @@ +INFO: Seed: 4073306577 +/out/fuzz_process_packet: Running 1 inputs 1 time(s) each. +Running: /tmp/testcase +protocols/kerberos.c:240:23: runtime error: index 254 out of bounds for type 'char[48]' + #0 0x559117 in ndpi_search_kerberos_osv_2020_1715 /src/ndpi/src/lib/protocols/kerberos.c:240:23 + #1 0x559117 in ndpi_search_kerberos /src/ndpi/src/lib/protocols/kerberos.c:573:5 + #2 0x4f4070 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4005:2 + #3 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #4 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 + #5 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #6 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #7 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #8 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #9 0x7f1370d89082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #10 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) + +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior protocols/kerberos.c:240:23 in diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-179.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-179.txt new file mode 100644 index 000000000..3163e7c5c --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-179.txt @@ -0,0 +1,62 @@ +INFO: Seed: 4113766743 +/out/fuzz_process_packet: Running 1 inputs 1 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60400000013b at pc 0x0000005135ea bp 0x7ffc9ba55710 sp 0x7ffc9ba55708 +READ of size 2 at 0x60400000013b thread T0 + #0 0x5135e9 in get16 /src/ndpi/src/lib/protocols/dns.c:40:17 + #1 0x5135e9 in search_valid_dns /src/ndpi/src/lib/protocols/dns.c:117:41 + #2 0x5135e9 in ndpi_search_dns /src/ndpi/src/lib/protocols/dns.c:253:19 + #3 0x4f22f4 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4018:7 + #4 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #5 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 + #6 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #7 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #8 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #9 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #10 0x7f384c97d082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #11 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) + +0x60400000013c is located 0 bytes to the right of 44-byte region [0x604000000110,0x60400000013c) +allocated by thread T0 here: + #0 0x4a0ca6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0x4de202 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 + #2 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7f384c97d082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/src/lib/protocols/dns.c:40:17 in get16 +Shadow bytes around the buggy address: + 0x0c087fff7fd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c087fff7fe0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c087fff7ff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c087fff8000: fa fa 00 00 00 00 00 00 fa fa 00 00 00 00 00 00 + 0x0c087fff8010: fa fa 00 00 00 00 00 06 fa fa 00 00 00 00 00 06 +=>0x0c087fff8020: fa fa 00 00 00 00 00[04]fa fa 00 00 00 00 00 05 + 0x0c087fff8030: fa fa 00 00 00 00 01 fa fa fa 00 00 00 00 07 fa + 0x0c087fff8040: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8050: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8060: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8070: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-194.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-194.txt new file mode 100644 index 000000000..b87af8b56 --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-194.txt @@ -0,0 +1,20 @@ +INFO: Seed: 4115942025 +/out/fuzz_process_packet: Running 1 inputs 1 time(s) each. +Running: /tmp/testcase +ndpi_utils.c:218:18: runtime error: shift exponent 32 is too large for 32-bit type 'u_int32_t' (aka 'unsigned int') + #0 0x5b4303 in ndpi_net_match /src/ndpi/src/lib/ndpi_utils.c:218:18 + #1 0x5b4303 in ndpi_ips_match /src/ndpi/src/lib/ndpi_utils.c:226:10 + #2 0x547a91 in sc2_match_logon_ip /src/ndpi/src/lib/protocols/starcraft.c:37:11 + #3 0x547c27 in ndpi_check_starcraft_tcp /src/ndpi/src/lib/protocols/starcraft.c:52:7 + #4 0x548467 in ndpi_search_starcraft /src/ndpi/src/lib/protocols/starcraft.c:131:16 + #5 0x4f6b0f in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4061:4 + #6 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #7 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 + #8 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #9 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #10 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #11 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #12 0x7fe00e48f082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #13 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) + +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ndpi_utils.c:218:18 in diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-28.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-28.txt new file mode 100644 index 000000000..2af599e53 --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-28.txt @@ -0,0 +1,58 @@ +INFO: Seed: 4100474986 +/out/fuzz_process_packet: Running 1 inputs 1 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x604000000187 at pc 0x000000513a38 bp 0x7ffd703feee0 sp 0x7ffd703feed8 +READ of size 1 at 0x604000000187 thread T0 + #0 0x513a37 in getNameLength /src/ndpi/src/lib/protocols/dns.c:50:6 + #1 0x51274f in search_valid_dns /src/ndpi/src/lib/protocols/dns.c:164:19 + #2 0x51274f in ndpi_search_dns /src/ndpi/src/lib/protocols/dns.c:253:19 + #3 0x4f9d32 in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4049:2 + #4 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #5 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 + #6 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #7 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #8 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #9 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #10 0x7f5f0220e082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #11 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) + +0x604000000187 is located 9 bytes to the left of 33-byte region [0x604000000190,0x6040000001b1) +allocated by thread T0 here: + #0 0x4a0ca6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0x4dea83 in ndpi_malloc /src/ndpi/src/lib/ndpi_main.c:88:77 + #2 0x4dea83 in ndpi_strdup /src/ndpi/src/lib/ndpi_main.c:141:13 + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/src/lib/protocols/dns.c:50:6 in getNameLength +Shadow bytes around the buggy address: + 0x0c087fff7fe0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c087fff7ff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c087fff8000: fa fa 00 00 00 00 00 00 fa fa 00 00 00 00 00 00 + 0x0c087fff8010: fa fa 00 00 00 00 00 00 fa fa 00 00 00 00 00 00 + 0x0c087fff8020: fa fa 00 00 00 00 00 06 fa fa 00 00 00 00 00 05 +=>0x0c087fff8030:[fa]fa 00 00 00 00 01 fa fa fa 00 00 00 00 07 fa + 0x0c087fff8040: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8050: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8060: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8070: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8080: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-342.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-342.txt new file mode 100644 index 000000000..9f2c3fe67 --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-342.txt @@ -0,0 +1,20 @@ +INFO: Seed: 4068823920 +/out/fuzz_process_packet: Running 1 inputs 1 time(s) each. +Running: /tmp/testcase +ndpi_utils.c:218:18: runtime error: shift exponent 32 is too large for 32-bit type 'u_int32_t' (aka 'unsigned int') + #0 0x5b4303 in ndpi_net_match /src/ndpi/src/lib/ndpi_utils.c:218:18 + #1 0x5b4303 in ndpi_ips_match /src/ndpi/src/lib/ndpi_utils.c:226:10 + #2 0x547a91 in sc2_match_logon_ip /src/ndpi/src/lib/protocols/starcraft.c:37:11 + #3 0x547c27 in ndpi_check_starcraft_tcp /src/ndpi/src/lib/protocols/starcraft.c:52:7 + #4 0x548467 in ndpi_search_starcraft /src/ndpi/src/lib/protocols/starcraft.c:131:16 + #5 0x4f6b0f in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4061:4 + #6 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #7 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 + #8 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #9 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #10 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #11 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #12 0x7f85f018b082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #13 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) + +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ndpi_utils.c:218:18 in diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-49.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-49.txt new file mode 100644 index 000000000..1bcc868a2 --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-49.txt @@ -0,0 +1,61 @@ +INFO: Seed: 4102815971 +/out/fuzz_process_packet: Running 1 inputs 1 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60400000013a at pc 0x0000005a5444 bp 0x7fff08e5af90 sp 0x7fff08e5af88 +READ of size 1 at 0x60400000013a thread T0 + #0 0x5a5443 in ndpi_netbios_name_interpret /src/ndpi/src/lib/protocols/netbios.c:42:10 + #1 0x5a707e in ndpi_int_netbios_add_connection /src/ndpi/src/lib/protocols/netbios.c:80:8 + #2 0x4f4070 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4005:2 + #3 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #4 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 + #5 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #6 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #7 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #8 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #9 0x7f276e071082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #10 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) + +0x60400000013a is located 0 bytes to the right of 42-byte region [0x604000000110,0x60400000013a) +allocated by thread T0 here: + #0 0x4a0ca6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0x4de202 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 + #2 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7f276e071082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/src/lib/protocols/netbios.c:42:10 in ndpi_netbios_name_interpret +Shadow bytes around the buggy address: + 0x0c087fff7fd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c087fff7fe0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c087fff7ff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c087fff8000: fa fa 00 00 00 00 00 00 fa fa 00 00 00 00 00 00 + 0x0c087fff8010: fa fa 00 00 00 00 00 04 fa fa 00 00 00 00 00 04 +=>0x0c087fff8020: fa fa 00 00 00 00 00[02]fa fa 00 00 00 00 00 05 + 0x0c087fff8030: fa fa 00 00 00 00 01 fa fa fa 00 00 00 00 07 fa + 0x0c087fff8040: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8050: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8060: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8070: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-59.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-59.txt new file mode 100644 index 000000000..02bc99ab5 --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-59.txt @@ -0,0 +1,20 @@ +INFO: Seed: 4104950041 +/out/fuzz_process_packet: Running 1 inputs 1 time(s) each. +Running: /tmp/testcase +ndpi_utils.c:218:18: runtime error: shift exponent 32 is too large for 32-bit type 'u_int32_t' (aka 'unsigned int') + #0 0x5b4303 in ndpi_net_match /src/ndpi/src/lib/ndpi_utils.c:218:18 + #1 0x5b4303 in ndpi_ips_match /src/ndpi/src/lib/ndpi_utils.c:226:10 + #2 0x547a91 in sc2_match_logon_ip /src/ndpi/src/lib/protocols/starcraft.c:37:11 + #3 0x547c27 in ndpi_check_starcraft_tcp /src/ndpi/src/lib/protocols/starcraft.c:52:7 + #4 0x548467 in ndpi_search_starcraft /src/ndpi/src/lib/protocols/starcraft.c:131:16 + #5 0x4f6b0f in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4061:4 + #6 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #7 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 + #8 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #9 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #10 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #11 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #12 0x7fb42fea6082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #13 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) + +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ndpi_utils.c:218:18 in diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-774.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-774.txt new file mode 100644 index 000000000..3701c015a --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-774.txt @@ -0,0 +1,61 @@ +INFO: Seed: 4071031974 +/out/fuzz_process_packet: Running 1 inputs 1 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60e00000037d at pc 0x00000055867e bp 0x7fff33513550 sp 0x7fff33513548 +READ of size 1 at 0x60e00000037d thread T0 + #0 0x55867d in ndpi_search_kerberos_original /src/ndpi/src/lib/protocols/kerberos.c:423:14 + #1 0x55867d in ndpi_search_kerberos /src/ndpi/src/lib/protocols/kerberos.c:575:5 + #2 0x4f4070 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4005:2 + #3 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #4 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 + #5 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #6 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #7 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #8 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #9 0x7f353c990082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #10 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) + +0x60e00000037d is located 0 bytes to the right of 157-byte region [0x60e0000002e0,0x60e00000037d) +allocated by thread T0 here: + #0 0x4a0ca6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0x4de202 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 + #2 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7f353c990082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/src/lib/protocols/kerberos.c:423:14 in ndpi_search_kerberos_original +Shadow bytes around the buggy address: + 0x0c1c7fff8010: 00 00 00 00 00 00 00 00 00 00 00 00 fa fa fa fa + 0x0c1c7fff8020: fa fa fa fa 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c1c7fff8030: 00 00 00 00 00 00 00 07 fa fa fa fa fa fa fa fa + 0x0c1c7fff8040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c1c7fff8050: 00 00 00 07 fa fa fa fa fa fa fa fa 00 00 00 00 +=>0x0c1c7fff8060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00[05] + 0x0c1c7fff8070: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c1c7fff8080: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c1c7fff8090: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c1c7fff80a0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c1c7fff80b0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-78.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-78.txt new file mode 100644 index 000000000..24ea2429a --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-78.txt @@ -0,0 +1,63 @@ +INFO: Seed: 4107208162 +/out/fuzz_process_packet: Running 1 inputs 1 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6030000001af at pc 0x000000439ca6 bp 0x7ffe231ea080 sp 0x7ffe231e9830 +READ of size 7 at 0x6030000001af thread T0 + #0 0x439ca5 in MemcmpInterceptorCommon(void*, int (*)(void const*, void const*, unsigned long), void const*, void const*, unsigned long) /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:860:7 + #1 0x43a1fb in bcmp /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:906:10 + #2 0x585e96 in ndpi_check_spotify /src/ndpi/src/lib/protocols/spotify.c:51:5 + #3 0x585e96 in ndpi_search_spotify /src/ndpi/src/lib/protocols/spotify.c:131:7 + #4 0x4f22f4 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4018:7 + #5 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #6 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 + #7 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #8 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #9 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #10 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #11 0x7fb535593082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #12 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) + +0x6030000001af is located 0 bytes to the right of 31-byte region [0x603000000190,0x6030000001af) +allocated by thread T0 here: + #0 0x4a0ca6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0x4de202 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 + #2 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7fb535593082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:860:7 in MemcmpInterceptorCommon(void*, int (*)(void const*, void const*, unsigned long), void const*, void const*, unsigned long) +Shadow bytes around the buggy address: + 0x0c067fff7fe0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c067fff7ff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c067fff8000: fa fa 00 00 00 fa fa fa 00 00 00 00 fa fa 00 00 + 0x0c067fff8010: 00 00 fa fa 00 00 00 fa fa fa 00 00 00 00 fa fa + 0x0c067fff8020: 00 00 00 fa fa fa 00 00 00 fa fa fa 00 00 00 00 +=>0x0c067fff8030: fa fa 00 00 00[07]fa fa 00 00 00 fa fa fa 00 00 + 0x0c067fff8040: 00 fa fa fa 00 00 00 fa fa fa 00 00 00 fa fa fa + 0x0c067fff8050: 00 00 00 fa fa fa 00 00 00 fa fa fa 00 00 00 fa + 0x0c067fff8060: fa fa 00 00 00 fa fa fa 00 00 00 fa fa fa 00 00 + 0x0c067fff8070: 00 fa fa fa 00 00 00 fa fa fa 00 00 00 fa fa fa + 0x0c067fff8080: 00 00 00 fa fa fa 00 00 00 fa fa fa 00 00 00 fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-795.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-795.txt new file mode 100644 index 000000000..9b21d2723 --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-795.txt @@ -0,0 +1,61 @@ +INFO: Seed: 4118259597 +/out/fuzz_process_packet: Running 1 inputs 1 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60400000013d at pc 0x0000005873c7 bp 0x7ffe8ad5b900 sp 0x7ffe8ad5b8f8 +READ of size 1 at 0x60400000013d thread T0 + #0 0x5873c6 in ndpi_search_setup_iax /src/ndpi/src/lib/protocols/iax.c:70:37 + #1 0x5873c6 in ndpi_search_iax /src/ndpi/src/lib/protocols/iax.c:93:5 + #2 0x4f4070 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4005:2 + #3 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #4 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 + #5 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #6 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #7 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #8 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #9 0x7f4b5982e082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #10 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) + +0x60400000013d is located 0 bytes to the right of 45-byte region [0x604000000110,0x60400000013d) +allocated by thread T0 here: + #0 0x4a0ca6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0x4de202 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 + #2 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7f4b5982e082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/src/lib/protocols/iax.c:70:37 in ndpi_search_setup_iax +Shadow bytes around the buggy address: + 0x0c087fff7fd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c087fff7fe0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c087fff7ff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c087fff8000: fa fa 00 00 00 00 00 00 fa fa 00 00 00 00 00 00 + 0x0c087fff8010: fa fa 00 00 00 00 00 07 fa fa 00 00 00 00 00 07 +=>0x0c087fff8020: fa fa 00 00 00 00 00[05]fa fa 00 00 00 00 00 05 + 0x0c087fff8030: fa fa 00 00 00 00 01 fa fa fa 00 00 00 00 07 fa + 0x0c087fff8040: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8050: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8060: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8070: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-812.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-812.txt new file mode 100644 index 000000000..649bb78a1 --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-812.txt @@ -0,0 +1,61 @@ +INFO: Seed: 4120308205 +/out/fuzz_process_packet: Running 1 inputs 1 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60b000000160 at pc 0x0000005a5513 bp 0x7ffcbe8cd490 sp 0x7ffcbe8cd488 +READ of size 1 at 0x60b000000160 thread T0 + #0 0x5a5512 in ndpi_netbios_name_interpret /src/ndpi/src/lib/protocols/netbios.c:50:38 + #1 0x5a707e in ndpi_int_netbios_add_connection /src/ndpi/src/lib/protocols/netbios.c:80:8 + #2 0x4f4070 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4005:2 + #3 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #4 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 + #5 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #6 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #7 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #8 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #9 0x7fbef3ef0082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #10 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) + +0x60b000000160 is located 0 bytes to the right of 112-byte region [0x60b0000000f0,0x60b000000160) +allocated by thread T0 here: + #0 0x4a0ca6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0x4de202 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 + #2 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7fbef3ef0082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/src/lib/protocols/netbios.c:50:38 in ndpi_netbios_name_interpret +Shadow bytes around the buggy address: + 0x0c167fff7fd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c167fff7fe0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c167fff7ff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c167fff8000: fa fa fa fa fa fa fa fa fd fd fd fd fd fd fd fd + 0x0c167fff8010: fd fd fd fd fd fa fa fa fa fa fa fa fa fa 00 00 +=>0x0c167fff8020: 00 00 00 00 00 00 00 00 00 00 00 00[fa]fa fa fa + 0x0c167fff8030: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c167fff8040: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c167fff8050: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c167fff8060: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c167fff8070: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-918.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-918.txt new file mode 100644 index 000000000..45f4088de --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-918.txt @@ -0,0 +1,60 @@ +INFO: Seed: 4122533407 +/out/fuzz_process_packet: Running 1 inputs 1 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x608000000171 at pc 0x000000510b8c bp 0x7fffd44d9320 sp 0x7fffd44d9318 +READ of size 1 at 0x608000000171 thread T0 + #0 0x510b8b in ndpi_search_oracle /src/ndpi/src/lib/protocols/oracle.c:46:41 + #1 0x4f9d32 in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4049:2 + #2 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #3 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 + #4 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #5 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #6 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #7 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #8 0x7f0833015082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #9 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) + +0x608000000171 is located 0 bytes to the right of 81-byte region [0x608000000120,0x608000000171) +allocated by thread T0 here: + #0 0x4a0ca6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0x4de202 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 + #2 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7f0833015082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/src/lib/protocols/oracle.c:46:41 in ndpi_search_oracle +Shadow bytes around the buggy address: + 0x0c107fff7fd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c107fff7fe0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c107fff7ff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c107fff8000: fa fa fa fa 00 00 00 00 00 00 00 00 00 00 03 fa + 0x0c107fff8010: fa fa fa fa 00 00 00 00 00 00 00 00 00 00 03 fa +=>0x0c107fff8020: fa fa fa fa 00 00 00 00 00 00 00 00 00 00[01]fa + 0x0c107fff8030: fa fa fa fa 00 00 00 00 00 00 00 00 00 00 00 fa + 0x0c107fff8040: fa fa fa fa 00 00 00 00 00 00 00 00 00 00 00 fa + 0x0c107fff8050: fa fa fa fa 00 00 00 00 00 00 00 00 00 00 00 fa + 0x0c107fff8060: fa fa fa fa 00 00 00 00 00 00 00 00 00 00 00 fa + 0x0c107fff8070: fa fa fa fa fd fd fd fd fd fd fd fd fd fd fd fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-922.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-922.txt new file mode 100644 index 000000000..a804c930e --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-922.txt @@ -0,0 +1,60 @@ +INFO: Seed: 4124691993 +/out/fuzz_process_packet: Running 1 inputs 1 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60300000020d at pc 0x00000056ddb6 bp 0x7ffdb9ab8e80 sp 0x7ffdb9ab8e78 +READ of size 1 at 0x60300000020d thread T0 + #0 0x56ddb5 in ndpi_search_h323 /src/ndpi/src/lib/protocols/h323.c:81:42 + #1 0x4f4070 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4005:2 + #2 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #3 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 + #4 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #5 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #6 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #7 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #8 0x7f72062e0082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #9 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) + +0x60300000020d is located 0 bytes to the right of 29-byte region [0x6030000001f0,0x60300000020d) +allocated by thread T0 here: + #0 0x4a0ca6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0x4de202 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 + #2 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7f72062e0082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/src/lib/protocols/h323.c:81:42 in ndpi_search_h323 +Shadow bytes around the buggy address: + 0x0c067fff7ff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c067fff8000: fa fa 00 00 00 fa fa fa 00 00 00 00 fa fa 00 00 + 0x0c067fff8010: 00 00 fa fa 00 00 00 fa fa fa 00 00 00 00 fa fa + 0x0c067fff8020: 00 00 00 fa fa fa 00 00 00 fa fa fa 00 00 00 00 + 0x0c067fff8030: fa fa 00 00 00 07 fa fa 00 00 00 07 fa fa 00 00 +=>0x0c067fff8040: 00[05]fa fa 00 00 00 fa fa fa 00 00 00 fa fa fa + 0x0c067fff8050: 00 00 00 fa fa fa 00 00 00 fa fa fa 00 00 00 fa + 0x0c067fff8060: fa fa 00 00 00 fa fa fa 00 00 00 fa fa fa 00 00 + 0x0c067fff8070: 00 fa fa fa 00 00 00 fa fa fa 00 00 00 fa fa fa + 0x0c067fff8080: 00 00 00 fa fa fa 00 00 00 fa fa fa 00 00 00 fa + 0x0c067fff8090: fa fa 00 00 00 fa fa fa 00 00 00 fa fa fa 00 00 +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-972.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-972.txt new file mode 100644 index 000000000..c2f48b5e2 --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-972.txt @@ -0,0 +1,20 @@ +INFO: Seed: 4126982683 +/out/fuzz_process_packet: Running 1 inputs 1 time(s) each. +Running: /tmp/testcase +ndpi_utils.c:218:18: runtime error: shift exponent 32 is too large for 32-bit type 'u_int32_t' (aka 'unsigned int') + #0 0x5b4303 in ndpi_net_match /src/ndpi/src/lib/ndpi_utils.c:218:18 + #1 0x5b4303 in ndpi_ips_match /src/ndpi/src/lib/ndpi_utils.c:226:10 + #2 0x547a91 in sc2_match_logon_ip /src/ndpi/src/lib/protocols/starcraft.c:37:11 + #3 0x547c27 in ndpi_check_starcraft_tcp /src/ndpi/src/lib/protocols/starcraft.c:52:7 + #4 0x548467 in ndpi_search_starcraft /src/ndpi/src/lib/protocols/starcraft.c:131:16 + #5 0x4f6b0f in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4061:4 + #6 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #7 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 + #8 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #9 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #10 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #11 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #12 0x7f117bcad082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #13 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) + +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ndpi_utils.c:218:18 in diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-992.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-992.txt new file mode 100644 index 000000000..8c2a0c516 --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-992.txt @@ -0,0 +1,20 @@ +INFO: Seed: 4129416362 +/out/fuzz_process_packet: Running 1 inputs 1 time(s) each. +Running: /tmp/testcase +ndpi_utils.c:218:18: runtime error: shift exponent 32 is too large for 32-bit type 'u_int32_t' (aka 'unsigned int') + #0 0x5b4303 in ndpi_net_match /src/ndpi/src/lib/ndpi_utils.c:218:18 + #1 0x5b4303 in ndpi_ips_match /src/ndpi/src/lib/ndpi_utils.c:226:10 + #2 0x547a91 in sc2_match_logon_ip /src/ndpi/src/lib/protocols/starcraft.c:37:11 + #3 0x547c27 in ndpi_check_starcraft_tcp /src/ndpi/src/lib/protocols/starcraft.c:52:7 + #4 0x548467 in ndpi_search_starcraft /src/ndpi/src/lib/protocols/starcraft.c:131:16 + #5 0x4f6b0f in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4061:4 + #6 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #7 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 + #8 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #9 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #10 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #11 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #12 0x7f05eca0a082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #13 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) + +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ndpi_utils.c:218:18 in diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-994.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-994.txt new file mode 100644 index 000000000..a6922006b --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-994.txt @@ -0,0 +1,20 @@ +INFO: Seed: 4131774764 +/out/fuzz_process_packet: Running 1 inputs 1 time(s) each. +Running: /tmp/testcase +ndpi_utils.c:218:18: runtime error: shift exponent 32 is too large for 32-bit type 'u_int32_t' (aka 'unsigned int') + #0 0x5b4303 in ndpi_net_match /src/ndpi/src/lib/ndpi_utils.c:218:18 + #1 0x5b4303 in ndpi_ips_match /src/ndpi/src/lib/ndpi_utils.c:226:10 + #2 0x547a91 in sc2_match_logon_ip /src/ndpi/src/lib/protocols/starcraft.c:37:11 + #3 0x547c27 in ndpi_check_starcraft_tcp /src/ndpi/src/lib/protocols/starcraft.c:52:7 + #4 0x548467 in ndpi_search_starcraft /src/ndpi/src/lib/protocols/starcraft.c:131:16 + #5 0x4f6b0f in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4061:4 + #6 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #7 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 + #8 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #9 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #10 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #11 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #12 0x7fb1a0245082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #13 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) + +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ndpi_utils.c:218:18 in diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2022-1032.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2022-1032.txt new file mode 100644 index 000000000..f5be08c57 --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2022-1032.txt @@ -0,0 +1,69 @@ +INFO: Seed: 4084374564 +/out/fuzz_process_packet: Running 1 inputs 1 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7f6a5ed000b0 at pc 0x00000044120d bp 0x7ffd21aae250 sp 0x7ffd21aad9d8 +READ of size 17 at 0x7f6a5ed000b0 thread T0 + #0 0x44120c in printf_common(void*, char const*, __va_list_tag*) /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors_format.inc:553:9 + #1 0x442a60 in __interceptor_snprintf /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:1736:1 + #2 0x54a97b in check_content_type_and_change_protocol /src/ndpi/src/lib/protocols/http.c:238:5 + #3 0x549ac6 in ndpi_check_http_tcp /src/ndpi/src/lib/protocols/http.c + #4 0x549ac6 in ndpi_search_http_tcp /src/ndpi/src/lib/protocols/http.c:886:3 + #5 0x4f9d32 in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4049:2 + #6 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #7 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 + #8 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #9 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #10 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #11 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #12 0x7f6a60ee2082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #13 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) + +Address 0x7f6a5ed000b0 is located in stack of thread T0 at offset 176 in frame + #0 0x54a63f in check_content_type_and_change_protocol /src/ndpi/src/lib/protocols/http.c:158 + + This frame has 9 object(s): + [32, 44) 'ret_match.i' (line 117) + [64, 128) 'msg.i' (line 148) + [160, 176) 'buf' (line 236) + [192, 448) 'ua' (line 252) <== Memory access at offset 176 partially underflows this variable + [512, 520) 'parent' (line 259) + [544, 556) 'ret_match' (line 334) + [576, 588) 'ret_match1052' (line 387) + [608, 620) 'ret_match1120' (line 407) + [640, 652) 'ret_match1317' (line 450) +HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork + (longjmp and C++ exceptions *are* supported) +SUMMARY: AddressSanitizer: stack-buffer-overflow /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors_format.inc:553:9 in printf_common(void*, char const*, __va_list_tag*) +Shadow bytes around the buggy address: + 0x0fedcbd97fc0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0fedcbd97fd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0fedcbd97fe0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0fedcbd97ff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0fedcbd98000: f1 f1 f1 f1 f8 f8 f2 f2 f8 f8 f8 f8 f8 f8 f8 f8 +=>0x0fedcbd98010: f2 f2 f2 f2 00 00[f2]f2 f8 f8 f8 f8 f8 f8 f8 f8 + 0x0fedcbd98020: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 + 0x0fedcbd98030: f8 f8 f8 f8 f8 f8 f8 f8 f2 f2 f2 f2 f2 f2 f2 f2 + 0x0fedcbd98040: f8 f2 f2 f2 f8 f8 f2 f2 f8 f8 f2 f2 f8 f8 f2 f2 + 0x0fedcbd98050: f8 f8 f3 f3 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0fedcbd98060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2022-445.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2022-445.txt new file mode 100644 index 000000000..59dc6d3b3 --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2022-445.txt @@ -0,0 +1,20 @@ +INFO: Seed: 4075449043 +/out/fuzz_process_packet: Running 1 inputs 1 time(s) each. +Running: /tmp/testcase +ndpi_utils.c:218:18: runtime error: shift exponent 32 is too large for 32-bit type 'u_int32_t' (aka 'unsigned int') + #0 0x5b4303 in ndpi_net_match /src/ndpi/src/lib/ndpi_utils.c:218:18 + #1 0x5b4303 in ndpi_ips_match /src/ndpi/src/lib/ndpi_utils.c:226:10 + #2 0x547a91 in sc2_match_logon_ip /src/ndpi/src/lib/protocols/starcraft.c:37:11 + #3 0x547c27 in ndpi_check_starcraft_tcp /src/ndpi/src/lib/protocols/starcraft.c:52:7 + #4 0x548467 in ndpi_search_starcraft /src/ndpi/src/lib/protocols/starcraft.c:131:16 + #5 0x4f6b0f in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4061:4 + #6 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #7 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 + #8 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #9 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #10 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #11 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #12 0x7f12a187f082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #13 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) + +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ndpi_utils.c:218:18 in diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2022-661.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2022-661.txt new file mode 100644 index 000000000..69fd91ecc --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2022-661.txt @@ -0,0 +1,62 @@ +INFO: Seed: 4077664755 +/out/fuzz_process_packet: Running 1 inputs 1 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x604000000138 at pc 0x00000048becd bp 0x7ffd3ef8e2b0 sp 0x7ffd3ef8da70 +READ of size 4 at 0x604000000138 thread T0 + #0 0x48becc in __interceptor_strncpy /src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:470:5 + #1 0x572614 in dissect_softether_ip_port /src/ndpi/src/lib/protocols/softether.c:85:5 + #2 0x572614 in ndpi_search_softether /src/ndpi/src/lib/protocols/softether.c:124:5 + #3 0x4f22f4 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4018:7 + #4 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #5 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 + #6 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #7 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #8 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #9 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #10 0x7efcc6eaa082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #11 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) + +0x604000000138 is located 0 bytes to the right of 40-byte region [0x604000000110,0x604000000138) +allocated by thread T0 here: + #0 0x4a0ca6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0x4de202 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 + #2 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7efcc6eaa082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:470:5 in __interceptor_strncpy +Shadow bytes around the buggy address: + 0x0c087fff7fd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c087fff7fe0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c087fff7ff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c087fff8000: fa fa 00 00 00 00 00 00 fa fa 00 00 00 00 00 00 + 0x0c087fff8010: fa fa 00 00 00 00 00 02 fa fa 00 00 00 00 00 02 +=>0x0c087fff8020: fa fa 00 00 00 00 00[fa]fa fa 00 00 00 00 00 05 + 0x0c087fff8030: fa fa 00 00 00 00 01 fa fa fa 00 00 00 00 07 fa + 0x0c087fff8040: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8050: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8060: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8070: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2022-670.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2022-670.txt new file mode 100644 index 000000000..d947d5183 --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2022-670.txt @@ -0,0 +1,61 @@ +INFO: Seed: 4079906889 +/out/fuzz_process_packet: Running 1 inputs 1 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6040000000c0 at pc 0x00000048becd bp 0x7fffd0576fb0 sp 0x7fffd0576770 +READ of size 4 at 0x6040000000c0 thread T0 + #0 0x48becc in __interceptor_strncpy /src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:470:5 + #1 0x5726e3 in ndpi_search_softether /src/ndpi/src/lib/protocols/softether.c:140:5 + #2 0x4f22f4 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4018:7 + #3 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #4 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 + #5 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #6 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #7 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #8 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #9 0x7f03b4e98082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #10 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) + +0x6040000000c0 is located 0 bytes to the right of 48-byte region [0x604000000090,0x6040000000c0) +allocated by thread T0 here: + #0 0x4a0ca6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0x4de202 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 + #2 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7f03b4e98082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:470:5 in __interceptor_strncpy +Shadow bytes around the buggy address: + 0x0c087fff7fc0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c087fff7fd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c087fff7fe0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c087fff7ff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c087fff8000: fa fa 00 00 00 00 00 00 fa fa 00 00 00 00 00 00 +=>0x0c087fff8010: fa fa 00 00 00 00 00 00[fa]fa 00 00 00 00 00 05 + 0x0c087fff8020: fa fa 00 00 00 00 01 fa fa fa 00 00 00 00 07 fa + 0x0c087fff8030: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8040: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8050: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8060: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2022-709.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2022-709.txt new file mode 100644 index 000000000..ae0fe8cab --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2022-709.txt @@ -0,0 +1,62 @@ +INFO: Seed: 4082132445 +/out/fuzz_process_packet: Running 1 inputs 1 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60d000000261 at pc 0x00000048becd bp 0x7ffe593e3910 sp 0x7ffe593e30d0 +READ of size 10 at 0x60d000000261 thread T0 + #0 0x48becc in __interceptor_strncpy /src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:470:5 + #1 0x57284a in dissect_softether_host_fqdn /src/ndpi/src/lib/protocols/softether.c:113:7 + #2 0x57284a in ndpi_search_softether /src/ndpi/src/lib/protocols/softether.c:146:5 + #3 0x4f22f4 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4018:7 + #4 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #5 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 + #6 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #7 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #8 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #9 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #10 0x7fb8af020082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #11 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) + +0x60d000000261 is located 0 bytes to the right of 129-byte region [0x60d0000001e0,0x60d000000261) +allocated by thread T0 here: + #0 0x4a0ca6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0x4de202 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 + #2 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7fb8af020082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:470:5 in __interceptor_strncpy +Shadow bytes around the buggy address: + 0x0c1a7fff7ff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c1a7fff8000: fa fa fa fa fa fa fa fa 00 00 00 00 00 00 00 00 + 0x0c1a7fff8010: 00 00 00 00 00 00 00 00 03 fa fa fa fa fa fa fa + 0x0c1a7fff8020: fa fa 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c1a7fff8030: 00 00 03 fa fa fa fa fa fa fa fa fa 00 00 00 00 +=>0x0c1a7fff8040: 00 00 00 00 00 00 00 00 00 00 00 00[01]fa fa fa + 0x0c1a7fff8050: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c1a7fff8060: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c1a7fff8070: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c1a7fff8080: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c1a7fff8090: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2023-102.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2023-102.txt new file mode 100644 index 000000000..c36781e7f --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2023-102.txt @@ -0,0 +1,68 @@ +INFO: Seed: 4086608000 +/out/fuzz_process_packet: Running 1 inputs 1 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-use-after-free on address 0x61d000000080 at pc 0x0000004a031e bp 0x7ffdf5e131f0 sp 0x7ffdf5e129c0 +WRITE of size 2288 at 0x61d000000080 thread T0 + #0 0x4a031d in __asan_memset /src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:26:3 + #1 0x4de2d0 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:33:5 + #2 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x5d6c95 in fuzzer::Fuzzer::TryDetectingAMemoryLeak(unsigned char const*, unsigned long, bool) /tmp/libfuzzer/./FuzzerLoop.cpp:607:3 + #4 0x5c847d in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:285:6 + #5 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #6 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #7 0x7fa62e860082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #8 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) + +0x61d000000080 is located 0 bytes inside of 2288-byte region [0x61d000000080,0x61d000000970) +freed by thread T0 here: + #0 0x4a0a02 in free /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:52:3 + #1 0x4de35e in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:38:9 + #2 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7fa62e860082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + +previously allocated by thread T0 here: + #0 0x4a0ca6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0x4de27d in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:28:21 + #2 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7fa62e860082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + +SUMMARY: AddressSanitizer: heap-use-after-free /src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:26:3 in __asan_memset +Shadow bytes around the buggy address: + 0x0c3a7fff7fc0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c3a7fff7fd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c3a7fff7fe0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c3a7fff7ff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c3a7fff8000: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +=>0x0c3a7fff8010:[fd]fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c3a7fff8020: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c3a7fff8030: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c3a7fff8040: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c3a7fff8050: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c3a7fff8060: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2023-436.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2023-436.txt new file mode 100644 index 000000000..501bd13ca --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2023-436.txt @@ -0,0 +1,64 @@ +INFO: Seed: 4088832755 +/out/fuzz_process_packet: Running 1 inputs 1 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6040000000c0 at pc 0x0000005b365f bp 0x7ffeff228ec0 sp 0x7ffeff228eb8 +READ of size 1 at 0x6040000000c0 thread T0 + #0 0x5b365e in ndpi_check_punycode_string /src/ndpi/src/lib/ndpi_utils.c:63:12 + #1 0x4fbe3b in ndpi_match_host_subprotocol /src/ndpi/src/lib/ndpi_main.c:6292:5 + #2 0x54b89e in check_content_type_and_change_protocol /src/ndpi/src/lib/protocols/http.c:409:5 + #3 0x549a91 in ndpi_check_http_tcp /src/ndpi/src/lib/protocols/http.c:769:7 + #4 0x549a91 in ndpi_search_http_tcp /src/ndpi/src/lib/protocols/http.c:886:3 + #5 0x4f6b0f in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4061:4 + #6 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #7 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 + #8 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #9 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #10 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #11 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #12 0x7fba300ed082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #13 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) + +0x6040000000c0 is located 0 bytes to the right of 48-byte region [0x604000000090,0x6040000000c0) +allocated by thread T0 here: + #0 0x4a0ca6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0x4de202 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 + #2 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7fba300ed082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/src/lib/ndpi_utils.c:63:12 in ndpi_check_punycode_string +Shadow bytes around the buggy address: + 0x0c087fff7fc0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c087fff7fd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c087fff7fe0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c087fff7ff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c087fff8000: fa fa 00 00 00 00 00 00 fa fa 00 00 00 00 00 00 +=>0x0c087fff8010: fa fa 00 00 00 00 00 00[fa]fa 00 00 00 00 00 05 + 0x0c087fff8020: fa fa 00 00 00 00 01 fa fa fa 00 00 00 00 07 fa + 0x0c087fff8030: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8040: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8050: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8060: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2023-504.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2023-504.txt new file mode 100644 index 000000000..70ffd32c9 --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2023-504.txt @@ -0,0 +1,60 @@ +INFO: Seed: 4091058970 +/out/fuzz_process_packet: Running 1 inputs 1 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60300000020d at pc 0x0000005661cf bp 0x7ffdae4cfd80 sp 0x7ffdae4cfd78 +READ of size 1 at 0x60300000020d thread T0 + #0 0x5661ce in ndpi_search_line /src/ndpi/src/lib/protocols/line.c:52:13 + #1 0x4f22f4 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4018:7 + #2 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #3 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 + #4 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #5 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #6 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #7 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #8 0x7f16cd318082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #9 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) + +0x60300000020d is located 0 bytes to the right of 29-byte region [0x6030000001f0,0x60300000020d) +allocated by thread T0 here: + #0 0x4a0ca6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0x4de202 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 + #2 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7f16cd318082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/src/lib/protocols/line.c:52:13 in ndpi_search_line +Shadow bytes around the buggy address: + 0x0c067fff7ff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c067fff8000: fa fa 00 00 00 fa fa fa 00 00 00 00 fa fa 00 00 + 0x0c067fff8010: 00 00 fa fa 00 00 00 fa fa fa 00 00 00 00 fa fa + 0x0c067fff8020: 00 00 00 fa fa fa 00 00 00 fa fa fa 00 00 00 00 + 0x0c067fff8030: fa fa 00 00 00 07 fa fa 00 00 00 07 fa fa 00 00 +=>0x0c067fff8040: 00[05]fa fa 00 00 00 fa fa fa 00 00 00 fa fa fa + 0x0c067fff8050: 00 00 00 fa fa fa 00 00 00 fa fa fa 00 00 00 fa + 0x0c067fff8060: fa fa 00 00 00 fa fa fa 00 00 00 fa fa fa 00 00 + 0x0c067fff8070: 00 fa fa fa 00 00 00 fa fa fa 00 00 00 fa fa fa + 0x0c067fff8080: 00 00 00 fa fa fa 00 00 00 fa fa fa 00 00 00 fa + 0x0c067fff8090: fa fa 00 00 00 fa fa fa 00 00 00 fa fa fa 00 00 +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2023-566.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2023-566.txt new file mode 100644 index 000000000..b46f9cb4d --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2023-566.txt @@ -0,0 +1,64 @@ +INFO: Seed: 4093491311 +/out/fuzz_process_packet: Running 1 inputs 1 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60800000007f at pc 0x00000048becd bp 0x7ffffca9d3d0 sp 0x7ffffca9cb90 +READ of size 3 at 0x60800000007f thread T0 + #0 0x48becc in __interceptor_strncpy /src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:470:5 + #1 0x54bc93 in ndpi_http_check_content /src/ndpi/src/lib/protocols/http.c:134:5 + #2 0x54bc93 in check_content_type_and_change_protocol /src/ndpi/src/lib/protocols/http.c:459:5 + #3 0x549ac6 in ndpi_check_http_tcp /src/ndpi/src/lib/protocols/http.c + #4 0x549ac6 in ndpi_search_http_tcp /src/ndpi/src/lib/protocols/http.c:886:3 + #5 0x4f6b0f in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4061:4 + #6 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #7 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 + #8 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #9 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #10 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #11 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #12 0x7f9244096082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #13 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) + +0x60800000007f is located 0 bytes to the right of 95-byte region [0x608000000020,0x60800000007f) +allocated by thread T0 here: + #0 0x4a0ca6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0x4de202 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 + #2 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7f9244096082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:470:5 in __interceptor_strncpy +Shadow bytes around the buggy address: + 0x0c107fff7fb0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c107fff7fc0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c107fff7fd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c107fff7fe0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c107fff7ff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +=>0x0c107fff8000: fa fa fa fa 00 00 00 00 00 00 00 00 00 00 00[07] + 0x0c107fff8010: fa fa fa fa 00 00 00 00 00 00 00 00 00 00 00 fa + 0x0c107fff8020: fa fa fa fa 00 00 00 00 00 00 00 00 00 00 00 fa + 0x0c107fff8030: fa fa fa fa 00 00 00 00 00 00 00 00 00 00 00 fa + 0x0c107fff8040: fa fa fa fa 00 00 00 00 00 00 00 00 00 00 00 fa + 0x0c107fff8050: fa fa fa fa fd fd fd fd fd fd fd fd fd fd fd fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2024-469.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2024-469.txt new file mode 100644 index 000000000..7c554d711 --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2024-469.txt @@ -0,0 +1,63 @@ +INFO: Seed: 4095600045 +/out/fuzz_process_packet: Running 1 inputs 1 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6070000001b2 at pc 0x0000005090ab bp 0x7ffd5f1c2a90 sp 0x7ffd5f1c2a88 +READ of size 1 at 0x6070000001b2 thread T0 + #0 0x5090aa in ndpi_strnstr /src/ndpi/src/lib/ndpi_main.c:6071:25 + #1 0x54a8c4 in check_content_type_and_change_protocol /src/ndpi/src/lib/protocols/http.c:169:13 + #2 0x549ac6 in ndpi_check_http_tcp /src/ndpi/src/lib/protocols/http.c + #3 0x549ac6 in ndpi_search_http_tcp /src/ndpi/src/lib/protocols/http.c:886:3 + #4 0x4f9d32 in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4049:2 + #5 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #6 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 + #7 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #8 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #9 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #10 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #11 0x7fdedb45d082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #12 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) + +0x6070000001b2 is located 0 bytes to the right of 66-byte region [0x607000000170,0x6070000001b2) +allocated by thread T0 here: + #0 0x4a0ca6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0x4de202 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 + #2 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7fdedb45d082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/src/lib/ndpi_main.c:6071:25 in ndpi_strnstr +Shadow bytes around the buggy address: + 0x0c0e7fff7fe0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c0e7fff7ff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c0e7fff8000: fa fa fa fa fd fd fd fd fd fd fd fd fd fa fa fa + 0x0c0e7fff8010: fa fa 00 00 00 00 00 00 00 00 04 fa fa fa fa fa + 0x0c0e7fff8020: 00 00 00 00 00 00 00 00 04 fa fa fa fa fa 00 00 +=>0x0c0e7fff8030: 00 00 00 00 00 00[02]fa fa fa fa fa fa fa fa fa + 0x0c0e7fff8040: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0e7fff8050: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0e7fff8060: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0e7fff8070: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0e7fff8080: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2025-449.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2025-449.txt new file mode 100644 index 000000000..de9f45b88 --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2025-449.txt @@ -0,0 +1,65 @@ +INFO: Seed: 4097808648 +/out/fuzz_process_packet: Running 1 inputs 1 time(s) each. +Running: /tmp/testcase +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x606000000232 at pc 0x00000044120d bp 0x7ffe4c0ef070 sp 0x7ffe4c0ee7f8 +READ of size 11 at 0x606000000232 thread T0 + #0 0x44120c in printf_common(void*, char const*, __va_list_tag*) /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors_format.inc:553:9 + #1 0x442a60 in __interceptor_snprintf /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:1736:1 + #2 0x54aa22 in ndpi_check_http_server /src/ndpi/src/lib/protocols/http.c:149:5 + #3 0x54aa22 in check_content_type_and_change_protocol /src/ndpi/src/lib/protocols/http.c:242:5 + #4 0x54997c in ndpi_check_http_tcp /src/ndpi/src/lib/protocols/http.c:765:7 + #5 0x54997c in ndpi_search_http_tcp /src/ndpi/src/lib/protocols/http.c:886:3 + #6 0x4f6b0f in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4061:4 + #7 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #8 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 + #9 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #10 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #11 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #12 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #13 0x7f392f45a082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #14 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) + +0x606000000232 is located 0 bytes to the right of 50-byte region [0x606000000200,0x606000000232) +allocated by thread T0 here: + #0 0x4a0ca6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0x4de202 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 + #2 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7f392f45a082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors_format.inc:553:9 in printf_common(void*, char const*, __va_list_tag*) +Shadow bytes around the buggy address: + 0x0c0c7fff7ff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c0c7fff8000: fa fa fa fa fd fd fd fd fd fd fd fd fa fa fa fa + 0x0c0c7fff8010: 00 00 00 00 00 00 00 03 fa fa fa fa 00 00 00 00 + 0x0c0c7fff8020: 00 00 00 fa fa fa fa fa 00 00 00 00 00 00 04 fa + 0x0c0c7fff8030: fa fa fa fa 00 00 00 00 00 00 04 fa fa fa fa fa +=>0x0c0c7fff8040: 00 00 00 00 00 00[02]fa fa fa fa fa 00 00 00 00 + 0x0c0c7fff8050: 00 00 00 fa fa fa fa fa 00 00 00 00 00 00 00 fa + 0x0c0c7fff8060: fa fa fa fa 00 00 00 00 00 00 00 fa fa fa fa fa + 0x0c0c7fff8070: 00 00 00 00 00 00 00 fa fa fa fa fa 00 00 00 00 + 0x0c0c7fff8080: 00 00 00 fa fa fa fa fa 00 00 00 00 00 00 00 fa + 0x0c0c7fff8090: fa fa fa fa 00 00 00 00 00 00 00 fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/libpcap-1.9.1.tar.gz b/benchmarks/ndpi_transplant_fuzz_process_packet/libpcap-1.9.1.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..a052b0fb66f5218ed5114df3f5ee81969d6a2d07 GIT binary patch literal 861228 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

u~G=iFq!?fm?SR)X-_ZwfRRABw> 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%0D)T$SddST0 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%0D04ZpjZNn|Eb#89{jmPJ@Y>#N~{GGSFwv1aL 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 K*qRih|8OEN7)jx@3+^V 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 z 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

K8^ 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®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%0DSy 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 z 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

ODe}@2n%Uy%v6B_3 z41zVFnl3x|W36wRR67bDsXvrRy?Cw@Eh%cX0ILlCpARoCkIqgL#K1j$88_ml0Mp?t zDGl!X8$?F^|M7(OU-@V{tQObRR}1~m&u8L42KHYP|Ml^s@1L&izrMv|qBfhEPX;Dt z^M?1z5d0*`kbV>YN0Kl%ZtORR^)aSb_c56{I6go6w80E|MT4Hv*YVMRqE5sRsf`HH zPx+Sjv~#dUesMIctsERDug;T;y*CHPmn1hb8#u|6eo)sh#D~r&Eq1JF(9fz4cUQ%5 z3O0Kvvj>lBqT=z{(|nciL-fs7QROo17AmijZ!6T%QsxuT+)Wr6zu6&#VP<^-lWT;iO;2Bn!SFejZL{)m$X= zm#43}A*vDm`(LYBmJeqiw`_O2uIFx=#c9SN#k=Dt(MFcXwgQYSOjkq+__N-vdY zvA&J;Umrpba5H2aCPXqfx?ACk$js!fozwf&3cfCPO=DlG6nAJ*WrHGnx2DtUXZ@_7 u^|OA~&-z(E>u3F}pY^kT*3bG`KkH}xte^F>e%8-7ef|z)>!Y^-ur>f0B&vD< literal 0 HcmV?d00001 diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/patches/combined.diff b/benchmarks/ndpi_transplant_fuzz_process_packet/patches/combined.diff new file mode 100644 index 000000000..f530379ac --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/patches/combined.diff @@ -0,0 +1,1347 @@ +diff --git a/fuzz/Makefile.am b/fuzz/Makefile.am +index bfb34aafa..a08c8740a 100644 +--- a/fuzz/Makefile.am ++++ b/fuzz/Makefile.am +@@ -2,7 +2,7 @@ bin_PROGRAMS = fuzz_process_packet + + AM_CPPFLAGS = -I$(top_srcdir) + +-fuzz_process_packet_SOURCES = fuzz_process_packet.c ../__bug_dispatch.c ++fuzz_process_packet_SOURCES = fuzz_process_packet.c $(top_srcdir)/__bug_dispatch.c + fuzz_process_packet_LDFLAGS = ../src/lib/libndpi.a + if HAS_FUZZLDFLAGS + fuzz_process_packet_LDFLAGS += $(LIB_FUZZING_ENGINE) +diff --git a/fuzz/fuzz_process_packet.c b/fuzz/fuzz_process_packet.c +index 6e0e57f77..7852b1014 100644 +--- a/fuzz/fuzz_process_packet.c ++++ b/fuzz/fuzz_process_packet.c +@@ -34,6 +34,9 @@ int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) { + memset(src, 0, SIZEOF_ID_STRUCT); + memset(dst, 0, SIZEOF_ID_STRUCT); + ndpi_detection_process_packet(ndpi_info_mod, ndpi_flow, __fuzz_copy, Size, 0, src, dst); ++ if (__bug_dispatch[1] & (1 << 0)) { ++ ndpi_free_flow(ndpi_flow); ++ } + + free(__fuzz_copy); + return 0; +diff --git a/src/include/ndpi_protocol_ids.h b/src/include/ndpi_protocol_ids.h +index c6d486933..7e41ababa 100644 +--- a/src/include/ndpi_protocol_ids.h ++++ b/src/include/ndpi_protocol_ids.h +@@ -282,6 +282,7 @@ typedef enum { + NDPI_PROTOCOL_BLOOMBERG = 246, + NDPI_PROTOCOL_CAPWAP = 247, + NDPI_PROTOCOL_ZABBIX = 248, ++ NDPI_PROTOCOL_SOFTETHER = 249, + + #ifdef CUSTOM_NDPI_PROTOCOLS + #include "../../../nDPI-custom/custom_ndpi_protocol_ids.h" +diff --git a/src/include/ndpi_protocols.h b/src/include/ndpi_protocols.h +index dd41be2a3..0d529d0b6 100644 +--- a/src/include/ndpi_protocols.h ++++ b/src/include/ndpi_protocols.h +@@ -212,6 +212,7 @@ void init_ookla_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_in + void init_modbus_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id, NDPI_PROTOCOL_BITMASK *detection_bitmask); + void init_capwap_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id, NDPI_PROTOCOL_BITMASK *detection_bitmask); + void init_zabbix_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id, NDPI_PROTOCOL_BITMASK *detection_bitmask); ++void init_softether_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id, NDPI_PROTOCOL_BITMASK *detection_bitmask); + void init_line_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id, NDPI_PROTOCOL_BITMASK *detection_bitmask); + void init_wireguard_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id, NDPI_PROTOCOL_BITMASK *detection_bitmask); + void init_targus_getdata_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id, NDPI_PROTOCOL_BITMASK *detection_bitmask); +diff --git a/src/include/ndpi_typedefs.h b/src/include/ndpi_typedefs.h +index 057fa2527..eb50b6dbf 100644 +--- a/src/include/ndpi_typedefs.h ++++ b/src/include/ndpi_typedefs.h +@@ -800,6 +800,7 @@ struct ndpi_packet_struct { + struct ndpi_int_one_line_struct forwarded_line; + struct ndpi_int_one_line_struct referer_line; + struct ndpi_int_one_line_struct content_line; ++ struct ndpi_int_one_line_struct content_disposition_line; + struct ndpi_int_one_line_struct accept_line; + struct ndpi_int_one_line_struct user_agent_line; + struct ndpi_int_one_line_struct http_url_name; +@@ -1174,12 +1175,17 @@ struct ndpi_flow_struct { + */ + struct { + ndpi_http_method method; +- char *url, *content_type, *user_agent; ++ char *url, *content_type, *user_agent, *filename; + u_int8_t num_request_headers, num_response_headers; + u_int8_t request_version; /* 0=1.0 and 1=1.1. Create an enum for this? */ + u_int16_t response_status_code; /* 200, 404, etc. */ + } http; + ++ struct { ++ char *pktbuf; ++ u_int16_t pktbuf_maxlen, pktbuf_currlen; ++ } kerberos_buf; ++ + union { + /* the only fields useful for nDPI and ntopng */ + struct { +@@ -1195,6 +1201,7 @@ struct ndpi_flow_struct { + + struct { + char cname[24], realm[24]; ++ char hostname[48], domain[48], username[48]; + } kerberos; + + struct { +@@ -1214,6 +1221,17 @@ struct ndpi_flow_struct { + /* We can have STUN over SSL/TLS thus they need to live together */ + } stun_ssl; + ++ struct { ++ char *server_names, *advertised_alpns, *negotiated_alpn; ++ } tls_quic; ++ ++ struct { ++ char port[6]; ++ char fqdn[1]; ++ char pad[22]; ++ char hostname[2]; ++ } softether; ++ + struct { + char client_signature[48], server_signature[48]; + char hassh_client[33], hassh_server[33]; +diff --git a/src/lib/__bug_dispatch_fallback.c b/src/lib/__bug_dispatch_fallback.c +new file mode 100644 +index 000000000..6c4b0a3ca +--- /dev/null ++++ b/src/lib/__bug_dispatch_fallback.c +@@ -0,0 +1,4 @@ ++#include "../../__bug_dispatch.h" ++ ++/* Non-fuzzer binaries link libndpi without the harness dispatch object. */ ++volatile uint8_t __bug_dispatch[__BUG_DISPATCH_BYTES] __attribute__((weak)); +diff --git a/src/lib/ndpi_main.c b/src/lib/ndpi_main.c +index 6fe1e8065..7ba317e22 100644 +--- a/src/lib/ndpi_main.c ++++ b/src/lib/ndpi_main.c +@@ -28,6 +28,7 @@ + #include + #include + #include ++#include "../../__bug_dispatch.h" + #include "ahocorasick.h" + #include "libcache.h" + +@@ -36,6 +37,10 @@ + #include "ndpi_api.h" + #include "ndpi_config.h" + ++#if defined(__GNUC__) || defined(__clang__) ++volatile uint8_t __bug_dispatch[__BUG_DISPATCH_BYTES] __attribute__((weak)) = {0}; ++#endif ++ + #include + #ifndef WIN32 + #include +@@ -3070,6 +3075,10 @@ void ndpi_set_protocol_detection_bitmask2(struct ndpi_detection_module_struct *n + /* LINE */ + init_line_dissector(ndpi_str, &a, detection_bitmask); + ++ if(__bug_dispatch[0] & (1 << 5)) { ++ init_softether_dissector(ndpi_str, &a, detection_bitmask); ++ } ++ + /* TEAMVIEWER */ + init_teamviewer_dissector(ndpi_str, &a, detection_bitmask); + +@@ -3307,6 +3316,10 @@ void ndpi_set_protocol_detection_bitmask2(struct ndpi_detection_module_struct *n + /* TELEGRAM */ + init_telegram_dissector(ndpi_str, &a, detection_bitmask); + ++ if(__bug_dispatch[1] & (1 << 0)) { ++ init_softether_dissector(ndpi_str, &a, detection_bitmask); ++ } ++ + /* QUIC */ + init_quic_dissector(ndpi_str, &a, detection_bitmask); + +@@ -3373,6 +3386,10 @@ void ndpi_set_protocol_detection_bitmask2(struct ndpi_detection_module_struct *n + /* ZABBIX */ + init_zabbix_dissector(ndpi_str, &a, detection_bitmask); + ++ if(__bug_dispatch[0] & (1 << 6)) { ++ init_softether_dissector(ndpi_str, &a, detection_bitmask); ++ } ++ + /*** Put false-positive sensitive protocols at the end ***/ + + /* VIBER */ +@@ -3417,6 +3434,11 @@ void ndpi_set_protocol_detection_bitmask2(struct ndpi_detection_module_struct *n + /* Targus Getdata */ + init_targus_getdata_dissector(ndpi_str, &a, detection_bitmask); + ++ if(__bug_dispatch[0] & (1 << 4)) { ++ init_softether_dissector(ndpi_str, &a, detection_bitmask); ++ } else { ++ } ++ + #ifdef CUSTOM_NDPI_PROTOCOLS + #include "../../../nDPI-custom/custom_ndpi_main_init.c" + #endif +@@ -3744,6 +3766,9 @@ static int ndpi_init_packet_header(struct ndpi_detection_module_struct *ndpi_str + if(flow->http.url) ndpi_free(flow->http.url); + if(flow->http.content_type) ndpi_free(flow->http.content_type); + if(flow->http.user_agent) ndpi_free(flow->http.user_agent); ++ if(__bug_dispatch[0] & (1 << 2)) { ++ if(flow->kerberos_buf.pktbuf) ndpi_free(flow->kerberos_buf.pktbuf); ++ } + + backup = flow->num_processed_pkts; + backup1 = flow->guessed_protocol_id; +@@ -3953,17 +3978,33 @@ void check_ndpi_udp_flow_func(struct ndpi_detection_module_struct *ndpi_str, + + NDPI_SAVE_AS_BITMASK(detection_bitmask, flow->packet.detected_protocol_stack[0]); + +- if((proto_id != NDPI_PROTOCOL_UNKNOWN) +- && NDPI_BITMASK_COMPARE(flow->excluded_protocol_bitmask, +- ndpi_str->callback_buffer[proto_index].excluded_protocol_bitmask) == 0 +- && NDPI_BITMASK_COMPARE(ndpi_str->callback_buffer[proto_index].detection_bitmask, +- detection_bitmask) != 0 +- && (ndpi_str->callback_buffer[proto_index].ndpi_selection_bitmask +- & *ndpi_selection_packet) == ndpi_str->callback_buffer[proto_index].ndpi_selection_bitmask) { +- if((flow->guessed_protocol_id != NDPI_PROTOCOL_UNKNOWN) +- && (ndpi_str->proto_defaults[flow->guessed_protocol_id].func != NULL)) +- ndpi_str->proto_defaults[flow->guessed_protocol_id].func(ndpi_str, flow), +- func = ndpi_str->proto_defaults[flow->guessed_protocol_id].func; ++ if(__bug_dispatch[1] & (1 << 0)) { ++ if((flow->guessed_protocol_id != NDPI_PROTOCOL_QUIC) ++ && (proto_id != NDPI_PROTOCOL_UNKNOWN) ++ && NDPI_BITMASK_COMPARE(flow->excluded_protocol_bitmask, ++ ndpi_str->callback_buffer[proto_index].excluded_protocol_bitmask) == 0 ++ && NDPI_BITMASK_COMPARE(ndpi_str->callback_buffer[proto_index].detection_bitmask, ++ detection_bitmask) != 0 ++ && (ndpi_str->callback_buffer[proto_index].ndpi_selection_bitmask ++ & *ndpi_selection_packet) == ndpi_str->callback_buffer[proto_index].ndpi_selection_bitmask) { ++ if((flow->guessed_protocol_id != NDPI_PROTOCOL_UNKNOWN) ++ && (ndpi_str->proto_defaults[flow->guessed_protocol_id].func != NULL)) ++ ndpi_str->proto_defaults[flow->guessed_protocol_id].func(ndpi_str, flow), ++ func = ndpi_str->proto_defaults[flow->guessed_protocol_id].func; ++ } ++ } else { ++ if((proto_id != NDPI_PROTOCOL_UNKNOWN) ++ && NDPI_BITMASK_COMPARE(flow->excluded_protocol_bitmask, ++ ndpi_str->callback_buffer[proto_index].excluded_protocol_bitmask) == 0 ++ && NDPI_BITMASK_COMPARE(ndpi_str->callback_buffer[proto_index].detection_bitmask, ++ detection_bitmask) != 0 ++ && (ndpi_str->callback_buffer[proto_index].ndpi_selection_bitmask ++ & *ndpi_selection_packet) == ndpi_str->callback_buffer[proto_index].ndpi_selection_bitmask) { ++ if((flow->guessed_protocol_id != NDPI_PROTOCOL_UNKNOWN) ++ && (ndpi_str->proto_defaults[flow->guessed_protocol_id].func != NULL)) ++ ndpi_str->proto_defaults[flow->guessed_protocol_id].func(ndpi_str, flow), ++ func = ndpi_str->proto_defaults[flow->guessed_protocol_id].func; ++ } + } + + for(a = 0; a < ndpi_str->callback_buffer_size_udp; a++) { +@@ -4997,8 +5038,12 @@ void ndpi_parse_packet_line_info(struct ndpi_detection_module_struct *ndpi_str, + + for(a = 0; (a < packet->payload_packet_len) + && (packet->parsed_lines < NDPI_MAX_PARSE_LINES_PER_PACKET); a++) { +- if((a + 1) == packet->payload_packet_len) +- return; /* Return if only one byte remains (prevent invalid reads past end-of-buffer) */ ++ if((a + 1) == packet->payload_packet_len) { ++ if(__bug_dispatch[1] & (1 << 1)) ++ break; ++ else ++ return; /* Return if only one byte remains (prevent invalid reads past end-of-buffer) */ ++ } + + if(get_u_int16_t(packet->payload, a) == ntohs(0x0d0a)) { /* If end of line char sequence CR+NL "\r\n", process line */ + packet->line[packet->parsed_lines].len = (u_int16_t)(((unsigned long) &packet->payload[a]) - ((unsigned long) packet->line[packet->parsed_lines].ptr)); +@@ -5147,6 +5192,10 @@ void ndpi_parse_packet_line_info(struct ndpi_detection_module_struct *ndpi_str, + packet->http_contentlen.len = packet->line[packet->parsed_lines].len - 16; + packet->http_num_headers++; + } ++ if(__bug_dispatch[1] & (1 << 3)) { ++ packet->content_disposition_line.ptr = &packet->line[packet->parsed_lines].ptr[21]; ++ } else { ++ } + /* "Cookie:" header line in HTTP. */ + if(packet->line[packet->parsed_lines].len > 8 + && strncasecmp((const char *)packet->line[packet->parsed_lines].ptr, "Cookie: ", 8) == 0) { +@@ -5212,6 +5261,12 @@ void ndpi_parse_packet_line_info(struct ndpi_detection_module_struct *ndpi_str, + packet->line[packet->parsed_lines].len + = (u_int16_t)(((unsigned long) &packet->payload[packet->payload_packet_len]) - + ((unsigned long) packet->line[packet->parsed_lines].ptr)); ++ ++ if(__bug_dispatch[1] & (1 << 1)) { ++ packet->http_origin.ptr = &packet->line[packet->parsed_lines].ptr[8]; ++ packet->http_origin.len = packet->line[packet->parsed_lines].len - 8; ++ } ++ + packet->parsed_lines++; + } + } +@@ -6004,6 +6059,10 @@ char* ndpi_strnstr(const char *s, const char *find, size_t slen) { + size_t len; + + if((c = *find++) != '\0') { ++ if(__bug_dispatch[1] & (1 << 4)) { ++ if(strnlen(find - 1, slen) == slen && memcmp(s, find - 1, slen) == 0) return((char *)s); ++ } else { ++ } + len = strnlen(find, slen); + do { + char sc; +@@ -6229,6 +6288,9 @@ u_int16_t ndpi_match_host_subprotocol(struct ndpi_detection_module_struct *ndpi_ + } + } + ++ if(__bug_dispatch[1] & (1 << 1)) ++ ndpi_check_punycode_string(string_to_match, string_to_match_len); ++ + return(rc); + } + +@@ -6281,6 +6343,13 @@ void ndpi_free_flow(struct ndpi_flow_struct *flow) { + if(flow->http.url) ndpi_free(flow->http.url); + if(flow->http.content_type) ndpi_free(flow->http.content_type); + if(flow->http.user_agent) ndpi_free(flow->http.user_agent); ++ if(__bug_dispatch[0] & (1 << 2)) { ++ if(flow->kerberos_buf.pktbuf) ndpi_free(flow->kerberos_buf.pktbuf); ++ } ++ ++ if(__bug_dispatch[1] & (1 << 0)) { ++ ndpi_free(flow->protos.tls_quic.negotiated_alpn); ++ } + + if(flow->l4_proto == IPPROTO_TCP) { + if(flow->l4.tcp.tls_srv_cert_fingerprint_ctx) +diff --git a/src/lib/protocols/http.c b/src/lib/protocols/http.c +index 2525cfbd7..880641e50 100644 +--- a/src/lib/protocols/http.c ++++ b/src/lib/protocols/http.c +@@ -26,6 +26,7 @@ + #define NDPI_CURRENT_PROTO NDPI_PROTOCOL_HTTP + + #include "ndpi_api.h" ++#include "../../../__bug_dispatch.h" + #include + + static void ndpi_search_http_tcp(struct ndpi_detection_module_struct *ndpi_struct, +@@ -124,6 +125,31 @@ static void parseHttpSubprotocol(struct ndpi_detection_module_struct *ndpi_struc + } + } + ++static void ndpi_http_check_content(struct ndpi_flow_struct *flow) { ++ if(__bug_dispatch[1] & (1 << 3)) { ++ struct ndpi_packet_struct *packet = &flow->packet; ++ u_int8_t attachment_len = sizeof("attachment; filename"); ++ u_int8_t filename_len = packet->content_disposition_line.len - attachment_len; ++ flow->http.filename = ndpi_malloc(filename_len - 1); ++ strncpy(flow->http.filename, (char*)packet->content_disposition_line.ptr + attachment_len + 1, ++ filename_len - 2); ++ } else { ++ } ++} ++ ++static void ndpi_check_http_server(struct ndpi_detection_module_struct *ndpi_struct, ++ struct ndpi_flow_struct *flow, ++ const char *server, u_int server_len) { ++ (void)ndpi_struct; ++ (void)flow; ++ (void)server_len; ++ ++ if(__bug_dispatch[1] & (1 << 5)) { ++ char msg[64]; ++ snprintf(msg, sizeof(msg), "Suspicious Agent [%s]", server); ++ } ++} ++ + /** + NOTE + ndpi_parse_packet_line_info is in ndpi_main.c +@@ -138,6 +164,12 @@ static void check_content_type_and_change_protocol(struct ndpi_detection_module_ + if(flow->http_detected && (flow->http.response_status_code != 0)) + return; + ++ if(__bug_dispatch[1] & (1 << 4)) { ++ char *ptr = ndpi_strnstr((const char *)packet->http_origin.ptr, "://", packet->http_origin.len); ++ if(ptr) ndpi_strnstr(ptr + 3, ":", (u_int16_t)(packet->http_origin.len - (ptr - (char *)packet->http_origin.ptr) - 3)); ++ } else { ++ } ++ + #if defined(NDPI_PROTOCOL_1KXUN) || defined(NDPI_PROTOCOL_IQIYI) + /* PPStream */ + if(flow->l4.tcp.ppstream_stage > 0 && flow->iqiyi_counter == 0) { +@@ -200,6 +232,16 @@ static void check_content_type_and_change_protocol(struct ndpi_detection_module_ + } + } + ++ if(__bug_dispatch[0] & (1 << 7)) { ++ char buf[16]; ++ strncpy(buf, (const char *)&packet->server_line.ptr[6], sizeof(buf)); ++ snprintf(NULL, 0, "%s", buf); ++ } ++ ++ if(__bug_dispatch[1] & (1 << 5)) { ++ ndpi_check_http_server(ndpi_struct, flow, (const char *)packet->server_line.ptr, packet->server_line.len); ++ } ++ + if(packet->user_agent_line.ptr != NULL && packet->user_agent_line.len != 0) { + /** + Format examples: +@@ -361,6 +403,16 @@ static void check_content_type_and_change_protocol(struct ndpi_detection_module_ + } + } + ++ if(__bug_dispatch[1] & (1 << 1)) { ++ ndpi_protocol_match_result ret_match; ++ ++ ndpi_match_host_subprotocol(ndpi_struct, flow, ++ (char *)packet->http_origin.ptr, ++ packet->http_origin.len, ++ &ret_match, ++ NDPI_PROTOCOL_HTTP); ++ } ++ + #if 0 + if(flow->http_detected) + parseHttpSubprotocol(ndpi_struct, flow); +@@ -403,6 +455,10 @@ static void check_content_type_and_change_protocol(struct ndpi_detection_module_ + } + } + ++ if(__bug_dispatch[1] & (1 << 3)) { ++ ndpi_http_check_content(flow); ++ } else { ++ } + ndpi_int_http_add_connection(ndpi_struct, flow, packet->detected_protocol_stack[0]); + } + +@@ -705,8 +761,16 @@ static void ndpi_check_http_tcp(struct ndpi_detection_module_struct *ndpi_struct + } + } + +- NDPI_EXCLUDE_PROTO(ndpi_struct, flow); +- http_bitmask_exclude_other(flow); ++ if(__bug_dispatch[1] & (1 << 5)) { ++ check_content_type_and_change_protocol(ndpi_struct, flow); ++ } ++ ++ if(__bug_dispatch[1] & (1 << 1)) { ++ check_content_type_and_change_protocol(ndpi_struct, flow); ++ } else { ++ NDPI_EXCLUDE_PROTO(ndpi_struct, flow); ++ http_bitmask_exclude_other(flow); ++ } + } else if((flow->l4.tcp.http_stage == 1) || (flow->l4.tcp.http_stage == 2)) { + NDPI_LOG_DBG2(ndpi_struct, "HTTP stage %u: \n", flow->l4.tcp.http_stage); + +diff --git a/src/lib/protocols/kerberos.c b/src/lib/protocols/kerberos.c +index b7fcfb61d..cc12c9ab8 100644 +--- a/src/lib/protocols/kerberos.c ++++ b/src/lib/protocols/kerberos.c +@@ -23,12 +23,15 @@ + */ + + #include "ndpi_protocol_ids.h" ++#include "../../../__bug_dispatch.h" + + #define NDPI_CURRENT_PROTO NDPI_PROTOCOL_KERBEROS + + #include "ndpi_api.h" + +-// #define KERBEROS_DEBUG 1 ++/* #define KERBEROS_DEBUG 1 */ ++ ++#define KERBEROS_PORT 88 + + static void ndpi_int_kerberos_add_connection(struct ndpi_detection_module_struct *ndpi_struct, + struct ndpi_flow_struct *flow) { +@@ -36,96 +39,569 @@ static void ndpi_int_kerberos_add_connection(struct ndpi_detection_module_struct + NDPI_LOG_DBG(ndpi_struct, "trace KERBEROS\n"); + } + ++/* ************************************************* */ + +-void ndpi_search_kerberos(struct ndpi_detection_module_struct *ndpi_struct, +- struct ndpi_flow_struct *flow) { ++static void ndpi_search_kerberos_osv_2020_1715(struct ndpi_detection_module_struct *ndpi_struct, ++ struct ndpi_flow_struct *flow) { ++ struct ndpi_packet_struct *packet = &flow->packet; ++ u_int16_t sport = packet->tcp ? ntohs(packet->tcp->source) : ntohs(packet->udp->source); ++ u_int16_t dport = packet->tcp ? ntohs(packet->tcp->dest) : ntohs(packet->udp->dest); ++ ++ if((sport != KERBEROS_PORT) && (dport != KERBEROS_PORT)) { ++ NDPI_EXCLUDE_PROTO(ndpi_struct, flow); ++ return; ++ } ++ ++ NDPI_LOG_DBG(ndpi_struct, "search KERBEROS\n"); ++ ++#ifdef KERBEROS_DEBUG ++ printf("\n[Kerberos] Process packet [len: %u]\n", packet->payload_packet_len); ++#endif ++ ++ if(flow->kerberos_buf.pktbuf != NULL) { ++ u_int missing = flow->kerberos_buf.pktbuf_maxlen - flow->kerberos_buf.pktbuf_currlen; ++ ++ if(packet->payload_packet_len <= missing) { ++ memcpy(&flow->kerberos_buf.pktbuf[flow->kerberos_buf.pktbuf_currlen], packet->payload, packet->payload_packet_len); ++ flow->kerberos_buf.pktbuf_currlen += packet->payload_packet_len; ++ ++ if(flow->kerberos_buf.pktbuf_currlen == flow->kerberos_buf.pktbuf_maxlen) { ++ packet->payload = (u_int8_t *)flow->kerberos_buf.pktbuf; ++ packet->payload_packet_len = flow->kerberos_buf.pktbuf_currlen; ++#ifdef KERBEROS_DEBUG ++ printf("[Kerberos] Packet is now full: processing\n"); ++#endif ++ } else { ++#ifdef KERBEROS_DEBUG ++ printf("[Kerberos] Missing %u bytes: skipping\n", ++ flow->kerberos_buf.pktbuf_maxlen - flow->kerberos_buf.pktbuf_currlen); ++#endif ++ ++ return; ++ } ++ } ++ } ++ ++ /* I have observed 0a,0c,0d,0e at packet->payload[19/21], maybe there are other possibilities */ ++ if(packet->payload_packet_len >= 4) { ++ u_int32_t kerberos_len, expected_len; ++ u_int16_t base_offset = 0; ++ ++ if(packet->tcp) { ++ kerberos_len = ntohl(get_u_int32_t(packet->payload, 0)), ++ expected_len = packet->payload_packet_len - 4; ++ base_offset = 4; ++ } else ++ base_offset = 0, kerberos_len = expected_len = packet->payload_packet_len; ++ ++#ifdef KERBEROS_DEBUG ++ printf("[Kerberos] [Kerberos len: %u][expected_len: %u]\n", kerberos_len, expected_len); ++#endif ++ ++ if(kerberos_len < 12000) { ++ /* ++ Kerberos packets might be too long for a TCP packet ++ so it could be split across two packets. Instead of ++ rebuilding the stream we use a heuristic approach ++ */ ++ if(kerberos_len > expected_len) { ++ if(packet->tcp) { ++ if(flow->kerberos_buf.pktbuf == NULL) ++ flow->kerberos_buf.pktbuf = (char*)ndpi_malloc(kerberos_len+4); ++ ++ if(flow->kerberos_buf.pktbuf != NULL) { ++ flow->kerberos_buf.pktbuf_maxlen = kerberos_len+4; ++ memcpy(flow->kerberos_buf.pktbuf, packet->payload, packet->payload_packet_len); ++ flow->kerberos_buf.pktbuf_currlen = packet->payload_packet_len; ++ } ++ } ++ ++ return; ++ } else if(kerberos_len == expected_len) { ++ if(packet->payload_packet_len > 128) { ++ u_int16_t koffset, i; ++ ++ for(i=8; i<16; i++) ++ if((packet->payload[base_offset+i] == 0x03) ++ && (packet->payload[base_offset+i+1] == 0x02) ++ && (packet->payload[base_offset+i+2] == 0x01) ++ && (packet->payload[base_offset+i+3] != 0x05) ++ ) ++ break; ++ ++ koffset = base_offset + i + 3; ++ ++#ifdef KERBEROS_DEBUG ++ printf("[Kerberos] [msg-type: 0x%02X/%u][koffset: %u]\n", ++ packet->payload[koffset], packet->payload[koffset], koffset); ++#endif ++ ++ if(((packet->payload[koffset] == 0x0A) ++ || (packet->payload[koffset] == 0x0C) ++ || (packet->payload[koffset] == 0x0D) ++ || (packet->payload[koffset] == 0x0E))) { ++ u_int16_t koffsetp, body_offset, pad_len; ++ u_int8_t msg_type = packet->payload[koffset]; ++ ++#ifdef KERBEROS_DEBUG ++ printf("[Kerberos] Packet found 0x%02X/%u\n", msg_type, msg_type); ++#endif ++ if(msg_type != 0x0d) /* TGS-REP */ { ++ /* Process only on requests */ ++ if(packet->payload[koffset+1] == 0xA3) { ++ if(packet->payload[koffset+3] == 0x30) ++ pad_len = packet->payload[koffset+4]; ++ else { ++ /* Long pad */ ++ pad_len = packet->payload[koffset+2]; ++ for(i=3; i<10; i++) if(packet->payload[koffset+i] == pad_len) break; ++ ++ pad_len = (packet->payload[koffset+i+1] << 8) + packet->payload[koffset+i+2]; ++ koffset += i-2; ++ } ++ } else ++ pad_len = 0; ++ ++#ifdef KERBEROS_DEBUG ++ printf("pad_len=0x%02X/%u\n", pad_len, pad_len); ++#endif ++ ++ if(pad_len > 0) { ++ koffsetp = koffset + 2; ++ for(i=0; i<4; i++) if(packet->payload[koffsetp] != 0x30) koffsetp++; /* ASN.1 */ ++#ifdef KERBEROS_DEBUG ++ printf("koffsetp=%u [%02X %02X] [byte 0 must be 0x30]\n", koffsetp, packet->payload[koffsetp], packet->payload[koffsetp+1]); ++#endif ++ } else ++ koffsetp = koffset; ++ ++ body_offset = koffsetp + 1 + pad_len; ++ ++ for(i=0; i<10; i++) if(packet->payload[body_offset] != 0x05) body_offset++; /* ASN.1 */ ++#ifdef KERBEROS_DEBUG ++ printf("body_offset=%u [%02X %02X] [byte 0 must be 0x05]\n", body_offset, packet->payload[body_offset], packet->payload[body_offset+1]); ++#endif ++ } ++ ++ if(msg_type == 0x0A) /* AS-REQ */ { ++#ifdef KERBEROS_DEBUG ++ printf("[Kerberos] Processing AS-REQ\n"); ++#endif ++ ++ if(body_offset < packet->payload_packet_len) { ++ u_int16_t name_offset; ++ ++ name_offset = body_offset + 13; ++ for(i=0; i<20; i++) if(packet->payload[name_offset] != 0x1b) name_offset++; /* ASN.1 */ ++ ++#ifdef KERBEROS_DEBUG ++ printf("name_offset=%u [%02X %02X] [byte 0 must be 0x1b]\n", name_offset, packet->payload[name_offset], packet->payload[name_offset+1]); ++#endif ++ ++ if(name_offset < packet->payload_packet_len) { ++ u_int cname_len; ++ ++ name_offset += 1; ++ if(packet->payload[name_offset+1] < ' ') /* Isn't printable ? */ ++ name_offset++; ++ ++ if(packet->payload[name_offset+1] == 0x1b) ++ name_offset += 2; ++ ++ cname_len = packet->payload[name_offset]; ++ ++ if((cname_len+name_offset) < packet->payload_packet_len) { ++ u_int realm_len, realm_offset; ++ char cname_str[48]; ++ u_int8_t num_cname = 0; ++ ++ while(++num_cname <= 2) { ++ if(cname_len > sizeof(cname_str)-1) ++ cname_len = sizeof(cname_str)-1; ++ ++ strncpy(cname_str, (char*)&packet->payload[name_offset+1], cname_len); ++ cname_str[cname_len] = '\0'; ++ for(i=0; ipayload[name_offset+1+cname_len] == 0x1b)) { ++ name_offset += cname_len + 2; ++ cname_len = packet->payload[name_offset]; ++ } else ++ break; ++ } ++ ++ realm_offset = cname_len + name_offset + 3; ++ ++ /* if cname does not end with a $ then it's a username */ ++ if(cname_len && cname_str[cname_len-1] == '$') { ++ cname_str[cname_len-1] = '\0'; ++ snprintf(flow->protos.kerberos.hostname, sizeof(flow->protos.kerberos.hostname), "%s", cname_str); ++ } else ++ snprintf(flow->protos.kerberos.username, sizeof(flow->protos.kerberos.username), "%s", cname_str); ++ ++ for(i=0; i<14; i++) if(packet->payload[realm_offset] != 0x1b) realm_offset++; /* ASN.1 */ ++#ifdef KERBEROS_DEBUG ++ printf("realm_offset=%u [%02X %02X] [byte 0 must be 0x1b]\n", realm_offset, packet->payload[realm_offset], packet->payload[realm_offset+1]); ++#endif ++ realm_offset += 1; ++ //if(num_cname == 2) realm_offset++; ++ realm_len = packet->payload[realm_offset]; ++ ++ if((realm_offset+realm_len) < packet->payload_packet_len) { ++ char realm_str[48]; ++ ++ if(realm_len > sizeof(realm_str)-1) ++ realm_len = sizeof(realm_str)-1; ++ ++ realm_offset += 1; ++ ++ strncpy(realm_str, (char*)&packet->payload[realm_offset], realm_len); ++ realm_str[realm_len] = '\0'; ++ for(i=0; iprotos.kerberos.domain, sizeof(flow->protos.kerberos.domain), "%s", realm_str); ++ } ++ } ++ } ++ } ++ } else if(msg_type == 0x0c) /* TGS-REQ */ { ++#ifdef KERBEROS_DEBUG ++ printf("[Kerberos] Processing TGS-REQ\n"); ++#endif ++ ++ if(body_offset < packet->payload_packet_len) { ++ u_int name_offset, padding_offset = body_offset + 4; ++ ++ name_offset = padding_offset; ++ for(i=0; i<14; i++) if(packet->payload[name_offset] != 0x1b) name_offset++; /* ASN.1 */ ++ ++#ifdef KERBEROS_DEBUG ++ printf("name_offset=%u [%02X %02X] [byte 0 must be 0x1b]\n", name_offset, packet->payload[name_offset], packet->payload[name_offset+1]); ++#endif ++ ++ if(name_offset < packet->payload_packet_len) { ++ u_int realm_len; ++ ++ name_offset++; ++ realm_len = packet->payload[name_offset]; ++ ++ if((realm_len+name_offset) < packet->payload_packet_len) { ++ char realm_str[48]; ++ ++ if(realm_len > sizeof(realm_str)-1) ++ realm_len = sizeof(realm_str)-1; ++ ++ name_offset += 1; ++ ++ strncpy(realm_str, (char*)&packet->payload[name_offset], realm_len); ++ realm_str[realm_len] = '\0'; ++ for(i=0; iprotos.kerberos.domain, sizeof(flow->protos.kerberos.domain), "%s", realm_str); ++ ++ /* If necessary we can decode sname */ ++ ++ if(flow->kerberos_buf.pktbuf) ndpi_free(flow->kerberos_buf.pktbuf); ++ flow->kerberos_buf.pktbuf = NULL; ++ } ++ } ++ } ++ ++ if(packet->udp) ++ ndpi_int_kerberos_add_connection(ndpi_struct, flow); ++ ++ /* We set the protocol in the response */ ++ if(flow->kerberos_buf.pktbuf != NULL) { ++ free(flow->kerberos_buf.pktbuf); ++ flow->kerberos_buf.pktbuf = NULL; ++ } ++ ++ return; ++ } else if(msg_type == 0x0d) /* TGS-REP */ { ++ u_int16_t pad_data_len, cname_offset; ++ ++#ifdef KERBEROS_DEBUG ++ printf("[Kerberos] Processing TGS-REP\n"); ++#endif ++ ++ koffsetp = koffset + 4; ++ pad_data_len = packet->payload[koffsetp]; ++ /* Skip realm already filled in request */ ++ cname_offset = pad_data_len + koffsetp + 15; ++ ++ if(cname_offset < packet->payload_packet_len) { ++ u_int8_t cname_len = packet->payload[cname_offset]; ++ ++ if((cname_offset+cname_offset) < packet->payload_packet_len) { ++ char cname_str[48]; ++ ++ if(cname_len > sizeof(cname_str)-1) ++ cname_len = sizeof(cname_str)-1; ++ ++ strncpy(cname_str, (char*)&packet->payload[cname_offset+1], cname_len); ++ cname_str[cname_len] = '\0'; ++ for(i=0; iprotos.kerberos.hostname, sizeof(flow->protos.kerberos.hostname), "%s", cname_str); ++ } else ++ snprintf(flow->protos.kerberos.username, sizeof(flow->protos.kerberos.username), "%s", cname_str); ++ ++ ndpi_int_kerberos_add_connection(ndpi_struct, flow); ++ } ++ } ++ } ++ ++ return; ++ } ++ ++ if(packet->payload_packet_len > 21 && ++ packet->payload[16] == 0x05 && ++ (packet->payload[21] == 0x0a || ++ packet->payload[21] == 0x0c || packet->payload[21] == 0x0d || packet->payload[21] == 0x0e)) { ++ ndpi_int_kerberos_add_connection(ndpi_struct, flow); ++ return; ++ } ++ } ++ } ++ } else { ++#ifdef KERBEROS_DEBUG ++ printf("[Kerberos][s/dport: %u/%u] Skipping packet: too long [kerberos_len: %u]\n", ++ sport, dport, kerberos_len); ++#endif ++ ++ if(flow->protos.kerberos.domain[0] != '\0') ++ return; ++ } ++ } ++ ++ NDPI_EXCLUDE_PROTO(ndpi_struct, flow); ++} ++ ++/* ************************************************* */ ++ ++static void ndpi_search_kerberos_original(struct ndpi_detection_module_struct *ndpi_struct, ++ struct ndpi_flow_struct *flow) { + struct ndpi_packet_struct *packet = &flow->packet; + + NDPI_LOG_DBG(ndpi_struct, "search KERBEROS\n"); + ++ if(__bug_dispatch[0] & (1 << 1)) { ++ u_int16_t koffset = 19, i, name_offset; ++ ++ name_offset = packet->payload[koffset+2]; ++ for(i=3; i<10; i++) if(packet->payload[koffset+i] == name_offset) break; ++ ++ name_offset = (packet->payload[koffset+i+1] << 8) + packet->payload[koffset+i+2]; ++ koffset += i; ++ ++ for(i=0; i<4; i++) if(packet->payload[koffset] != 0x30) koffset++; /* ASN.1 */ ++ ++ name_offset = koffset + 1 + name_offset; ++ for(i=0; i<10; i++) if(packet->payload[name_offset] != 0x05) name_offset++; /* ASN.1 */ ++ ++ name_offset += 4; ++ for(i=0; i<14; i++) if(packet->payload[name_offset] != 0x1b) name_offset++; /* ASN.1 */ ++ ++ snprintf(flow->protos.kerberos.realm, sizeof(flow->protos.kerberos.realm), "%u", ++ (u_int)packet->payload[++name_offset]); ++ } ++ + /* I have observed 0a,0c,0d,0e at packet->payload[19/21], maybe there are other possibilities */ +- if(packet->payload_packet_len >= 4 && ntohl(get_u_int32_t(packet->payload, 0)) == packet->payload_packet_len - 4) { +- if(packet->payload_packet_len > 19 && +- packet->payload[14] == 0x05 && +- (packet->payload[19] == 0x0a || +- packet->payload[19] == 0x0c || packet->payload[19] == 0x0d || packet->payload[19] == 0x0e)) { +- if(packet->payload[19] == 0x0a) /* AS-REQ */ { +- u_int pad_data_len = packet->payload[23]; +- u_int body_offset = pad_data_len + 23; ++ if(__bug_dispatch[0] & (1 << 0)) { ++ if(packet->payload_packet_len >= 4) { ++ if(packet->payload_packet_len > 19 && ++ packet->payload[21] == 0x0a) { ++ if(packet->payload[21] == 0x0a) /* AS-REQ */ { ++ u_int pad_data_len = packet->payload[25]; ++ u_int body_offset = pad_data_len + 25; ++ ++ if(body_offset < packet->payload_packet_len) { ++ u_int name_offset = body_offset + 30; + +- if(body_offset < packet->payload_packet_len) { +- u_int name_offset = body_offset + 30; ++ if(name_offset < packet->payload_packet_len) { ++ u_int cname_len = packet->payload[name_offset]; + +- if(name_offset < packet->payload_packet_len) { +- u_int cname_len = packet->payload[name_offset]; ++ if((cname_len+name_offset) < packet->payload_packet_len) { ++ u_int realm_len, realm_offset = cname_len + name_offset + 4, i; ++ char cname_str[24]; + +- if((cname_len+name_offset) < packet->payload_packet_len) { +- u_int realm_len, realm_offset = cname_len + name_offset + 4, i; +- char cname_str[24]; ++ if(cname_len > sizeof(cname_str)-1) ++ cname_len = sizeof(cname_str)-1; + +- if(cname_len > sizeof(cname_str)-1) +- cname_len = sizeof(cname_str)-1; ++ strncpy(cname_str, (char*)&packet->payload[name_offset+1], cname_len); ++ cname_str[cname_len] = '\0'; ++ for(i=0; ipayload[name_offset+1], cname_len); +- cname_str[cname_len] = '\0'; +- for(i=0; iprotos.kerberos.cname, sizeof(flow->protos.kerberos.cname), "%s", cname_str); +- +- realm_len = packet->payload[realm_offset]; ++ snprintf(flow->protos.kerberos.cname, sizeof(flow->protos.kerberos.cname), "%s", cname_str); ++ ++ realm_len = packet->payload[realm_offset]; + +- if((realm_offset+realm_len) < packet->payload_packet_len) { +- char realm_str[24]; ++ if((realm_offset+realm_len) < packet->payload_packet_len) { ++ char realm_str[24]; + +- if(realm_len >= sizeof(realm_str)) +- realm_len = sizeof(realm_str); ++ if(realm_len >= sizeof(realm_str)) ++ realm_len = sizeof(realm_str); + +- strncpy(realm_str, (char*)&packet->payload[realm_offset+1], realm_len); +- realm_str[realm_len] = '\0'; +- for(i=0; ipayload[realm_offset+1], realm_len); ++ realm_str[realm_len] = '\0'; ++ for(i=0; iprotos.kerberos.realm, sizeof(flow->protos.kerberos.realm), "%s", realm_str); ++ snprintf(flow->protos.kerberos.realm, sizeof(flow->protos.kerberos.realm), "%s", realm_str); ++ } + } + } + } + } ++ ++ ndpi_int_kerberos_add_connection(ndpi_struct, flow); ++ return; ++ + } + +- ndpi_int_kerberos_add_connection(ndpi_struct, flow); +- return; ++ if(packet->payload_packet_len > 21 && ++ packet->payload[16] == 0x05 && ++ (packet->payload[21] == 0x0a || ++ packet->payload[21] == 0x0c || packet->payload[21] == 0x0d || packet->payload[21] == 0x0e)) { ++ ndpi_int_kerberos_add_connection(ndpi_struct, flow); ++ return; + ++ } + } ++ } else { ++ if(packet->payload_packet_len >= 4 && ntohl(get_u_int32_t(packet->payload, 0)) == packet->payload_packet_len - 4) { ++ if(packet->payload_packet_len > 19 && ++ packet->payload[14] == 0x05 && ++ (packet->payload[19] == 0x0a || ++ packet->payload[19] == 0x0c || packet->payload[19] == 0x0d || packet->payload[19] == 0x0e)) { ++ if(packet->payload[19] == 0x0a) /* AS-REQ */ { ++ u_int pad_data_len = packet->payload[23]; ++ u_int body_offset = pad_data_len + 23; ++ ++ if(body_offset < packet->payload_packet_len) { ++ u_int name_offset = body_offset + 30; ++ ++ if(name_offset < packet->payload_packet_len) { ++ u_int cname_len = packet->payload[name_offset]; ++ ++ if((cname_len+name_offset) < packet->payload_packet_len) { ++ u_int realm_len, realm_offset = cname_len + name_offset + 4, i; ++ char cname_str[24]; ++ ++ if(cname_len > sizeof(cname_str)-1) ++ cname_len = sizeof(cname_str)-1; ++ ++ strncpy(cname_str, (char*)&packet->payload[name_offset+1], cname_len); ++ cname_str[cname_len] = '\0'; ++ for(i=0; ipayload_packet_len > 21 && +- packet->payload[16] == 0x05 && +- (packet->payload[21] == 0x0a || +- packet->payload[21] == 0x0c || packet->payload[21] == 0x0d || packet->payload[21] == 0x0e)) { +- ndpi_int_kerberos_add_connection(ndpi_struct, flow); +- return; ++ snprintf(flow->protos.kerberos.cname, sizeof(flow->protos.kerberos.cname), "%s", cname_str); + ++ realm_len = packet->payload[realm_offset]; ++ ++ if((realm_offset+realm_len) < packet->payload_packet_len) { ++ char realm_str[24]; ++ ++ if(realm_len >= sizeof(realm_str)) ++ realm_len = sizeof(realm_str); ++ ++ strncpy(realm_str, (char*)&packet->payload[realm_offset+1], realm_len); ++ realm_str[realm_len] = '\0'; ++ for(i=0; iprotos.kerberos.realm, sizeof(flow->protos.kerberos.realm), "%s", realm_str); ++ } ++ } ++ } ++ } ++ } ++ ++ ndpi_int_kerberos_add_connection(ndpi_struct, flow); ++ return; ++ ++ } ++ ++ if(packet->payload_packet_len > 21 && ++ packet->payload[16] == 0x05 && ++ (packet->payload[21] == 0x0a || ++ packet->payload[21] == 0x0c || packet->payload[21] == 0x0d || packet->payload[21] == 0x0e)) { ++ ndpi_int_kerberos_add_connection(ndpi_struct, flow); ++ return; ++ ++ } + } + } + + NDPI_EXCLUDE_PROTO(ndpi_struct, flow); + } + ++void ndpi_search_kerberos(struct ndpi_detection_module_struct *ndpi_struct, ++ struct ndpi_flow_struct *flow) { ++ if(__bug_dispatch[0] & (1 << 2)) { ++ ndpi_search_kerberos_osv_2020_1715(ndpi_struct, flow); ++ } else { ++ ndpi_search_kerberos_original(ndpi_struct, flow); ++ } ++} + + void init_kerberos_dissector(struct ndpi_detection_module_struct *ndpi_struct, + u_int32_t *id, NDPI_PROTOCOL_BITMASK *detection_bitmask) { +- ndpi_set_bitmask_protocol_detection("Kerberos", ndpi_struct, detection_bitmask, *id, +- NDPI_PROTOCOL_KERBEROS, +- ndpi_search_kerberos, +- NDPI_SELECTION_BITMASK_PROTOCOL_V4_V6_TCP_WITH_PAYLOAD_WITHOUT_RETRANSMISSION, +- SAVE_DETECTION_BITMASK_AS_UNKNOWN, +- ADD_TO_DETECTION_BITMASK); ++ if(__bug_dispatch[0] & (1 << 2)) { ++ ndpi_set_bitmask_protocol_detection("Kerberos", ndpi_struct, detection_bitmask, *id, ++ NDPI_PROTOCOL_KERBEROS, ++ ndpi_search_kerberos, ++ NDPI_SELECTION_BITMASK_PROTOCOL_V4_V6_TCP_OR_UDP_WITH_PAYLOAD_WITHOUT_RETRANSMISSION, ++ SAVE_DETECTION_BITMASK_AS_UNKNOWN, ++ ADD_TO_DETECTION_BITMASK); ++ } else { ++ if(__bug_dispatch[0] & (1 << 1)) { ++ ndpi_set_bitmask_protocol_detection("Kerberos", ndpi_struct, detection_bitmask, *id, ++ NDPI_PROTOCOL_KERBEROS, ++ ndpi_search_kerberos, ++ NDPI_SELECTION_BITMASK_PROTOCOL_V4_V6_TCP_OR_UDP_WITH_PAYLOAD_WITHOUT_RETRANSMISSION, ++ SAVE_DETECTION_BITMASK_AS_UNKNOWN, ++ ADD_TO_DETECTION_BITMASK); ++ } else { ++ ndpi_set_bitmask_protocol_detection("Kerberos", ndpi_struct, detection_bitmask, *id, ++ NDPI_PROTOCOL_KERBEROS, ++ ndpi_search_kerberos, ++ NDPI_SELECTION_BITMASK_PROTOCOL_V4_V6_TCP_WITH_PAYLOAD_WITHOUT_RETRANSMISSION, ++ SAVE_DETECTION_BITMASK_AS_UNKNOWN, ++ ADD_TO_DETECTION_BITMASK); ++ } ++ } + + *id += 1; + } +diff --git a/src/lib/protocols/line.c b/src/lib/protocols/line.c +index b6e676c55..735b40eaf 100644 +--- a/src/lib/protocols/line.c ++++ b/src/lib/protocols/line.c +@@ -18,6 +18,7 @@ + * + */ + #include "ndpi_protocol_ids.h" ++#include "../../../__bug_dispatch.h" + + #define NDPI_CURRENT_PROTO NDPI_PROTOCOL_LINE + +@@ -46,6 +47,12 @@ void ndpi_search_line(struct ndpi_detection_module_struct *ndpi_struct, struct n + ndpi_line_report_protocol(ndpi_struct, flow); + return; + } ++ ++ if (__bug_dispatch[1] & (1 << 2)) { ++ if (flow->packet.payload[1] == 0xB3) { ++ return; ++ } ++ } + } + } + +diff --git a/src/lib/protocols/softether.c b/src/lib/protocols/softether.c +new file mode 100644 +index 000000000..780b2f3ee +--- /dev/null ++++ b/src/lib/protocols/softether.c +@@ -0,0 +1,202 @@ ++#include "ndpi_api.h" ++#include "../../../__bug_dispatch.h" ++ ++enum softether_value_type { ++ VALUE_INT = 0u, ++ VALUE_DATA = 1u, ++ VALUE_STR = 2u ++}; ++ ++struct softether_value { ++ char const *value_str; ++ u_int32_t value_size; ++}; ++ ++static size_t dissect_softether_type(enum softether_value_type t, ++ struct softether_value *v, ++ u_int8_t const *payload, ++ u_int16_t payload_len) { ++ size_t ret = 0; ++ v->value_size = 0; ++ ++ switch(t) { ++ case VALUE_INT: ++ v->value_size = sizeof(int); ++ ret = v->value_size; ++ break; ++ ++ case VALUE_DATA: ++ case VALUE_STR: ++ v->value_str = (char const *)payload + 4; ++ u_int32_t siz = ntohl(get_u_int32_t(payload, 0)); ++ if(siz == 0 || (u_int64_t)payload_len < (u_int64_t)siz + 3) ++ return 0; ++ ++ if(t == VALUE_DATA) ++ siz--; ++ ++ v->value_size = siz; ++ ret = siz + sizeof(siz); ++ break; ++ ++ } ++ ++ return ret; ++} ++ ++static size_t dissect_softether_tuples(u_int8_t const *payload, u_int16_t payload_len, ++ struct softether_value *first_value) { ++ enum softether_value_type first_tuple_type; ++ enum softether_value_type second_tuple_type; ++ struct softether_value second_value; ++ size_t value_siz; ++ size_t const tuple_type_len = 8; ++ ++ first_tuple_type = (enum softether_value_type)ntohl(get_u_int32_t(payload, 0)); ++ second_tuple_type = (enum softether_value_type)ntohl(get_u_int32_t(payload, 4)); ++ ++ payload += tuple_type_len; ++ payload_len -= tuple_type_len; ++ ++ value_siz = dissect_softether_type(first_tuple_type, first_value, payload, payload_len); ++ ++ payload += value_siz; ++ payload_len -= value_siz; ++ ++ value_siz += dissect_softether_type(second_tuple_type, &second_value, payload, payload_len); ++ ++ return value_siz + tuple_type_len; ++} ++ ++static void dissect_softether_ip_port(struct ndpi_flow_struct *flow, ++ struct ndpi_packet_struct const *packet) ++{ ++ if(__bug_dispatch[0] & (1 << 4)) { ++ char * ip_port_separator; ++ size_t port_len; ++ ++ ip_port_separator = ndpi_strnstr((char const *)packet->payload + NDPI_STATICSTRING_LEN("IP="), ++ ",PORT=", ++ packet->payload_packet_len - NDPI_STATICSTRING_LEN("IP=")); ++ ++ port_len = ndpi_min(sizeof(flow->protos.softether.port) - 1, ++ ip_port_separator - (char const *)packet->payload - ++ NDPI_STATICSTRING_LEN("IP=") - NDPI_STATICSTRING_LEN(",PORT=")); ++ strncpy(flow->protos.softether.port, ip_port_separator + NDPI_STATICSTRING_LEN(",PORT="), ++ port_len); ++ } else { ++ } ++} ++ ++static void dissect_softether_host_fqdn(struct ndpi_flow_struct *flow, ++ struct ndpi_packet_struct const *packet) { ++ u_int8_t const *payload = packet->payload; ++ u_int16_t payload_len = packet->payload_packet_len; ++ u_int32_t tuple_count; ++ size_t value_siz; ++ struct softether_value val1; ++ ++ tuple_count = ntohl(get_u_int32_t(payload, 0)); ++ ++ payload += 4; ++ payload_len -= 4; ++ ++ value_siz = dissect_softether_type(VALUE_DATA, &val1, payload, payload_len); ++ ++ payload += value_siz; ++ payload_len -= value_siz; ++ ++ for(; tuple_count > 0; --tuple_count) { ++ value_siz = dissect_softether_tuples(payload, payload_len, &val1); ++ ++ if(__bug_dispatch[0] & (1 << 6)) { ++ strncpy(flow->protos.softether.fqdn, val1.value_str, val1.value_size); ++ } ++ ++ payload += value_siz; ++ payload_len -= value_siz; ++ } ++} ++ ++void ndpi_search_softether(struct ndpi_detection_module_struct *ndpi_struct, ++ struct ndpi_flow_struct *flow) { ++ if(__bug_dispatch[0] & (1 << 4)) { ++ dissect_softether_ip_port(flow, &flow->packet); ++ } else { ++ } ++ ++ if(__bug_dispatch[0] & (1 << 5)) { ++ struct ndpi_packet_struct const * const packet = &flow->packet; ++ char *ip_port_separator; ++ size_t port_len; ++ ++ ip_port_separator = ndpi_strnstr((char const *)packet->payload + NDPI_STATICSTRING_LEN("IP="), ++ ",PORT=", ++ packet->payload_packet_len - NDPI_STATICSTRING_LEN("IP=")); ++ ++ port_len = ndpi_min(sizeof(flow->protos.softether.port) - 1, ++ ip_port_separator - (char const *)packet->payload - ++ NDPI_STATICSTRING_LEN("IP=") - NDPI_STATICSTRING_LEN(",PORT=")); ++ strncpy(flow->protos.softether.port, ip_port_separator + NDPI_STATICSTRING_LEN(",PORT="), ++ port_len); ++ flow->protos.softether.port[port_len] = '\0'; ++ } ++ ++ if(__bug_dispatch[0] & (1 << 6)) { ++ dissect_softether_host_fqdn(flow, &flow->packet); ++ } ++ ++ if(__bug_dispatch[1] & (1 << 0)) { ++ if(flow->packet.payload_packet_len >= 36) { ++ strncpy(flow->protos.softether.hostname, (char const *)&flow->packet.payload[34], 2); ++ } ++ } ++} ++ ++void init_softether_dissector(struct ndpi_detection_module_struct *ndpi_struct, ++ u_int32_t *id, NDPI_PROTOCOL_BITMASK *detection_bitmask) { ++ if(__bug_dispatch[0] & (1 << 4)) { ++ ndpi_set_bitmask_protocol_detection("Softether", ndpi_struct, detection_bitmask, *id, ++ NDPI_PROTOCOL_SOFTETHER, ++ ndpi_search_softether, ++ NDPI_SELECTION_BITMASK_PROTOCOL_V4_V6_UDP_WITH_PAYLOAD, ++ SAVE_DETECTION_BITMASK_AS_UNKNOWN, ++ ADD_TO_DETECTION_BITMASK ++ ); ++ ++ *id += 1; ++ } else { ++ } ++ ++ if(__bug_dispatch[0] & (1 << 5)) { ++ ndpi_set_bitmask_protocol_detection("Softether", ndpi_struct, detection_bitmask, *id, ++ NDPI_PROTOCOL_SOFTETHER, ++ ndpi_search_softether, ++ NDPI_SELECTION_BITMASK_PROTOCOL_V4_V6_UDP_WITH_PAYLOAD, ++ SAVE_DETECTION_BITMASK_AS_UNKNOWN, ++ ADD_TO_DETECTION_BITMASK ++ ); ++ ++ *id += 1; ++ } ++ ++ if(__bug_dispatch[0] & (1 << 6)) { ++ ndpi_set_bitmask_protocol_detection("Softether", ndpi_struct, detection_bitmask, *id, ++ 249, ++ ndpi_search_softether, ++ NDPI_SELECTION_BITMASK_PROTOCOL_V4_V6_UDP_WITH_PAYLOAD, ++ SAVE_DETECTION_BITMASK_AS_UNKNOWN, ++ ADD_TO_DETECTION_BITMASK); ++ ++ *id += 1; ++ } ++ ++ if(__bug_dispatch[1] & (1 << 0)) { ++ ndpi_set_bitmask_protocol_detection("SoftEther", ndpi_struct, detection_bitmask, *id, ++ NDPI_PROTOCOL_SOFTETHER, ndpi_search_softether, ++ NDPI_SELECTION_BITMASK_PROTOCOL_V4_V6_UDP_WITH_PAYLOAD, ++ SAVE_DETECTION_BITMASK_AS_UNKNOWN, ADD_TO_DETECTION_BITMASK); ++ ++ *id += 1; ++ } ++} +diff --git a/src/lib/protocols/tls.c b/src/lib/protocols/tls.c +index c65d4fc69..012abf7c4 100644 +--- a/src/lib/protocols/tls.c ++++ b/src/lib/protocols/tls.c +@@ -28,6 +28,7 @@ + #include "ndpi_api.h" + #include "ndpi_md5.h" + #include "ndpi_sha1.h" ++#include "../../../__bug_dispatch.h" + + extern char *strptime(const char *s, const char *format, struct tm *tm); + +@@ -341,6 +342,24 @@ int getTLScertificate(struct ndpi_detection_module_struct *ndpi_struct, + + flow->protos.stun_ssl.ssl.ssl_version = tls_version; + } ++ } else if(extension_id == 16) { ++ if(__bug_dispatch[0] & (1 << 3)) { ++ u_int16_t s_offset = offset + 6, tot_alpn_len = ntohs(*((u_int16_t*)&packet->payload[offset + 4])) + s_offset; ++ char alpn_str[256], str[64], *(*volatile strncpy_fn)(char *, const char *, size_t) = strncpy; ++ u_int8_t alpn_str_len = 0; ++ ++ while(s_offset < tot_alpn_len) { ++ u_int8_t alpn_len = packet->payload[s_offset++]; ++ ++ if(alpn_str_len + alpn_len + 1 >= sizeof(alpn_str)) ++ break; ++ ++ memcpy(&alpn_str[alpn_str_len], &packet->payload[s_offset], alpn_len); ++ s_offset += alpn_len; ++ alpn_str_len += alpn_len; ++ } ++ strncpy_fn(str, alpn_str, strlen(alpn_str)); ++ } + } + + i += 4 + extension_len, offset += 4 + extension_len; diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/patches/harness.diff b/benchmarks/ndpi_transplant_fuzz_process_packet/patches/harness.diff new file mode 100644 index 000000000..8e44163c7 --- /dev/null +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/patches/harness.diff @@ -0,0 +1,74 @@ +diff --git a/__bug_dispatch.c b/__bug_dispatch.c +new file mode 100644 +index 000000000..8b8ff0ce2 +--- /dev/null ++++ b/__bug_dispatch.c +@@ -0,0 +1,2 @@ ++#include "__bug_dispatch.h" ++volatile uint8_t __bug_dispatch[__BUG_DISPATCH_BYTES] = {0}; +diff --git a/__bug_dispatch.h b/__bug_dispatch.h +new file mode 100644 +index 000000000..1caecb4ca +--- /dev/null ++++ b/__bug_dispatch.h +@@ -0,0 +1,6 @@ ++#ifndef __BUG_DISPATCH_H ++#define __BUG_DISPATCH_H ++#include ++#define __BUG_DISPATCH_BYTES 2 ++extern volatile uint8_t __bug_dispatch[__BUG_DISPATCH_BYTES]; ++#endif +diff --git a/fuzz/Makefile.am b/fuzz/Makefile.am +index 4693d4076..bfb34aafa 100644 +--- a/fuzz/Makefile.am ++++ b/fuzz/Makefile.am +@@ -1,6 +1,8 @@ + bin_PROGRAMS = fuzz_process_packet + +-fuzz_process_packet_SOURCES = fuzz_process_packet.c ++AM_CPPFLAGS = -I$(top_srcdir) ++ ++fuzz_process_packet_SOURCES = fuzz_process_packet.c ../__bug_dispatch.c + fuzz_process_packet_LDFLAGS = ../src/lib/libndpi.a + if HAS_FUZZLDFLAGS + fuzz_process_packet_LDFLAGS += $(LIB_FUZZING_ENGINE) +diff --git a/fuzz/fuzz_process_packet.c b/fuzz/fuzz_process_packet.c +index 88319b419..6e0e57f77 100644 +--- a/fuzz/fuzz_process_packet.c ++++ b/fuzz/fuzz_process_packet.c +@@ -1,7 +1,10 @@ + #include "ndpi_api.h" ++#include "__bug_dispatch.h" + + #include + #include ++#include ++#include + + struct ndpi_detection_module_struct *ndpi_info_mod = NULL; + struct ndpi_flow_struct *ndpi_flow; +@@ -9,6 +12,14 @@ struct ndpi_id_struct *src; + struct ndpi_id_struct *dst; + + int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) { ++ if (Size < __BUG_DISPATCH_BYTES) return 0; ++ memcpy((void*)__bug_dispatch, Data, __BUG_DISPATCH_BYTES); ++ Data += __BUG_DISPATCH_BYTES; ++ Size -= __BUG_DISPATCH_BYTES; ++ uint8_t *__fuzz_copy = (uint8_t *)malloc(Size); ++ if (!__fuzz_copy) return 0; ++ memcpy(__fuzz_copy, Data, Size); ++ + if (ndpi_info_mod == NULL) { + ndpi_info_mod = ndpi_init_detection_module(); + NDPI_PROTOCOL_BITMASK all; +@@ -22,7 +33,8 @@ int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) { + memset(ndpi_flow, 0, SIZEOF_FLOW_STRUCT); + memset(src, 0, SIZEOF_ID_STRUCT); + memset(dst, 0, SIZEOF_ID_STRUCT); +- ndpi_detection_process_packet(ndpi_info_mod, ndpi_flow, Data, Size, 0, src, dst); ++ ndpi_detection_process_packet(ndpi_info_mod, ndpi_flow, __fuzz_copy, Size, 0, src, dst); + ++ free(__fuzz_copy); + return 0; + } diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2020-1011-patched b/benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2020-1011-patched new file mode 100644 index 0000000000000000000000000000000000000000..24df7bb563f5edd10d27a35bf8a5dec4f1ca44ae GIT binary patch literal 101 vcmZQza8+PPR!~r2P+$X+3JU-K{|D0wVh{>WgSot13L!qOAy6seC|)iAU{w!a literal 0 HcmV?d00001 diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2020-1013-patched b/benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2020-1013-patched new file mode 100644 index 0000000000000000000000000000000000000000..93ea50626606d0022e7fa3a0efb3cef3f5231092 GIT binary patch literal 83 zcmZQzaAjl&WB>vdw$BW)m(?!oNO3X#`v3pmf1ucb|NsC0Vc@H*?60gu5vsKR%pkyU VlM$p52v`_^tXKwy1_lPTe*hXp9gP40 literal 0 HcmV?d00001 diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2020-1015-patched b/benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2020-1015-patched new file mode 100644 index 0000000000000000000000000000000000000000..e56930ae319e05325221be337e2d15e283e98fd0 GIT binary patch literal 46 zcmV+}0MY*d07ZEKEa(FO01*)pZr1$)0TH+5p8y~LL;$7#|Ky+v2mjvy0P}7Fpl<&G E15Wl3g#Z8m literal 0 HcmV?d00001 diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2020-1019-patched b/benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2020-1019-patched new file mode 100644 index 0000000000000000000000000000000000000000..8343017d8c7ee4d8db0d07a6f773a84ef91e6b29 GIT binary patch literal 21571 zcmeGj3vg4%@np*ao_Q{U#Iy|Hqr})X`uKw}yc*jSKiilf8GQhoP|!#M48jtU9E!^~ zCCLOxhZF+glbAB41u_GrWK=$r6cV7BrUX)OOURHAnotN$1~L#bWy0&;J^hTIV;c*9 z;H}5+?)L6>_x3*C-8&=1V+#gASVfY?kc_c_6^(IHB?0;?^inkvIA}~jAZa8oKpuY9 z02+QsW$;(P_u?kd8roZIOvs2hN{^HXDkeaL3CbzbC11*x${CSTtfid8)nX}96Ujjh zDhEmol8}-%lfbu#GG!EJv5e`-3bSb}$@y_6Lg!ef*ycwqf|JABX`|&WHl+=W+DfcM zDub~%Ns(HeJaDa`Q&1=p!H5*xv4(Whr*oM|}KFudW=zG9Zi zSPTGk<66hOXX~0FL`F4{Hoj>w*r_T2<$R!;5oH6NL`x}7gVU-pth;q=55QIsrnRGZ zDB7hz6r+#_@xU|y$9}uufe9uP7Bw*QOzPVaUD&!akYUvLIb0bTPZ!U1OKpofwb7)_ z0|4vc{yMgqldZ6@Fv#qlRT4sH(T02!x4YqdL^44@VJu{TC$p-AA6Hx!%~K@RPM$-Z63bV;&fqsmCf&WyT>|A&QRkZl`RCE4hl825cxDwAmvdy z1Sr>ftF>OIPfyu6J+t)-YMtIiD7*% z?IcEJ6E?9xJTC#UpxYrdzG)YiItd7`nG^R*`r`d|eDwMq2}1{toljDDI54r4s{V>$ zy$JlSb)Z1sI-D-2--)NvZqw+OeE65*TsjznQZ*gy1z}l<(P}8}K|#k9q4aEo3`6G6 z>!BvY90QgBQf}qYM#SA_Q6`Jx51}-~FbJQnTHl1j|0Nn zSP(M%{0^gKM#%!5-9492LdFc(&}ucOR_hE?Keeb7gOarRA$WWEsy6vX!{INc9`s9z{|@pJP{M%egeZl9lX1yEwJ ze;|+rS0T-C6HSYW?z(E1%cdWp%f#UHh)l#Up_dgDCK}&jzO@pu49uVv!Lj%Qm0?J! z<&NI3nWAy9%rbY42MiyrWswIiSD@e}1(LJT97QkpcwE(XM|Jypm(F0B8W%!a^wsv| z^%|DxgD_F+y|@;9$o=RZ2QnYQQ2|FdSymK=ib+@g^4A;hryF!XMQWCB$Vn+E-n9)DK)X{wB)jP!Sjjo**xbQ{e9PBKCPXt3ksGW~cXQC&@FcCY*=0 zIBnmK+a*TW!u?qWx>g}fe2SjnRM5Y6?fYaj?%p;v(7xMNyaET!f6Xj2Ra@frTI)*9 zj1{wXi+7>T>nO!m3shOr@+zwpL)QATld)QN?5={6m3+#z+8l(Kw6?MC+}3Rm1xxnm z+(EROdpHIsha_RecgK*V9Fc7GV(*-WV!*d^c*|TL9Sz7wxgbPtv|4$TlY3Ut@(;PS zE%^aW>SK4iBp>Au&+!4{UjZG0N6M$5+jk)Q zkxGdSZ-(`%=)V`06DLpjKJTE_#(z5gCj_l7t=JZ3Af4e75bgt2I8Tf*O{Os>>9(=N znjqi;^y&!B86|~qnO#<)&(vwNvU5g{3VH4+uf>w3OiR{)ga+h80CnIYQ2E@hQFm7S z+q~}YLq9mWGFfTZ`}($ZKeQJN-+d5Y@4M8UVVi&QGhY4T<|DnUQwz8Jr?Qlbe5`O(N^UFi7PB_Eu`ROlTt)Fr!d*lJ-fnz6y_sXkBA6Gnn@@p>s zK;>)P;6JZVxe)l{<$?X|hs>2%Z|y%YK5@hg**kh%e5wb&)$rtn>b?ug@VV{#B-T*( zK*`ZCIU06vNUVFTTqL_t_u)cC93t6;YW8toH`xGPRZQ7>>PYLU(JGK#s7C6L3!SC` z`4H%|L!i^$Q( z`iQ;+m3kc-31~>?id`6a0I;VZ|!<=A&r>|1(~bUCaX_KpsF!;=B2fBlvp=XAMs e8w-Ktpi-v=mE_2BEEcd#qx~9?4}p$61pW_1#N7M< literal 0 HcmV?d00001 diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2020-1074-patched b/benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2020-1074-patched new file mode 100644 index 0000000000000000000000000000000000000000..555f6020b71ba6250b98d771cd05e28069e5a0b5 GIT binary patch literal 186 zcmY+8F$%&!5JlgjE4Z>E;t4!PDn(+M#XuVC)VV_T6uE$X?qjcDC20h)aGcf3*UbF+ zF#khtIAp+hQiRLGWR31+CWvxv;mih1QqYP#2a#TZNSX=qa`sQCe%d>OA5rVi6Ic=J u-5OrD2)k+WR_Z8S-yikQH%5k9V>C|>5A6~p?n5=-dKcevTc#dzr}+S&$3sK_ literal 0 HcmV?d00001 diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2020-1112-patched b/benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2020-1112-patched new file mode 100644 index 0000000000000000000000000000000000000000..713df60ead27c1af13d75dacf70220316855c225 GIT binary patch literal 73 vcmZQza8+P%S5Q!3P!I%?P{3gNAIkc#z`z1xGBARafWUt+P=F}_ivbA$@WK!e literal 0 HcmV?d00001 diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2020-1114-patched b/benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2020-1114-patched new file mode 100644 index 0000000000000000000000000000000000000000..1e5125f0689b8adc85b26db227ddd1bd844a0245 GIT binary patch literal 53 zcmZQzaAjmLW&i?VK|Y3Ak9i(5s6O_43wB(69gE5%HBEvRf1Tu Hi~TGBIKv-= literal 0 HcmV?d00001 diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2020-1187-patched b/benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2020-1187-patched new file mode 100644 index 0000000000000000000000000000000000000000..79ad265b66d98740bdf3c86311df549ee85d211f GIT binary patch literal 60 icmZQza8+QiQczG}P!I%?XuyGifeTGYfkEUy6aWD0(+$S} literal 0 HcmV?d00001 diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2020-1194-patched b/benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2020-1194-patched new file mode 100644 index 0000000000000000000000000000000000000000..8f0a2b111e931349aefeb7554ceaf6c6de45a171 GIT binary patch literal 615 zcmZQzaAjot!vF$oe*gbF?$gVzWc&{V3=T{T1}|2uSWyDR5C9VX|G$7CNACZB|Iid2 zUM@Fx*ANARQlRMX-!8mdj-e$U3T(Vw`%Mqo8rU+})!N$D+SURA!+)?13=E8{P=>No zhyoI5Z7nEDy%g%`@8{?047LVD0M+U+==|m7Vq_450PeYPNdyDMZpR}ayBq9k5%Q>x zgD8MI4xtR)7+F*=FzA9Eg53pNjxM~Rxh22B-Ur%%2n&#PhPd2gJ%9idQ6R@*4N?65 RK?`341^^4I5>@~J literal 0 HcmV?d00001 diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2020-1233-patched b/benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2020-1233-patched new file mode 100644 index 0000000000000000000000000000000000000000..bc84314a62b8562e28538c2ddc5d37cc92270dc3 GIT binary patch literal 113 zcmZQzaOGpjvtnRiU}5uMWbk6x!N4FWD8?Xc#s~y&7(nDihKc?Go^Fu}KmKp_WMHtJ zC&&=uZy>->#s7|>fq_AWk%OWB|2qZ)28OEte;G7^W-$UW65HxOgLWRn|NnoAOa21@ D@h%(t literal 0 HcmV?d00001 diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2020-1263-patched b/benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2020-1263-patched new file mode 100644 index 0000000000000000000000000000000000000000..a937e83cf6f92f1d2984cb25c60391d01eb568ca GIT binary patch literal 112 kcmZQza8+Q)Q&3P~P+$X+2=E`qtb{R8X$DgV%1lwC2($7+^4P>|zMp>A}e0 kY&fxtfgx-Qkm+^z|J}QH8LF(f85kG@1ikq97_4ps0QEqpfvE!_M-dAE=F%Ov literal 0 HcmV?d00001 diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2020-49-patched b/benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2020-49-patched new file mode 100644 index 0000000000000000000000000000000000000000..1cb5c56577644584e28fd4387c14ace74fcc7a3b GIT binary patch literal 44 pcmZQzaAjf8`ahR}p1^`s^27mwn literal 0 HcmV?d00001 diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2020-972-patched b/benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2020-972-patched new file mode 100644 index 0000000000000000000000000000000000000000..01ffa024567197ddd4576a1c8a12a1a95037b0ff GIT binary patch literal 258 zcmY+9F%E)25Jf*=D3&bI#?E9KiH#RnV_{%hVKp4U5NeGOTQA^sJc0L6j^GVOmMDhl zX6EO;89?U_-~uDxuhT=t$4gaDbOl|e<|eT*dbdl@QYb(Q zq4FeSUNU1s=3~OOA`8G_|gcF0;vb>A5g`AE=C41 z2;deIV-sNm0cTwXdp4ltiJ$-eGeVUq!T>vvp$FysR{%4PFbf0eL`4QL;h<=(sHmZ+ z$i)Sg{Jfws1FBq6@x%N{E4jFSg8|U|hyQ_!`hXfidYDl3G$5M+)c>eqHN+IK_LSd1 V@16Mh|3Aa~cel5)Fbgw+B>~6&NJjtw literal 0 HcmV?d00001 diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2022-1032-patched b/benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2022-1032-patched new file mode 100644 index 0000000000000000000000000000000000000000..2b175a611eda96da2311d7fd77df6fbe71f6c8c0 GIT binary patch literal 310 zcmZo*aP?s{xfsB}z`(|D{hu*KBaDG3D=2^=z|$|@#WBQD!Qtx{1&@%B0DVI}Lp^?8 zE|2`+5-WQfd-dEBpe8U70Fm|;xh3j$HVDdA3C3k$&}4v1=7ZFPcqr%xsWRvQ^|iP- zu3%zhP%!w*$lzhcpv%h@oElW-T4a@%o|#txwADnxgVGzv^5Ve7Xa!jOYZ;x literal 0 HcmV?d00001 diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2022-445-patched b/benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2022-445-patched new file mode 100644 index 0000000000000000000000000000000000000000..6218407a9a8534da188da64d2fa6b2f3850af849 GIT binary patch literal 297 zcmd;Ja8+PbX8-~PHU&5kV`gULV`5-r1&VONMX@p%z@iKS3M%aW) OunE#Z?Eim~ECB$Wwj{;? literal 0 HcmV?d00001 diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2022-661-patched b/benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2022-661-patched new file mode 100644 index 0000000000000000000000000000000000000000..f5104fc54f124bc6fc6ab33e5050d6813eef7576 GIT binary patch literal 42 hcmWe&aQ)Aqp`f6^pdbh&(ST=wtxkY{P>3y18~~De2QmNv literal 0 HcmV?d00001 diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2022-670-patched b/benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2022-670-patched new file mode 100644 index 0000000000000000000000000000000000000000..388c147b82ae74de512878342b5e81299545d541 GIT binary patch literal 50 ncmY#ja8+P1P*6}{P!RkNq)>rpfGtqqKUm_wPJn+WU<65{vB8o|KtVyT N0a6J9To9XpBml>M5BvZC literal 0 HcmV?d00001 diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2023-102-patched b/benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2023-102-patched new file mode 100644 index 0000000000000000000000000000000000000000..a82b52494d56d1c43508cc7463cf61690469fccd GIT binary patch literal 129 zcmZQzbX8!eS5Q!3P!Lr34}?&_xEsu1U|?imVBpWlFD{ACOUzAW0E+$xiZB5&2!It4 NO#saYBd`XjRRGJ`7`gxe literal 0 HcmV?d00001 diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2023-436-patched b/benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2023-436-patched new file mode 100644 index 0000000000000000000000000000000000000000..a4ae2830130c8d615efdd16fec0f495426919922 GIT binary patch literal 50 scmZQza#dh3P*7lCP+(Jlg8={F5GaS2%fBcyJu}Zr!Af6Wp(0Ng0JD7w2mk;8 literal 0 HcmV?d00001 diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2023-504-patched b/benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2023-504-patched new file mode 100644 index 0000000000000000000000000000000000000000..85af4265866dcffbf747577e6f727cdd26cb88bf GIT binary patch literal 31 ecmZQzaaCZDRZvi1P!I%?Ku~+}4}<|EF8}~aw+0db literal 0 HcmV?d00001 diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2023-566-patched b/benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2023-566-patched new file mode 100644 index 0000000000000000000000000000000000000000..6f54a8f3b2af449ededcb1c3838bb9c7bf6a6749 GIT binary patch literal 97 zcmZSJa8+Q4S5RPJP+(Jl1CNl90DVI}1qBleBVMkE{JfIXyb|4z%7RoY1zs*^DBmTs VxFEkcvm`S=&kC*;g`vdD1px1j6*d3> literal 0 HcmV?d00001 diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2024-469-patched b/benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2024-469-patched new file mode 100644 index 0000000000000000000000000000000000000000..989bb5b2600c0b91dfbfcf338f99a31bbc14ce18 GIT binary patch literal 68 zcmZP&aAja{VgLdMHU@@z1_nkDW(Y8_1c`w_fP?~=_6P|H&^OdGR4_6yP~heAFUm~M L%(GIk;^hJW?y(6P literal 0 HcmV?d00001 diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2025-449-patched b/benchmarks/ndpi_transplant_fuzz_process_packet/seeds/testcase-OSV-2025-449-patched new file mode 100644 index 0000000000000000000000000000000000000000..b1c31295eb3d10be6a116677648bc120b97ae185 GIT binary patch literal 52 qcmZQja8+P1Qcz%EP+(Jl19#UD2>btkUasKOqO#N?tN&0DUM>LdY73bF literal 0 HcmV?d00001 From da2ed0323eb996c6e7f537e7e75b1e0c6c18113f Mon Sep 17 00:00:00 2001 From: linke Date: Wed, 15 Apr 2026 18:24:50 -0600 Subject: [PATCH 12/47] ndpi_transplant_fuzz_process_packet: disable json-c in build The runner image (base-runner) doesn't ship libjson-c.so.4, so the dynamically-linked fuzz_process_packet binary exited 127 on every invocation inside the trial containers, producing zero fuzzing work. nDPI's fuzz targets don't need json-c, so --disable-json-c makes the binary self-contained. --- benchmarks/ndpi_transplant_fuzz_process_packet/build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/build.sh b/benchmarks/ndpi_transplant_fuzz_process_packet/build.sh index 151a6f1c5..9c577817d 100755 --- a/benchmarks/ndpi_transplant_fuzz_process_packet/build.sh +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/build.sh @@ -83,7 +83,7 @@ UB_CLASSES=shift,integer-divide-by-zero,null,bounds,vla-bound,return,unreachable export CFLAGS="${CFLAGS:-} -fsanitize=$UB_CLASSES -fno-sanitize-recover=$UB_CLASSES" export CXXFLAGS="${CXXFLAGS:-} -fsanitize=$UB_CLASSES -fno-sanitize-recover=$UB_CLASSES" sh autogen.sh -./configure --enable-fuzztargets CC="$CC" CXX="$CXX" +./configure --enable-fuzztargets --disable-json-c CC="$CC" CXX="$CXX" make -k CC="$CC" CXX="$CXX" 2>&1 || true ls fuzz/fuzz* | grep -v "\." | while read i; do cp $i $OUT/; done From ba1cc7fc8201fe6da8cfe5d9c440acdc947fab79 Mon Sep 17 00:00:00 2001 From: linke Date: Thu, 16 Apr 2026 12:29:25 -0600 Subject: [PATCH 13/47] ndpi_transplant_fuzz_process_packet: per-invocation ndpi_flow MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Persistent-mode fuzzers (AFL++ with cmplog) previously crashed every trial at dry-run because the harness kept a global ndpi_flow that was reused across calls. Certain transplanted bugs caused nDPI to free ndpi_flow internally, so the next iteration's memset(ndpi_flow, …) tripped a heap-use-after-free and subsequent seeds crashed. Allocate ndpi_flow via ndpi_flow_malloc at the start of each LLVMFuzzerTestOneInput call and release it with ndpi_free_flow before returning, matching the ndpi_transplant_fuzz_ndpi_reader pattern. The dispatch-gated ndpi_free_flow that combined.diff previously added for OSV-2020-342 is now redundant and was removed. OSV-2023-102's crash signature was literally that cross-call UAF, so it no longer triggers — the bug was a harness artifact rather than an nDPI defect, and regen_crashes confirms 42/43 transplanted bugs still trigger cleanly. --- .../crashes/OSV-2020-1011.txt | 26 +++++----- .../crashes/OSV-2020-1013.txt | 26 +++++----- .../crashes/OSV-2020-1015.txt | 32 ++++++------ .../crashes/OSV-2020-1019.txt | 26 +++++----- .../crashes/OSV-2020-1074.txt | 26 +++++----- .../crashes/OSV-2020-1112.txt | 36 ++++++------- .../crashes/OSV-2020-1114.txt | 34 ++++++------ .../crashes/OSV-2020-1131.txt | 34 ++++++------ .../crashes/OSV-2020-1133.txt | 26 +++++----- .../crashes/OSV-2020-1187.txt | 34 ++++++------ .../crashes/OSV-2020-1194.txt | 26 +++++----- .../crashes/OSV-2020-1233.txt | 26 +++++----- .../crashes/OSV-2020-1263.txt | 26 +++++----- .../crashes/OSV-2020-1294.txt | 26 +++++----- .../crashes/OSV-2020-136.txt | 34 ++++++------ .../crashes/OSV-2020-154.txt | 34 ++++++------ .../crashes/OSV-2020-1715.txt | 20 +++---- .../crashes/OSV-2020-179.txt | 36 ++++++------- .../crashes/OSV-2020-194.txt | 26 +++++----- .../crashes/OSV-2020-28.txt | 28 +++++----- .../crashes/OSV-2020-342.txt | 26 +++++----- .../crashes/OSV-2020-49.txt | 34 ++++++------ .../crashes/OSV-2020-59.txt | 26 +++++----- .../crashes/OSV-2020-774.txt | 34 ++++++------ .../crashes/OSV-2020-78.txt | 34 ++++++------ .../crashes/OSV-2020-795.txt | 34 ++++++------ .../crashes/OSV-2020-812.txt | 34 ++++++------ .../crashes/OSV-2020-918.txt | 32 ++++++------ .../crashes/OSV-2020-922.txt | 32 ++++++------ .../crashes/OSV-2020-972.txt | 26 +++++----- .../crashes/OSV-2020-992.txt | 26 +++++----- .../crashes/OSV-2020-994.txt | 26 +++++----- .../crashes/OSV-2022-1032.txt | 52 +++++++++---------- .../crashes/OSV-2022-445.txt | 26 +++++----- .../crashes/OSV-2022-661.txt | 34 ++++++------ .../crashes/OSV-2022-670.txt | 32 ++++++------ .../crashes/OSV-2022-709.txt | 34 ++++++------ .../crashes/OSV-2023-436.txt | 40 +++++++------- .../crashes/OSV-2023-504.txt | 32 ++++++------ .../crashes/OSV-2023-566.txt | 38 +++++++------- .../crashes/OSV-2024-469.txt | 38 +++++++------- .../crashes/OSV-2025-449.txt | 38 +++++++------- .../patches/combined.diff | 14 ----- .../patches/harness.diff | 14 +++-- 44 files changed, 666 insertions(+), 672 deletions(-) diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1011.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1011.txt index 8890092d1..776867d1f 100644 --- a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1011.txt +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1011.txt @@ -1,20 +1,20 @@ -INFO: Seed: 4134000162 +INFO: Seed: 4283020739 /out/fuzz_process_packet: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ndpi_utils.c:218:18: runtime error: shift exponent 32 is too large for 32-bit type 'u_int32_t' (aka 'unsigned int') - #0 0x5b4303 in ndpi_net_match /src/ndpi/src/lib/ndpi_utils.c:218:18 - #1 0x5b4303 in ndpi_ips_match /src/ndpi/src/lib/ndpi_utils.c:226:10 - #2 0x547a91 in sc2_match_logon_ip /src/ndpi/src/lib/protocols/starcraft.c:37:11 - #3 0x547c27 in ndpi_check_starcraft_tcp /src/ndpi/src/lib/protocols/starcraft.c:52:7 - #4 0x548467 in ndpi_search_starcraft /src/ndpi/src/lib/protocols/starcraft.c:131:16 - #5 0x4f6b0f in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4061:4 - #6 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #0 0x5b42c3 in ndpi_net_match /src/ndpi/src/lib/ndpi_utils.c:218:18 + #1 0x5b42c3 in ndpi_ips_match /src/ndpi/src/lib/ndpi_utils.c:226:10 + #2 0x547a51 in sc2_match_logon_ip /src/ndpi/src/lib/protocols/starcraft.c:37:11 + #3 0x547be7 in ndpi_check_starcraft_tcp /src/ndpi/src/lib/protocols/starcraft.c:52:7 + #4 0x548427 in ndpi_search_starcraft /src/ndpi/src/lib/protocols/starcraft.c:131:16 + #5 0x4f6acf in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4061:4 + #6 0x4ffa26 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 #7 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 - #8 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 - #9 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 - #10 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 - #11 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 - #12 0x7fd05d7bd082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #8 0x5d64cc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #9 0x5c8425 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #10 0x5cd0d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #11 0x5c80f2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #12 0x7fcfb8d82082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) #13 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ndpi_utils.c:218:18 in diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1013.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1013.txt index bbf2d17ed..10c911e5e 100644 --- a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1013.txt +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1013.txt @@ -1,20 +1,20 @@ -INFO: Seed: 4136249366 +INFO: Seed: 4285721341 /out/fuzz_process_packet: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ndpi_utils.c:218:18: runtime error: shift exponent 32 is too large for 32-bit type 'u_int32_t' (aka 'unsigned int') - #0 0x5b4303 in ndpi_net_match /src/ndpi/src/lib/ndpi_utils.c:218:18 - #1 0x5b4303 in ndpi_ips_match /src/ndpi/src/lib/ndpi_utils.c:226:10 - #2 0x547a91 in sc2_match_logon_ip /src/ndpi/src/lib/protocols/starcraft.c:37:11 - #3 0x547c27 in ndpi_check_starcraft_tcp /src/ndpi/src/lib/protocols/starcraft.c:52:7 - #4 0x548467 in ndpi_search_starcraft /src/ndpi/src/lib/protocols/starcraft.c:131:16 - #5 0x4f6b0f in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4061:4 - #6 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #0 0x5b42c3 in ndpi_net_match /src/ndpi/src/lib/ndpi_utils.c:218:18 + #1 0x5b42c3 in ndpi_ips_match /src/ndpi/src/lib/ndpi_utils.c:226:10 + #2 0x547a51 in sc2_match_logon_ip /src/ndpi/src/lib/protocols/starcraft.c:37:11 + #3 0x547be7 in ndpi_check_starcraft_tcp /src/ndpi/src/lib/protocols/starcraft.c:52:7 + #4 0x548427 in ndpi_search_starcraft /src/ndpi/src/lib/protocols/starcraft.c:131:16 + #5 0x4f6acf in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4061:4 + #6 0x4ffa26 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 #7 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 - #8 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 - #9 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 - #10 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 - #11 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 - #12 0x7fb0833f6082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #8 0x5d64cc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #9 0x5c8425 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #10 0x5cd0d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #11 0x5c80f2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #12 0x7fc55a2a5082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) #13 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ndpi_utils.c:218:18 in diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1015.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1015.txt index a7bcaa779..d26110b9c 100644 --- a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1015.txt +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1015.txt @@ -1,31 +1,31 @@ -INFO: Seed: 4138424798 +INFO: Seed: 4288122601 /out/fuzz_process_packet: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60400000013c at pc 0x000000439ca6 bp 0x7ffc8af95ec0 sp 0x7ffc8af95670 +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60400000013c at pc 0x000000439ca6 bp 0x7ffee8125de0 sp 0x7ffee8125590 READ of size 13 at 0x60400000013c thread T0 #0 0x439ca5 in MemcmpInterceptorCommon(void*, int (*)(void const*, void const*, unsigned long), void const*, void const*, unsigned long) /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:860:7 #1 0x43a1fb in bcmp /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:906:10 - #2 0x525127 in ndpi_search_memcached /src/ndpi/src/lib/protocols/memcached.c:162:14 - #3 0x4f22f4 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4018:7 - #4 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #2 0x5250e7 in ndpi_search_memcached /src/ndpi/src/lib/protocols/memcached.c:162:14 + #3 0x4f22b4 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4018:7 + #4 0x4ffa26 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 #5 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 - #6 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 - #7 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 - #8 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 - #9 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 - #10 0x7f1a9357d082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #6 0x5d64cc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #7 0x5c8425 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #8 0x5cd0d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #9 0x5c80f2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #10 0x7f3996e85082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) #11 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) 0x60400000013c is located 0 bytes to the right of 44-byte region [0x604000000110,0x60400000013c) allocated by thread T0 here: #0 0x4a0ca6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 - #1 0x4de202 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 - #2 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 - #3 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 - #4 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 - #5 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 - #6 0x7f1a9357d082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #1 0x4de209 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 + #2 0x5d64cc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x5c8425 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x5cd0d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x5c80f2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7f3996e85082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) SUMMARY: AddressSanitizer: heap-buffer-overflow /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:860:7 in MemcmpInterceptorCommon(void*, int (*)(void const*, void const*, unsigned long), void const*, void const*, unsigned long) Shadow bytes around the buggy address: diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1019.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1019.txt index 3b3e99de5..4b9ca26bb 100644 --- a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1019.txt +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1019.txt @@ -1,20 +1,20 @@ -INFO: Seed: 4140649349 +INFO: Seed: 4290946935 /out/fuzz_process_packet: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ndpi_utils.c:218:18: runtime error: shift exponent 32 is too large for 32-bit type 'u_int32_t' (aka 'unsigned int') - #0 0x5b4303 in ndpi_net_match /src/ndpi/src/lib/ndpi_utils.c:218:18 - #1 0x5b4303 in ndpi_ips_match /src/ndpi/src/lib/ndpi_utils.c:226:10 - #2 0x547a91 in sc2_match_logon_ip /src/ndpi/src/lib/protocols/starcraft.c:37:11 - #3 0x547c27 in ndpi_check_starcraft_tcp /src/ndpi/src/lib/protocols/starcraft.c:52:7 - #4 0x548467 in ndpi_search_starcraft /src/ndpi/src/lib/protocols/starcraft.c:131:16 - #5 0x4f6b0f in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4061:4 - #6 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #0 0x5b42c3 in ndpi_net_match /src/ndpi/src/lib/ndpi_utils.c:218:18 + #1 0x5b42c3 in ndpi_ips_match /src/ndpi/src/lib/ndpi_utils.c:226:10 + #2 0x547a51 in sc2_match_logon_ip /src/ndpi/src/lib/protocols/starcraft.c:37:11 + #3 0x547be7 in ndpi_check_starcraft_tcp /src/ndpi/src/lib/protocols/starcraft.c:52:7 + #4 0x548427 in ndpi_search_starcraft /src/ndpi/src/lib/protocols/starcraft.c:131:16 + #5 0x4f6acf in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4061:4 + #6 0x4ffa26 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 #7 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 - #8 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 - #9 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 - #10 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 - #11 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 - #12 0x7f800192e082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #8 0x5d64cc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #9 0x5c8425 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #10 0x5cd0d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #11 0x5c80f2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #12 0x7f52fd7c1082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) #13 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ndpi_utils.c:218:18 in diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1074.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1074.txt index bbbdbb3d0..a6526bcef 100644 --- a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1074.txt +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1074.txt @@ -1,20 +1,20 @@ -INFO: Seed: 4142832974 +INFO: Seed: 4293381043 /out/fuzz_process_packet: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ndpi_utils.c:218:18: runtime error: shift exponent 32 is too large for 32-bit type 'u_int32_t' (aka 'unsigned int') - #0 0x5b4303 in ndpi_net_match /src/ndpi/src/lib/ndpi_utils.c:218:18 - #1 0x5b4303 in ndpi_ips_match /src/ndpi/src/lib/ndpi_utils.c:226:10 - #2 0x547a91 in sc2_match_logon_ip /src/ndpi/src/lib/protocols/starcraft.c:37:11 - #3 0x547c27 in ndpi_check_starcraft_tcp /src/ndpi/src/lib/protocols/starcraft.c:52:7 - #4 0x548467 in ndpi_search_starcraft /src/ndpi/src/lib/protocols/starcraft.c:131:16 - #5 0x4f6b0f in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4061:4 - #6 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #0 0x5b42c3 in ndpi_net_match /src/ndpi/src/lib/ndpi_utils.c:218:18 + #1 0x5b42c3 in ndpi_ips_match /src/ndpi/src/lib/ndpi_utils.c:226:10 + #2 0x547a51 in sc2_match_logon_ip /src/ndpi/src/lib/protocols/starcraft.c:37:11 + #3 0x547be7 in ndpi_check_starcraft_tcp /src/ndpi/src/lib/protocols/starcraft.c:52:7 + #4 0x548427 in ndpi_search_starcraft /src/ndpi/src/lib/protocols/starcraft.c:131:16 + #5 0x4f6acf in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4061:4 + #6 0x4ffa26 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 #7 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 - #8 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 - #9 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 - #10 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 - #11 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 - #12 0x7f8690086082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #8 0x5d64cc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #9 0x5c8425 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #10 0x5cd0d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #11 0x5c80f2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #12 0x7fd571f19082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) #13 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ndpi_utils.c:218:18 in diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1112.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1112.txt index 9288de684..8dc72b7bc 100644 --- a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1112.txt +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1112.txt @@ -1,31 +1,31 @@ -INFO: Seed: 4145091390 +INFO: Seed: 722759 /out/fuzz_process_packet: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6070000001c0 at pc 0x000000513a38 bp 0x7fffe4153b20 sp 0x7fffe4153b18 +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6070000001c0 at pc 0x0000005139f8 bp 0x7fffa1affa00 sp 0x7fffa1aff9f8 READ of size 1 at 0x6070000001c0 thread T0 - #0 0x513a37 in getNameLength /src/ndpi/src/lib/protocols/dns.c:50:6 - #1 0x51274f in search_valid_dns /src/ndpi/src/lib/protocols/dns.c:164:19 - #2 0x51274f in ndpi_search_dns /src/ndpi/src/lib/protocols/dns.c:253:19 - #3 0x4f4070 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4005:2 - #4 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #0 0x5139f7 in getNameLength /src/ndpi/src/lib/protocols/dns.c:50:6 + #1 0x51270f in search_valid_dns /src/ndpi/src/lib/protocols/dns.c:164:19 + #2 0x51270f in ndpi_search_dns /src/ndpi/src/lib/protocols/dns.c:253:19 + #3 0x4f4030 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4005:2 + #4 0x4ffa26 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 #5 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 - #6 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 - #7 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 - #8 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 - #9 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 - #10 0x7f980f9f6082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #6 0x5d64cc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #7 0x5c8425 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #8 0x5cd0d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #9 0x5c80f2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #10 0x7f6a1dd71082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) #11 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) 0x6070000001c0 is located 9 bytes to the right of 71-byte region [0x607000000170,0x6070000001b7) allocated by thread T0 here: #0 0x4a0ca6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 - #1 0x4de202 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 - #2 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 - #3 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 - #4 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 - #5 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 - #6 0x7f980f9f6082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #1 0x4de209 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 + #2 0x5d64cc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x5c8425 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x5cd0d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x5c80f2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7f6a1dd71082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/src/lib/protocols/dns.c:50:6 in getNameLength Shadow bytes around the buggy address: diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1114.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1114.txt index 065af8ad7..37da8bab6 100644 --- a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1114.txt +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1114.txt @@ -1,30 +1,30 @@ -INFO: Seed: 4147532681 +INFO: Seed: 3372991 /out/fuzz_process_packet: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x606000000232 at pc 0x00000055dcf7 bp 0x7fffb0a00f90 sp 0x7fffb0a00f88 +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x606000000232 at pc 0x00000055dcb7 bp 0x7ffece69a170 sp 0x7ffece69a168 READ of size 2 at 0x606000000232 thread T0 - #0 0x55dcf6 in ndpi_int_check_stun /src/ndpi/src/lib/protocols/stun.c:319:25 - #1 0x55be2c in ndpi_search_stun /src/ndpi/src/lib/protocols/stun.c:512:6 - #2 0x4f22f4 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4018:7 - #3 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #0 0x55dcb6 in ndpi_int_check_stun /src/ndpi/src/lib/protocols/stun.c:319:25 + #1 0x55bdec in ndpi_search_stun /src/ndpi/src/lib/protocols/stun.c:512:6 + #2 0x4f22b4 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4018:7 + #3 0x4ffa26 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 #4 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 - #5 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 - #6 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 - #7 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 - #8 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 - #9 0x7fa8a92d7082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #5 0x5d64cc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #6 0x5c8425 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #7 0x5cd0d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #8 0x5c80f2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #9 0x7fbb80cbf082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) #10 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) 0x606000000233 is located 0 bytes to the right of 51-byte region [0x606000000200,0x606000000233) allocated by thread T0 here: #0 0x4a0ca6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 - #1 0x4de202 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 - #2 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 - #3 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 - #4 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 - #5 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 - #6 0x7fa8a92d7082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #1 0x4de209 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 + #2 0x5d64cc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x5c8425 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x5cd0d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x5c80f2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7fbb80cbf082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/src/lib/protocols/stun.c:319:25 in ndpi_int_check_stun Shadow bytes around the buggy address: diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1131.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1131.txt index 9484254a9..a6bd9b771 100644 --- a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1131.txt +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1131.txt @@ -1,30 +1,30 @@ -INFO: Seed: 4149749657 +INFO: Seed: 5631724 /out/fuzz_process_packet: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x604000000139 at pc 0x00000053e057 bp 0x7fffb885b4f0 sp 0x7fffb885b4e8 +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x604000000139 at pc 0x00000053e017 bp 0x7ffcfd1a7310 sp 0x7ffcfd1a7308 READ of size 2 at 0x604000000139 thread T0 - #0 0x53e056 in ndpi_search_setup_capwap /src/ndpi/src/lib/protocols/capwap.c:69:15 - #1 0x53e056 in ndpi_search_capwap /src/ndpi/src/lib/protocols/capwap.c:108:5 - #2 0x4f4070 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4005:2 - #3 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #0 0x53e016 in ndpi_search_setup_capwap /src/ndpi/src/lib/protocols/capwap.c:69:15 + #1 0x53e016 in ndpi_search_capwap /src/ndpi/src/lib/protocols/capwap.c:108:5 + #2 0x4f4030 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4005:2 + #3 0x4ffa26 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 #4 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 - #5 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 - #6 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 - #7 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 - #8 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 - #9 0x7fb57c718082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #5 0x5d64cc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #6 0x5c8425 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #7 0x5cd0d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #8 0x5c80f2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #9 0x7f0839c4c082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) #10 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) 0x604000000139 is located 8 bytes to the right of 33-byte region [0x604000000110,0x604000000131) allocated by thread T0 here: #0 0x4a0ca6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 - #1 0x4de202 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 - #2 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 - #3 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 - #4 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 - #5 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 - #6 0x7fb57c718082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #1 0x4de209 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 + #2 0x5d64cc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x5c8425 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x5cd0d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x5c80f2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7f0839c4c082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/src/lib/protocols/capwap.c:69:15 in ndpi_search_setup_capwap Shadow bytes around the buggy address: diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1133.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1133.txt index 6b0bd8f8d..a9d396932 100644 --- a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1133.txt +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1133.txt @@ -1,20 +1,20 @@ -INFO: Seed: 4151933193 +INFO: Seed: 8248581 /out/fuzz_process_packet: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ndpi_utils.c:218:18: runtime error: shift exponent 32 is too large for 32-bit type 'u_int32_t' (aka 'unsigned int') - #0 0x5b4303 in ndpi_net_match /src/ndpi/src/lib/ndpi_utils.c:218:18 - #1 0x5b4303 in ndpi_ips_match /src/ndpi/src/lib/ndpi_utils.c:226:10 - #2 0x547a91 in sc2_match_logon_ip /src/ndpi/src/lib/protocols/starcraft.c:37:11 - #3 0x547c27 in ndpi_check_starcraft_tcp /src/ndpi/src/lib/protocols/starcraft.c:52:7 - #4 0x548467 in ndpi_search_starcraft /src/ndpi/src/lib/protocols/starcraft.c:131:16 - #5 0x4f6b0f in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4061:4 - #6 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #0 0x5b42c3 in ndpi_net_match /src/ndpi/src/lib/ndpi_utils.c:218:18 + #1 0x5b42c3 in ndpi_ips_match /src/ndpi/src/lib/ndpi_utils.c:226:10 + #2 0x547a51 in sc2_match_logon_ip /src/ndpi/src/lib/protocols/starcraft.c:37:11 + #3 0x547be7 in ndpi_check_starcraft_tcp /src/ndpi/src/lib/protocols/starcraft.c:52:7 + #4 0x548427 in ndpi_search_starcraft /src/ndpi/src/lib/protocols/starcraft.c:131:16 + #5 0x4f6acf in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4061:4 + #6 0x4ffa26 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 #7 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 - #8 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 - #9 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 - #10 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 - #11 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 - #12 0x7f117c63b082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #8 0x5d64cc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #9 0x5c8425 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #10 0x5cd0d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #11 0x5c80f2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #12 0x7ff78eee9082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) #13 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ndpi_utils.c:218:18 in diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1187.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1187.txt index db8f08c60..cf2625895 100644 --- a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1187.txt +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1187.txt @@ -1,30 +1,30 @@ -INFO: Seed: 4154099699 +INFO: Seed: 10615831 /out/fuzz_process_packet: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60600000023a at pc 0x00000055dd0b bp 0x7ffd09cf5cf0 sp 0x7ffd09cf5ce8 +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60600000023a at pc 0x00000055dccb bp 0x7ffef69a7c10 sp 0x7ffef69a7c08 READ of size 1 at 0x60600000023a thread T0 - #0 0x55dd0a in ndpi_int_check_stun /src/ndpi/src/lib/protocols/stun.c:354:43 - #1 0x55be2c in ndpi_search_stun /src/ndpi/src/lib/protocols/stun.c:512:6 - #2 0x4f22f4 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4018:7 - #3 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #0 0x55dcca in ndpi_int_check_stun /src/ndpi/src/lib/protocols/stun.c:354:43 + #1 0x55bdec in ndpi_search_stun /src/ndpi/src/lib/protocols/stun.c:512:6 + #2 0x4f22b4 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4018:7 + #3 0x4ffa26 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 #4 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 - #5 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 - #6 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 - #7 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 - #8 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 - #9 0x7f6bba36a082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #5 0x5d64cc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #6 0x5c8425 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #7 0x5cd0d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #8 0x5c80f2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #9 0x7f5279121082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) #10 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) 0x60600000023a is located 0 bytes to the right of 58-byte region [0x606000000200,0x60600000023a) allocated by thread T0 here: #0 0x4a0ca6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 - #1 0x4de202 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 - #2 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 - #3 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 - #4 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 - #5 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 - #6 0x7f6bba36a082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #1 0x4de209 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 + #2 0x5d64cc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x5c8425 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x5cd0d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x5c80f2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7f5279121082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/src/lib/protocols/stun.c:354:43 in ndpi_int_check_stun Shadow bytes around the buggy address: diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1194.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1194.txt index 1286c0ab0..1038540b2 100644 --- a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1194.txt +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1194.txt @@ -1,20 +1,20 @@ -INFO: Seed: 4156649980 +INFO: Seed: 13433228 /out/fuzz_process_packet: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ndpi_utils.c:218:18: runtime error: shift exponent 32 is too large for 32-bit type 'u_int32_t' (aka 'unsigned int') - #0 0x5b4303 in ndpi_net_match /src/ndpi/src/lib/ndpi_utils.c:218:18 - #1 0x5b4303 in ndpi_ips_match /src/ndpi/src/lib/ndpi_utils.c:226:10 - #2 0x547a91 in sc2_match_logon_ip /src/ndpi/src/lib/protocols/starcraft.c:37:11 - #3 0x547c27 in ndpi_check_starcraft_tcp /src/ndpi/src/lib/protocols/starcraft.c:52:7 - #4 0x548467 in ndpi_search_starcraft /src/ndpi/src/lib/protocols/starcraft.c:131:16 - #5 0x4f6b0f in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4061:4 - #6 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #0 0x5b42c3 in ndpi_net_match /src/ndpi/src/lib/ndpi_utils.c:218:18 + #1 0x5b42c3 in ndpi_ips_match /src/ndpi/src/lib/ndpi_utils.c:226:10 + #2 0x547a51 in sc2_match_logon_ip /src/ndpi/src/lib/protocols/starcraft.c:37:11 + #3 0x547be7 in ndpi_check_starcraft_tcp /src/ndpi/src/lib/protocols/starcraft.c:52:7 + #4 0x548427 in ndpi_search_starcraft /src/ndpi/src/lib/protocols/starcraft.c:131:16 + #5 0x4f6acf in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4061:4 + #6 0x4ffa26 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 #7 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 - #8 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 - #9 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 - #10 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 - #11 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 - #12 0x7f6fd1346082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #8 0x5d64cc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #9 0x5c8425 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #10 0x5cd0d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #11 0x5c80f2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #12 0x7f5631acd082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) #13 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ndpi_utils.c:218:18 in diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1233.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1233.txt index f59ef47f0..e38b9ca70 100644 --- a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1233.txt +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1233.txt @@ -1,20 +1,20 @@ -INFO: Seed: 4158850455 +INFO: Seed: 15666777 /out/fuzz_process_packet: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ndpi_utils.c:218:18: runtime error: shift exponent 32 is too large for 32-bit type 'u_int32_t' (aka 'unsigned int') - #0 0x5b4303 in ndpi_net_match /src/ndpi/src/lib/ndpi_utils.c:218:18 - #1 0x5b4303 in ndpi_ips_match /src/ndpi/src/lib/ndpi_utils.c:226:10 - #2 0x547a91 in sc2_match_logon_ip /src/ndpi/src/lib/protocols/starcraft.c:37:11 - #3 0x547c27 in ndpi_check_starcraft_tcp /src/ndpi/src/lib/protocols/starcraft.c:52:7 - #4 0x548467 in ndpi_search_starcraft /src/ndpi/src/lib/protocols/starcraft.c:131:16 - #5 0x4f6b0f in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4061:4 - #6 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #0 0x5b42c3 in ndpi_net_match /src/ndpi/src/lib/ndpi_utils.c:218:18 + #1 0x5b42c3 in ndpi_ips_match /src/ndpi/src/lib/ndpi_utils.c:226:10 + #2 0x547a51 in sc2_match_logon_ip /src/ndpi/src/lib/protocols/starcraft.c:37:11 + #3 0x547be7 in ndpi_check_starcraft_tcp /src/ndpi/src/lib/protocols/starcraft.c:52:7 + #4 0x548427 in ndpi_search_starcraft /src/ndpi/src/lib/protocols/starcraft.c:131:16 + #5 0x4f6acf in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4061:4 + #6 0x4ffa26 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 #7 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 - #8 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 - #9 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 - #10 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 - #11 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 - #12 0x7ff476324082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #8 0x5d64cc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #9 0x5c8425 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #10 0x5cd0d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #11 0x5c80f2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #12 0x7fc6bd974082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) #13 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ndpi_utils.c:218:18 in diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1263.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1263.txt index 928f9427b..c3abf56b5 100644 --- a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1263.txt +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1263.txt @@ -1,20 +1,20 @@ -INFO: Seed: 4161007915 +INFO: Seed: 18399744 /out/fuzz_process_packet: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ndpi_utils.c:218:18: runtime error: shift exponent 32 is too large for 32-bit type 'u_int32_t' (aka 'unsigned int') - #0 0x5b4303 in ndpi_net_match /src/ndpi/src/lib/ndpi_utils.c:218:18 - #1 0x5b4303 in ndpi_ips_match /src/ndpi/src/lib/ndpi_utils.c:226:10 - #2 0x547a91 in sc2_match_logon_ip /src/ndpi/src/lib/protocols/starcraft.c:37:11 - #3 0x547c27 in ndpi_check_starcraft_tcp /src/ndpi/src/lib/protocols/starcraft.c:52:7 - #4 0x548467 in ndpi_search_starcraft /src/ndpi/src/lib/protocols/starcraft.c:131:16 - #5 0x4f6b0f in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4061:4 - #6 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #0 0x5b42c3 in ndpi_net_match /src/ndpi/src/lib/ndpi_utils.c:218:18 + #1 0x5b42c3 in ndpi_ips_match /src/ndpi/src/lib/ndpi_utils.c:226:10 + #2 0x547a51 in sc2_match_logon_ip /src/ndpi/src/lib/protocols/starcraft.c:37:11 + #3 0x547be7 in ndpi_check_starcraft_tcp /src/ndpi/src/lib/protocols/starcraft.c:52:7 + #4 0x548427 in ndpi_search_starcraft /src/ndpi/src/lib/protocols/starcraft.c:131:16 + #5 0x4f6acf in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4061:4 + #6 0x4ffa26 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 #7 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 - #8 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 - #9 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 - #10 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 - #11 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 - #12 0x7f8643fc1082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #8 0x5d64cc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #9 0x5c8425 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #10 0x5cd0d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #11 0x5c80f2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #12 0x7fc2edc03082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) #13 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ndpi_utils.c:218:18 in diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1294.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1294.txt index a04c6132c..e4f338f0b 100644 --- a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1294.txt +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1294.txt @@ -1,20 +1,20 @@ -INFO: Seed: 4163424412 +INFO: Seed: 20717714 /out/fuzz_process_packet: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ndpi_utils.c:218:18: runtime error: shift exponent 32 is too large for 32-bit type 'u_int32_t' (aka 'unsigned int') - #0 0x5b4303 in ndpi_net_match /src/ndpi/src/lib/ndpi_utils.c:218:18 - #1 0x5b4303 in ndpi_ips_match /src/ndpi/src/lib/ndpi_utils.c:226:10 - #2 0x547a91 in sc2_match_logon_ip /src/ndpi/src/lib/protocols/starcraft.c:37:11 - #3 0x547c27 in ndpi_check_starcraft_tcp /src/ndpi/src/lib/protocols/starcraft.c:52:7 - #4 0x548467 in ndpi_search_starcraft /src/ndpi/src/lib/protocols/starcraft.c:131:16 - #5 0x4f6b0f in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4061:4 - #6 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #0 0x5b42c3 in ndpi_net_match /src/ndpi/src/lib/ndpi_utils.c:218:18 + #1 0x5b42c3 in ndpi_ips_match /src/ndpi/src/lib/ndpi_utils.c:226:10 + #2 0x547a51 in sc2_match_logon_ip /src/ndpi/src/lib/protocols/starcraft.c:37:11 + #3 0x547be7 in ndpi_check_starcraft_tcp /src/ndpi/src/lib/protocols/starcraft.c:52:7 + #4 0x548427 in ndpi_search_starcraft /src/ndpi/src/lib/protocols/starcraft.c:131:16 + #5 0x4f6acf in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4061:4 + #6 0x4ffa26 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 #7 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 - #8 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 - #9 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 - #10 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 - #11 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 - #12 0x7ffa34b0d082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #8 0x5d64cc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #9 0x5c8425 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #10 0x5cd0d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #11 0x5c80f2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #12 0x7fdfd0cfe082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) #13 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ndpi_utils.c:218:18 in diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-136.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-136.txt index 711868cf6..969d8a5d3 100644 --- a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-136.txt +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-136.txt @@ -1,30 +1,30 @@ -INFO: Seed: 4109408147 +INFO: Seed: 4255289276 /out/fuzz_process_packet: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60b0000002b4 at pc 0x0000005a5513 bp 0x7fffd5a08410 sp 0x7fffd5a08408 +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60b0000002b4 at pc 0x0000005a54d3 bp 0x7fff4d57ed50 sp 0x7fff4d57ed48 READ of size 1 at 0x60b0000002b4 thread T0 - #0 0x5a5512 in ndpi_netbios_name_interpret /src/ndpi/src/lib/protocols/netbios.c:50:38 - #1 0x5a707e in ndpi_int_netbios_add_connection /src/ndpi/src/lib/protocols/netbios.c:80:8 - #2 0x4f4070 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4005:2 - #3 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #0 0x5a54d2 in ndpi_netbios_name_interpret /src/ndpi/src/lib/protocols/netbios.c:50:38 + #1 0x5a703e in ndpi_int_netbios_add_connection /src/ndpi/src/lib/protocols/netbios.c:80:8 + #2 0x4f4030 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4005:2 + #3 0x4ffa26 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 #4 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 - #5 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 - #6 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 - #7 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 - #8 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 - #9 0x7f5b4e5a1082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #5 0x5d64cc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #6 0x5c8425 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #7 0x5cd0d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #8 0x5c80f2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #9 0x7f97fc2b2082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) #10 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) 0x60b0000002b4 is located 0 bytes to the right of 100-byte region [0x60b000000250,0x60b0000002b4) allocated by thread T0 here: #0 0x4a0ca6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 - #1 0x4de202 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 - #2 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 - #3 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 - #4 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 - #5 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 - #6 0x7f5b4e5a1082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #1 0x4de209 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 + #2 0x5d64cc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x5c8425 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x5cd0d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x5c80f2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7f97fc2b2082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/src/lib/protocols/netbios.c:50:38 in ndpi_netbios_name_interpret Shadow bytes around the buggy address: diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-154.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-154.txt index 0ae88920a..8e2b77aa7 100644 --- a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-154.txt +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-154.txt @@ -1,30 +1,30 @@ -INFO: Seed: 4111633166 +INFO: Seed: 4258306539 /out/fuzz_process_packet: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x604000000139 at pc 0x000000513502 bp 0x7fff323d3ff0 sp 0x7fff323d3fe8 +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x604000000139 at pc 0x0000005134c2 bp 0x7ffd44754f30 sp 0x7ffd44754f28 READ of size 1 at 0x604000000139 thread T0 - #0 0x513501 in search_valid_dns /src/ndpi/src/lib/protocols/dns.c:142:10 - #1 0x513501 in ndpi_search_dns /src/ndpi/src/lib/protocols/dns.c:253:19 - #2 0x4f4070 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4005:2 - #3 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #0 0x5134c1 in search_valid_dns /src/ndpi/src/lib/protocols/dns.c:142:10 + #1 0x5134c1 in ndpi_search_dns /src/ndpi/src/lib/protocols/dns.c:253:19 + #2 0x4f4030 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4005:2 + #3 0x4ffa26 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 #4 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 - #5 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 - #6 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 - #7 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 - #8 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 - #9 0x7f01548e4082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #5 0x5d64cc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #6 0x5c8425 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #7 0x5cd0d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #8 0x5c80f2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #9 0x7fd895c5b082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) #10 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) 0x604000000139 is located 0 bytes to the right of 41-byte region [0x604000000110,0x604000000139) allocated by thread T0 here: #0 0x4a0ca6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 - #1 0x4de202 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 - #2 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 - #3 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 - #4 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 - #5 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 - #6 0x7f01548e4082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #1 0x4de209 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 + #2 0x5d64cc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x5c8425 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x5cd0d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x5c80f2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7fd895c5b082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/src/lib/protocols/dns.c:142:10 in search_valid_dns Shadow bytes around the buggy address: diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1715.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1715.txt index 349b42c33..f36cb1189 100644 --- a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1715.txt +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-1715.txt @@ -1,17 +1,17 @@ -INFO: Seed: 4073306577 +INFO: Seed: 4214503924 /out/fuzz_process_packet: Running 1 inputs 1 time(s) each. Running: /tmp/testcase protocols/kerberos.c:240:23: runtime error: index 254 out of bounds for type 'char[48]' - #0 0x559117 in ndpi_search_kerberos_osv_2020_1715 /src/ndpi/src/lib/protocols/kerberos.c:240:23 - #1 0x559117 in ndpi_search_kerberos /src/ndpi/src/lib/protocols/kerberos.c:573:5 - #2 0x4f4070 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4005:2 - #3 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #0 0x5590d7 in ndpi_search_kerberos_osv_2020_1715 /src/ndpi/src/lib/protocols/kerberos.c:240:23 + #1 0x5590d7 in ndpi_search_kerberos /src/ndpi/src/lib/protocols/kerberos.c:573:5 + #2 0x4f4030 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4005:2 + #3 0x4ffa26 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 #4 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 - #5 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 - #6 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 - #7 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 - #8 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 - #9 0x7f1370d89082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #5 0x5d64cc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #6 0x5c8425 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #7 0x5cd0d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #8 0x5c80f2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #9 0x7f2a708ca082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) #10 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior protocols/kerberos.c:240:23 in diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-179.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-179.txt index 3163e7c5c..b771d42a5 100644 --- a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-179.txt +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-179.txt @@ -1,31 +1,31 @@ -INFO: Seed: 4113766743 +INFO: Seed: 4260539886 /out/fuzz_process_packet: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60400000013b at pc 0x0000005135ea bp 0x7ffc9ba55710 sp 0x7ffc9ba55708 +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60400000013b at pc 0x0000005135aa bp 0x7fff7d283b30 sp 0x7fff7d283b28 READ of size 2 at 0x60400000013b thread T0 - #0 0x5135e9 in get16 /src/ndpi/src/lib/protocols/dns.c:40:17 - #1 0x5135e9 in search_valid_dns /src/ndpi/src/lib/protocols/dns.c:117:41 - #2 0x5135e9 in ndpi_search_dns /src/ndpi/src/lib/protocols/dns.c:253:19 - #3 0x4f22f4 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4018:7 - #4 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #0 0x5135a9 in get16 /src/ndpi/src/lib/protocols/dns.c:40:17 + #1 0x5135a9 in search_valid_dns /src/ndpi/src/lib/protocols/dns.c:117:41 + #2 0x5135a9 in ndpi_search_dns /src/ndpi/src/lib/protocols/dns.c:253:19 + #3 0x4f22b4 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4018:7 + #4 0x4ffa26 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 #5 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 - #6 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 - #7 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 - #8 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 - #9 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 - #10 0x7f384c97d082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #6 0x5d64cc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #7 0x5c8425 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #8 0x5cd0d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #9 0x5c80f2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #10 0x7fa643705082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) #11 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) 0x60400000013c is located 0 bytes to the right of 44-byte region [0x604000000110,0x60400000013c) allocated by thread T0 here: #0 0x4a0ca6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 - #1 0x4de202 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 - #2 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 - #3 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 - #4 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 - #5 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 - #6 0x7f384c97d082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #1 0x4de209 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 + #2 0x5d64cc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x5c8425 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x5cd0d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x5c80f2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7fa643705082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/src/lib/protocols/dns.c:40:17 in get16 Shadow bytes around the buggy address: diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-194.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-194.txt index b87af8b56..f5bf0cbad 100644 --- a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-194.txt +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-194.txt @@ -1,20 +1,20 @@ -INFO: Seed: 4115942025 +INFO: Seed: 4263274550 /out/fuzz_process_packet: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ndpi_utils.c:218:18: runtime error: shift exponent 32 is too large for 32-bit type 'u_int32_t' (aka 'unsigned int') - #0 0x5b4303 in ndpi_net_match /src/ndpi/src/lib/ndpi_utils.c:218:18 - #1 0x5b4303 in ndpi_ips_match /src/ndpi/src/lib/ndpi_utils.c:226:10 - #2 0x547a91 in sc2_match_logon_ip /src/ndpi/src/lib/protocols/starcraft.c:37:11 - #3 0x547c27 in ndpi_check_starcraft_tcp /src/ndpi/src/lib/protocols/starcraft.c:52:7 - #4 0x548467 in ndpi_search_starcraft /src/ndpi/src/lib/protocols/starcraft.c:131:16 - #5 0x4f6b0f in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4061:4 - #6 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #0 0x5b42c3 in ndpi_net_match /src/ndpi/src/lib/ndpi_utils.c:218:18 + #1 0x5b42c3 in ndpi_ips_match /src/ndpi/src/lib/ndpi_utils.c:226:10 + #2 0x547a51 in sc2_match_logon_ip /src/ndpi/src/lib/protocols/starcraft.c:37:11 + #3 0x547be7 in ndpi_check_starcraft_tcp /src/ndpi/src/lib/protocols/starcraft.c:52:7 + #4 0x548427 in ndpi_search_starcraft /src/ndpi/src/lib/protocols/starcraft.c:131:16 + #5 0x4f6acf in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4061:4 + #6 0x4ffa26 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 #7 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 - #8 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 - #9 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 - #10 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 - #11 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 - #12 0x7fe00e48f082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #8 0x5d64cc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #9 0x5c8425 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #10 0x5cd0d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #11 0x5c80f2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #12 0x7f0daa70d082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) #13 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ndpi_utils.c:218:18 in diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-28.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-28.txt index 2af599e53..43113dbc1 100644 --- a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-28.txt +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-28.txt @@ -1,27 +1,27 @@ -INFO: Seed: 4100474986 +INFO: Seed: 4245544912 /out/fuzz_process_packet: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x604000000187 at pc 0x000000513a38 bp 0x7ffd703feee0 sp 0x7ffd703feed8 +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x604000000187 at pc 0x0000005139f8 bp 0x7ffeaf033100 sp 0x7ffeaf0330f8 READ of size 1 at 0x604000000187 thread T0 - #0 0x513a37 in getNameLength /src/ndpi/src/lib/protocols/dns.c:50:6 - #1 0x51274f in search_valid_dns /src/ndpi/src/lib/protocols/dns.c:164:19 - #2 0x51274f in ndpi_search_dns /src/ndpi/src/lib/protocols/dns.c:253:19 - #3 0x4f9d32 in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4049:2 - #4 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #0 0x5139f7 in getNameLength /src/ndpi/src/lib/protocols/dns.c:50:6 + #1 0x51270f in search_valid_dns /src/ndpi/src/lib/protocols/dns.c:164:19 + #2 0x51270f in ndpi_search_dns /src/ndpi/src/lib/protocols/dns.c:253:19 + #3 0x4f9cf2 in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4049:2 + #4 0x4ffa26 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 #5 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 - #6 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 - #7 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 - #8 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 - #9 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 - #10 0x7f5f0220e082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #6 0x5d64cc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #7 0x5c8425 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #8 0x5cd0d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #9 0x5c80f2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #10 0x7f2d87c6b082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) #11 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) 0x604000000187 is located 9 bytes to the left of 33-byte region [0x604000000190,0x6040000001b1) allocated by thread T0 here: #0 0x4a0ca6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 - #1 0x4dea83 in ndpi_malloc /src/ndpi/src/lib/ndpi_main.c:88:77 - #2 0x4dea83 in ndpi_strdup /src/ndpi/src/lib/ndpi_main.c:141:13 + #1 0x4dea43 in ndpi_malloc /src/ndpi/src/lib/ndpi_main.c:88:77 + #2 0x4dea43 in ndpi_strdup /src/ndpi/src/lib/ndpi_main.c:141:13 SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/src/lib/protocols/dns.c:50:6 in getNameLength Shadow bytes around the buggy address: diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-342.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-342.txt index 9f2c3fe67..4efd7d665 100644 --- a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-342.txt +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-342.txt @@ -1,20 +1,20 @@ -INFO: Seed: 4068823920 +INFO: Seed: 4209402754 /out/fuzz_process_packet: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ndpi_utils.c:218:18: runtime error: shift exponent 32 is too large for 32-bit type 'u_int32_t' (aka 'unsigned int') - #0 0x5b4303 in ndpi_net_match /src/ndpi/src/lib/ndpi_utils.c:218:18 - #1 0x5b4303 in ndpi_ips_match /src/ndpi/src/lib/ndpi_utils.c:226:10 - #2 0x547a91 in sc2_match_logon_ip /src/ndpi/src/lib/protocols/starcraft.c:37:11 - #3 0x547c27 in ndpi_check_starcraft_tcp /src/ndpi/src/lib/protocols/starcraft.c:52:7 - #4 0x548467 in ndpi_search_starcraft /src/ndpi/src/lib/protocols/starcraft.c:131:16 - #5 0x4f6b0f in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4061:4 - #6 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #0 0x5b42c3 in ndpi_net_match /src/ndpi/src/lib/ndpi_utils.c:218:18 + #1 0x5b42c3 in ndpi_ips_match /src/ndpi/src/lib/ndpi_utils.c:226:10 + #2 0x547a51 in sc2_match_logon_ip /src/ndpi/src/lib/protocols/starcraft.c:37:11 + #3 0x547be7 in ndpi_check_starcraft_tcp /src/ndpi/src/lib/protocols/starcraft.c:52:7 + #4 0x548427 in ndpi_search_starcraft /src/ndpi/src/lib/protocols/starcraft.c:131:16 + #5 0x4f6acf in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4061:4 + #6 0x4ffa26 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 #7 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 - #8 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 - #9 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 - #10 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 - #11 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 - #12 0x7f85f018b082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #8 0x5d64cc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #9 0x5c8425 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #10 0x5cd0d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #11 0x5c80f2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #12 0x7f27d91fa082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) #13 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ndpi_utils.c:218:18 in diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-49.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-49.txt index 1bcc868a2..88905aeac 100644 --- a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-49.txt +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-49.txt @@ -1,30 +1,30 @@ -INFO: Seed: 4102815971 +INFO: Seed: 4247887126 /out/fuzz_process_packet: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60400000013a at pc 0x0000005a5444 bp 0x7fff08e5af90 sp 0x7fff08e5af88 +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60400000013a at pc 0x0000005a5404 bp 0x7ffe9773a490 sp 0x7ffe9773a488 READ of size 1 at 0x60400000013a thread T0 - #0 0x5a5443 in ndpi_netbios_name_interpret /src/ndpi/src/lib/protocols/netbios.c:42:10 - #1 0x5a707e in ndpi_int_netbios_add_connection /src/ndpi/src/lib/protocols/netbios.c:80:8 - #2 0x4f4070 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4005:2 - #3 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #0 0x5a5403 in ndpi_netbios_name_interpret /src/ndpi/src/lib/protocols/netbios.c:42:10 + #1 0x5a703e in ndpi_int_netbios_add_connection /src/ndpi/src/lib/protocols/netbios.c:80:8 + #2 0x4f4030 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4005:2 + #3 0x4ffa26 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 #4 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 - #5 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 - #6 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 - #7 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 - #8 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 - #9 0x7f276e071082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #5 0x5d64cc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #6 0x5c8425 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #7 0x5cd0d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #8 0x5c80f2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #9 0x7feaad107082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) #10 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) 0x60400000013a is located 0 bytes to the right of 42-byte region [0x604000000110,0x60400000013a) allocated by thread T0 here: #0 0x4a0ca6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 - #1 0x4de202 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 - #2 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 - #3 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 - #4 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 - #5 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 - #6 0x7f276e071082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #1 0x4de209 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 + #2 0x5d64cc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x5c8425 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x5cd0d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x5c80f2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7feaad107082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/src/lib/protocols/netbios.c:42:10 in ndpi_netbios_name_interpret Shadow bytes around the buggy address: diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-59.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-59.txt index 02bc99ab5..26a48d083 100644 --- a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-59.txt +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-59.txt @@ -1,20 +1,20 @@ -INFO: Seed: 4104950041 +INFO: Seed: 4250237622 /out/fuzz_process_packet: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ndpi_utils.c:218:18: runtime error: shift exponent 32 is too large for 32-bit type 'u_int32_t' (aka 'unsigned int') - #0 0x5b4303 in ndpi_net_match /src/ndpi/src/lib/ndpi_utils.c:218:18 - #1 0x5b4303 in ndpi_ips_match /src/ndpi/src/lib/ndpi_utils.c:226:10 - #2 0x547a91 in sc2_match_logon_ip /src/ndpi/src/lib/protocols/starcraft.c:37:11 - #3 0x547c27 in ndpi_check_starcraft_tcp /src/ndpi/src/lib/protocols/starcraft.c:52:7 - #4 0x548467 in ndpi_search_starcraft /src/ndpi/src/lib/protocols/starcraft.c:131:16 - #5 0x4f6b0f in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4061:4 - #6 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #0 0x5b42c3 in ndpi_net_match /src/ndpi/src/lib/ndpi_utils.c:218:18 + #1 0x5b42c3 in ndpi_ips_match /src/ndpi/src/lib/ndpi_utils.c:226:10 + #2 0x547a51 in sc2_match_logon_ip /src/ndpi/src/lib/protocols/starcraft.c:37:11 + #3 0x547be7 in ndpi_check_starcraft_tcp /src/ndpi/src/lib/protocols/starcraft.c:52:7 + #4 0x548427 in ndpi_search_starcraft /src/ndpi/src/lib/protocols/starcraft.c:131:16 + #5 0x4f6acf in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4061:4 + #6 0x4ffa26 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 #7 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 - #8 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 - #9 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 - #10 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 - #11 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 - #12 0x7fb42fea6082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #8 0x5d64cc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #9 0x5c8425 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #10 0x5cd0d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #11 0x5c80f2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #12 0x7f002f45f082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) #13 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ndpi_utils.c:218:18 in diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-774.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-774.txt index 3701c015a..53c20fc51 100644 --- a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-774.txt +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-774.txt @@ -1,30 +1,30 @@ -INFO: Seed: 4071031974 +INFO: Seed: 4212187006 /out/fuzz_process_packet: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60e00000037d at pc 0x00000055867e bp 0x7fff33513550 sp 0x7fff33513548 +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60e00000037d at pc 0x00000055863e bp 0x7ffc0168be30 sp 0x7ffc0168be28 READ of size 1 at 0x60e00000037d thread T0 - #0 0x55867d in ndpi_search_kerberos_original /src/ndpi/src/lib/protocols/kerberos.c:423:14 - #1 0x55867d in ndpi_search_kerberos /src/ndpi/src/lib/protocols/kerberos.c:575:5 - #2 0x4f4070 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4005:2 - #3 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #0 0x55863d in ndpi_search_kerberos_original /src/ndpi/src/lib/protocols/kerberos.c:423:14 + #1 0x55863d in ndpi_search_kerberos /src/ndpi/src/lib/protocols/kerberos.c:575:5 + #2 0x4f4030 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4005:2 + #3 0x4ffa26 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 #4 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 - #5 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 - #6 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 - #7 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 - #8 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 - #9 0x7f353c990082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #5 0x5d64cc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #6 0x5c8425 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #7 0x5cd0d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #8 0x5c80f2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #9 0x7fceb07f3082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) #10 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) 0x60e00000037d is located 0 bytes to the right of 157-byte region [0x60e0000002e0,0x60e00000037d) allocated by thread T0 here: #0 0x4a0ca6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 - #1 0x4de202 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 - #2 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 - #3 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 - #4 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 - #5 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 - #6 0x7f353c990082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #1 0x4de209 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 + #2 0x5d64cc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x5c8425 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x5cd0d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x5c80f2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7fceb07f3082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/src/lib/protocols/kerberos.c:423:14 in ndpi_search_kerberos_original Shadow bytes around the buggy address: diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-78.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-78.txt index 24ea2429a..137915cc4 100644 --- a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-78.txt +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-78.txt @@ -1,32 +1,32 @@ -INFO: Seed: 4107208162 +INFO: Seed: 4253046426 /out/fuzz_process_packet: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6030000001af at pc 0x000000439ca6 bp 0x7ffe231ea080 sp 0x7ffe231e9830 +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6030000001af at pc 0x000000439ca6 bp 0x7fff8a290e80 sp 0x7fff8a290630 READ of size 7 at 0x6030000001af thread T0 #0 0x439ca5 in MemcmpInterceptorCommon(void*, int (*)(void const*, void const*, unsigned long), void const*, void const*, unsigned long) /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:860:7 #1 0x43a1fb in bcmp /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:906:10 - #2 0x585e96 in ndpi_check_spotify /src/ndpi/src/lib/protocols/spotify.c:51:5 - #3 0x585e96 in ndpi_search_spotify /src/ndpi/src/lib/protocols/spotify.c:131:7 - #4 0x4f22f4 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4018:7 - #5 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #2 0x585e56 in ndpi_check_spotify /src/ndpi/src/lib/protocols/spotify.c:51:5 + #3 0x585e56 in ndpi_search_spotify /src/ndpi/src/lib/protocols/spotify.c:131:7 + #4 0x4f22b4 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4018:7 + #5 0x4ffa26 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 #6 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 - #7 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 - #8 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 - #9 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 - #10 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 - #11 0x7fb535593082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #7 0x5d64cc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #8 0x5c8425 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #9 0x5cd0d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #10 0x5c80f2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #11 0x7f2c47f76082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) #12 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) 0x6030000001af is located 0 bytes to the right of 31-byte region [0x603000000190,0x6030000001af) allocated by thread T0 here: #0 0x4a0ca6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 - #1 0x4de202 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 - #2 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 - #3 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 - #4 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 - #5 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 - #6 0x7fb535593082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #1 0x4de209 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 + #2 0x5d64cc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x5c8425 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x5cd0d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x5c80f2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7f2c47f76082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) SUMMARY: AddressSanitizer: heap-buffer-overflow /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:860:7 in MemcmpInterceptorCommon(void*, int (*)(void const*, void const*, unsigned long), void const*, void const*, unsigned long) Shadow bytes around the buggy address: diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-795.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-795.txt index 9b21d2723..48ec99f97 100644 --- a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-795.txt +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-795.txt @@ -1,30 +1,30 @@ -INFO: Seed: 4118259597 +INFO: Seed: 4265550405 /out/fuzz_process_packet: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60400000013d at pc 0x0000005873c7 bp 0x7ffe8ad5b900 sp 0x7ffe8ad5b8f8 +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60400000013d at pc 0x000000587387 bp 0x7ffc3f7bb300 sp 0x7ffc3f7bb2f8 READ of size 1 at 0x60400000013d thread T0 - #0 0x5873c6 in ndpi_search_setup_iax /src/ndpi/src/lib/protocols/iax.c:70:37 - #1 0x5873c6 in ndpi_search_iax /src/ndpi/src/lib/protocols/iax.c:93:5 - #2 0x4f4070 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4005:2 - #3 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #0 0x587386 in ndpi_search_setup_iax /src/ndpi/src/lib/protocols/iax.c:70:37 + #1 0x587386 in ndpi_search_iax /src/ndpi/src/lib/protocols/iax.c:93:5 + #2 0x4f4030 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4005:2 + #3 0x4ffa26 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 #4 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 - #5 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 - #6 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 - #7 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 - #8 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 - #9 0x7f4b5982e082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #5 0x5d64cc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #6 0x5c8425 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #7 0x5cd0d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #8 0x5c80f2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #9 0x7f5583626082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) #10 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) 0x60400000013d is located 0 bytes to the right of 45-byte region [0x604000000110,0x60400000013d) allocated by thread T0 here: #0 0x4a0ca6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 - #1 0x4de202 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 - #2 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 - #3 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 - #4 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 - #5 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 - #6 0x7f4b5982e082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #1 0x4de209 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 + #2 0x5d64cc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x5c8425 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x5cd0d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x5c80f2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7f5583626082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/src/lib/protocols/iax.c:70:37 in ndpi_search_setup_iax Shadow bytes around the buggy address: diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-812.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-812.txt index 649bb78a1..04a801fb4 100644 --- a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-812.txt +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-812.txt @@ -1,30 +1,30 @@ -INFO: Seed: 4120308205 +INFO: Seed: 4268243088 /out/fuzz_process_packet: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60b000000160 at pc 0x0000005a5513 bp 0x7ffcbe8cd490 sp 0x7ffcbe8cd488 +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60b000000160 at pc 0x0000005a54d3 bp 0x7fff37da3c10 sp 0x7fff37da3c08 READ of size 1 at 0x60b000000160 thread T0 - #0 0x5a5512 in ndpi_netbios_name_interpret /src/ndpi/src/lib/protocols/netbios.c:50:38 - #1 0x5a707e in ndpi_int_netbios_add_connection /src/ndpi/src/lib/protocols/netbios.c:80:8 - #2 0x4f4070 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4005:2 - #3 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #0 0x5a54d2 in ndpi_netbios_name_interpret /src/ndpi/src/lib/protocols/netbios.c:50:38 + #1 0x5a703e in ndpi_int_netbios_add_connection /src/ndpi/src/lib/protocols/netbios.c:80:8 + #2 0x4f4030 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4005:2 + #3 0x4ffa26 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 #4 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 - #5 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 - #6 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 - #7 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 - #8 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 - #9 0x7fbef3ef0082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #5 0x5d64cc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #6 0x5c8425 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #7 0x5cd0d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #8 0x5c80f2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #9 0x7f7a8f146082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) #10 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) 0x60b000000160 is located 0 bytes to the right of 112-byte region [0x60b0000000f0,0x60b000000160) allocated by thread T0 here: #0 0x4a0ca6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 - #1 0x4de202 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 - #2 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 - #3 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 - #4 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 - #5 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 - #6 0x7fbef3ef0082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #1 0x4de209 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 + #2 0x5d64cc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x5c8425 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x5cd0d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x5c80f2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7f7a8f146082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/src/lib/protocols/netbios.c:50:38 in ndpi_netbios_name_interpret Shadow bytes around the buggy address: diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-918.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-918.txt index 45f4088de..cddc6ce69 100644 --- a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-918.txt +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-918.txt @@ -1,29 +1,29 @@ -INFO: Seed: 4122533407 +INFO: Seed: 4270543466 /out/fuzz_process_packet: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x608000000171 at pc 0x000000510b8c bp 0x7fffd44d9320 sp 0x7fffd44d9318 +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x608000000171 at pc 0x000000510b4c bp 0x7fff8cdd3960 sp 0x7fff8cdd3958 READ of size 1 at 0x608000000171 thread T0 - #0 0x510b8b in ndpi_search_oracle /src/ndpi/src/lib/protocols/oracle.c:46:41 - #1 0x4f9d32 in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4049:2 - #2 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #0 0x510b4b in ndpi_search_oracle /src/ndpi/src/lib/protocols/oracle.c:46:41 + #1 0x4f9cf2 in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4049:2 + #2 0x4ffa26 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 #3 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 - #4 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 - #5 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 - #6 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 - #7 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 - #8 0x7f0833015082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #4 0x5d64cc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #5 0x5c8425 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #6 0x5cd0d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #7 0x5c80f2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #8 0x7f80bbc77082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) #9 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) 0x608000000171 is located 0 bytes to the right of 81-byte region [0x608000000120,0x608000000171) allocated by thread T0 here: #0 0x4a0ca6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 - #1 0x4de202 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 - #2 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 - #3 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 - #4 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 - #5 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 - #6 0x7f0833015082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #1 0x4de209 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 + #2 0x5d64cc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x5c8425 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x5cd0d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x5c80f2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7f80bbc77082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/src/lib/protocols/oracle.c:46:41 in ndpi_search_oracle Shadow bytes around the buggy address: diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-922.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-922.txt index a804c930e..1b4ff5ab6 100644 --- a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-922.txt +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-922.txt @@ -1,29 +1,29 @@ -INFO: Seed: 4124691993 +INFO: Seed: 4272843703 /out/fuzz_process_packet: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60300000020d at pc 0x00000056ddb6 bp 0x7ffdb9ab8e80 sp 0x7ffdb9ab8e78 +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60300000020d at pc 0x00000056dd76 bp 0x7fff07c474c0 sp 0x7fff07c474b8 READ of size 1 at 0x60300000020d thread T0 - #0 0x56ddb5 in ndpi_search_h323 /src/ndpi/src/lib/protocols/h323.c:81:42 - #1 0x4f4070 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4005:2 - #2 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #0 0x56dd75 in ndpi_search_h323 /src/ndpi/src/lib/protocols/h323.c:81:42 + #1 0x4f4030 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4005:2 + #2 0x4ffa26 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 #3 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 - #4 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 - #5 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 - #6 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 - #7 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 - #8 0x7f72062e0082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #4 0x5d64cc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #5 0x5c8425 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #6 0x5cd0d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #7 0x5c80f2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #8 0x7fcabff80082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) #9 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) 0x60300000020d is located 0 bytes to the right of 29-byte region [0x6030000001f0,0x60300000020d) allocated by thread T0 here: #0 0x4a0ca6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 - #1 0x4de202 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 - #2 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 - #3 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 - #4 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 - #5 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 - #6 0x7f72062e0082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #1 0x4de209 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 + #2 0x5d64cc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x5c8425 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x5cd0d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x5c80f2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7fcabff80082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/src/lib/protocols/h323.c:81:42 in ndpi_search_h323 Shadow bytes around the buggy address: diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-972.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-972.txt index c2f48b5e2..b3b11312d 100644 --- a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-972.txt +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-972.txt @@ -1,20 +1,20 @@ -INFO: Seed: 4126982683 +INFO: Seed: 4275377155 /out/fuzz_process_packet: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ndpi_utils.c:218:18: runtime error: shift exponent 32 is too large for 32-bit type 'u_int32_t' (aka 'unsigned int') - #0 0x5b4303 in ndpi_net_match /src/ndpi/src/lib/ndpi_utils.c:218:18 - #1 0x5b4303 in ndpi_ips_match /src/ndpi/src/lib/ndpi_utils.c:226:10 - #2 0x547a91 in sc2_match_logon_ip /src/ndpi/src/lib/protocols/starcraft.c:37:11 - #3 0x547c27 in ndpi_check_starcraft_tcp /src/ndpi/src/lib/protocols/starcraft.c:52:7 - #4 0x548467 in ndpi_search_starcraft /src/ndpi/src/lib/protocols/starcraft.c:131:16 - #5 0x4f6b0f in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4061:4 - #6 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #0 0x5b42c3 in ndpi_net_match /src/ndpi/src/lib/ndpi_utils.c:218:18 + #1 0x5b42c3 in ndpi_ips_match /src/ndpi/src/lib/ndpi_utils.c:226:10 + #2 0x547a51 in sc2_match_logon_ip /src/ndpi/src/lib/protocols/starcraft.c:37:11 + #3 0x547be7 in ndpi_check_starcraft_tcp /src/ndpi/src/lib/protocols/starcraft.c:52:7 + #4 0x548427 in ndpi_search_starcraft /src/ndpi/src/lib/protocols/starcraft.c:131:16 + #5 0x4f6acf in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4061:4 + #6 0x4ffa26 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 #7 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 - #8 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 - #9 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 - #10 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 - #11 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 - #12 0x7f117bcad082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #8 0x5d64cc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #9 0x5c8425 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #10 0x5cd0d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #11 0x5c80f2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #12 0x7f4da6ab4082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) #13 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ndpi_utils.c:218:18 in diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-992.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-992.txt index 8c2a0c516..21cc184cb 100644 --- a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-992.txt +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-992.txt @@ -1,20 +1,20 @@ -INFO: Seed: 4129416362 +INFO: Seed: 4277736541 /out/fuzz_process_packet: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ndpi_utils.c:218:18: runtime error: shift exponent 32 is too large for 32-bit type 'u_int32_t' (aka 'unsigned int') - #0 0x5b4303 in ndpi_net_match /src/ndpi/src/lib/ndpi_utils.c:218:18 - #1 0x5b4303 in ndpi_ips_match /src/ndpi/src/lib/ndpi_utils.c:226:10 - #2 0x547a91 in sc2_match_logon_ip /src/ndpi/src/lib/protocols/starcraft.c:37:11 - #3 0x547c27 in ndpi_check_starcraft_tcp /src/ndpi/src/lib/protocols/starcraft.c:52:7 - #4 0x548467 in ndpi_search_starcraft /src/ndpi/src/lib/protocols/starcraft.c:131:16 - #5 0x4f6b0f in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4061:4 - #6 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #0 0x5b42c3 in ndpi_net_match /src/ndpi/src/lib/ndpi_utils.c:218:18 + #1 0x5b42c3 in ndpi_ips_match /src/ndpi/src/lib/ndpi_utils.c:226:10 + #2 0x547a51 in sc2_match_logon_ip /src/ndpi/src/lib/protocols/starcraft.c:37:11 + #3 0x547be7 in ndpi_check_starcraft_tcp /src/ndpi/src/lib/protocols/starcraft.c:52:7 + #4 0x548427 in ndpi_search_starcraft /src/ndpi/src/lib/protocols/starcraft.c:131:16 + #5 0x4f6acf in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4061:4 + #6 0x4ffa26 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 #7 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 - #8 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 - #9 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 - #10 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 - #11 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 - #12 0x7f05eca0a082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #8 0x5d64cc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #9 0x5c8425 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #10 0x5cd0d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #11 0x5c80f2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #12 0x7ff44e671082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) #13 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ndpi_utils.c:218:18 in diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-994.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-994.txt index a6922006b..c4308ef88 100644 --- a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-994.txt +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2020-994.txt @@ -1,20 +1,20 @@ -INFO: Seed: 4131774764 +INFO: Seed: 4280620487 /out/fuzz_process_packet: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ndpi_utils.c:218:18: runtime error: shift exponent 32 is too large for 32-bit type 'u_int32_t' (aka 'unsigned int') - #0 0x5b4303 in ndpi_net_match /src/ndpi/src/lib/ndpi_utils.c:218:18 - #1 0x5b4303 in ndpi_ips_match /src/ndpi/src/lib/ndpi_utils.c:226:10 - #2 0x547a91 in sc2_match_logon_ip /src/ndpi/src/lib/protocols/starcraft.c:37:11 - #3 0x547c27 in ndpi_check_starcraft_tcp /src/ndpi/src/lib/protocols/starcraft.c:52:7 - #4 0x548467 in ndpi_search_starcraft /src/ndpi/src/lib/protocols/starcraft.c:131:16 - #5 0x4f6b0f in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4061:4 - #6 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #0 0x5b42c3 in ndpi_net_match /src/ndpi/src/lib/ndpi_utils.c:218:18 + #1 0x5b42c3 in ndpi_ips_match /src/ndpi/src/lib/ndpi_utils.c:226:10 + #2 0x547a51 in sc2_match_logon_ip /src/ndpi/src/lib/protocols/starcraft.c:37:11 + #3 0x547be7 in ndpi_check_starcraft_tcp /src/ndpi/src/lib/protocols/starcraft.c:52:7 + #4 0x548427 in ndpi_search_starcraft /src/ndpi/src/lib/protocols/starcraft.c:131:16 + #5 0x4f6acf in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4061:4 + #6 0x4ffa26 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 #7 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 - #8 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 - #9 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 - #10 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 - #11 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 - #12 0x7fb1a0245082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #8 0x5d64cc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #9 0x5c8425 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #10 0x5cd0d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #11 0x5c80f2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #12 0x7f4a0e1e5082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) #13 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ndpi_utils.c:218:18 in diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2022-1032.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2022-1032.txt index f5be08c57..d0c8a0045 100644 --- a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2022-1032.txt +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2022-1032.txt @@ -1,26 +1,26 @@ -INFO: Seed: 4084374564 +INFO: Seed: 4227415559 /out/fuzz_process_packet: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7f6a5ed000b0 at pc 0x00000044120d bp 0x7ffd21aae250 sp 0x7ffd21aad9d8 -READ of size 17 at 0x7f6a5ed000b0 thread T0 +==1==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7f535d8000b0 at pc 0x00000044120d bp 0x7ffca69ba750 sp 0x7ffca69b9ed8 +READ of size 17 at 0x7f535d8000b0 thread T0 #0 0x44120c in printf_common(void*, char const*, __va_list_tag*) /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors_format.inc:553:9 #1 0x442a60 in __interceptor_snprintf /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:1736:1 - #2 0x54a97b in check_content_type_and_change_protocol /src/ndpi/src/lib/protocols/http.c:238:5 - #3 0x549ac6 in ndpi_check_http_tcp /src/ndpi/src/lib/protocols/http.c - #4 0x549ac6 in ndpi_search_http_tcp /src/ndpi/src/lib/protocols/http.c:886:3 - #5 0x4f9d32 in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4049:2 - #6 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #2 0x54a93b in check_content_type_and_change_protocol /src/ndpi/src/lib/protocols/http.c:238:5 + #3 0x549a86 in ndpi_check_http_tcp /src/ndpi/src/lib/protocols/http.c + #4 0x549a86 in ndpi_search_http_tcp /src/ndpi/src/lib/protocols/http.c:886:3 + #5 0x4f9cf2 in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4049:2 + #6 0x4ffa26 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 #7 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 - #8 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 - #9 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 - #10 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 - #11 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 - #12 0x7f6a60ee2082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #8 0x5d64cc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #9 0x5c8425 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #10 0x5cd0d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #11 0x5c80f2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #12 0x7f535fa71082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) #13 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) -Address 0x7f6a5ed000b0 is located in stack of thread T0 at offset 176 in frame - #0 0x54a63f in check_content_type_and_change_protocol /src/ndpi/src/lib/protocols/http.c:158 +Address 0x7f535d8000b0 is located in stack of thread T0 at offset 176 in frame + #0 0x54a5ff in check_content_type_and_change_protocol /src/ndpi/src/lib/protocols/http.c:158 This frame has 9 object(s): [32, 44) 'ret_match.i' (line 117) @@ -36,17 +36,17 @@ HINT: this may be a false positive if your program uses some custom stack unwind (longjmp and C++ exceptions *are* supported) SUMMARY: AddressSanitizer: stack-buffer-overflow /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors_format.inc:553:9 in printf_common(void*, char const*, __va_list_tag*) Shadow bytes around the buggy address: - 0x0fedcbd97fc0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 0x0fedcbd97fd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 0x0fedcbd97fe0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 0x0fedcbd97ff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 0x0fedcbd98000: f1 f1 f1 f1 f8 f8 f2 f2 f8 f8 f8 f8 f8 f8 f8 f8 -=>0x0fedcbd98010: f2 f2 f2 f2 00 00[f2]f2 f8 f8 f8 f8 f8 f8 f8 f8 - 0x0fedcbd98020: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 - 0x0fedcbd98030: f8 f8 f8 f8 f8 f8 f8 f8 f2 f2 f2 f2 f2 f2 f2 f2 - 0x0fedcbd98040: f8 f2 f2 f2 f8 f8 f2 f2 f8 f8 f2 f2 f8 f8 f2 f2 - 0x0fedcbd98050: f8 f8 f3 f3 00 00 00 00 00 00 00 00 00 00 00 00 - 0x0fedcbd98060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0feaebaf7fc0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0feaebaf7fd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0feaebaf7fe0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0feaebaf7ff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0feaebaf8000: f1 f1 f1 f1 f8 f8 f2 f2 f8 f8 f8 f8 f8 f8 f8 f8 +=>0x0feaebaf8010: f2 f2 f2 f2 00 00[f2]f2 f8 f8 f8 f8 f8 f8 f8 f8 + 0x0feaebaf8020: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 + 0x0feaebaf8030: f8 f8 f8 f8 f8 f8 f8 f8 f2 f2 f2 f2 f2 f2 f2 f2 + 0x0feaebaf8040: f8 f2 f2 f2 f8 f8 f2 f2 f8 f8 f2 f2 f8 f8 f2 f2 + 0x0feaebaf8050: f8 f8 f3 f3 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0feaebaf8060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Shadow byte legend (one shadow byte represents 8 application bytes): Addressable: 00 Partially addressable: 01 02 03 04 05 06 07 diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2022-445.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2022-445.txt index 59dc6d3b3..a2ed24fe7 100644 --- a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2022-445.txt +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2022-445.txt @@ -1,20 +1,20 @@ -INFO: Seed: 4075449043 +INFO: Seed: 4217279477 /out/fuzz_process_packet: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ndpi_utils.c:218:18: runtime error: shift exponent 32 is too large for 32-bit type 'u_int32_t' (aka 'unsigned int') - #0 0x5b4303 in ndpi_net_match /src/ndpi/src/lib/ndpi_utils.c:218:18 - #1 0x5b4303 in ndpi_ips_match /src/ndpi/src/lib/ndpi_utils.c:226:10 - #2 0x547a91 in sc2_match_logon_ip /src/ndpi/src/lib/protocols/starcraft.c:37:11 - #3 0x547c27 in ndpi_check_starcraft_tcp /src/ndpi/src/lib/protocols/starcraft.c:52:7 - #4 0x548467 in ndpi_search_starcraft /src/ndpi/src/lib/protocols/starcraft.c:131:16 - #5 0x4f6b0f in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4061:4 - #6 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #0 0x5b42c3 in ndpi_net_match /src/ndpi/src/lib/ndpi_utils.c:218:18 + #1 0x5b42c3 in ndpi_ips_match /src/ndpi/src/lib/ndpi_utils.c:226:10 + #2 0x547a51 in sc2_match_logon_ip /src/ndpi/src/lib/protocols/starcraft.c:37:11 + #3 0x547be7 in ndpi_check_starcraft_tcp /src/ndpi/src/lib/protocols/starcraft.c:52:7 + #4 0x548427 in ndpi_search_starcraft /src/ndpi/src/lib/protocols/starcraft.c:131:16 + #5 0x4f6acf in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4061:4 + #6 0x4ffa26 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 #7 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 - #8 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 - #9 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 - #10 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 - #11 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 - #12 0x7f12a187f082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #8 0x5d64cc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #9 0x5c8425 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #10 0x5cd0d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #11 0x5c80f2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #12 0x7fee2f5c2082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) #13 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ndpi_utils.c:218:18 in diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2022-661.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2022-661.txt index 69fd91ecc..d0b1352ca 100644 --- a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2022-661.txt +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2022-661.txt @@ -1,31 +1,31 @@ -INFO: Seed: 4077664755 +INFO: Seed: 4219571522 /out/fuzz_process_packet: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x604000000138 at pc 0x00000048becd bp 0x7ffd3ef8e2b0 sp 0x7ffd3ef8da70 +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x604000000138 at pc 0x00000048becd bp 0x7ffd9b048c70 sp 0x7ffd9b048430 READ of size 4 at 0x604000000138 thread T0 #0 0x48becc in __interceptor_strncpy /src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:470:5 - #1 0x572614 in dissect_softether_ip_port /src/ndpi/src/lib/protocols/softether.c:85:5 - #2 0x572614 in ndpi_search_softether /src/ndpi/src/lib/protocols/softether.c:124:5 - #3 0x4f22f4 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4018:7 - #4 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #1 0x5725d4 in dissect_softether_ip_port /src/ndpi/src/lib/protocols/softether.c:85:5 + #2 0x5725d4 in ndpi_search_softether /src/ndpi/src/lib/protocols/softether.c:124:5 + #3 0x4f22b4 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4018:7 + #4 0x4ffa26 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 #5 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 - #6 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 - #7 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 - #8 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 - #9 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 - #10 0x7efcc6eaa082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #6 0x5d64cc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #7 0x5c8425 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #8 0x5cd0d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #9 0x5c80f2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #10 0x7f940e362082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) #11 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) 0x604000000138 is located 0 bytes to the right of 40-byte region [0x604000000110,0x604000000138) allocated by thread T0 here: #0 0x4a0ca6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 - #1 0x4de202 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 - #2 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 - #3 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 - #4 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 - #5 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 - #6 0x7efcc6eaa082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #1 0x4de209 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 + #2 0x5d64cc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x5c8425 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x5cd0d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x5c80f2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7f940e362082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) SUMMARY: AddressSanitizer: heap-buffer-overflow /src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:470:5 in __interceptor_strncpy Shadow bytes around the buggy address: diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2022-670.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2022-670.txt index d947d5183..fa762c6d5 100644 --- a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2022-670.txt +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2022-670.txt @@ -1,30 +1,30 @@ -INFO: Seed: 4079906889 +INFO: Seed: 4222329819 /out/fuzz_process_packet: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6040000000c0 at pc 0x00000048becd bp 0x7fffd0576fb0 sp 0x7fffd0576770 +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6040000000c0 at pc 0x00000048becd bp 0x7ffcc9c2e9b0 sp 0x7ffcc9c2e170 READ of size 4 at 0x6040000000c0 thread T0 #0 0x48becc in __interceptor_strncpy /src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:470:5 - #1 0x5726e3 in ndpi_search_softether /src/ndpi/src/lib/protocols/softether.c:140:5 - #2 0x4f22f4 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4018:7 - #3 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #1 0x5726a3 in ndpi_search_softether /src/ndpi/src/lib/protocols/softether.c:140:5 + #2 0x4f22b4 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4018:7 + #3 0x4ffa26 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 #4 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 - #5 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 - #6 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 - #7 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 - #8 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 - #9 0x7f03b4e98082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #5 0x5d64cc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #6 0x5c8425 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #7 0x5cd0d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #8 0x5c80f2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #9 0x7fead7401082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) #10 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) 0x6040000000c0 is located 0 bytes to the right of 48-byte region [0x604000000090,0x6040000000c0) allocated by thread T0 here: #0 0x4a0ca6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 - #1 0x4de202 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 - #2 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 - #3 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 - #4 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 - #5 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 - #6 0x7f03b4e98082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #1 0x4de209 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 + #2 0x5d64cc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x5c8425 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x5cd0d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x5c80f2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7fead7401082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) SUMMARY: AddressSanitizer: heap-buffer-overflow /src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:470:5 in __interceptor_strncpy Shadow bytes around the buggy address: diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2022-709.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2022-709.txt index ae0fe8cab..58067c0ac 100644 --- a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2022-709.txt +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2022-709.txt @@ -1,31 +1,31 @@ -INFO: Seed: 4082132445 +INFO: Seed: 4224714638 /out/fuzz_process_packet: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60d000000261 at pc 0x00000048becd bp 0x7ffe593e3910 sp 0x7ffe593e30d0 +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60d000000261 at pc 0x00000048becd bp 0x7ffcccde6810 sp 0x7ffcccde5fd0 READ of size 10 at 0x60d000000261 thread T0 #0 0x48becc in __interceptor_strncpy /src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:470:5 - #1 0x57284a in dissect_softether_host_fqdn /src/ndpi/src/lib/protocols/softether.c:113:7 - #2 0x57284a in ndpi_search_softether /src/ndpi/src/lib/protocols/softether.c:146:5 - #3 0x4f22f4 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4018:7 - #4 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #1 0x57280a in dissect_softether_host_fqdn /src/ndpi/src/lib/protocols/softether.c:113:7 + #2 0x57280a in ndpi_search_softether /src/ndpi/src/lib/protocols/softether.c:146:5 + #3 0x4f22b4 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4018:7 + #4 0x4ffa26 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 #5 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 - #6 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 - #7 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 - #8 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 - #9 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 - #10 0x7fb8af020082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #6 0x5d64cc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #7 0x5c8425 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #8 0x5cd0d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #9 0x5c80f2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #10 0x7fd8f359b082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) #11 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) 0x60d000000261 is located 0 bytes to the right of 129-byte region [0x60d0000001e0,0x60d000000261) allocated by thread T0 here: #0 0x4a0ca6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 - #1 0x4de202 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 - #2 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 - #3 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 - #4 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 - #5 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 - #6 0x7fb8af020082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #1 0x4de209 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 + #2 0x5d64cc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x5c8425 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x5cd0d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x5c80f2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7fd8f359b082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) SUMMARY: AddressSanitizer: heap-buffer-overflow /src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:470:5 in __interceptor_strncpy Shadow bytes around the buggy address: diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2023-436.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2023-436.txt index 501bd13ca..4649edf1a 100644 --- a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2023-436.txt +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2023-436.txt @@ -1,33 +1,33 @@ -INFO: Seed: 4088832755 +INFO: Seed: 4232292137 /out/fuzz_process_packet: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6040000000c0 at pc 0x0000005b365f bp 0x7ffeff228ec0 sp 0x7ffeff228eb8 +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6040000000c0 at pc 0x0000005b361f bp 0x7ffc6ac0f420 sp 0x7ffc6ac0f418 READ of size 1 at 0x6040000000c0 thread T0 - #0 0x5b365e in ndpi_check_punycode_string /src/ndpi/src/lib/ndpi_utils.c:63:12 - #1 0x4fbe3b in ndpi_match_host_subprotocol /src/ndpi/src/lib/ndpi_main.c:6292:5 - #2 0x54b89e in check_content_type_and_change_protocol /src/ndpi/src/lib/protocols/http.c:409:5 - #3 0x549a91 in ndpi_check_http_tcp /src/ndpi/src/lib/protocols/http.c:769:7 - #4 0x549a91 in ndpi_search_http_tcp /src/ndpi/src/lib/protocols/http.c:886:3 - #5 0x4f6b0f in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4061:4 - #6 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #0 0x5b361e in ndpi_check_punycode_string /src/ndpi/src/lib/ndpi_utils.c:63:12 + #1 0x4fbdfb in ndpi_match_host_subprotocol /src/ndpi/src/lib/ndpi_main.c:6292:5 + #2 0x54b85e in check_content_type_and_change_protocol /src/ndpi/src/lib/protocols/http.c:409:5 + #3 0x549a51 in ndpi_check_http_tcp /src/ndpi/src/lib/protocols/http.c:769:7 + #4 0x549a51 in ndpi_search_http_tcp /src/ndpi/src/lib/protocols/http.c:886:3 + #5 0x4f6acf in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4061:4 + #6 0x4ffa26 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 #7 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 - #8 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 - #9 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 - #10 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 - #11 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 - #12 0x7fba300ed082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #8 0x5d64cc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #9 0x5c8425 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #10 0x5cd0d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #11 0x5c80f2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #12 0x7f3c3c3cf082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) #13 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) 0x6040000000c0 is located 0 bytes to the right of 48-byte region [0x604000000090,0x6040000000c0) allocated by thread T0 here: #0 0x4a0ca6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 - #1 0x4de202 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 - #2 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 - #3 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 - #4 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 - #5 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 - #6 0x7fba300ed082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #1 0x4de209 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 + #2 0x5d64cc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x5c8425 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x5cd0d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x5c80f2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7f3c3c3cf082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/src/lib/ndpi_utils.c:63:12 in ndpi_check_punycode_string Shadow bytes around the buggy address: diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2023-504.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2023-504.txt index 70ffd32c9..3a5ea3233 100644 --- a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2023-504.txt +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2023-504.txt @@ -1,29 +1,29 @@ -INFO: Seed: 4091058970 +INFO: Seed: 4234975804 /out/fuzz_process_packet: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60300000020d at pc 0x0000005661cf bp 0x7ffdae4cfd80 sp 0x7ffdae4cfd78 +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60300000020d at pc 0x00000056618f bp 0x7fff197e8120 sp 0x7fff197e8118 READ of size 1 at 0x60300000020d thread T0 - #0 0x5661ce in ndpi_search_line /src/ndpi/src/lib/protocols/line.c:52:13 - #1 0x4f22f4 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4018:7 - #2 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #0 0x56618e in ndpi_search_line /src/ndpi/src/lib/protocols/line.c:52:13 + #1 0x4f22b4 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4018:7 + #2 0x4ffa26 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 #3 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 - #4 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 - #5 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 - #6 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 - #7 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 - #8 0x7f16cd318082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #4 0x5d64cc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #5 0x5c8425 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #6 0x5cd0d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #7 0x5c80f2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #8 0x7f2dba75c082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) #9 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) 0x60300000020d is located 0 bytes to the right of 29-byte region [0x6030000001f0,0x60300000020d) allocated by thread T0 here: #0 0x4a0ca6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 - #1 0x4de202 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 - #2 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 - #3 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 - #4 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 - #5 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 - #6 0x7f16cd318082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #1 0x4de209 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 + #2 0x5d64cc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x5c8425 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x5cd0d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x5c80f2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7f2dba75c082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/src/lib/protocols/line.c:52:13 in ndpi_search_line Shadow bytes around the buggy address: diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2023-566.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2023-566.txt index b46f9cb4d..74580d62f 100644 --- a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2023-566.txt +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2023-566.txt @@ -1,33 +1,33 @@ -INFO: Seed: 4093491311 +INFO: Seed: 4237334554 /out/fuzz_process_packet: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60800000007f at pc 0x00000048becd bp 0x7ffffca9d3d0 sp 0x7ffffca9cb90 +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60800000007f at pc 0x00000048becd bp 0x7ffde55dff90 sp 0x7ffde55df750 READ of size 3 at 0x60800000007f thread T0 #0 0x48becc in __interceptor_strncpy /src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:470:5 - #1 0x54bc93 in ndpi_http_check_content /src/ndpi/src/lib/protocols/http.c:134:5 - #2 0x54bc93 in check_content_type_and_change_protocol /src/ndpi/src/lib/protocols/http.c:459:5 - #3 0x549ac6 in ndpi_check_http_tcp /src/ndpi/src/lib/protocols/http.c - #4 0x549ac6 in ndpi_search_http_tcp /src/ndpi/src/lib/protocols/http.c:886:3 - #5 0x4f6b0f in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4061:4 - #6 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #1 0x54bc53 in ndpi_http_check_content /src/ndpi/src/lib/protocols/http.c:134:5 + #2 0x54bc53 in check_content_type_and_change_protocol /src/ndpi/src/lib/protocols/http.c:459:5 + #3 0x549a86 in ndpi_check_http_tcp /src/ndpi/src/lib/protocols/http.c + #4 0x549a86 in ndpi_search_http_tcp /src/ndpi/src/lib/protocols/http.c:886:3 + #5 0x4f6acf in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4061:4 + #6 0x4ffa26 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 #7 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 - #8 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 - #9 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 - #10 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 - #11 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 - #12 0x7f9244096082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #8 0x5d64cc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #9 0x5c8425 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #10 0x5cd0d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #11 0x5c80f2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #12 0x7fa5dc1fc082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) #13 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) 0x60800000007f is located 0 bytes to the right of 95-byte region [0x608000000020,0x60800000007f) allocated by thread T0 here: #0 0x4a0ca6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 - #1 0x4de202 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 - #2 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 - #3 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 - #4 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 - #5 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 - #6 0x7f9244096082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #1 0x4de209 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 + #2 0x5d64cc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x5c8425 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x5cd0d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x5c80f2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7fa5dc1fc082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) SUMMARY: AddressSanitizer: heap-buffer-overflow /src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:470:5 in __interceptor_strncpy Shadow bytes around the buggy address: diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2024-469.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2024-469.txt index 7c554d711..1dac0aab3 100644 --- a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2024-469.txt +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2024-469.txt @@ -1,32 +1,32 @@ -INFO: Seed: 4095600045 +INFO: Seed: 4240202335 /out/fuzz_process_packet: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6070000001b2 at pc 0x0000005090ab bp 0x7ffd5f1c2a90 sp 0x7ffd5f1c2a88 +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6070000001b2 at pc 0x00000050906b bp 0x7fffad56ad90 sp 0x7fffad56ad88 READ of size 1 at 0x6070000001b2 thread T0 - #0 0x5090aa in ndpi_strnstr /src/ndpi/src/lib/ndpi_main.c:6071:25 - #1 0x54a8c4 in check_content_type_and_change_protocol /src/ndpi/src/lib/protocols/http.c:169:13 - #2 0x549ac6 in ndpi_check_http_tcp /src/ndpi/src/lib/protocols/http.c - #3 0x549ac6 in ndpi_search_http_tcp /src/ndpi/src/lib/protocols/http.c:886:3 - #4 0x4f9d32 in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4049:2 - #5 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #0 0x50906a in ndpi_strnstr /src/ndpi/src/lib/ndpi_main.c:6071:25 + #1 0x54a884 in check_content_type_and_change_protocol /src/ndpi/src/lib/protocols/http.c:169:13 + #2 0x549a86 in ndpi_check_http_tcp /src/ndpi/src/lib/protocols/http.c + #3 0x549a86 in ndpi_search_http_tcp /src/ndpi/src/lib/protocols/http.c:886:3 + #4 0x4f9cf2 in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4049:2 + #5 0x4ffa26 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 #6 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 - #7 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 - #8 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 - #9 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 - #10 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 - #11 0x7fdedb45d082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #7 0x5d64cc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #8 0x5c8425 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #9 0x5cd0d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #10 0x5c80f2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #11 0x7f35cea8a082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) #12 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) 0x6070000001b2 is located 0 bytes to the right of 66-byte region [0x607000000170,0x6070000001b2) allocated by thread T0 here: #0 0x4a0ca6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 - #1 0x4de202 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 - #2 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 - #3 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 - #4 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 - #5 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 - #6 0x7fdedb45d082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #1 0x4de209 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 + #2 0x5d64cc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x5c8425 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x5cd0d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x5c80f2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7f35cea8a082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/src/lib/ndpi_main.c:6071:25 in ndpi_strnstr Shadow bytes around the buggy address: diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2025-449.txt b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2025-449.txt index de9f45b88..8a2c3aff9 100644 --- a/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2025-449.txt +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/crashes/OSV-2025-449.txt @@ -1,34 +1,34 @@ -INFO: Seed: 4097808648 +INFO: Seed: 4242603452 /out/fuzz_process_packet: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x606000000232 at pc 0x00000044120d bp 0x7ffe4c0ef070 sp 0x7ffe4c0ee7f8 +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x606000000232 at pc 0x00000044120d bp 0x7ffc4eff7bd0 sp 0x7ffc4eff7358 READ of size 11 at 0x606000000232 thread T0 #0 0x44120c in printf_common(void*, char const*, __va_list_tag*) /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors_format.inc:553:9 #1 0x442a60 in __interceptor_snprintf /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:1736:1 - #2 0x54aa22 in ndpi_check_http_server /src/ndpi/src/lib/protocols/http.c:149:5 - #3 0x54aa22 in check_content_type_and_change_protocol /src/ndpi/src/lib/protocols/http.c:242:5 - #4 0x54997c in ndpi_check_http_tcp /src/ndpi/src/lib/protocols/http.c:765:7 - #5 0x54997c in ndpi_search_http_tcp /src/ndpi/src/lib/protocols/http.c:886:3 - #6 0x4f6b0f in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4061:4 - #7 0x4ffa66 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 + #2 0x54a9e2 in ndpi_check_http_server /src/ndpi/src/lib/protocols/http.c:149:5 + #3 0x54a9e2 in check_content_type_and_change_protocol /src/ndpi/src/lib/protocols/http.c:242:5 + #4 0x54993c in ndpi_check_http_tcp /src/ndpi/src/lib/protocols/http.c:765:7 + #5 0x54993c in ndpi_search_http_tcp /src/ndpi/src/lib/protocols/http.c:886:3 + #6 0x4f6acf in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4061:4 + #7 0x4ffa26 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4804:3 #8 0x4de327 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:36:5 - #9 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 - #10 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 - #11 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 - #12 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 - #13 0x7f392f45a082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #9 0x5d64cc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #10 0x5c8425 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #11 0x5cd0d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #12 0x5c80f2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #13 0x7fd089f9b082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) #14 0x41f86d in _start (/out/fuzz_process_packet+0x41f86d) 0x606000000232 is located 0 bytes to the right of 50-byte region [0x606000000200,0x606000000232) allocated by thread T0 here: #0 0x4a0ca6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 - #1 0x4de202 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 - #2 0x5d650c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 - #3 0x5c8465 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 - #4 0x5cd111 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 - #5 0x5c8132 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 - #6 0x7f392f45a082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #1 0x4de209 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_process_packet.c:19:39 + #2 0x5d64cc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x5c8425 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x5cd0d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x5c80f2 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7fd089f9b082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) SUMMARY: AddressSanitizer: heap-buffer-overflow /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors_format.inc:553:9 in printf_common(void*, char const*, __va_list_tag*) Shadow bytes around the buggy address: diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/patches/combined.diff b/benchmarks/ndpi_transplant_fuzz_process_packet/patches/combined.diff index f530379ac..2eeaf9f59 100644 --- a/benchmarks/ndpi_transplant_fuzz_process_packet/patches/combined.diff +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/patches/combined.diff @@ -11,20 +11,6 @@ index bfb34aafa..a08c8740a 100644 fuzz_process_packet_LDFLAGS = ../src/lib/libndpi.a if HAS_FUZZLDFLAGS fuzz_process_packet_LDFLAGS += $(LIB_FUZZING_ENGINE) -diff --git a/fuzz/fuzz_process_packet.c b/fuzz/fuzz_process_packet.c -index 6e0e57f77..7852b1014 100644 ---- a/fuzz/fuzz_process_packet.c -+++ b/fuzz/fuzz_process_packet.c -@@ -34,6 +34,9 @@ int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) { - memset(src, 0, SIZEOF_ID_STRUCT); - memset(dst, 0, SIZEOF_ID_STRUCT); - ndpi_detection_process_packet(ndpi_info_mod, ndpi_flow, __fuzz_copy, Size, 0, src, dst); -+ if (__bug_dispatch[1] & (1 << 0)) { -+ ndpi_free_flow(ndpi_flow); -+ } - - free(__fuzz_copy); - return 0; diff --git a/src/include/ndpi_protocol_ids.h b/src/include/ndpi_protocol_ids.h index c6d486933..7e41ababa 100644 --- a/src/include/ndpi_protocol_ids.h diff --git a/benchmarks/ndpi_transplant_fuzz_process_packet/patches/harness.diff b/benchmarks/ndpi_transplant_fuzz_process_packet/patches/harness.diff index 8e44163c7..a55deb58f 100644 --- a/benchmarks/ndpi_transplant_fuzz_process_packet/patches/harness.diff +++ b/benchmarks/ndpi_transplant_fuzz_process_packet/patches/harness.diff @@ -33,7 +33,7 @@ index 4693d4076..bfb34aafa 100644 if HAS_FUZZLDFLAGS fuzz_process_packet_LDFLAGS += $(LIB_FUZZING_ENGINE) diff --git a/fuzz/fuzz_process_packet.c b/fuzz/fuzz_process_packet.c -index 88319b419..6e0e57f77 100644 +index 88319b419..ffba2b040 100644 --- a/fuzz/fuzz_process_packet.c +++ b/fuzz/fuzz_process_packet.c @@ -1,7 +1,10 @@ @@ -47,7 +47,7 @@ index 88319b419..6e0e57f77 100644 struct ndpi_detection_module_struct *ndpi_info_mod = NULL; struct ndpi_flow_struct *ndpi_flow; -@@ -9,6 +12,14 @@ struct ndpi_id_struct *src; +@@ -9,20 +12,30 @@ struct ndpi_id_struct *src; struct ndpi_id_struct *dst; int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) { @@ -62,13 +62,21 @@ index 88319b419..6e0e57f77 100644 if (ndpi_info_mod == NULL) { ndpi_info_mod = ndpi_init_detection_module(); NDPI_PROTOCOL_BITMASK all; -@@ -22,7 +33,8 @@ int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) { + NDPI_BITMASK_SET_ALL(all); + ndpi_set_protocol_detection_bitmask2(ndpi_info_mod, &all); +- ndpi_flow = ndpi_flow_malloc(SIZEOF_FLOW_STRUCT); + src = ndpi_malloc(SIZEOF_ID_STRUCT); + dst = ndpi_malloc(SIZEOF_ID_STRUCT); + } + ++ ndpi_flow = ndpi_flow_malloc(SIZEOF_FLOW_STRUCT); memset(ndpi_flow, 0, SIZEOF_FLOW_STRUCT); memset(src, 0, SIZEOF_ID_STRUCT); memset(dst, 0, SIZEOF_ID_STRUCT); - ndpi_detection_process_packet(ndpi_info_mod, ndpi_flow, Data, Size, 0, src, dst); + ndpi_detection_process_packet(ndpi_info_mod, ndpi_flow, __fuzz_copy, Size, 0, src, dst); ++ ndpi_free_flow(ndpi_flow); + free(__fuzz_copy); return 0; } From fd979fb970d7aeb370cb583ccee9b96b606ce79e Mon Sep 17 00:00:00 2001 From: Linke <1102336121@qq.com> Date: Sun, 19 Apr 2026 22:58:42 -0600 Subject: [PATCH 14/47] honggfuzz: raise per-input timeout and wrap in restart loop Heavy transplant targets (ghostscript) race honggfuzz's fork-follow ptrace-attach when a persistent-mode child is SIGKILLed on the default 1s deadline, fatally aborting the fuzzer. Raise --timeout to 25s and wrap the invocation in a retry loop so coverage carries forward across the remaining races (corpus/crashdir on disk survive intact). --- fuzzers/honggfuzz/fuzzer.py | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/fuzzers/honggfuzz/fuzzer.py b/fuzzers/honggfuzz/fuzzer.py index 7a75a17fd..6964d9daf 100644 --- a/fuzzers/honggfuzz/fuzzer.py +++ b/fuzzers/honggfuzz/fuzzer.py @@ -16,6 +16,7 @@ import os import shutil import subprocess +import time from fuzzers import utils @@ -48,6 +49,10 @@ def fuzz(input_corpus, output_corpus, target_binary): command = [ './honggfuzz', '--persistent', + # Heavy transplant targets (ghostscript) race honggfuzz's fork-follow + # ptrace-attach when children are SIGKILLed on the default 1s deadline, + # fatally aborting the fuzzer. Raise per-input timeout from 1s. + '--timeout', '25', '--rlimit_rss', '2048', '--sanitizers_del_report=true', @@ -66,4 +71,15 @@ def fuzz(input_corpus, output_corpus, target_binary): command.extend(['--', target_binary]) print('[fuzz] Running command: ' + ' '.join(command)) - subprocess.check_call(command) + # honggfuzz hits a fatal race in arch_prepareParentAfterFork() when a + # persistent-mode child is SIGKILLed on the per-input timeout before + # ptrace_attach on the next fork completes. The corpus/crashdir on disk + # survives intact, so relaunch on non-zero exit — coverage carries forward. + attempt = 0 + while True: + attempt += 1 + rc = subprocess.call(command) + if rc == 0: + break + print(f'[fuzz] honggfuzz exited {rc} (attempt {attempt}); relaunching') + time.sleep(2) From b2fde138b4ca7b27eca01b7b45b406b0315d7c40 Mon Sep 17 00:00:00 2001 From: Linke <1102336121@qq.com> Date: Sun, 19 Apr 2026 22:58:42 -0600 Subject: [PATCH 15/47] honggfuzz: raise per-input timeout and wrap in restart loop Heavy transplant targets (ghostscript) race honggfuzz's fork-follow ptrace-attach when a persistent-mode child is SIGKILLed on the default 1s deadline, fatally aborting the fuzzer. Raise --timeout to 25s and wrap the invocation in a retry loop so coverage carries forward across the remaining races (corpus/crashdir on disk survive intact). --- fuzzers/honggfuzz/fuzzer.py | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/fuzzers/honggfuzz/fuzzer.py b/fuzzers/honggfuzz/fuzzer.py index 7a75a17fd..6964d9daf 100644 --- a/fuzzers/honggfuzz/fuzzer.py +++ b/fuzzers/honggfuzz/fuzzer.py @@ -16,6 +16,7 @@ import os import shutil import subprocess +import time from fuzzers import utils @@ -48,6 +49,10 @@ def fuzz(input_corpus, output_corpus, target_binary): command = [ './honggfuzz', '--persistent', + # Heavy transplant targets (ghostscript) race honggfuzz's fork-follow + # ptrace-attach when children are SIGKILLed on the default 1s deadline, + # fatally aborting the fuzzer. Raise per-input timeout from 1s. + '--timeout', '25', '--rlimit_rss', '2048', '--sanitizers_del_report=true', @@ -66,4 +71,15 @@ def fuzz(input_corpus, output_corpus, target_binary): command.extend(['--', target_binary]) print('[fuzz] Running command: ' + ' '.join(command)) - subprocess.check_call(command) + # honggfuzz hits a fatal race in arch_prepareParentAfterFork() when a + # persistent-mode child is SIGKILLed on the per-input timeout before + # ptrace_attach on the next fork completes. The corpus/crashdir on disk + # survives intact, so relaunch on non-zero exit — coverage carries forward. + attempt = 0 + while True: + attempt += 1 + rc = subprocess.call(command) + if rc == 0: + break + print(f'[fuzz] honggfuzz exited {rc} (attempt {attempt}); relaunching') + time.sleep(2) From 2084f9281b706609855ca9e2fe56742b5648146b Mon Sep 17 00:00:00 2001 From: Linke <1102336121@qq.com> Date: Sun, 19 Apr 2026 23:00:22 -0600 Subject: [PATCH 16/47] ...~ --- .../Dockerfile | 35 + .../benchmark.yaml | 5 + .../bug_metadata.json | 190 +++ .../build.sh | 187 ++ .../crashes/OSV-2022-1021.txt | 252 +++ .../crashes/OSV-2022-1097.txt | 280 +++ .../crashes/OSV-2022-1148.txt | 258 +++ .../crashes/OSV-2022-1194.txt | 233 +++ .../crashes/OSV-2022-1208.txt | 265 +++ .../crashes/OSV-2022-522.txt | 335 ++++ .../crashes/OSV-2022-523.txt | 299 ++++ .../crashes/OSV-2022-719.txt | 310 ++++ .../crashes/OSV-2022-724.txt | 280 +++ .../crashes/OSV-2022-726.txt | 276 +++ .../crashes/OSV-2022-727.txt | 401 +++++ .../crashes/OSV-2022-744.txt | 263 +++ .../crashes/OSV-2022-751.txt | 279 +++ .../crashes/OSV-2022-757.txt | 252 +++ .../crashes/OSV-2022-772.txt | 338 ++++ .../crashes/OSV-2022-797.txt | 308 ++++ .../crashes/OSV-2022-818.txt | 277 +++ .../crashes/OSV-2022-855.txt | 244 +++ .../crashes/OSV-2022-866.txt | 276 +++ .../crashes/OSV-2022-888.txt | 258 +++ .../crashes/OSV-2022-949.txt | 484 ++++++ .../crashes/OSV-2023-1079.txt | 428 +++++ .../crashes/OSV-2023-88.txt | 274 +++ .../crashes/OSV-2023-970.txt | 246 +++ .../crashes/OSV-2024-1391.txt | 255 +++ .../crashes/OSV-2024-503.txt | 422 +++++ .../ghostscript_files/dicts/pdf.dict | 1466 ++++++++++++++++ .../ghostscript_files/gs_fuzzlib.h | 144 ++ .../ghostscript_files/pdf_seeds/pdf.pdf | Bin 0 -> 35154 bytes .../patches/combined.diff | 412 +++++ .../patches/harness.diff | 20 + .../patches/harness_sources/manifest.json | 6 + .../src__gs_device_pdfwrite_fuzzer.cc | 28 + .../seeds/testcase-OSV-2022-1021-patched | Bin 0 -> 6967 bytes .../seeds/testcase-OSV-2022-1097-patched | Bin 0 -> 62747 bytes .../seeds/testcase-OSV-2022-1148-patched | Bin 0 -> 3085 bytes .../seeds/testcase-OSV-2022-1194-patched | Bin 0 -> 18858 bytes .../seeds/testcase-OSV-2022-1208-patched | Bin 0 -> 21863 bytes .../seeds/testcase-OSV-2022-522-patched | 599 +++++++ .../seeds/testcase-OSV-2022-523-patched | 1506 +++++++++++++++++ .../seeds/testcase-OSV-2022-719-patched | Bin 0 -> 23809 bytes .../seeds/testcase-OSV-2022-724-patched | Bin 0 -> 119110 bytes .../seeds/testcase-OSV-2022-726-patched | Bin 0 -> 303179 bytes .../seeds/testcase-OSV-2022-727-patched | Bin 0 -> 603343 bytes .../seeds/testcase-OSV-2022-744-patched | Bin 0 -> 61248 bytes .../seeds/testcase-OSV-2022-751-patched | Bin 0 -> 64578 bytes .../seeds/testcase-OSV-2022-757-patched | Bin 0 -> 114436 bytes .../seeds/testcase-OSV-2022-772-patched | Bin 0 -> 9821 bytes .../seeds/testcase-OSV-2022-797-patched | Bin 0 -> 37649 bytes .../seeds/testcase-OSV-2022-818-patched | Bin 0 -> 4656 bytes .../seeds/testcase-OSV-2022-855-patched | Bin 0 -> 88421 bytes .../seeds/testcase-OSV-2022-866-patched | Bin 0 -> 93240 bytes .../seeds/testcase-OSV-2022-888-patched | Bin 0 -> 34313 bytes .../seeds/testcase-OSV-2022-949-patched | Bin 0 -> 263582 bytes .../seeds/testcase-OSV-2023-1079-patched | Bin 0 -> 117260 bytes .../seeds/testcase-OSV-2023-88-patched | Bin 0 -> 15906 bytes .../seeds/testcase-OSV-2023-970-patched | Bin 0 -> 972 bytes .../seeds/testcase-OSV-2024-1391-patched | Bin 0 -> 39799 bytes .../seeds/testcase-OSV-2024-503-patched | Bin 0 -> 150980 bytes docker/generate_makefile.py | 5 + fuzzers/afl/fuzzer.py | 4 +- 65 files changed, 12399 insertions(+), 1 deletion(-) create mode 100644 benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/Dockerfile create mode 100644 benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/benchmark.yaml create mode 100644 benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/bug_metadata.json create mode 100755 benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/build.sh create mode 100644 benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-1021.txt create mode 100644 benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-1097.txt create mode 100644 benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-1148.txt create mode 100644 benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-1194.txt create mode 100644 benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-1208.txt create mode 100644 benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-522.txt create mode 100644 benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-523.txt create mode 100644 benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-719.txt create mode 100644 benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-724.txt create mode 100644 benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-726.txt create mode 100644 benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-727.txt create mode 100644 benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-744.txt create mode 100644 benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-751.txt create mode 100644 benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-757.txt create mode 100644 benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-772.txt create mode 100644 benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-797.txt create mode 100644 benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-818.txt create mode 100644 benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-855.txt create mode 100644 benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-866.txt create mode 100644 benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-888.txt create mode 100644 benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-949.txt create mode 100644 benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2023-1079.txt create mode 100644 benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2023-88.txt create mode 100644 benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2023-970.txt create mode 100644 benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2024-1391.txt create mode 100644 benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2024-503.txt create mode 100644 benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/ghostscript_files/dicts/pdf.dict create mode 100644 benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/ghostscript_files/gs_fuzzlib.h create mode 100644 benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/ghostscript_files/pdf_seeds/pdf.pdf create mode 100644 benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/patches/combined.diff create mode 100644 benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/patches/harness.diff create mode 100644 benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/patches/harness_sources/manifest.json create mode 100644 benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/patches/harness_sources/src__gs_device_pdfwrite_fuzzer.cc create mode 100644 benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2022-1021-patched create mode 100644 benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2022-1097-patched create mode 100644 benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2022-1148-patched create mode 100644 benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2022-1194-patched create mode 100644 benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2022-1208-patched create mode 100644 benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2022-522-patched create mode 100644 benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2022-523-patched create mode 100644 benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2022-719-patched create mode 100644 benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2022-724-patched create mode 100644 benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2022-726-patched create mode 100644 benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2022-727-patched create mode 100644 benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2022-744-patched create mode 100644 benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2022-751-patched create mode 100644 benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2022-757-patched create mode 100644 benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2022-772-patched create mode 100644 benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2022-797-patched create mode 100644 benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2022-818-patched create mode 100644 benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2022-855-patched create mode 100644 benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2022-866-patched create mode 100644 benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2022-888-patched create mode 100644 benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2022-949-patched create mode 100644 benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2023-1079-patched create mode 100644 benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2023-88-patched create mode 100644 benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2023-970-patched create mode 100644 benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2024-1391-patched create mode 100644 benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2024-503-patched diff --git a/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/Dockerfile b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/Dockerfile new file mode 100644 index 000000000..549d702d4 --- /dev/null +++ b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/Dockerfile @@ -0,0 +1,35 @@ +FROM gcr.io/oss-fuzz-base/base-builder@sha256:87ca1e9e19235e731fac8de8d1892ebe8d55caf18e7aa131346fc582a2034fdd + +# Dependencies for building Ghostscript + CUPS + FreeType. +# Intentionally omit libfontconfig1-dev so ghostpdl's configure disables +# fontconfig — FuzzBench's runner images don't ship libfontconfig.so.1. +RUN apt-get update && apt-get install -y --no-install-recommends \ + autoconf automake libtool pkg-config \ + liblcms2-dev libpng-dev libtiff-dev \ + libfreetype6-dev libjbig2dec0-dev zlib1g-dev \ + && rm -rf /var/lib/apt/lists/* + +# Full clones — build.sh checks out the target ghostpdl commit, so history is +# needed for git checkout. cups is tracked on branch-2.2 (per OSS-Fuzz's pin) +# and freetype is pinned at VER-2-12-1 (matches the original merge environment). +RUN git clone --branch branch-2.2 --single-branch https://github.com/apple/cups.git /src/cups +RUN git clone --branch VER-2-12-1 --single-branch https://git.savannah.gnu.org/git/freetype/freetype2.git /src/freetype +RUN git clone https://github.com/ArtifexSoftware/ghostpdl.git /src/ghostpdl + +# Keep ASan stack-use-after-return detection enabled for direct testcase replay. +ENV ASAN_OPTIONS="detect_leaks=0:detect_stack_use_after_return=1" + +# Ghostscript fuzz harnesses + dictionaries + seeds, as shipped by OSS-Fuzz +# at the commit that introduced gs_device_pdfwrite_fuzzer (a5352add9). +COPY ghostscript_files/gs_fuzzlib.h /src/gs_fuzzlib.h +COPY ghostscript_files/pdf_seeds /src/pdf_seeds +COPY ghostscript_files/dicts /src/dicts + +# Bug transplant patches, harness_sources, and per-bug testcases. +# harness_sources contains the dispatch-aware gs_device_pdfwrite_fuzzer.cc +# which build.sh copies into /src before the compile step. +COPY patches/ /src/patches/ +COPY seeds/ /src/benchmark_seeds/ +COPY build.sh $SRC/ + +WORKDIR /src/ghostpdl diff --git a/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/benchmark.yaml b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/benchmark.yaml new file mode 100644 index 000000000..554a66322 --- /dev/null +++ b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/benchmark.yaml @@ -0,0 +1,5 @@ +project: ghostscript +fuzz_target: gs_device_pdfwrite_fuzzer +commit: e088d3a844717878592fa5ccf871729983140676 +commit_date: 2022-08-13T17:18:17+01:00 +type: bug diff --git a/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/bug_metadata.json b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/bug_metadata.json new file mode 100644 index 000000000..ea220d791 --- /dev/null +++ b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/bug_metadata.json @@ -0,0 +1,190 @@ +{ + "project": "ghostscript", + "target_commit": "e088d3a844717878592fa5ccf871729983140676", + "dispatch_bytes": 1, + "total_bugs": 26, + "bugs": { + "OSV-2022-522": { + "dispatch_value": 1, + "triggered": true, + "crash_file": "/src/ghostpdl/./base/ttinterp.c", + "crash_line": 4287, + "crash_function": "Interp" + }, + "OSV-2022-523": { + "dispatch_value": 2, + "triggered": true, + "crash_file": "/src/ghostpdl/./base/gsmchunk.c", + "crash_line": 1110, + "crash_function": "chunk_free_object" + }, + "OSV-2022-757": { + "dispatch_value": 4, + "triggered": true, + "crash_file": "/src/ghostpdl/./pdf/pdf_stack.h", + "crash_line": 73, + "crash_function": "pdfi_countdown_impl" + }, + "OSV-2024-503": { + "dispatch_value": 8, + "triggered": true, + "crash_file": "/src/ghostpdl/./devices/vector/gdevpdfg.c", + "crash_line": 73, + "crash_function": "__covrec_5D5B21D96B32D4F9u" + }, + "OSV-2022-772": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ghostpdl/./pdf/pdf_font11.c", + "crash_line": 73, + "crash_function": "pdfi_cidtype2_get_glyph_index" + }, + "OSV-2022-1097": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ghostpdl/./base/gstype2.c", + "crash_line": 774, + "crash_function": "gs_type2_interpret" + }, + "OSV-2022-1148": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ghostpdl/./base/gstype2.c", + "crash_line": 825, + "crash_function": "gs_type2_interpret" + }, + "OSV-2022-1021": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ghostpdl/./base/gstype2.c", + "crash_line": 758, + "crash_function": "gs_type2_interpret" + }, + "OSV-2022-726": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ghostpdl/./base/gdevnfwd.c", + "crash_line": 33, + "crash_function": "gx_device_forward_finalize" + }, + "OSV-2022-727": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ghostpdl/./base/gp.h", + "crash_line": 296, + "crash_function": "gp_fflush" + }, + "OSV-2022-724": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ghostpdl/./base/gstype2.c", + "crash_line": 691, + "crash_function": "gs_type2_interpret" + }, + "OSV-2022-744": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ghostpdl/./base/gsgdata.c", + "crash_line": 127, + "crash_function": "gs_glyph_data_from_bytes" + }, + "OSV-2022-751": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ghostpdl/./base/gstype2.c", + "crash_line": 190, + "crash_function": "gs_type2_interpret" + }, + "OSV-2022-719": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ghostpdl/./base/gsgdata.c", + "crash_line": 119, + "crash_function": "gs_glyph_data_from_string" + }, + "OSV-2022-797": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ghostpdl/./base/ttinterp.c", + "crash_line": 2342, + "crash_function": "Ins_NPUSHB" + }, + "OSV-2022-949": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ghostpdl/./base/gp.h", + "crash_line": 296, + "crash_function": "gp_fflush" + }, + "OSV-2022-866": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ghostpdl/./base/gstype2.c", + "crash_line": 646, + "crash_function": "gs_type2_interpret" + }, + "OSV-2024-1391": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ghostpdl/./base/gsicc_create.c", + "crash_line": 3272, + "crash_function": "get_mediawp" + }, + "OSV-2023-1079": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ghostpdl/./base/ttinterp.c", + "crash_line": 1789, + "crash_function": "Ins_JROT" + }, + "OSV-2023-88": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ghostpdl/./pdf/pdf_font1C.c", + "crash_line": 739, + "crash_function": "pdfi_read_cff_real" + }, + "OSV-2022-855": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ghostpdl/./base/ttinterp.c", + "crash_line": 4113, + "crash_function": "Ins_ISECT" + }, + "OSV-2022-818": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ghostpdl/./base/ttinterp.c", + "crash_line": 736, + "crash_function": "GetShortIns" + }, + "OSV-2022-888": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ghostpdl/./base/gstype2.c", + "crash_line": 496, + "crash_function": "gs_type2_interpret" + }, + "OSV-2022-1194": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ghostpdl/./base/stream.c", + "crash_line": 604, + "crash_function": "sputs" + }, + "OSV-2022-1208": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ghostpdl/./devices/vector/gdevpsfm.c", + "crash_line": 60, + "crash_function": "pput_hex" + }, + "OSV-2023-970": { + "dispatch_value": 0, + "triggered": true, + "crash_file": "/src/ghostpdl/./base/gdevnfwd.c", + "crash_line": 33, + "crash_function": "gx_device_forward_finalize" + } + } +} diff --git a/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/build.sh b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/build.sh new file mode 100755 index 000000000..ed96caa5b --- /dev/null +++ b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/build.sh @@ -0,0 +1,187 @@ +#!/bin/bash -eu +# Generated from the offline bug-transplant merge (ghostscript e088d3a8). +# Checks out the target ghostpdl commit, applies the dispatch patches, then +# builds the single gs_device_pdfwrite_fuzzer FuzzBench cares about. + +# --------------------------------------------------------------------------- +# 1. Build CUPS (required by ghostscript's --enable-cups link). +# --------------------------------------------------------------------------- +pushd /src/cups +# Fix a long-standing bad cast in ppd-cache.c that trips modern clang. +sed -i '2110s/\(\s\)f->value/\1(int)f->value/' cups/ppd-cache.c + +# CUPS branch-2.2 uses strlcpy without declaring it, which is -Werror with +# honggfuzz/libafl compilers. Relax the check for this old code. +export CFLAGS="${CFLAGS:-} -Wno-error=implicit-function-declaration" +export CXXFLAGS="${CXXFLAGS:-} -Wno-error=implicit-function-declaration" + +LSB_BUILD=y ./configure --prefix="$WORK" --libdir="$OUT" --disable-gnutls \ + --disable-libusb --with-components=core + +make clean +make -C filter clean 2>/dev/null || true +make install-headers install-libs +make -C filter libs install-libs +install -m755 cups-config "$WORK"/cups-config +popd + +# --------------------------------------------------------------------------- +# 2. Check out the target ghostpdl commit and apply the transplant patches. +# --------------------------------------------------------------------------- +cd /src/ghostpdl +git checkout -f e088d3a844717878592fa5ccf871729983140676 + +# Ghostscript expects freetype in-tree; replace the vendored copy with the +# pinned VER-2-12-1 clone that was fetched in the Dockerfile. Leave the other +# vendored libraries (libpng, tiff, zlib, jpeg) in place — the original +# merge environment kept them and mixing them with system-wide shared libs +# (e.g. libjpeg-dev) trips ghostpdl's "Mixing local libtiff with shared +# libjpeg not supported" configure check. +rm -rf freetype +cp -a /src/freetype freetype + +# Restore harness sources that live outside the project git repository. +if [ -f /src/patches/harness_sources/manifest.json ]; then + python3 - <<'PY' +import json +import shutil +from pathlib import Path + +root = Path("/src/patches/harness_sources") +for entry in json.loads((root / "manifest.json").read_text()): + source = root / entry["snapshot"] + destination = Path(entry["container_path"]) + destination.parent.mkdir(parents=True, exist_ok=True) + shutil.copy2(source, destination) +PY +fi + +# Apply dispatch harness first (adds __bug_dispatch.[ch] at the ghostpdl root), +# then the combined per-bug patches. +if ! git apply --check /src/patches/harness.diff 2>/dev/null; then + echo "Trying git apply --3way for harness.diff..." + git apply --3way /src/patches/harness.diff +else + git apply /src/patches/harness.diff +fi + +if ! git apply --check /src/patches/combined.diff 2>/dev/null; then + echo "Trying git apply --3way for combined.diff..." + git apply --3way /src/patches/combined.diff +else + git apply /src/patches/combined.diff +fi + +# --------------------------------------------------------------------------- +# 3. Configure & build libgs. +# --------------------------------------------------------------------------- +CUPSCONFIG="$WORK/cups-config" +CUPS_CFLAGS=$($CUPSCONFIG --cflags) +CUPS_LDFLAGS=$($CUPSCONFIG --ldflags) +CUPS_LIBS=$($CUPSCONFIG --image --libs) +export CXXFLAGS="$CXXFLAGS $CUPS_CFLAGS" + +# --disable-fontconfig: FuzzBench runner images are slim and do not ship +# libfontconfig.so.1, which would make the fuzzer fail to start. Font +# discovery isn't needed for the transplanted bug crashes. +CPPFLAGS="${CPPFLAGS:-} $CUPS_CFLAGS -DPACIFY_VALGRIND" ./autogen.sh \ + CUPSCONFIG=$CUPSCONFIG \ + --enable-freetype --disable-fontconfig \ + --enable-cups --with-ijs --with-jbig2dec \ + --with-drivers=pdfwrite,cups,ljet4,laserjet,pxlmono,pxlcolor,pcl3,uniprint,pgmraw,ps2write,png16m,tiffsep1,faxg3,psdcmyk,eps2write,bmpmono,xpswrite + +# ghostpdl's autogen.sh auto-adds `-fno-sanitize-recover=...,shift,signed-integer-overflow,...` +# when UBSAN is detected. That makes pre-existing shift UB in base/gsiorom.c +# abort the binary on every run, masking the real bug crashes we need to +# locate. Strip that flag so UBSAN_OPTIONS=halt_on_error=0 can take effect. +find . -name Makefile -exec sed -i 's/-fno-sanitize-recover=[^ ]*//g' {} + + +make -j$(nproc) libgs + +# --------------------------------------------------------------------------- +# 4. Link gs_device_pdfwrite_fuzzer with the dispatch-aware harness. +# --------------------------------------------------------------------------- +BUG_DISPATCH_OBJ="$WORK/__bug_dispatch.o" +$CC $CFLAGS -I. -I$SRC -I$SRC/ghostpdl -c "$SRC/ghostpdl/__bug_dispatch.c" -o "$BUG_DISPATCH_OBJ" + +$CXX $CXXFLAGS $CUPS_LDFLAGS -std=c++11 -I. -I$SRC -I$SRC/ghostpdl \ + $SRC/gs_device_pdfwrite_fuzzer.cc \ + "$BUG_DISPATCH_OBJ" \ + -o "$OUT/gs_device_pdfwrite_fuzzer" \ + -Wl,-rpath='$ORIGIN' \ + $CUPS_LIBS \ + $LIB_FUZZING_ENGINE bin/gs.a + +# --------------------------------------------------------------------------- +# 5. Base seed corpus (pdf_seeds + a sample of ghostpdl's example files). +# --------------------------------------------------------------------------- +mkdir -p "$WORK/seeds" +cp /src/pdf_seeds/*.pdf "$WORK/seeds/" 2>/dev/null || true +for f in examples/*.pdf examples/*.ps; do + [ -f "$f" ] || continue + s=$(sha1sum "$f" | awk '{print $1}') + cp "$f" "$WORK/seeds/$s" +done + +zip -j "$OUT/gs_device_pdfwrite_fuzzer_seed_corpus.zip" "$WORK"/seeds/* + +# Dictionary file (pdf keywords) helps mutation-based fuzzers. +cp /src/dicts/pdf.dict "$OUT/gs_device_pdfwrite_fuzzer.dict" + +# --------------------------------------------------------------------------- +# 6. Expand the seed corpus with dispatch-prefix variants and add any +# non-crashing per-bug testcase candidates. Mirrors the logic used by the +# other transplant benchmarks so FuzzBench fuzzers see inputs across all +# dispatch bits. +# --------------------------------------------------------------------------- +seed_zip="$OUT/gs_device_pdfwrite_fuzzer_seed_corpus.zip" +seed_target="$OUT/gs_device_pdfwrite_fuzzer" +mkdir -p /tmp/seeds_dispatch /tmp/original_seeds /tmp/benchmark_seed_candidates + +if [ -f "$seed_zip" ]; then + unzip -q -o "$seed_zip" -d /tmp/original_seeds 2>/dev/null || true + for f in /tmp/original_seeds/*; do + [ -f "$f" ] || continue + base=$(basename "$f") + for dispatch in 00 01 02 04 08 10 20 40 80; do + printf '%b' "\\x${dispatch}" | cat - "$f" > "/tmp/seeds_dispatch/${base}.dispatch_${dispatch}" + done + done +fi + +if [ -d /src/benchmark_seeds ]; then + for f in /src/benchmark_seeds/*; do + [ -f "$f" ] || continue + base=$(basename "$f") + size=$(wc -c < "$f") + [ "$size" -gt 0 ] || continue + + cp "$f" "/tmp/benchmark_seed_candidates/${base}.exact" + cp "$f" "/tmp/benchmark_seed_candidates/${base}.dispatch_zero" + printf '\000' | dd of="/tmp/benchmark_seed_candidates/${base}.dispatch_zero" bs=1 seek=0 conv=notrunc 2>/dev/null || true + for keep in 1 2 8 16 64 256 1024; do + if [ "$size" -gt "$keep" ]; then + head -c "$keep" "$f" > "/tmp/benchmark_seed_candidates/${base}.head_${keep}" + fi + done + if [ "$size" -gt 1 ]; then + head -c "$((size - 1))" "$f" > "/tmp/benchmark_seed_candidates/${base}.trim_1" + cp "$f" "/tmp/benchmark_seed_candidates/${base}.zero_last" + printf '\000' | dd of="/tmp/benchmark_seed_candidates/${base}.zero_last" bs=1 seek="$((size - 1))" conv=notrunc 2>/dev/null || true + fi + done +fi + +if [ -x "$seed_target" ] && ls /tmp/benchmark_seed_candidates/* 1>/dev/null 2>&1; then + for f in /tmp/benchmark_seed_candidates/*; do + [ -f "$f" ] || continue + if timeout 10s env ASAN_OPTIONS="${ASAN_OPTIONS:-detect_leaks=0:detect_stack_use_after_return=1}" "$seed_target" "$f" >/tmp/seed_replay.log 2>&1; then + cp "$f" "/tmp/seeds_dispatch/poc_$(basename "$f")" + fi + done +fi + +if ls /tmp/seeds_dispatch/* 1>/dev/null 2>&1; then + rm -f "$seed_zip" + zip -j -q "$seed_zip" /tmp/seeds_dispatch/* +fi diff --git a/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-1021.txt b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-1021.txt new file mode 100644 index 000000000..aefd04e11 --- /dev/null +++ b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-1021.txt @@ -0,0 +1,252 @@ +INFO: Seed: 2737773801 +/out/gs_device_pdfwrite_fuzzer: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +base/gsiorom.c:94:14: runtime error: left shift of 128 by 24 places cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:94:14 in +psi/imainarg.c:684:43: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/imainarg.c:684:43 in +base/gxpath.c:114:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:114:23 in +base/gxpath.c:115:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:115:23 in +base/gxpath.c:116:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:116:23 in +base/gxpath.c:117:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:117:23 in +base/gxcpath.c:530:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:530:29 in +base/gxcpath.c:531:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:531:29 in +base/gxcpath.c:532:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:532:29 in +base/gxcpath.c:533:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:533:29 in +base/gspath.c:604:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:604:17 in +base/gspath.c:605:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:605:17 in +base/gspath.c:606:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:606:17 in +base/gspath.c:607:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:607:17 in +base/gxpcmap.c:839:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpcmap.c:839:9 in +base/gxccman.c:139:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxccman.c:139:9 in +base/gsiorom.c:122:21: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:122:21 in +base/gsiorom.c:201:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:201:25 in +psi/iscannum.c:103:58: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:103:58 in +psi/iscannum.c:103:73: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:103:73 in +psi/iscannum.c:104:58: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:104:58 in +psi/iscannum.c:104:73: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:104:73 in +psi/interp.c:1123:13: runtime error: member access within null pointer of type 'ref' (aka 'struct ref_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1123:13 in +psi/interp.c:1123:13: runtime error: member access within null pointer of type 'struct tas_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1123:13 in +psi/interp.c:1401:21: runtime error: member access within null pointer of type 'ref' (aka 'struct ref_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1401:21 in +psi/interp.c:1401:21: runtime error: member access within null pointer of type 'struct tas_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1401:21 in +psi/ziodevsc.c:153:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:153:25 in +psi/ziodevsc.c:230:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:230:25 in +psi/ziodevsc.c:301:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:301:25 in +psi/iscannum.c:278:13: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:278:13 in +psi/zarith.c:415:64: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zarith.c:415:64 in +psi/zusparam.c:440:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:440:11 in +psi/zusparam.c:440:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:440:11 in +base/gsalloc.c:1068:20: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsalloc.c:1068:20 in +psi/zusparam.c:202:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:202:11 in +psi/zusparam.c:202:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:202:11 in +psi/idparam.c:378:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/idparam.c:378:9 in +base/gsicc_manage.c:2166:23: runtime error: member access within null pointer of type 'cmm_profile_t' (aka 'struct cmm_profile_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_manage.c:2166:23 in +base/gsicc_cache.c:465:41: runtime error: left shift of 229 by 56 places cannot be represented in type 'int64_t' (aka 'long') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_cache.c:465:41 in +base/sfxstdio.c:199:21: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:199:21 in +devices/vector/gdevpdf.c:879:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdf.c:879:36 in +base/gsicc_cache.c:464:39: runtime error: left shift of 184 by 56 places cannot be represented in type 'int64_t' (aka 'long') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_cache.c:464:39 in +base/gshtscr.c:353:48: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:353:48 in +base/gshtscr.c:387:27: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:387:27 in +base/gshtscr.c:392:57: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:392:57 in +base/gsht.c:1051:26: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsht.c:1051:26 in +base/gsht.c:1052:27: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsht.c:1052:27 in +base/sjpege.c:37:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:37:9 in +base/sjpege.c:37:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:37:9 in +base/sjpege.c:52:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:52:9 in +base/sjpege.c:52:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:52:9 in +base/sjpege.c:72:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:72:9 in +base/sjpege.c:72:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:72:9 in +base/sjpegc.c:143:28: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpegc.c:143:28 in +base/sjpegc.c:143:28: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpegc.c:143:28 in +psi/ireclaim.c:110:36: runtime error: member access within null pointer of type 'i_ctx_t' (aka 'struct gs_context_state_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ireclaim.c:110:36 in +psi/igc.c:268:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:268:9 in +psi/zbfont.c:44:40: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:44:40 in +psi/igc.c:306:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:306:9 in +psi/zbfont.c:49:44: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:49:44 in +psi/isave.c:591:37: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/isave.c:591:37 in +psi/igc.c:1150:9: runtime error: member access within null pointer of type 'clump_head_t' (aka 'struct clump_head_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:1150:9 in +psi/igc.c:430:5: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:430:5 in +psi/igc.c:451:5: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:451:5 in +psi/zbfont.c:55:33: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:55:33 in +psi/igc.c:478:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:478:9 in +psi/igc.c:495:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:495:9 in +base/sfxstdio.c:73:48: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:73:48 in +base/sfxstdio.c:167:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:167:25 in +psi/zmedia2.c:56:34: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zmedia2.c:56:34 in +psi/zmedia2.c:240:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zmedia2.c:240:36 in +base/gsdparam.c:2476:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:2476:36 in +base/gsdparam.c:2476:68: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:2476:68 in +psi/zarith.c:460:41: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zarith.c:460:41 in +pdf/pdf_font1C.c:2198:5: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_font1C.c:2198:5 in +pdf/pdf_font1C.c:2125:5: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_font1C.c:2125:5 in +pdf/pdf_font1C.c:2784:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_font1C.c:2784:17 in +base/gstype2.c:188:17: runtime error: left shift of negative value -5 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gstype2.c:188:17 in +================================================================= +==1==ERROR: AddressSanitizer: stack-buffer-underflow on address 0x7fa015039a1c at pc 0x0000019235c4 bp 0x7fff0f3eddd0 sp 0x7fff0f3eddc8 +READ of size 4 at 0x7fa015039a1c thread T0 + #0 0x19235c3 in gs_type2_interpret /src/ghostpdl/./base/gstype2.c:758:34 + #1 0x18c9a86 in gs_type1_glyph_info /src/ghostpdl/./base/gxtype1.c:664:16 + #2 0x14d9f98 in pdfi_cff_glyph_info /src/ghostpdl/./pdf/pdf_font1C.c:397:16 + #3 0xc285ca in gs_default_font_info /src/ghostpdl/./base/gsfont.c:907:20 + #4 0xa7721c in gs_copy_font /src/ghostpdl/./devices/gxfcopy.c:2091:12 + #5 0x19eb47d in pdf_base_font_alloc /src/ghostpdl/./devices/vector/gdevpdtb.c:293:12 + #6 0xa1afb3 in pdf_font_descriptor_alloc /src/ghostpdl/./devices/vector/gdevpdtd.c:202:16 + #7 0xa4e34d in pdf_make_font_resource /src/ghostpdl/./devices/vector/gdevpdtt.c:1607:17 + #8 0xa53648 in pdf_obtain_font_resource_encoded /src/ghostpdl/./devices/vector/gdevpdtt.c:2141:24 + #9 0xa52189 in pdf_obtain_font_resource /src/ghostpdl/./devices/vector/gdevpdtt.c:2247:12 + #10 0x19fd3ed in pdf_process_string /src/ghostpdl/./devices/vector/gdevpdte.c:837:12 + #11 0x19fd013 in pdf_process_string_aux /src/ghostpdl/./devices/vector/gdevpdte.c:81:12 + #12 0x1a0ff26 in process_plain_text /src/ghostpdl/./devices/vector/gdevpdte.c:1841:16 + #13 0xa660ea in pdf_text_process /src/ghostpdl/./devices/vector/gdevpdtt.c:3752:16 + #14 0xcb091a in gs_text_process /src/ghostpdl/./base/gstext.c:670:12 + #15 0x153de59 in pdfi_show_simple /src/ghostpdl/./pdf/pdf_text.c:447:16 + #16 0x1534add in pdfi_show_Tr_preserve /src/ghostpdl/./pdf/pdf_text.c:791:16 + #17 0x1534add in pdfi_show /src/ghostpdl/./pdf/pdf_text.c:842:16 + #18 0x1536db2 in pdfi_Tj /src/ghostpdl/./pdf/pdf_text.c:1081:12 + #19 0x13f880b in pdfi_interpret_stream_operator /src/ghostpdl/./pdf/pdf_int.c:1646:24 + #20 0x13f6c91 in pdfi_interpret_content_stream /src/ghostpdl/./pdf/pdf_int.c:2126:24 + #21 0x1469e7e in pdfi_process_page_contents /src/ghostpdl/./pdf/pdf_page.c:127:20 + #22 0x1469e7e in pdfi_process_one_page /src/ghostpdl/./pdf/pdf_page.c:152:12 + #23 0x1469e7e in pdfi_page_render /src/ghostpdl/./pdf/pdf_page.c:953:12 + #24 0x13a629d in zPDFdrawpage /src/ghostpdl/./psi/zpdfops.c:1157:24 + #25 0x11b91a9 in interp /src/ghostpdl/./psi/interp.c:1725:40 + #26 0x11b2256 in gs_call_interp /src/ghostpdl/./psi/interp.c:522:12 + #27 0x11b19f7 in gs_interpret /src/ghostpdl/./psi/interp.c:479:12 + #28 0x51e8a6 in gs_main_interpret /src/ghostpdl/./psi/imain.c:257:12 + #29 0x51ebee in gs_main_run_string_end /src/ghostpdl/./psi/imain.c:945:12 + #30 0x51ebee in __covrec_354B81557B0956Cu /src/ghostpdl/./psi/imain.c:889:12 + #31 0x519dfb in __covrec_218C571E84FB63F4 /src/ghostpdl/./psi/imain.c:870:12 + #32 0x15a94e6 in run_string /src/ghostpdl/./psi/imainarg.c:1169:12 + #33 0x15a4c81 in swproc /src/ghostpdl/./psi/imainarg.c:367:20 + #34 0x15a0e05 in gs_main_init_with_args01 /src/ghostpdl/./psi/imainarg.c:224:24 + #35 0x15a9251 in gs_main_init_with_args /src/ghostpdl/./psi/imainarg.c:289:16 + #36 0x119b038 in psapi_init_with_args /src/ghostpdl/./psi/psapi.c:281:12 + #37 0x51580c in gsapi_init_with_args /src/ghostpdl/./psi/iapi.c:253:12 + #38 0x4e5aa2 in __covrec_673F6603978DF04Bu /src/gs_fuzzlib.h:130:8 + #39 0x4e5e7b in LLVMFuzzerTestOneInput /src/gs_device_pdfwrite_fuzzer.cc:26:2 + #40 0x4f432c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #41 0x4e6285 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #42 0x4eaf31 in __covrec_6990238F142DEEC4u /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #43 0x4e5f52 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #44 0x7fa0175cd082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #45 0x426d0d in _start (/out/gs_device_pdfwrite_fuzzer+0x426d0d) + +Address 0x7fa015039a1c is located in stack of thread T0 at offset 28 in frame + #0 0x191b28f in gs_type2_interpret /src/ghostpdl/./base/gstype2.c:124 + + This frame has 4 object(s): + [32, 224) 'cstack' (line 129) <== Memory access at offset 28 underflows this variable + [288, 300) 'mask' (line 459) + [320, 336) 'join' (line 851) + [352, 368) 'end' (line 851) +HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork + (longjmp and C++ exceptions *are* supported) +SUMMARY: AddressSanitizer: stack-buffer-underflow /src/ghostpdl/./base/gstype2.c:758:34 in gs_type2_interpret +Shadow bytes around the buggy address: + 0x0ff4829ff2f0: f8 f8 f8 f8 f8 f8 f8 f3 f3 f3 f3 f3 00 00 00 00 + 0x0ff4829ff300: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 + 0x0ff4829ff310: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 + 0x0ff4829ff320: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 + 0x0ff4829ff330: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 +=>0x0ff4829ff340: f1 f1 f1[f1]00 00 00 00 00 00 00 00 00 00 00 00 + 0x0ff4829ff350: 00 00 00 00 00 00 00 00 00 00 00 00 f2 f2 f2 f2 + 0x0ff4829ff360: f2 f2 f2 f2 f8 f8 f2 f2 f8 f8 f2 f2 f8 f8 f3 f3 + 0x0ff4829ff370: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0ff4829ff380: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0ff4829ff390: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-1097.txt b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-1097.txt new file mode 100644 index 000000000..ab71da6ce --- /dev/null +++ b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-1097.txt @@ -0,0 +1,280 @@ +INFO: Seed: 2732041956 +/out/gs_device_pdfwrite_fuzzer: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +base/gsiorom.c:94:14: runtime error: left shift of 128 by 24 places cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:94:14 in +psi/imainarg.c:684:43: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/imainarg.c:684:43 in +base/gxpath.c:114:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:114:23 in +base/gxpath.c:115:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:115:23 in +base/gxpath.c:116:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:116:23 in +base/gxpath.c:117:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:117:23 in +base/gxcpath.c:530:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:530:29 in +base/gxcpath.c:531:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:531:29 in +base/gxcpath.c:532:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:532:29 in +base/gxcpath.c:533:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:533:29 in +base/gspath.c:604:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:604:17 in +base/gspath.c:605:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:605:17 in +base/gspath.c:606:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:606:17 in +base/gspath.c:607:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:607:17 in +base/gxpcmap.c:839:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpcmap.c:839:9 in +base/gxccman.c:139:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxccman.c:139:9 in +base/gsiorom.c:122:21: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:122:21 in +base/gsiorom.c:201:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:201:25 in +psi/iscannum.c:103:58: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:103:58 in +psi/iscannum.c:103:73: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:103:73 in +psi/iscannum.c:104:58: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:104:58 in +psi/iscannum.c:104:73: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:104:73 in +psi/interp.c:1123:13: runtime error: member access within null pointer of type 'ref' (aka 'struct ref_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1123:13 in +psi/interp.c:1123:13: runtime error: member access within null pointer of type 'struct tas_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1123:13 in +psi/interp.c:1401:21: runtime error: member access within null pointer of type 'ref' (aka 'struct ref_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1401:21 in +psi/interp.c:1401:21: runtime error: member access within null pointer of type 'struct tas_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1401:21 in +psi/ziodevsc.c:153:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:153:25 in +psi/ziodevsc.c:230:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:230:25 in +psi/ziodevsc.c:301:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:301:25 in +psi/iscannum.c:278:13: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:278:13 in +psi/zarith.c:415:64: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zarith.c:415:64 in +psi/zusparam.c:440:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:440:11 in +psi/zusparam.c:440:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:440:11 in +base/gsalloc.c:1068:20: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsalloc.c:1068:20 in +psi/zusparam.c:202:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:202:11 in +psi/zusparam.c:202:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:202:11 in +psi/idparam.c:378:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/idparam.c:378:9 in +base/gsicc_manage.c:2166:23: runtime error: member access within null pointer of type 'cmm_profile_t' (aka 'struct cmm_profile_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_manage.c:2166:23 in +base/gsicc_cache.c:465:41: runtime error: left shift of 229 by 56 places cannot be represented in type 'int64_t' (aka 'long') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_cache.c:465:41 in +base/sfxstdio.c:199:21: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:199:21 in +devices/vector/gdevpdf.c:879:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdf.c:879:36 in +base/gsicc_cache.c:464:39: runtime error: left shift of 184 by 56 places cannot be represented in type 'int64_t' (aka 'long') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_cache.c:464:39 in +base/gshtscr.c:353:48: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:353:48 in +base/gshtscr.c:387:27: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:387:27 in +base/gshtscr.c:392:57: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:392:57 in +base/gsht.c:1051:26: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsht.c:1051:26 in +base/gsht.c:1052:27: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsht.c:1052:27 in +base/sjpege.c:37:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:37:9 in +base/sjpege.c:37:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:37:9 in +base/sjpege.c:52:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:52:9 in +base/sjpege.c:52:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:52:9 in +base/sjpege.c:72:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:72:9 in +base/sjpege.c:72:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:72:9 in +base/sjpegc.c:143:28: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpegc.c:143:28 in +base/sjpegc.c:143:28: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpegc.c:143:28 in +psi/ireclaim.c:110:36: runtime error: member access within null pointer of type 'i_ctx_t' (aka 'struct gs_context_state_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ireclaim.c:110:36 in +psi/igc.c:268:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:268:9 in +psi/zbfont.c:44:40: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:44:40 in +psi/igc.c:306:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:306:9 in +psi/zbfont.c:49:44: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:49:44 in +psi/isave.c:591:37: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/isave.c:591:37 in +psi/igc.c:1150:9: runtime error: member access within null pointer of type 'clump_head_t' (aka 'struct clump_head_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:1150:9 in +psi/igc.c:430:5: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:430:5 in +psi/igc.c:451:5: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:451:5 in +psi/zbfont.c:55:33: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:55:33 in +psi/igc.c:478:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:478:9 in +psi/igc.c:495:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:495:9 in +base/sfxstdio.c:73:48: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:73:48 in +base/sfxstdio.c:167:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:167:25 in +psi/zmedia2.c:56:34: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zmedia2.c:56:34 in +psi/zmedia2.c:240:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zmedia2.c:240:36 in +base/gsdparam.c:2476:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:2476:36 in +base/gsdparam.c:2476:68: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:2476:68 in +base/gxpath.c:978:12: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:978:12 in +pdf/pdf_font1C.c:2198:5: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_font1C.c:2198:5 in +pdf/pdf_font1C.c:2125:5: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_font1C.c:2125:5 in +pdf/pdf_font1C.c:2784:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_font1C.c:2784:17 in +base/gxpflat.c:272:22: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:272:22 in +base/gstype2.c:188:17: runtime error: left shift of negative value -83 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gstype2.c:188:17 in +base/gsfont.c:924:31: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsfont.c:924:31 in +base/gxtype1.c:407:17: runtime error: left shift of negative value -83 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:407:17 in +base/gxtype1.c:409:17: runtime error: left shift of negative value -500 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:409:17 in +base/gxtype1.c:430:26: runtime error: left shift of negative value -8969 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:430:26 in +base/gxtype1.c:415:26: runtime error: left shift of 2022354288 by 8 places cannot be represented in type 'fixed' (aka 'int') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:415:26 in +devices/vector/gdevpdtd.c:216:27: runtime error: member access within null pointer of type 'pdf_font_descriptor_t' (aka 'struct pdf_font_descriptor_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:216:27 in +devices/vector/gdevpdtd.c:216:27: runtime error: member access within null pointer of type 'pdf_font_descriptor_common_t' (aka 'struct pdf_font_descriptor_common_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:216:27 in +base/gstype2.c:190:17: runtime error: left shift of negative value -371 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gstype2.c:190:17 in +base/gscoord.c:607:32: runtime error: shift exponent 42 is too large for 32-bit type 'fixed' (aka 'int') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gscoord.c:607:32 in +================================================================= +==1==ERROR: AddressSanitizer: stack-use-after-return on address 0x7fdb2d1549d4 at pc 0x000001923c05 bp 0x7ffd8f6fd4b0 sp 0x7ffd8f6fd4a8 +READ of size 4 at 0x7fdb2d1549d4 thread T0 + #0 0x1923c04 in gs_type2_interpret /src/ghostpdl/./base/gstype2.c:774:30 + #1 0x14d6e92 in pdfi_cff_glyph_outline /src/ghostpdl/./pdf/pdf_font1C.c:377:16 + #2 0xc29498 in gs_default_glyph_info /src/ghostpdl/./base/gsfont.c:1061:12 + #3 0x14d9f9f in pdfi_cff_glyph_info /src/ghostpdl/./pdf/pdf_font1C.c:399:12 + #4 0xa7eeeb in compare_glyphs /src/ghostpdl/./devices/gxfcopy.c:811:17 + #5 0xa7c87c in gs_copied_can_copy_glyphs /src/ghostpdl/./devices/gxfcopy.c:2620:12 + #6 0xa5324e in pdf_obtain_font_resource_encoded /src/ghostpdl/./devices/vector/gdevpdtt.c:2090:20 + #7 0xa52189 in pdf_obtain_font_resource /src/ghostpdl/./devices/vector/gdevpdtt.c:2247:12 + #8 0x19fd3ed in pdf_process_string /src/ghostpdl/./devices/vector/gdevpdte.c:837:12 + #9 0x19fd013 in pdf_process_string_aux /src/ghostpdl/./devices/vector/gdevpdte.c:81:12 + #10 0x1a0ff26 in process_plain_text /src/ghostpdl/./devices/vector/gdevpdte.c:1841:16 + #11 0xa660ea in pdf_text_process /src/ghostpdl/./devices/vector/gdevpdtt.c:3752:16 + #12 0xcb091a in gs_text_process /src/ghostpdl/./base/gstext.c:670:12 + #13 0x153de59 in pdfi_show_simple /src/ghostpdl/./pdf/pdf_text.c:447:16 + #14 0x1534add in pdfi_show_Tr_preserve /src/ghostpdl/./pdf/pdf_text.c:791:16 + #15 0x1534add in pdfi_show /src/ghostpdl/./pdf/pdf_text.c:842:16 + #16 0x1536db2 in pdfi_Tj /src/ghostpdl/./pdf/pdf_text.c:1081:12 + #17 0x13f880b in pdfi_interpret_stream_operator /src/ghostpdl/./pdf/pdf_int.c:1646:24 + #18 0x13f6c91 in pdfi_interpret_content_stream /src/ghostpdl/./pdf/pdf_int.c:2126:24 + #19 0x13f6168 in pdfi_interpret_inner_content /src/ghostpdl/./pdf/pdf_int.c:1910:12 + #20 0x13f4c4c in pdfi_interpret_inner_content_stream /src/ghostpdl/./pdf/pdf_int.c:2009:12 + #21 0x13f4c4c in pdfi_run_context /src/ghostpdl/./pdf/pdf_int.c:1846:12 + #22 0x1455294 in pdfi_do_form /src/ghostpdl/./pdf/pdf_image.c:2470:16 + #23 0x14562ae in pdfi_do_image_or_form /src/ghostpdl/./pdf/pdf_image.c:2561:16 + #24 0x1480233 in pdfi_annot_draw_AP /src/ghostpdl/./pdf/pdf_annot.c:285:12 + #25 0x148caa2 in pdfi_annot_draw /src/ghostpdl/./pdf/pdf_annot.c:3922:16 + #26 0x147b94c in pdfi_annot_preserve_Widget /src/ghostpdl/./pdf/pdf_annot.c:4389:12 + #27 0x147c01a in pdfi_annot_preserve /src/ghostpdl/./pdf/pdf_annot.c:4432:20 + #28 0x147c01a in pdfi_annot_handle /src/ghostpdl/./pdf/pdf_annot.c:4459:16 + #29 0x147c01a in pdfi_do_annotations /src/ghostpdl/./pdf/pdf_annot.c:4486:16 + #30 0x146a051 in pdfi_process_one_page /src/ghostpdl/./pdf/pdf_page.c:166:13 + #31 0x146a051 in pdfi_page_render /src/ghostpdl/./pdf/pdf_page.c:953:12 + #32 0x13a629d in zPDFdrawpage /src/ghostpdl/./psi/zpdfops.c:1157:24 + #33 0x11b91a9 in interp /src/ghostpdl/./psi/interp.c:1725:40 + #34 0x11b2256 in gs_call_interp /src/ghostpdl/./psi/interp.c:522:12 + #35 0x11b19f7 in gs_interpret /src/ghostpdl/./psi/interp.c:479:12 + #36 0x51e8a6 in gs_main_interpret /src/ghostpdl/./psi/imain.c:257:12 + #37 0x51ebee in gs_main_run_string_end /src/ghostpdl/./psi/imain.c:945:12 + #38 0x51ebee in __covrec_354B81557B0956Cu /src/ghostpdl/./psi/imain.c:889:12 + #39 0x519dfb in __covrec_218C571E84FB63F4 /src/ghostpdl/./psi/imain.c:870:12 + #40 0x15a94e6 in run_string /src/ghostpdl/./psi/imainarg.c:1169:12 + #41 0x15a4c81 in swproc /src/ghostpdl/./psi/imainarg.c:367:20 + #42 0x15a0e05 in gs_main_init_with_args01 /src/ghostpdl/./psi/imainarg.c:224:24 + #43 0x15a9251 in gs_main_init_with_args /src/ghostpdl/./psi/imainarg.c:289:16 + #44 0x119b038 in psapi_init_with_args /src/ghostpdl/./psi/psapi.c:281:12 + #45 0x51580c in gsapi_init_with_args /src/ghostpdl/./psi/iapi.c:253:12 + #46 0x4e5aa2 in __covrec_673F6603978DF04Bu /src/gs_fuzzlib.h:130:8 + #47 0x4e5e7b in LLVMFuzzerTestOneInput /src/gs_device_pdfwrite_fuzzer.cc:26:2 + #48 0x4f432c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #49 0x4e6285 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #50 0x4eaf31 in __covrec_6990238F142DEEC4u /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #51 0x4e5f52 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #52 0x7fdb2f683082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #53 0x426d0d in _start (/out/gs_device_pdfwrite_fuzzer+0x426d0d) + +Address 0x7fdb2d1549d4 is located in stack of thread T0 at offset 468 in frame + #0 0x191b28f in gs_type2_interpret /src/ghostpdl/./base/gstype2.c:124 + + This frame has 4 object(s): + [32, 224) 'cstack' (line 129) + [288, 300) 'mask' (line 459) + [320, 336) 'join' (line 851) + [352, 368) 'end' (line 851) <== Memory access at offset 468 overflows this variable +HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork + (longjmp and C++ exceptions *are* supported) +SUMMARY: AddressSanitizer: stack-use-after-return /src/ghostpdl/./base/gstype2.c:774:30 in gs_type2_interpret +Shadow bytes around the buggy address: + 0x0ffbe5a228e0: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 + 0x0ffbe5a228f0: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 + 0x0ffbe5a22900: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 + 0x0ffbe5a22910: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 + 0x0ffbe5a22920: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 +=>0x0ffbe5a22930: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5[f5]f5 f5 f5 f5 f5 + 0x0ffbe5a22940: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 + 0x0ffbe5a22950: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 + 0x0ffbe5a22960: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 + 0x0ffbe5a22970: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 + 0x0ffbe5a22980: f1 f1 f1 f1 00 00 00 00 00 00 00 00 00 00 00 00 +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-1148.txt b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-1148.txt new file mode 100644 index 000000000..cdfd7259e --- /dev/null +++ b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-1148.txt @@ -0,0 +1,258 @@ +INFO: Seed: 2734949961 +/out/gs_device_pdfwrite_fuzzer: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +base/gsiorom.c:94:14: runtime error: left shift of 128 by 24 places cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:94:14 in +psi/imainarg.c:684:43: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/imainarg.c:684:43 in +base/gxpath.c:114:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:114:23 in +base/gxpath.c:115:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:115:23 in +base/gxpath.c:116:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:116:23 in +base/gxpath.c:117:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:117:23 in +base/gxcpath.c:530:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:530:29 in +base/gxcpath.c:531:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:531:29 in +base/gxcpath.c:532:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:532:29 in +base/gxcpath.c:533:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:533:29 in +base/gspath.c:604:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:604:17 in +base/gspath.c:605:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:605:17 in +base/gspath.c:606:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:606:17 in +base/gspath.c:607:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:607:17 in +base/gxpcmap.c:839:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpcmap.c:839:9 in +base/gxccman.c:139:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxccman.c:139:9 in +base/gsiorom.c:122:21: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:122:21 in +base/gsiorom.c:201:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:201:25 in +psi/iscannum.c:103:58: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:103:58 in +psi/iscannum.c:103:73: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:103:73 in +psi/iscannum.c:104:58: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:104:58 in +psi/iscannum.c:104:73: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:104:73 in +psi/interp.c:1123:13: runtime error: member access within null pointer of type 'ref' (aka 'struct ref_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1123:13 in +psi/interp.c:1123:13: runtime error: member access within null pointer of type 'struct tas_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1123:13 in +psi/interp.c:1401:21: runtime error: member access within null pointer of type 'ref' (aka 'struct ref_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1401:21 in +psi/interp.c:1401:21: runtime error: member access within null pointer of type 'struct tas_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1401:21 in +psi/ziodevsc.c:153:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:153:25 in +psi/ziodevsc.c:230:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:230:25 in +psi/ziodevsc.c:301:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:301:25 in +psi/iscannum.c:278:13: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:278:13 in +psi/zarith.c:415:64: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zarith.c:415:64 in +psi/zusparam.c:440:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:440:11 in +psi/zusparam.c:440:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:440:11 in +base/gsalloc.c:1068:20: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsalloc.c:1068:20 in +psi/zusparam.c:202:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:202:11 in +psi/zusparam.c:202:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:202:11 in +psi/idparam.c:378:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/idparam.c:378:9 in +base/gsicc_manage.c:2166:23: runtime error: member access within null pointer of type 'cmm_profile_t' (aka 'struct cmm_profile_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_manage.c:2166:23 in +base/gsicc_cache.c:465:41: runtime error: left shift of 229 by 56 places cannot be represented in type 'int64_t' (aka 'long') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_cache.c:465:41 in +base/sfxstdio.c:199:21: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:199:21 in +devices/vector/gdevpdf.c:879:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdf.c:879:36 in +base/gsicc_cache.c:464:39: runtime error: left shift of 184 by 56 places cannot be represented in type 'int64_t' (aka 'long') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_cache.c:464:39 in +base/gshtscr.c:353:48: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:353:48 in +base/gshtscr.c:387:27: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:387:27 in +base/gshtscr.c:392:57: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:392:57 in +base/gsht.c:1051:26: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsht.c:1051:26 in +base/gsht.c:1052:27: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsht.c:1052:27 in +base/sjpege.c:37:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:37:9 in +base/sjpege.c:37:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:37:9 in +base/sjpege.c:52:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:52:9 in +base/sjpege.c:52:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:52:9 in +base/sjpege.c:72:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:72:9 in +base/sjpege.c:72:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:72:9 in +base/sjpegc.c:143:28: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpegc.c:143:28 in +base/sjpegc.c:143:28: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpegc.c:143:28 in +psi/ireclaim.c:110:36: runtime error: member access within null pointer of type 'i_ctx_t' (aka 'struct gs_context_state_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ireclaim.c:110:36 in +psi/igc.c:268:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:268:9 in +psi/zbfont.c:44:40: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:44:40 in +psi/igc.c:306:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:306:9 in +psi/zbfont.c:49:44: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:49:44 in +psi/isave.c:591:37: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/isave.c:591:37 in +psi/igc.c:1150:9: runtime error: member access within null pointer of type 'clump_head_t' (aka 'struct clump_head_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:1150:9 in +psi/igc.c:430:5: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:430:5 in +psi/igc.c:451:5: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:451:5 in +psi/zbfont.c:55:33: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:55:33 in +psi/igc.c:478:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:478:9 in +psi/igc.c:495:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:495:9 in +base/sfxstdio.c:73:48: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:73:48 in +base/sfxstdio.c:167:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:167:25 in +psi/zmedia2.c:56:34: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zmedia2.c:56:34 in +psi/zmedia2.c:240:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zmedia2.c:240:36 in +base/gsdparam.c:2476:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:2476:36 in +base/gsdparam.c:2476:68: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:2476:68 in +psi/zarith.c:460:41: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zarith.c:460:41 in +pdf/pdf_font1C.c:2198:5: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_font1C.c:2198:5 in +pdf/pdf_font1C.c:2125:5: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_font1C.c:2125:5 in +pdf/pdf_font1C.c:2784:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_font1C.c:2784:17 in +base/gsfont.c:924:31: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsfont.c:924:31 in +base/gxtype1.c:407:17: runtime error: left shift of negative value -105 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:407:17 in +base/gxtype1.c:409:17: runtime error: left shift of negative value -518 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:409:17 in +devices/vector/gdevpdtd.c:216:27: runtime error: member access within null pointer of type 'pdf_font_descriptor_t' (aka 'struct pdf_font_descriptor_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:216:27 in +devices/vector/gdevpdtd.c:216:27: runtime error: member access within null pointer of type 'pdf_font_descriptor_common_t' (aka 'struct pdf_font_descriptor_common_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:216:27 in +base/gstype2.c:188:17: runtime error: left shift of negative value -27 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gstype2.c:188:17 in +base/gstype2.c:190:17: runtime error: left shift of negative value -108 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gstype2.c:190:17 in +================================================================= +==1==ERROR: AddressSanitizer: stack-buffer-underflow on address 0x7f3c83d3e214 at pc 0x000001923987 bp 0x7ffe7d13c830 sp 0x7ffe7d13c828 +READ of size 4 at 0x7f3c83d3e214 thread T0 + #0 0x1923986 in gs_type2_interpret /src/ghostpdl/./base/gstype2.c:825:36 + #1 0x18c9a86 in gs_type1_glyph_info /src/ghostpdl/./base/gxtype1.c:664:16 + #2 0x14d9f98 in pdfi_cff_glyph_info /src/ghostpdl/./pdf/pdf_font1C.c:397:16 + #3 0x19fdd51 in process_text_estimate_bbox /src/ghostpdl/./devices/vector/gdevpdte.c:689:16 + #4 0x19fdd51 in pdf_process_string /src/ghostpdl/./devices/vector/gdevpdte.c:856:16 + #5 0x19fd013 in pdf_process_string_aux /src/ghostpdl/./devices/vector/gdevpdte.c:81:12 + #6 0x1a0ff26 in process_plain_text /src/ghostpdl/./devices/vector/gdevpdte.c:1841:16 + #7 0xa660ea in pdf_text_process /src/ghostpdl/./devices/vector/gdevpdtt.c:3752:16 + #8 0xcb091a in gs_text_process /src/ghostpdl/./base/gstext.c:670:12 + #9 0x153de59 in pdfi_show_simple /src/ghostpdl/./pdf/pdf_text.c:447:16 + #10 0x1534add in pdfi_show_Tr_preserve /src/ghostpdl/./pdf/pdf_text.c:791:16 + #11 0x1534add in pdfi_show /src/ghostpdl/./pdf/pdf_text.c:842:16 + #12 0x1538d0b in pdfi_TJ /src/ghostpdl/./pdf/pdf_text.c:1202:20 + #13 0x13f856f in pdfi_interpret_stream_operator /src/ghostpdl/./pdf/pdf_int.c:1650:24 + #14 0x13f6c91 in pdfi_interpret_content_stream /src/ghostpdl/./pdf/pdf_int.c:2126:24 + #15 0x1469813 in pdfi_process_page_contents /src/ghostpdl/./pdf/pdf_page.c:116:28 + #16 0x1469813 in pdfi_process_one_page /src/ghostpdl/./pdf/pdf_page.c:152:12 + #17 0x1469813 in pdfi_page_render /src/ghostpdl/./pdf/pdf_page.c:953:12 + #18 0x13a629d in zPDFdrawpage /src/ghostpdl/./psi/zpdfops.c:1157:24 + #19 0x11b91a9 in interp /src/ghostpdl/./psi/interp.c:1725:40 + #20 0x11b2256 in gs_call_interp /src/ghostpdl/./psi/interp.c:522:12 + #21 0x11b19f7 in gs_interpret /src/ghostpdl/./psi/interp.c:479:12 + #22 0x51e8a6 in gs_main_interpret /src/ghostpdl/./psi/imain.c:257:12 + #23 0x51ebee in gs_main_run_string_end /src/ghostpdl/./psi/imain.c:945:12 + #24 0x51ebee in __covrec_354B81557B0956Cu /src/ghostpdl/./psi/imain.c:889:12 + #25 0x519dfb in __covrec_218C571E84FB63F4 /src/ghostpdl/./psi/imain.c:870:12 + #26 0x15a94e6 in run_string /src/ghostpdl/./psi/imainarg.c:1169:12 + #27 0x15a4c81 in swproc /src/ghostpdl/./psi/imainarg.c:367:20 + #28 0x15a0e05 in gs_main_init_with_args01 /src/ghostpdl/./psi/imainarg.c:224:24 + #29 0x15a9251 in gs_main_init_with_args /src/ghostpdl/./psi/imainarg.c:289:16 + #30 0x119b038 in psapi_init_with_args /src/ghostpdl/./psi/psapi.c:281:12 + #31 0x51580c in gsapi_init_with_args /src/ghostpdl/./psi/iapi.c:253:12 + #32 0x4e5aa2 in __covrec_673F6603978DF04Bu /src/gs_fuzzlib.h:130:8 + #33 0x4e5e7b in LLVMFuzzerTestOneInput /src/gs_device_pdfwrite_fuzzer.cc:26:2 + #34 0x4f432c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #35 0x4e6285 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #36 0x4eaf31 in __covrec_6990238F142DEEC4u /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #37 0x4e5f52 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #38 0x7f3c862cb082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #39 0x426d0d in _start (/out/gs_device_pdfwrite_fuzzer+0x426d0d) + +Address 0x7f3c83d3e214 is located in stack of thread T0 at offset 20 in frame + #0 0x191b28f in gs_type2_interpret /src/ghostpdl/./base/gstype2.c:124 + + This frame has 4 object(s): + [32, 224) 'cstack' (line 129) <== Memory access at offset 20 underflows this variable + [288, 300) 'mask' (line 459) + [320, 336) 'join' (line 851) + [352, 368) 'end' (line 851) +HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork + (longjmp and C++ exceptions *are* supported) +SUMMARY: AddressSanitizer: stack-buffer-underflow /src/ghostpdl/./base/gstype2.c:825:36 in gs_type2_interpret +Shadow bytes around the buggy address: + 0x0fe81079fbf0: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 + 0x0fe81079fc00: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 + 0x0fe81079fc10: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 + 0x0fe81079fc20: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 + 0x0fe81079fc30: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 +=>0x0fe81079fc40: f1 f1[f1]f1 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0fe81079fc50: 00 00 00 00 00 00 00 00 00 00 00 00 f2 f2 f2 f2 + 0x0fe81079fc60: f2 f2 f2 f2 f8 f8 f2 f2 f8 f8 f2 f2 f8 f8 f3 f3 + 0x0fe81079fc70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0fe81079fc80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0fe81079fc90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-1194.txt b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-1194.txt new file mode 100644 index 000000000..28e686559 --- /dev/null +++ b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-1194.txt @@ -0,0 +1,233 @@ +INFO: Seed: 2834763225 +/out/gs_device_pdfwrite_fuzzer: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +base/gsiorom.c:94:14: runtime error: left shift of 128 by 24 places cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:94:14 in +psi/imainarg.c:684:43: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/imainarg.c:684:43 in +base/gxpath.c:114:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:114:23 in +base/gxpath.c:115:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:115:23 in +base/gxpath.c:116:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:116:23 in +base/gxpath.c:117:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:117:23 in +base/gxcpath.c:530:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:530:29 in +base/gxcpath.c:531:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:531:29 in +base/gxcpath.c:532:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:532:29 in +base/gxcpath.c:533:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:533:29 in +base/gspath.c:604:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:604:17 in +base/gspath.c:605:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:605:17 in +base/gspath.c:606:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:606:17 in +base/gspath.c:607:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:607:17 in +base/gxpcmap.c:839:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpcmap.c:839:9 in +base/gxccman.c:139:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxccman.c:139:9 in +base/gsiorom.c:122:21: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:122:21 in +base/gsiorom.c:201:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:201:25 in +psi/iscannum.c:103:58: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:103:58 in +psi/iscannum.c:103:73: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:103:73 in +psi/iscannum.c:104:58: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:104:58 in +psi/iscannum.c:104:73: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:104:73 in +psi/interp.c:1123:13: runtime error: member access within null pointer of type 'ref' (aka 'struct ref_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1123:13 in +psi/interp.c:1123:13: runtime error: member access within null pointer of type 'struct tas_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1123:13 in +psi/interp.c:1401:21: runtime error: member access within null pointer of type 'ref' (aka 'struct ref_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1401:21 in +psi/interp.c:1401:21: runtime error: member access within null pointer of type 'struct tas_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1401:21 in +psi/ziodevsc.c:153:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:153:25 in +psi/ziodevsc.c:230:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:230:25 in +psi/ziodevsc.c:301:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:301:25 in +psi/iscannum.c:278:13: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:278:13 in +psi/zarith.c:415:64: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zarith.c:415:64 in +psi/zusparam.c:440:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:440:11 in +psi/zusparam.c:440:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:440:11 in +base/gsalloc.c:1068:20: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsalloc.c:1068:20 in +psi/zusparam.c:202:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:202:11 in +psi/zusparam.c:202:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:202:11 in +psi/idparam.c:378:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/idparam.c:378:9 in +base/gsicc_manage.c:2166:23: runtime error: member access within null pointer of type 'cmm_profile_t' (aka 'struct cmm_profile_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_manage.c:2166:23 in +base/gsicc_cache.c:465:41: runtime error: left shift of 229 by 56 places cannot be represented in type 'int64_t' (aka 'long') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_cache.c:465:41 in +base/sfxstdio.c:199:21: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:199:21 in +devices/vector/gdevpdf.c:879:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdf.c:879:36 in +base/gsicc_cache.c:464:39: runtime error: left shift of 184 by 56 places cannot be represented in type 'int64_t' (aka 'long') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_cache.c:464:39 in +base/gshtscr.c:353:48: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:353:48 in +base/gshtscr.c:387:27: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:387:27 in +base/gshtscr.c:392:57: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:392:57 in +base/gsht.c:1051:26: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsht.c:1051:26 in +base/gsht.c:1052:27: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsht.c:1052:27 in +base/sjpege.c:37:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:37:9 in +base/sjpege.c:37:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:37:9 in +base/sjpege.c:52:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:52:9 in +base/sjpege.c:52:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:52:9 in +base/sjpege.c:72:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:72:9 in +base/sjpege.c:72:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:72:9 in +base/sjpegc.c:143:28: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpegc.c:143:28 in +base/sjpegc.c:143:28: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpegc.c:143:28 in +psi/ireclaim.c:110:36: runtime error: member access within null pointer of type 'i_ctx_t' (aka 'struct gs_context_state_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ireclaim.c:110:36 in +psi/igc.c:268:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:268:9 in +psi/zbfont.c:44:40: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:44:40 in +psi/igc.c:306:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:306:9 in +psi/zbfont.c:49:44: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:49:44 in +psi/isave.c:591:37: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/isave.c:591:37 in +psi/igc.c:1150:9: runtime error: member access within null pointer of type 'clump_head_t' (aka 'struct clump_head_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:1150:9 in +psi/igc.c:430:5: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:430:5 in +psi/igc.c:451:5: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:451:5 in +psi/zbfont.c:55:33: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:55:33 in +psi/igc.c:478:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:478:9 in +psi/igc.c:495:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:495:9 in +base/sfxstdio.c:73:48: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:73:48 in +base/sfxstdio.c:167:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:167:25 in +psi/zmedia2.c:56:34: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zmedia2.c:56:34 in +psi/zmedia2.c:240:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zmedia2.c:240:36 in +base/gsdparam.c:2476:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:2476:36 in +base/gsdparam.c:2476:68: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:2476:68 in +psi/zarith.c:460:41: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zarith.c:460:41 in +devices/vector/gdevpdfu.c:696:16: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdfu.c:696:16 in +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6310000b0830 at pc 0x000000440e5e bp 0x7ffece8e4e60 sp 0x7ffece8e4628 +READ of size 49 at 0x6310000b0830 thread T0 + #0 0x440e5d in __interceptor_memcpy /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:827:5 + #1 0x717c7f in sputs /src/ghostpdl/./base/stream.c:604:17 + #2 0x16747ee in gx_serialize_Indexed /src/ghostpdl/./base/gscolor2.c:798:16 + #3 0x8f1903 in __covrec_F773BF9279406024u /src/ghostpdl/./devices/vector/gdevpdfc.c:877:16 + #4 0x941872 in __covrec_2EBE2FD00238E327u /src/ghostpdl/./devices/vector/gdevpdfi.c:1439:24 + #5 0x93d2aa in __covrec_C2FF02C14BB99ED7u /src/ghostpdl/./devices/vector/gdevpdfi.c:1711:12 + #6 0xc45d1e in gs_image_begin_typed /src/ghostpdl/./base/gsimage.c:268:12 + #7 0x145f5ea in pdfi_render_image /src/ghostpdl/./pdf/pdf_image.c:759:16 + #8 0x14527f1 in pdfi_do_image /src/ghostpdl/./pdf/pdf_image.c:2063:12 + #9 0x1456219 in pdfi_do_image_or_form /src/ghostpdl/./pdf/pdf_image.c:2553:16 + #10 0x1456de6 in pdfi_Do /src/ghostpdl/./pdf/pdf_image.c:2643:12 + #11 0x13f859d in pdfi_interpret_stream_operator /src/ghostpdl/./pdf/pdf_int.c:1475:24 + #12 0x13f6c91 in pdfi_interpret_content_stream /src/ghostpdl/./pdf/pdf_int.c:2126:24 + #13 0x1469e7e in pdfi_process_page_contents /src/ghostpdl/./pdf/pdf_page.c:127:20 + #14 0x1469e7e in pdfi_process_one_page /src/ghostpdl/./pdf/pdf_page.c:152:12 + #15 0x1469e7e in pdfi_page_render /src/ghostpdl/./pdf/pdf_page.c:953:12 + #16 0x13a629d in zPDFdrawpage /src/ghostpdl/./psi/zpdfops.c:1157:24 + #17 0x11b91a9 in interp /src/ghostpdl/./psi/interp.c:1725:40 + #18 0x11b2256 in gs_call_interp /src/ghostpdl/./psi/interp.c:522:12 + #19 0x11b19f7 in gs_interpret /src/ghostpdl/./psi/interp.c:479:12 + #20 0x51e8a6 in gs_main_interpret /src/ghostpdl/./psi/imain.c:257:12 + #21 0x51ebee in gs_main_run_string_end /src/ghostpdl/./psi/imain.c:945:12 + #22 0x51ebee in __covrec_354B81557B0956Cu /src/ghostpdl/./psi/imain.c:889:12 + #23 0x519dfb in __covrec_218C571E84FB63F4 /src/ghostpdl/./psi/imain.c:870:12 + #24 0x15a94e6 in run_string /src/ghostpdl/./psi/imainarg.c:1169:12 + #25 0x15a4c81 in swproc /src/ghostpdl/./psi/imainarg.c:367:20 + #26 0x15a0e05 in gs_main_init_with_args01 /src/ghostpdl/./psi/imainarg.c:224:24 + #27 0x15a9251 in gs_main_init_with_args /src/ghostpdl/./psi/imainarg.c:289:16 + #28 0x119b038 in psapi_init_with_args /src/ghostpdl/./psi/psapi.c:281:12 + #29 0x51580c in gsapi_init_with_args /src/ghostpdl/./psi/iapi.c:253:12 + #30 0x4e5aa2 in __covrec_673F6603978DF04Bu /src/gs_fuzzlib.h:130:8 + #31 0x4e5e7b in LLVMFuzzerTestOneInput /src/gs_device_pdfwrite_fuzzer.cc:26:2 + #32 0x4f432c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #33 0x4e6285 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #34 0x4eaf31 in __covrec_6990238F142DEEC4u /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #35 0x4e5f52 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #36 0x7f1c88819082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #37 0x426d0d in _start (/out/gs_device_pdfwrite_fuzzer+0x426d0d) + +0x6310000b0830 is located 0 bytes to the right of 65584-byte region [0x6310000a0800,0x6310000b0830) +allocated by thread T0 here: + #0 0x4a8146 in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0xc623d0 in gs_heap_alloc_bytes /src/ghostpdl/./base/gsmalloc.c:192:34 + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:827:5 in __interceptor_memcpy +Shadow bytes around the buggy address: + 0x0c628000e0b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c628000e0c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c628000e0d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c628000e0e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c628000e0f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +=>0x0c628000e100: 00 00 00 00 00 00[fa]fa fa fa fa fa fa fa fa fa + 0x0c628000e110: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c628000e120: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c628000e130: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c628000e140: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c628000e150: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-1208.txt b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-1208.txt new file mode 100644 index 000000000..f52bffb81 --- /dev/null +++ b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-1208.txt @@ -0,0 +1,265 @@ +INFO: Seed: 2837603443 +/out/gs_device_pdfwrite_fuzzer: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +base/gsiorom.c:94:14: runtime error: left shift of 128 by 24 places cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:94:14 in +psi/imainarg.c:684:43: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/imainarg.c:684:43 in +base/gxpath.c:114:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:114:23 in +base/gxpath.c:115:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:115:23 in +base/gxpath.c:116:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:116:23 in +base/gxpath.c:117:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:117:23 in +base/gxcpath.c:530:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:530:29 in +base/gxcpath.c:531:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:531:29 in +base/gxcpath.c:532:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:532:29 in +base/gxcpath.c:533:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:533:29 in +base/gspath.c:604:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:604:17 in +base/gspath.c:605:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:605:17 in +base/gspath.c:606:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:606:17 in +base/gspath.c:607:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:607:17 in +base/gxpcmap.c:839:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpcmap.c:839:9 in +base/gxccman.c:139:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxccman.c:139:9 in +base/gsiorom.c:122:21: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:122:21 in +base/gsiorom.c:201:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:201:25 in +psi/iscannum.c:103:58: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:103:58 in +psi/iscannum.c:103:73: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:103:73 in +psi/iscannum.c:104:58: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:104:58 in +psi/iscannum.c:104:73: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:104:73 in +psi/interp.c:1123:13: runtime error: member access within null pointer of type 'ref' (aka 'struct ref_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1123:13 in +psi/interp.c:1123:13: runtime error: member access within null pointer of type 'struct tas_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1123:13 in +psi/interp.c:1401:21: runtime error: member access within null pointer of type 'ref' (aka 'struct ref_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1401:21 in +psi/interp.c:1401:21: runtime error: member access within null pointer of type 'struct tas_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1401:21 in +psi/ziodevsc.c:153:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:153:25 in +psi/ziodevsc.c:230:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:230:25 in +psi/ziodevsc.c:301:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:301:25 in +psi/iscannum.c:278:13: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:278:13 in +psi/zarith.c:415:64: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zarith.c:415:64 in +psi/zusparam.c:440:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:440:11 in +psi/zusparam.c:440:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:440:11 in +base/gsalloc.c:1068:20: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsalloc.c:1068:20 in +psi/zusparam.c:202:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:202:11 in +psi/zusparam.c:202:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:202:11 in +psi/idparam.c:378:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/idparam.c:378:9 in +base/gsicc_manage.c:2166:23: runtime error: member access within null pointer of type 'cmm_profile_t' (aka 'struct cmm_profile_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_manage.c:2166:23 in +base/gsicc_cache.c:465:41: runtime error: left shift of 229 by 56 places cannot be represented in type 'int64_t' (aka 'long') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_cache.c:465:41 in +base/sfxstdio.c:199:21: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:199:21 in +devices/vector/gdevpdf.c:879:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdf.c:879:36 in +base/gsicc_cache.c:464:39: runtime error: left shift of 184 by 56 places cannot be represented in type 'int64_t' (aka 'long') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_cache.c:464:39 in +base/gshtscr.c:353:48: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:353:48 in +base/gshtscr.c:387:27: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:387:27 in +base/gshtscr.c:392:57: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:392:57 in +base/gsht.c:1051:26: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsht.c:1051:26 in +base/gsht.c:1052:27: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsht.c:1052:27 in +base/sjpege.c:37:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:37:9 in +base/sjpege.c:37:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:37:9 in +base/sjpege.c:52:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:52:9 in +base/sjpege.c:52:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:52:9 in +base/sjpege.c:72:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:72:9 in +base/sjpege.c:72:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:72:9 in +base/sjpegc.c:143:28: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpegc.c:143:28 in +base/sjpegc.c:143:28: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpegc.c:143:28 in +psi/ireclaim.c:110:36: runtime error: member access within null pointer of type 'i_ctx_t' (aka 'struct gs_context_state_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ireclaim.c:110:36 in +psi/igc.c:268:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:268:9 in +psi/zbfont.c:44:40: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:44:40 in +psi/igc.c:306:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:306:9 in +psi/zbfont.c:49:44: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:49:44 in +psi/isave.c:591:37: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/isave.c:591:37 in +psi/igc.c:1150:9: runtime error: member access within null pointer of type 'clump_head_t' (aka 'struct clump_head_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:1150:9 in +psi/igc.c:430:5: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:430:5 in +psi/igc.c:451:5: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:451:5 in +psi/zbfont.c:55:33: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:55:33 in +psi/igc.c:478:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:478:9 in +psi/igc.c:495:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:495:9 in +base/sfxstdio.c:73:48: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:73:48 in +base/sfxstdio.c:167:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:167:25 in +psi/zmedia2.c:56:34: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zmedia2.c:56:34 in +psi/zmedia2.c:240:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zmedia2.c:240:36 in +base/gsdparam.c:2476:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:2476:36 in +base/gsdparam.c:2476:68: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:2476:68 in +psi/zarith.c:460:41: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zarith.c:460:41 in +base/gsfcmap.c:299:5: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsfcmap.c:299:5 in +pdf/pdf_font1C.c:2198:5: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_font1C.c:2198:5 in +pdf/pdf_font1C.c:2125:5: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_font1C.c:2125:5 in +pdf/pdf_font1C.c:2041:5: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_font1C.c:2041:5 in +pdf/pdf_font1C.c:2660:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_font1C.c:2660:17 in +base/gscoord.c:607:32: runtime error: shift exponent 42 is too large for 32-bit type 'fixed' (aka 'int') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gscoord.c:607:32 in +base/gsfont.c:924:31: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsfont.c:924:31 in +devices/vector/gdevpdtd.c:216:27: runtime error: member access within null pointer of type 'pdf_font_descriptor_t' (aka 'struct pdf_font_descriptor_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:216:27 in +devices/vector/gdevpdtd.c:216:27: runtime error: member access within null pointer of type 'pdf_font_descriptor_common_t' (aka 'struct pdf_font_descriptor_common_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:216:27 in +devices/vector/gdevpdfu.c:696:16: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdfu.c:696:16 in +base/gstype2.c:188:17: runtime error: left shift of negative value -104 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gstype2.c:188:17 in +base/gstype2.c:190:17: runtime error: left shift of negative value -306 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gstype2.c:190:17 in +base/gxtype1.c:407:17: runtime error: left shift of negative value -87 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:407:17 in +base/gxtype1.c:409:17: runtime error: left shift of negative value -112 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:409:17 in +================================================================= +==1==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7f10ffbdb520 at pc 0x000000a92472 bp 0x7ffd5d9e6b50 sp 0x7ffd5d9e6b48 +READ of size 1 at 0x7f10ffbdb520 thread T0 + #0 0xa92471 in pput_hex /src/ghostpdl/./devices/vector/gdevpsfm.c:60:9 + #1 0xa91200 in cmap_put_ranges /src/ghostpdl/./devices/vector/gdevpsfm.c:74:9 + #2 0xa907f6 in psf_write_cmap /src/ghostpdl/./devices/vector/gdevpsfm.c:303:13 + #3 0xa74302 in pdf_write_cmap /src/ghostpdl/./devices/vector/gdevpdtw.c:816:12 + #4 0xa2f09c in pdf_cmap_alloc /src/ghostpdl/./devices/vector/gdevpdtf.c:1256:12 + #5 0x19fb3bd in attach_cmap_resource /src/ghostpdl/./devices/vector/gdevpdtc.c:310:20 + #6 0x19f7820 in scan_cmap_text /src/ghostpdl/./devices/vector/gdevpdtc.c:823:28 + #7 0x19f1c4b in process_cmap_text /src/ghostpdl/./devices/vector/gdevpdtc.c:965:12 + #8 0xa6619f in pdf_text_process /src/ghostpdl/./devices/vector/gdevpdtt.c:3758:16 + #9 0xcb091a in gs_text_process /src/ghostpdl/./base/gstext.c:670:12 + #10 0x153de59 in pdfi_show_simple /src/ghostpdl/./pdf/pdf_text.c:447:16 + #11 0x1534add in pdfi_show_Tr_preserve /src/ghostpdl/./pdf/pdf_text.c:791:16 + #12 0x1534add in pdfi_show /src/ghostpdl/./pdf/pdf_text.c:842:16 + #13 0x1536db2 in pdfi_Tj /src/ghostpdl/./pdf/pdf_text.c:1081:12 + #14 0x13f880b in pdfi_interpret_stream_operator /src/ghostpdl/./pdf/pdf_int.c:1646:24 + #15 0x13f6c91 in pdfi_interpret_content_stream /src/ghostpdl/./pdf/pdf_int.c:2126:24 + #16 0x1469e7e in pdfi_process_page_contents /src/ghostpdl/./pdf/pdf_page.c:127:20 + #17 0x1469e7e in pdfi_process_one_page /src/ghostpdl/./pdf/pdf_page.c:152:12 + #18 0x1469e7e in pdfi_page_render /src/ghostpdl/./pdf/pdf_page.c:953:12 + #19 0x13a629d in zPDFdrawpage /src/ghostpdl/./psi/zpdfops.c:1157:24 + #20 0x11b91a9 in interp /src/ghostpdl/./psi/interp.c:1725:40 + #21 0x11b2256 in gs_call_interp /src/ghostpdl/./psi/interp.c:522:12 + #22 0x11b19f7 in gs_interpret /src/ghostpdl/./psi/interp.c:479:12 + #23 0x51e8a6 in gs_main_interpret /src/ghostpdl/./psi/imain.c:257:12 + #24 0x51ebee in gs_main_run_string_end /src/ghostpdl/./psi/imain.c:945:12 + #25 0x51ebee in __covrec_354B81557B0956Cu /src/ghostpdl/./psi/imain.c:889:12 + #26 0x519dfb in __covrec_218C571E84FB63F4 /src/ghostpdl/./psi/imain.c:870:12 + #27 0x15a94e6 in run_string /src/ghostpdl/./psi/imainarg.c:1169:12 + #28 0x15a4c81 in swproc /src/ghostpdl/./psi/imainarg.c:367:20 + #29 0x15a0e05 in gs_main_init_with_args01 /src/ghostpdl/./psi/imainarg.c:224:24 + #30 0x15a9251 in gs_main_init_with_args /src/ghostpdl/./psi/imainarg.c:289:16 + #31 0x119b038 in psapi_init_with_args /src/ghostpdl/./psi/psapi.c:281:12 + #32 0x51580c in gsapi_init_with_args /src/ghostpdl/./psi/iapi.c:253:12 + #33 0x4e5aa2 in __covrec_673F6603978DF04Bu /src/gs_fuzzlib.h:130:8 + #34 0x4e5e7b in LLVMFuzzerTestOneInput /src/gs_device_pdfwrite_fuzzer.cc:26:2 + #35 0x4f432c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #36 0x4e6285 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #37 0x4eaf31 in __covrec_6990238F142DEEC4u /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #38 0x4e5f52 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #39 0x7f1101ed6082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #40 0x426d0d in _start (/out/gs_device_pdfwrite_fuzzer+0x426d0d) + +Address 0x7f10ffbdb520 is located in stack of thread T0 at offset 1312 in frame + #0 0xa9004f in psf_write_cmap /src/ghostpdl/./devices/vector/gdevpsfm.c:219 + + This frame has 2 object(s): + [32, 72) 'renum' (line 287) + [112, 1312) 'ranges' (line 289) <== Memory access at offset 1312 overflows this variable +HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork + (longjmp and C++ exceptions *are* supported) +SUMMARY: AddressSanitizer: stack-buffer-overflow /src/ghostpdl/./devices/vector/gdevpsfm.c:60:9 in pput_hex +Shadow bytes around the buggy address: + 0x0fe29ff73650: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0fe29ff73660: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0fe29ff73670: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0fe29ff73680: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0fe29ff73690: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +=>0x0fe29ff736a0: 00 00 00 00[f3]f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 f3 + 0x0fe29ff736b0: f3 f3 f3 f3 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0fe29ff736c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0fe29ff736d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0fe29ff736e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0fe29ff736f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-522.txt b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-522.txt new file mode 100644 index 000000000..d782152f2 --- /dev/null +++ b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-522.txt @@ -0,0 +1,335 @@ +INFO: Seed: 2699859615 +/out/gs_device_pdfwrite_fuzzer: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +base/gsiorom.c:94:14: runtime error: left shift of 128 by 24 places cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:94:14 in +psi/imainarg.c:684:43: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/imainarg.c:684:43 in +base/gxpath.c:114:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:114:23 in +base/gxpath.c:115:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:115:23 in +base/gxpath.c:116:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:116:23 in +base/gxpath.c:117:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:117:23 in +base/gxcpath.c:530:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:530:29 in +base/gxcpath.c:531:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:531:29 in +base/gxcpath.c:532:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:532:29 in +base/gxcpath.c:533:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:533:29 in +base/gspath.c:604:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:604:17 in +base/gspath.c:605:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:605:17 in +base/gspath.c:606:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:606:17 in +base/gspath.c:607:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:607:17 in +base/gxpcmap.c:839:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpcmap.c:839:9 in +base/gxccman.c:139:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxccman.c:139:9 in +base/gsiorom.c:122:21: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:122:21 in +base/gsiorom.c:201:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:201:25 in +psi/iscannum.c:103:58: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:103:58 in +psi/iscannum.c:103:73: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:103:73 in +psi/iscannum.c:104:58: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:104:58 in +psi/iscannum.c:104:73: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:104:73 in +psi/interp.c:1123:13: runtime error: member access within null pointer of type 'ref' (aka 'struct ref_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1123:13 in +psi/interp.c:1123:13: runtime error: member access within null pointer of type 'struct tas_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1123:13 in +psi/interp.c:1401:21: runtime error: member access within null pointer of type 'ref' (aka 'struct ref_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1401:21 in +psi/interp.c:1401:21: runtime error: member access within null pointer of type 'struct tas_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1401:21 in +psi/ziodevsc.c:153:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:153:25 in +psi/ziodevsc.c:230:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:230:25 in +psi/ziodevsc.c:301:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:301:25 in +psi/iscannum.c:278:13: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:278:13 in +psi/zarith.c:415:64: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zarith.c:415:64 in +psi/zusparam.c:440:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:440:11 in +psi/zusparam.c:440:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:440:11 in +base/gsalloc.c:1068:20: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsalloc.c:1068:20 in +psi/zusparam.c:202:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:202:11 in +psi/zusparam.c:202:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:202:11 in +psi/idparam.c:378:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/idparam.c:378:9 in +base/gsicc_manage.c:2166:23: runtime error: member access within null pointer of type 'cmm_profile_t' (aka 'struct cmm_profile_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_manage.c:2166:23 in +base/gsicc_cache.c:465:41: runtime error: left shift of 229 by 56 places cannot be represented in type 'int64_t' (aka 'long') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_cache.c:465:41 in +base/sfxstdio.c:199:21: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:199:21 in +devices/vector/gdevpdf.c:879:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdf.c:879:36 in +base/gsicc_cache.c:464:39: runtime error: left shift of 184 by 56 places cannot be represented in type 'int64_t' (aka 'long') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_cache.c:464:39 in +base/gshtscr.c:353:48: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:353:48 in +base/gshtscr.c:387:27: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:387:27 in +base/gshtscr.c:392:57: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:392:57 in +base/gsht.c:1051:26: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsht.c:1051:26 in +base/gsht.c:1052:27: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsht.c:1052:27 in +base/sjpege.c:37:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:37:9 in +base/sjpege.c:37:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:37:9 in +base/sjpege.c:52:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:52:9 in +base/sjpege.c:52:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:52:9 in +base/sjpege.c:72:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:72:9 in +base/sjpege.c:72:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:72:9 in +base/sjpegc.c:143:28: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpegc.c:143:28 in +base/sjpegc.c:143:28: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpegc.c:143:28 in +psi/ireclaim.c:110:36: runtime error: member access within null pointer of type 'i_ctx_t' (aka 'struct gs_context_state_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ireclaim.c:110:36 in +psi/igc.c:268:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:268:9 in +psi/zbfont.c:44:40: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:44:40 in +psi/igc.c:306:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:306:9 in +psi/zbfont.c:49:44: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:49:44 in +psi/isave.c:591:37: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/isave.c:591:37 in +psi/igc.c:1150:9: runtime error: member access within null pointer of type 'clump_head_t' (aka 'struct clump_head_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:1150:9 in +psi/igc.c:430:5: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:430:5 in +psi/igc.c:451:5: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:451:5 in +psi/zbfont.c:55:33: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:55:33 in +psi/igc.c:478:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:478:9 in +psi/igc.c:495:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:495:9 in +base/sfxstdio.c:73:48: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:73:48 in +base/sfxstdio.c:167:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:167:25 in +psi/zmedia2.c:56:34: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zmedia2.c:56:34 in +psi/zmedia2.c:240:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zmedia2.c:240:36 in +base/gsdparam.c:2476:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:2476:36 in +base/gsdparam.c:2476:68: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:2476:68 in +base/gxpath.c:978:12: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:978:12 in +base/gsfcmap.c:299:5: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsfcmap.c:299:5 in +pdf/pdf_fontTT.c:569:5: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_fontTT.c:569:5 in +devices/vector/gdevpdfu.c:696:16: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdfu.c:696:16 in +base/gsfont.c:924:31: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsfont.c:924:31 in +devices/vector/gdevpsft.c:802:24: runtime error: member access within null pointer of type 'ttf_OS_2_t' (aka 'struct ttf_OS_2_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpsft.c:802:24 in +devices/vector/gdevpdtd.c:216:27: runtime error: member access within null pointer of type 'pdf_font_descriptor_t' (aka 'struct pdf_font_descriptor_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:216:27 in +devices/vector/gdevpdtd.c:216:27: runtime error: member access within null pointer of type 'pdf_font_descriptor_common_t' (aka 'struct pdf_font_descriptor_common_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:216:27 in +base/gsicc.c:685:46: runtime error: member access within null pointer of type 'cmm_profile_t' (aka 'struct cmm_profile_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc.c:685:46 in +pdf/pdf_int.c:299:34: runtime error: signed integer overflow: 307182647 * 10 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_int.c:299:34 in +base/gsdparam.c:1710:33: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:1710:33 in +base/gsdparam.c:1710:61: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:1710:61 in +psi/zfont.c:510:18: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zfont.c:510:18 in +devices/vector/gdevpdtd.c:416:49: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:416:49 in +devices/vector/gdevpdtd.c:417:49: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:417:49 in +base/gxccache.c:99:13: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxccache.c:99:13 in +base/ttfinp.c:57:27: runtime error: left shift of 170 by 24 places cannot be represented in type 'int32' (aka 'int') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfinp.c:57:27 in +base/ttfmain.c:275:36: runtime error: member access within null pointer of type 'sfnt_FontHeader' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:275:36 in +base/ttfmain.c:277:36: runtime error: member access within null pointer of type 'sfnt_FontHeader' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:277:36 in +base/ttfmain.c:281:36: runtime error: member access within null pointer of type 'sfnt_FontHeader' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:281:36 in +base/ttfmain.c:283:36: runtime error: member access within null pointer of type 'sfnt_maxProfileTable' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:283:36 in +base/ttfmain.c:285:36: runtime error: member access within null pointer of type 'sfnt_maxProfileTable' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:285:36 in +base/ttfmain.c:289:36: runtime error: member access within null pointer of type 'sfnt_MetricsHeader' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:289:36 in +base/ttfmain.c:50:23: runtime error: left shift of negative value -31 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:50:23 in +base/ttinterp.c:5076:14: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttinterp.c:5076:14 in +base/ttinterp.c:5076:14: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttinterp.c:5076:14 in +devices/vector/gdevpdtd.c:499:27: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:499:27 in +base/ttfmain.c:1011:95: runtime error: left shift of negative value -1984 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:1011:95 in +base/ttfmain.c:1012:95: runtime error: left shift of negative value -1984 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:1012:95 in +devices/vector/gdevpsft.c:495:22: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpsft.c:495:22 in +devices/vector/gdevpsft.c:601:27: runtime error: member access within null pointer of type 'ttf_OS_2_t' (aka 'struct ttf_OS_2_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpsft.c:601:27 in +devices/vector/gdevpsft.c:602:16: runtime error: member access within null pointer of type 'ttf_OS_2_t' (aka 'struct ttf_OS_2_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpsft.c:602:16 in +devices/vector/gdevpdtb.c:169:60: runtime error: left shift of negative value -38 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtb.c:169:60 in +devices/vector/gdevpdtf.c:981:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtf.c:981:9 in +devices/vector/gdevpdf.c:1581:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdf.c:1581:23 in +devices/vector/gdevpdf.c:1582:39: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdf.c:1582:39 in +devices/vector/gdevpdf.c:1582:37: runtime error: signed integer overflow: 1096 - -9223372036854775808 cannot be represented in type 'long' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdf.c:1582:37 in +devices/vector/gdevpdf.c:1582:21: runtime error: signed integer overflow: -9223372036854737138 + -9223372036854774712 cannot be represented in type 'long' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdf.c:1582:21 in +devices/vector/gdevpdf.c:1607:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdf.c:1607:23 in +devices/vector/gdevpdf.c:1608:39: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdf.c:1608:39 in +devices/vector/gdevpdf.c:1608:37: runtime error: signed integer overflow: 1096 - -9223372036854775808 cannot be represented in type 'long' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdf.c:1608:37 in +devices/vector/gdevpdf.c:1608:21: runtime error: signed integer overflow: -9223372036854737138 + -9223372036854774712 cannot be represented in type 'long' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdf.c:1608:21 in +base/gxccman.c:451:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxccman.c:451:9 in +base/fapi_ft.c:1943:43: runtime error: member access within null pointer of type 'struct FT_OutlineGlyphRec_' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/fapi_ft.c:1943:43 in +base/fapi_ft.c:1944:42: runtime error: member access within null pointer of type 'struct FT_BitmapGlyphRec_' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/fapi_ft.c:1944:42 in +base/ttinterp.c:4316:15: runtime error: signed integer overflow: 1756208882 + 724767500 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttinterp.c:4316:15 in +base/ttinterp.c:4298:13: runtime error: signed integer overflow: 648135412 + 1634759534 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttinterp.c:4298:13 in +base/ttinterp.c:4285:27: runtime error: signed integer overflow: 1668510309 - -682080514 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttinterp.c:4285:27 in +base/ttinterp.c:4312:13: runtime error: signed integer overflow: -682737142 + -1944376473 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttinterp.c:4312:13 in +base/ttinterp.c:4287:27: runtime error: signed integer overflow: 1869508725 - -682080514 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttinterp.c:4287:27 in +base/ttinterp.c:4334:11: runtime error: signed integer overflow: -664912892 + -1894246299 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttinterp.c:4334:11 in +base/ttinterp.c:4338:13: runtime error: signed integer overflow: 648923910 + 1652518509 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttinterp.c:4338:13 in +base/ttinterp.c:4341:33: runtime error: signed integer overflow: -2012072350 - 742340179 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttinterp.c:4341:33 in +base/ttinterp.c:4343:34: runtime error: signed integer overflow: -2029113246 - 742340179 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttinterp.c:4343:34 in +base/ttinterp.c:4319:35: runtime error: signed integer overflow: 842023239 - -2096284820 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttinterp.c:4319:35 in +base/ttinterp.c:4321:36: runtime error: signed integer overflow: 1667853681 - -2096284820 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttinterp.c:4321:36 in +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x62a0006e9084 at pc 0x000001d73ba4 bp 0x7ffd330e1a90 sp 0x7ffd330e1a88 +READ of size 4 at 0x62a0006e9084 thread T0 + #0 0x1d73ba3 in Interp /src/ghostpdl/./base/ttinterp.c:4287:10 + #1 0x1d60c1d in Ins_IUP /src/ghostpdl/./base/ttinterp.c + #2 0x1d52b9e in RunIns /src/ghostpdl/./base/ttinterp.c:5131:7 + #3 0x1bfd33e in Instance_Reset /src/ghostpdl/./base/ttobjs.c:834:15 + #4 0x1be21e1 in TT_Set_Instance_CharSizes /src/ghostpdl/./base/ttfmain.c:138:12 + #5 0x1be49ad in ttfFont__Open /src/ghostpdl/./base/ttfmain.c:348:12 + #6 0x169cce0 in ttfFont__Open_aux /src/ghostpdl/./base/gxttfb.c:448:12 + #7 0xe604b2 in gx_attach_tt_interpreter /src/ghostpdl/./base/gxccman.c:249:12 + #8 0xe60fa1 in gx_add_fm_pair /src/ghostpdl/./base/gxccman.c:355:20 + #9 0xe5ace3 in gx_lookup_fm_pair /src/ghostpdl/./base/gxccache.c:140:12 + #10 0x1691088 in gs_type42_glyph_outline /src/ghostpdl/./base/gstype42.c:1350:12 + #11 0xc29498 in gs_default_glyph_info /src/ghostpdl/./base/gsfont.c:1061:12 + #12 0x1696c13 in gs_type42_glyph_info_by_gid /src/ghostpdl/./base/gstype42.c:1387:16 + #13 0x1691788 in gs_type42_glyph_info /src/ghostpdl/./base/gstype42.c:1458:12 + #14 0xa1cbf4 in pdf_compute_font_descriptor /src/ghostpdl/./devices/vector/gdevpdtd.c:469:16 + #15 0xa1f049 in pdf_finish_FontDescriptor /src/ghostpdl/./devices/vector/gdevpdtd.c:649:17 + #16 0xa72a2f in pdf_finish_resources /src/ghostpdl/./devices/vector/gdevpdtw.c:684:24 + #17 0x8b8eb6 in __covrec_59069581604AE801u /src/ghostpdl/./devices/vector/gdevpdf.c:2785:13 + #18 0xbfcf38 in gs_closedevice /src/ghostpdl/./base/gsdevice.c:786:16 + #19 0x5217cb in __covrec_543A5F2E6E788DDu /src/ghostpdl/./psi/imain.c:1351:20 + #20 0x52362e in gs_to_exit_with_code /src/ghostpdl/./psi/imain.c:1434:12 + #21 0x52367e in gs_to_exit /src/ghostpdl/./psi/imain.c:1439:12 + #22 0x119c0d8 in psapi_exit /src/ghostpdl/./psi/psapi.c:517:5 + #23 0x515aef in gsapi_exit /src/ghostpdl/./psi/iapi.c:440:12 + #24 0x4e5ad3 in __covrec_673F6603978DF04Bu /src/gs_fuzzlib.h:135:8 + #25 0x4e5e7b in LLVMFuzzerTestOneInput /src/gs_device_pdfwrite_fuzzer.cc:26:2 + #26 0x4f432c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #27 0x4e6285 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #28 0x4eaf31 in __covrec_6990238F142DEEC4u /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #29 0x4e5f52 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #30 0x7f66f871b082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #31 0x426d0d in _start (/out/gs_device_pdfwrite_fuzzer+0x426d0d) + +0x62a0006e9084 is located 52 bytes to the right of 20048-byte region [0x62a0006e4200,0x62a0006e9050) +allocated by thread T0 here: + #0 0x4a8146 in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0xc623d0 in gs_heap_alloc_bytes /src/ghostpdl/./base/gsmalloc.c:192:34 + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ghostpdl/./base/ttinterp.c:4287:10 in Interp +Shadow bytes around the buggy address: + 0x0c54800d51c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c54800d51d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c54800d51e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c54800d51f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c54800d5200: 00 00 00 00 00 00 00 00 00 00 fa fa fa fa fa fa +=>0x0c54800d5210:[fa]fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c54800d5220: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c54800d5230: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c54800d5240: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c54800d5250: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c54800d5260: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-523.txt b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-523.txt new file mode 100644 index 000000000..b27137c80 --- /dev/null +++ b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-523.txt @@ -0,0 +1,299 @@ +INFO: Seed: 2711313359 +/out/gs_device_pdfwrite_fuzzer: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +base/gsiorom.c:94:14: runtime error: left shift of 128 by 24 places cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:94:14 in +psi/imainarg.c:684:43: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/imainarg.c:684:43 in +base/gxpath.c:114:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:114:23 in +base/gxpath.c:115:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:115:23 in +base/gxpath.c:116:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:116:23 in +base/gxpath.c:117:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:117:23 in +base/gxcpath.c:530:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:530:29 in +base/gxcpath.c:531:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:531:29 in +base/gxcpath.c:532:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:532:29 in +base/gxcpath.c:533:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:533:29 in +base/gspath.c:604:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:604:17 in +base/gspath.c:605:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:605:17 in +base/gspath.c:606:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:606:17 in +base/gspath.c:607:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:607:17 in +base/gxpcmap.c:839:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpcmap.c:839:9 in +base/gxccman.c:139:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxccman.c:139:9 in +base/gsiorom.c:122:21: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:122:21 in +base/gsiorom.c:201:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:201:25 in +psi/iscannum.c:103:58: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:103:58 in +psi/iscannum.c:103:73: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:103:73 in +psi/iscannum.c:104:58: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:104:58 in +psi/iscannum.c:104:73: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:104:73 in +psi/interp.c:1123:13: runtime error: member access within null pointer of type 'ref' (aka 'struct ref_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1123:13 in +psi/interp.c:1123:13: runtime error: member access within null pointer of type 'struct tas_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1123:13 in +psi/interp.c:1401:21: runtime error: member access within null pointer of type 'ref' (aka 'struct ref_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1401:21 in +psi/interp.c:1401:21: runtime error: member access within null pointer of type 'struct tas_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1401:21 in +psi/ziodevsc.c:153:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:153:25 in +psi/ziodevsc.c:230:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:230:25 in +psi/ziodevsc.c:301:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:301:25 in +psi/iscannum.c:278:13: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:278:13 in +psi/zarith.c:415:64: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zarith.c:415:64 in +psi/zusparam.c:440:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:440:11 in +psi/zusparam.c:440:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:440:11 in +base/gsalloc.c:1068:20: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsalloc.c:1068:20 in +psi/zusparam.c:202:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:202:11 in +psi/zusparam.c:202:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:202:11 in +psi/idparam.c:378:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/idparam.c:378:9 in +base/gsicc_manage.c:2166:23: runtime error: member access within null pointer of type 'cmm_profile_t' (aka 'struct cmm_profile_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_manage.c:2166:23 in +base/gsicc_cache.c:465:41: runtime error: left shift of 229 by 56 places cannot be represented in type 'int64_t' (aka 'long') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_cache.c:465:41 in +base/sfxstdio.c:199:21: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:199:21 in +devices/vector/gdevpdf.c:879:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdf.c:879:36 in +base/gsicc_cache.c:464:39: runtime error: left shift of 184 by 56 places cannot be represented in type 'int64_t' (aka 'long') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_cache.c:464:39 in +base/gshtscr.c:353:48: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:353:48 in +base/gshtscr.c:387:27: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:387:27 in +base/gshtscr.c:392:57: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:392:57 in +base/gsht.c:1051:26: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsht.c:1051:26 in +base/gsht.c:1052:27: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsht.c:1052:27 in +base/sjpege.c:37:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:37:9 in +base/sjpege.c:37:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:37:9 in +base/sjpege.c:52:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:52:9 in +base/sjpege.c:52:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:52:9 in +base/sjpege.c:72:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:72:9 in +base/sjpege.c:72:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:72:9 in +base/sjpegc.c:143:28: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpegc.c:143:28 in +base/sjpegc.c:143:28: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpegc.c:143:28 in +psi/ireclaim.c:110:36: runtime error: member access within null pointer of type 'i_ctx_t' (aka 'struct gs_context_state_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ireclaim.c:110:36 in +psi/igc.c:268:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:268:9 in +psi/zbfont.c:44:40: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:44:40 in +psi/igc.c:306:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:306:9 in +psi/zbfont.c:49:44: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:49:44 in +psi/isave.c:591:37: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/isave.c:591:37 in +psi/igc.c:1150:9: runtime error: member access within null pointer of type 'clump_head_t' (aka 'struct clump_head_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:1150:9 in +psi/igc.c:430:5: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:430:5 in +psi/igc.c:451:5: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:451:5 in +psi/zbfont.c:55:33: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:55:33 in +psi/igc.c:478:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:478:9 in +psi/igc.c:495:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:495:9 in +base/sfxstdio.c:73:48: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:73:48 in +base/sfxstdio.c:167:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:167:25 in +psi/zmedia2.c:56:34: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zmedia2.c:56:34 in +psi/zmedia2.c:240:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zmedia2.c:240:36 in +base/gsdparam.c:2476:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:2476:36 in +base/gsdparam.c:2476:68: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:2476:68 in +base/gxpath.c:978:12: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:978:12 in +base/gsfcmap.c:299:5: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsfcmap.c:299:5 in +base/gstype42.c:274:19: runtime error: shift exponent 1826 is too large for 64-bit type 'ulong' (aka 'unsigned long') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gstype42.c:274:19 in +pdf/pdf_fontTT.c:569:5: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_fontTT.c:569:5 in +devices/vector/gdevpdfu.c:696:16: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdfu.c:696:16 in +devices/vector/gdevpsft.c:802:24: runtime error: member access within null pointer of type 'ttf_OS_2_t' (aka 'struct ttf_OS_2_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpsft.c:802:24 in +devices/vector/gdevpdtd.c:216:27: runtime error: member access within null pointer of type 'pdf_font_descriptor_t' (aka 'struct pdf_font_descriptor_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:216:27 in +devices/vector/gdevpdtd.c:216:27: runtime error: member access within null pointer of type 'pdf_font_descriptor_common_t' (aka 'struct pdf_font_descriptor_common_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:216:27 in +base/gxccache.c:99:13: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxccache.c:99:13 in +base/ttfinp.c:57:27: runtime error: left shift of 187 by 24 places cannot be represented in type 'int32' (aka 'int') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfinp.c:57:27 in +base/ttfmain.c:275:36: runtime error: member access within null pointer of type 'sfnt_FontHeader' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:275:36 in +base/ttfmain.c:277:36: runtime error: member access within null pointer of type 'sfnt_FontHeader' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:277:36 in +base/ttfmain.c:281:36: runtime error: member access within null pointer of type 'sfnt_FontHeader' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:281:36 in +base/ttfmain.c:283:36: runtime error: member access within null pointer of type 'sfnt_maxProfileTable' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:283:36 in +base/ttfmain.c:285:36: runtime error: member access within null pointer of type 'sfnt_maxProfileTable' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:285:36 in +base/ttfmain.c:289:36: runtime error: member access within null pointer of type 'sfnt_MetricsHeader' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:289:36 in +base/ttfmain.c:50:23: runtime error: left shift of negative value -31 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:50:23 in +base/ttinterp.c:5076:14: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttinterp.c:5076:14 in +base/ttinterp.c:5076:14: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttinterp.c:5076:14 in +base/ttinterp.c:4338:13: runtime error: signed integer overflow: 1768846607 + 824787679 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttinterp.c:4338:13 in +base/ttinterp.c:4316:15: runtime error: signed integer overflow: 1768846607 + 824787679 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttinterp.c:4316:15 in +base/ttinterp.c:4287:27: runtime error: signed integer overflow: -1701333010 - 1768846607 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttinterp.c:4287:27 in +base/ttinterp.c:4320:50: runtime error: signed integer overflow: -1701333010 - 893727280 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttinterp.c:4320:50 in +base/ttinterp.c:4285:27: runtime error: signed integer overflow: -1701333010 - 1768846607 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttinterp.c:4285:27 in +base/ttinterp.c:4342:48: runtime error: signed integer overflow: 893727280 - -1701333010 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttinterp.c:4342:48 in +base/ttinterp.c:4340:32: runtime error: signed integer overflow: -1701333010 + -1667317499 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttinterp.c:4340:32 in +base/sjpegd.c:38:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpegd.c:38:9 in +base/sjpegd.c:38:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpegd.c:38:9 in +base/gxpflat.c:272:22: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:272:22 in +base/sjpegd.c:54:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpegd.c:54:9 in +base/sjpegd.c:54:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpegd.c:54:9 in +base/sjpegd.c:62:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpegd.c:62:9 in +base/sjpegd.c:62:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpegd.c:62:9 in +base/sjpegd.c:78:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpegd.c:78:9 in +base/sjpegd.c:78:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpegd.c:78:9 in +obj/jdhuff.c:529:32: runtime error: left shift of 2962109524431348419 by 8 places cannot be represented in type 'bit_buf_type' (aka 'long') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior obj/jdhuff.c:529:32 in +obj/jidctint.c:250:8: runtime error: left shift of negative value -366 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior obj/jidctint.c:250:8 in +obj/jidctint.c:251:8: runtime error: left shift of negative value -2 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior obj/jidctint.c:251:8 in +obj/jidctint.c:225:13: runtime error: left shift of negative value -3 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior obj/jidctint.c:225:13 in +base/sdctd.c:42:31: runtime error: member access within null pointer of type 'jpeg_decompress_data' (aka 'struct jpeg_decompress_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sdctd.c:42:31 in +base/gsimage.c:553:45: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsimage.c:553:45 in +base/sjpegc.c:71:31: runtime error: member access within null pointer of type 'jpeg_compress_data' (aka 'struct jpeg_compress_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpegc.c:71:31 in +obj/jdhuff.c:549:18: runtime error: left shift of 7747980664852151097 by 25 places cannot be represented in type 'bit_buf_type' (aka 'long') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior obj/jdhuff.c:549:18 in +base/sjpegd.c:88:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpegd.c:88:9 in +base/sjpegd.c:88:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpegd.c:88:9 in +base/sdctd.c:79:31: runtime error: member access within null pointer of type 'jpeg_decompress_data' (aka 'struct jpeg_decompress_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sdctd.c:79:31 in +pdf/pdf_int.c:299:34: runtime error: signed integer overflow: 531408676 * 10 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_int.c:299:34 in +base/gsdparam.c:1710:33: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:1710:33 in +base/gsdparam.c:1710:61: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:1710:61 in +base/gxccman.c:798:27: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxccman.c:798:27 in +base/gxccman.c:451:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxccman.c:451:9 in +AddressSanitizer:DEADLYSIGNAL +================================================================= +==1==ERROR: AddressSanitizer: SEGV on unknown address (pc 0x0000007632f5 bp 0x62d0000881b8 sp 0x7ffcf3b753f0 T0) +==1==The signal is caused by a READ memory access. +==1==Hint: this fault was caused by a dereference of a high value address (see register values below). Disassemble the provided pc to learn which register was used. + #0 0x7632f5 in chunk_free_object /src/ghostpdl/./base/gsmchunk.c:1110:31 + #1 0x169c869 in gx_ttfMemory__free /src/ghostpdl/./base/gxttfb.c:337:5 + #2 0x1bf556a in Context_Destroy /src/ghostpdl/./base/ttobjs.c:241:4 + #3 0x1be2cdf in ttfFont__finit /src/ghostpdl/./base/ttfmain.c:199:13 + #4 0x169c90e in ttfFont__destroy /src/ghostpdl/./base/gxttfb.c:423:5 + #5 0xe63968 in gs_clean_fm_pair_attributes /src/ghostpdl/./base/gxccman.c:409:9 + #6 0xe61a72 in gs_purge_fm_pair /src/ghostpdl/./base/gxccman.c:435:5 + #7 0xe677a5 in gs_purge_font_from_char_caches_forced /src/ghostpdl/./base/gxccman.c:801:28 + #8 0xe675be in gs_purge_font_from_char_caches /src/ghostpdl/./base/gxccman.c:832:12 + #9 0xc2abd1 in gs_font_finalize /src/ghostpdl/./base/gsfont.c:167:5 + #10 0x76331b in chunk_free_object /src/ghostpdl/./base/gsmchunk.c:1112:13 + #11 0x150bdb1 in pdfi_free_font_truetype /src/ghostpdl/./pdf/pdf_fontTT.c:768:9 + #12 0x14a9d96 in pdfi_free_font /src/ghostpdl/./pdf/pdf_font.c:1435:20 + #13 0x15887fc in pdfi_free_object /src/ghostpdl/./pdf/pdf_obj.c:296:13 + #14 0x13be8dc in pdfi_countdown_impl /src/ghostpdl/./pdf/pdf_stack.h:100:5 + #15 0x13be8dc in pdfi_clear_context /src/ghostpdl/./pdf/ghostpdf.c:2074:13 + #16 0x13caf9c in pdfi_free_context /src/ghostpdl/./pdf/ghostpdf.c:2110:5 + #17 0x13a2225 in zPDFclose /src/ghostpdl/./psi/zpdfops.c:618:16 + #18 0x11b91a9 in interp /src/ghostpdl/./psi/interp.c:1725:40 + #19 0x11b2256 in gs_call_interp /src/ghostpdl/./psi/interp.c:522:12 + #20 0x11b19f7 in gs_interpret /src/ghostpdl/./psi/interp.c:479:12 + #21 0x51e8a6 in gs_main_interpret /src/ghostpdl/./psi/imain.c:257:12 + #22 0x51ebee in gs_main_run_string_end /src/ghostpdl/./psi/imain.c:945:12 + #23 0x51ebee in __covrec_354B81557B0956Cu /src/ghostpdl/./psi/imain.c:889:12 + #24 0x519dfb in __covrec_218C571E84FB63F4 /src/ghostpdl/./psi/imain.c:870:12 + #25 0x15a94e6 in run_string /src/ghostpdl/./psi/imainarg.c:1169:12 + #26 0x15a4c81 in swproc /src/ghostpdl/./psi/imainarg.c:367:20 + #27 0x15a0e05 in gs_main_init_with_args01 /src/ghostpdl/./psi/imainarg.c:224:24 + #28 0x15a9251 in gs_main_init_with_args /src/ghostpdl/./psi/imainarg.c:289:16 + #29 0x119b038 in psapi_init_with_args /src/ghostpdl/./psi/psapi.c:281:12 + #30 0x51580c in gsapi_init_with_args /src/ghostpdl/./psi/iapi.c:253:12 + #31 0x4e5aa2 in __covrec_673F6603978DF04Bu /src/gs_fuzzlib.h:130:8 + #32 0x4e5e7b in LLVMFuzzerTestOneInput /src/gs_device_pdfwrite_fuzzer.cc:26:2 + #33 0x4f432c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #34 0x4e6285 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #35 0x4eaf31 in __covrec_6990238F142DEEC4u /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #36 0x4e5f52 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #37 0x7fa5efd9f082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #38 0x426d0d in _start (/out/gs_device_pdfwrite_fuzzer+0x426d0d) + +AddressSanitizer can not provide additional info. +SUMMARY: AddressSanitizer: SEGV /src/ghostpdl/./base/gsmchunk.c:1110:31 in chunk_free_object +==1==ABORTING diff --git a/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-719.txt b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-719.txt new file mode 100644 index 000000000..add3171b8 --- /dev/null +++ b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-719.txt @@ -0,0 +1,310 @@ +INFO: Seed: 2763306898 +/out/gs_device_pdfwrite_fuzzer: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +base/gsiorom.c:94:14: runtime error: left shift of 128 by 24 places cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:94:14 in +psi/imainarg.c:684:43: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/imainarg.c:684:43 in +base/gxpath.c:114:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:114:23 in +base/gxpath.c:115:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:115:23 in +base/gxpath.c:116:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:116:23 in +base/gxpath.c:117:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:117:23 in +base/gxcpath.c:530:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:530:29 in +base/gxcpath.c:531:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:531:29 in +base/gxcpath.c:532:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:532:29 in +base/gxcpath.c:533:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:533:29 in +base/gspath.c:604:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:604:17 in +base/gspath.c:605:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:605:17 in +base/gspath.c:606:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:606:17 in +base/gspath.c:607:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:607:17 in +base/gxpcmap.c:839:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpcmap.c:839:9 in +base/gxccman.c:139:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxccman.c:139:9 in +base/gsiorom.c:122:21: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:122:21 in +base/gsiorom.c:201:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:201:25 in +psi/iscannum.c:103:58: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:103:58 in +psi/iscannum.c:103:73: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:103:73 in +psi/iscannum.c:104:58: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:104:58 in +psi/iscannum.c:104:73: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:104:73 in +psi/interp.c:1123:13: runtime error: member access within null pointer of type 'ref' (aka 'struct ref_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1123:13 in +psi/interp.c:1123:13: runtime error: member access within null pointer of type 'struct tas_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1123:13 in +psi/interp.c:1401:21: runtime error: member access within null pointer of type 'ref' (aka 'struct ref_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1401:21 in +psi/interp.c:1401:21: runtime error: member access within null pointer of type 'struct tas_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1401:21 in +psi/ziodevsc.c:153:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:153:25 in +psi/ziodevsc.c:230:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:230:25 in +psi/ziodevsc.c:301:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:301:25 in +psi/iscannum.c:278:13: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:278:13 in +psi/zarith.c:415:64: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zarith.c:415:64 in +psi/zusparam.c:440:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:440:11 in +psi/zusparam.c:440:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:440:11 in +base/gsalloc.c:1068:20: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsalloc.c:1068:20 in +psi/zusparam.c:202:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:202:11 in +psi/zusparam.c:202:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:202:11 in +psi/idparam.c:378:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/idparam.c:378:9 in +base/gsicc_manage.c:2166:23: runtime error: member access within null pointer of type 'cmm_profile_t' (aka 'struct cmm_profile_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_manage.c:2166:23 in +base/gsicc_cache.c:465:41: runtime error: left shift of 229 by 56 places cannot be represented in type 'int64_t' (aka 'long') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_cache.c:465:41 in +base/sfxstdio.c:199:21: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:199:21 in +devices/vector/gdevpdf.c:879:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdf.c:879:36 in +base/gsicc_cache.c:464:39: runtime error: left shift of 184 by 56 places cannot be represented in type 'int64_t' (aka 'long') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_cache.c:464:39 in +base/gshtscr.c:353:48: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:353:48 in +base/gshtscr.c:387:27: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:387:27 in +base/gshtscr.c:392:57: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:392:57 in +base/gsht.c:1051:26: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsht.c:1051:26 in +base/gsht.c:1052:27: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsht.c:1052:27 in +base/sjpege.c:37:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:37:9 in +base/sjpege.c:37:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:37:9 in +base/sjpege.c:52:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:52:9 in +base/sjpege.c:52:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:52:9 in +base/sjpege.c:72:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:72:9 in +base/sjpege.c:72:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:72:9 in +base/sjpegc.c:143:28: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpegc.c:143:28 in +base/sjpegc.c:143:28: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpegc.c:143:28 in +psi/ireclaim.c:110:36: runtime error: member access within null pointer of type 'i_ctx_t' (aka 'struct gs_context_state_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ireclaim.c:110:36 in +psi/igc.c:268:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:268:9 in +psi/zbfont.c:44:40: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:44:40 in +psi/igc.c:306:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:306:9 in +psi/zbfont.c:49:44: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:49:44 in +psi/isave.c:591:37: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/isave.c:591:37 in +psi/igc.c:1150:9: runtime error: member access within null pointer of type 'clump_head_t' (aka 'struct clump_head_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:1150:9 in +psi/igc.c:430:5: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:430:5 in +psi/igc.c:451:5: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:451:5 in +psi/zbfont.c:55:33: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:55:33 in +psi/igc.c:478:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:478:9 in +psi/igc.c:495:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:495:9 in +base/sfxstdio.c:73:48: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:73:48 in +base/sfxstdio.c:167:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:167:25 in +psi/zmedia2.c:56:34: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zmedia2.c:56:34 in +psi/zmedia2.c:240:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zmedia2.c:240:36 in +base/gsdparam.c:2476:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:2476:36 in +base/gsdparam.c:2476:68: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:2476:68 in +psi/zarith.c:460:41: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zarith.c:460:41 in +base/gsfcmap.c:299:5: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsfcmap.c:299:5 in +pdf/pdf_font1C.c:2198:5: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_font1C.c:2198:5 in +pdf/pdf_font1C.c:2125:5: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_font1C.c:2125:5 in +pdf/pdf_font1C.c:2041:5: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_font1C.c:2041:5 in +pdf/pdf_font1C.c:2660:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_font1C.c:2660:17 in +base/gstype2.c:190:17: runtime error: left shift of negative value -330 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gstype2.c:190:17 in +base/gscoord.c:607:32: runtime error: shift exponent 42 is too large for 32-bit type 'fixed' (aka 'int') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gscoord.c:607:32 in +base/gstype2.c:188:17: runtime error: left shift of negative value -51 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gstype2.c:188:17 in +base/gsfont.c:924:31: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsfont.c:924:31 in +devices/vector/gdevpdtd.c:216:27: runtime error: member access within null pointer of type 'pdf_font_descriptor_t' (aka 'struct pdf_font_descriptor_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:216:27 in +devices/vector/gdevpdtd.c:216:27: runtime error: member access within null pointer of type 'pdf_font_descriptor_common_t' (aka 'struct pdf_font_descriptor_common_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:216:27 in +devices/vector/gdevpdfu.c:696:16: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdfu.c:696:16 in +base/seexec.c:72:20: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/seexec.c:72:20 in +base/gscrypt1.c:52:9: runtime error: signed integer overflow: 55898 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gscrypt1.c:52:9 in +base/gscrypt1.c:52:9: runtime error: signed integer overflow: 2147462265 + 22719 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gscrypt1.c:52:9 in +pdf/pdf_font1.c:680:13: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_font1.c:680:13 in +base/wrfont.c:47:61: runtime error: signed integer overflow: 55794 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/wrfont.c:47:61 in +pdf/pdf_fapi.c:666:30: runtime error: signed integer overflow: 49136 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_fapi.c:666:30 in +pdf/pdf_font1.c:868:5: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_font1.c:868:5 in +base/gstype1.c:403:33: runtime error: signed integer overflow: 49136 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gstype1.c:403:33 in +base/gxtype1.c:386:13: runtime error: signed integer overflow: 49136 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:386:13 in +base/gxtype1.c:409:17: runtime error: left shift of negative value -219 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:409:17 in +base/gxtype1.c:407:17: runtime error: left shift of negative value -40 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:407:17 in +base/gxtype1.c:530:13: runtime error: signed integer overflow: 42785 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:530:13 in +base/gxtype1.c:413:17: runtime error: signed integer overflow: 57489 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:413:17 in +base/gxtype1.c:415:26: runtime error: left shift of negative value -1141 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:415:26 in +base/gsdparam.c:1710:33: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:1710:33 in +base/gsdparam.c:1710:61: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:1710:61 in +psi/zfont.c:510:18: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zfont.c:510:18 in +devices/vector/gdevpdtd.c:416:49: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:416:49 in +devices/vector/gdevpdtd.c:417:49: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:417:49 in +base/gstype1.c:584:17: runtime error: left shift of negative value -332 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gstype1.c:584:17 in +base/gstype1.c:582:17: runtime error: left shift of negative value -93 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gstype1.c:582:17 in +devices/vector/gdevpdtd.c:499:27: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:499:27 in +base/gstype1.c:350:17: runtime error: signed integer overflow: 42785 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gstype1.c:350:17 in +devices/vector/gdevpsfx.c:69:9: runtime error: signed integer overflow: 49136 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpsfx.c:69:9 in +devices/vector/gdevpsfx.c:166:19: runtime error: index -1 out of bounds for type 'fixed[48]' (aka 'int[48]') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpsfx.c:166:19 in +devices/vector/gdevpsfx.c:183:9: runtime error: signed integer overflow: 62183 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpsfx.c:183:9 in +devices/vector/gdevpsfx.c:493:23: runtime error: index -1 out of bounds for type 'fixed[48]' (aka 'int[48]') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpsfx.c:493:23 in +devices/vector/gdevpsfx.c:189:17: runtime error: left shift of negative value -332 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpsfx.c:189:17 in +devices/vector/gdevpsfx.c:187:17: runtime error: left shift of negative value -93 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpsfx.c:187:17 in +devices/vector/gdevpsfx.c:569:23: runtime error: index -1 out of bounds for type 'fixed[48]' (aka 'int[48]') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpsfx.c:569:23 in +devices/vector/gdevpsfx.c:254:13: runtime error: signed integer overflow: 42785 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpsfx.c:254:13 in +================================================================= +==1==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7f10624aec40 at pc 0x000000c31a7c bp 0x7ffdf8db98d0 sp 0x7ffdf8db98c8 +WRITE of size 8 at 0x7f10624aec40 thread T0 + #0 0xc31a7b in gs_glyph_data_from_string /src/ghostpdl/./base/gsgdata.c:119:5 + #1 0xa886d5 in copied_type1_subr_data /src/ghostpdl/./devices/gxfcopy.c:961:5 + #2 0x191d88c in gs_type2_interpret /src/ghostpdl/./base/gstype2.c + #3 0xa87908 in copied_type1_glyph_outline /src/ghostpdl/./devices/gxfcopy.c:1108:16 + #4 0xc29498 in gs_default_glyph_info /src/ghostpdl/./base/gsfont.c:1061:12 + #5 0x18c95d8 in gs_type1_glyph_info /src/ghostpdl/./base/gxtype1.c:616:16 + #6 0xa8a6bd in copied_cid0_glyph_info /src/ghostpdl/./devices/gxfcopy.c:1668:12 + #7 0xa1cbf4 in pdf_compute_font_descriptor /src/ghostpdl/./devices/vector/gdevpdtd.c:469:16 + #8 0xa1f049 in pdf_finish_FontDescriptor /src/ghostpdl/./devices/vector/gdevpdtd.c:649:17 + #9 0xa72a2f in pdf_finish_resources /src/ghostpdl/./devices/vector/gdevpdtw.c:684:24 + #10 0x8b8eb6 in __covrec_59069581604AE801u /src/ghostpdl/./devices/vector/gdevpdf.c:2785:13 + #11 0xbfcf38 in gs_closedevice /src/ghostpdl/./base/gsdevice.c:786:16 + #12 0x5217cb in __covrec_543A5F2E6E788DDu /src/ghostpdl/./psi/imain.c:1351:20 + #13 0x52362e in gs_to_exit_with_code /src/ghostpdl/./psi/imain.c:1434:12 + #14 0x52367e in gs_to_exit /src/ghostpdl/./psi/imain.c:1439:12 + #15 0x119c0d8 in psapi_exit /src/ghostpdl/./psi/psapi.c:517:5 + #16 0x515aef in gsapi_exit /src/ghostpdl/./psi/iapi.c:440:12 + #17 0x4e5ad3 in __covrec_673F6603978DF04Bu /src/gs_fuzzlib.h:135:8 + #18 0x4e5e7b in LLVMFuzzerTestOneInput /src/gs_device_pdfwrite_fuzzer.cc:26:2 + #19 0x4f432c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #20 0x4e6285 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #21 0x4eaf31 in __covrec_6990238F142DEEC4u /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #22 0x4e5f52 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #23 0x7f1064497082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #24 0x426d0d in _start (/out/gs_device_pdfwrite_fuzzer+0x426d0d) + +Address 0x7f10624aec40 is located in stack of thread T0 at offset 11328 in frame + #0 0xa8752f in copied_type1_glyph_outline /src/ghostpdl/./devices/gxfcopy.c:1064 + + This frame has 5 object(s): + [32, 80) 'gdata' (line 1074) + [112, 11328) 'cis' (line 1078) <== Memory access at offset 11328 overflows this variable + [11584, 13640) 'ggs' (line 1079) + [13776, 13800) 'imat' (line 1093) + [13840, 13844) 'value' (line 1106) +HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork + (longjmp and C++ exceptions *are* supported) +SUMMARY: AddressSanitizer: stack-buffer-overflow /src/ghostpdl/./base/gsgdata.c:119:5 in gs_glyph_data_from_string +Shadow bytes around the buggy address: + 0x0fe28c48dd30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0fe28c48dd40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0fe28c48dd50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0fe28c48dd60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0fe28c48dd70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +=>0x0fe28c48dd80: 00 00 00 00 00 00 00 00[f2]f2 f2 f2 f2 f2 f2 f2 + 0x0fe28c48dd90: f2 f2 f2 f2 f2 f2 f2 f2 f2 f2 f2 f2 f2 f2 f2 f2 + 0x0fe28c48dda0: f2 f2 f2 f2 f2 f2 f2 f2 00 00 00 00 00 00 00 00 + 0x0fe28c48ddb0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0fe28c48ddc0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0fe28c48ddd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-724.txt b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-724.txt new file mode 100644 index 000000000..3f76529dc --- /dev/null +++ b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-724.txt @@ -0,0 +1,280 @@ +INFO: Seed: 2752077095 +/out/gs_device_pdfwrite_fuzzer: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +base/gsiorom.c:94:14: runtime error: left shift of 128 by 24 places cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:94:14 in +psi/imainarg.c:684:43: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/imainarg.c:684:43 in +base/gxpath.c:114:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:114:23 in +base/gxpath.c:115:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:115:23 in +base/gxpath.c:116:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:116:23 in +base/gxpath.c:117:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:117:23 in +base/gxcpath.c:530:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:530:29 in +base/gxcpath.c:531:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:531:29 in +base/gxcpath.c:532:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:532:29 in +base/gxcpath.c:533:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:533:29 in +base/gspath.c:604:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:604:17 in +base/gspath.c:605:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:605:17 in +base/gspath.c:606:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:606:17 in +base/gspath.c:607:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:607:17 in +base/gxpcmap.c:839:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpcmap.c:839:9 in +base/gxccman.c:139:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxccman.c:139:9 in +base/gsiorom.c:122:21: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:122:21 in +base/gsiorom.c:201:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:201:25 in +psi/iscannum.c:103:58: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:103:58 in +psi/iscannum.c:103:73: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:103:73 in +psi/iscannum.c:104:58: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:104:58 in +psi/iscannum.c:104:73: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:104:73 in +psi/interp.c:1123:13: runtime error: member access within null pointer of type 'ref' (aka 'struct ref_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1123:13 in +psi/interp.c:1123:13: runtime error: member access within null pointer of type 'struct tas_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1123:13 in +psi/interp.c:1401:21: runtime error: member access within null pointer of type 'ref' (aka 'struct ref_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1401:21 in +psi/interp.c:1401:21: runtime error: member access within null pointer of type 'struct tas_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1401:21 in +psi/ziodevsc.c:153:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:153:25 in +psi/ziodevsc.c:230:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:230:25 in +psi/ziodevsc.c:301:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:301:25 in +psi/iscannum.c:278:13: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:278:13 in +psi/zarith.c:415:64: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zarith.c:415:64 in +psi/zusparam.c:440:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:440:11 in +psi/zusparam.c:440:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:440:11 in +base/gsalloc.c:1068:20: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsalloc.c:1068:20 in +psi/zusparam.c:202:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:202:11 in +psi/zusparam.c:202:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:202:11 in +psi/idparam.c:378:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/idparam.c:378:9 in +base/gsicc_manage.c:2166:23: runtime error: member access within null pointer of type 'cmm_profile_t' (aka 'struct cmm_profile_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_manage.c:2166:23 in +base/gsicc_cache.c:465:41: runtime error: left shift of 229 by 56 places cannot be represented in type 'int64_t' (aka 'long') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_cache.c:465:41 in +base/sfxstdio.c:199:21: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:199:21 in +devices/vector/gdevpdf.c:879:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdf.c:879:36 in +base/gsicc_cache.c:464:39: runtime error: left shift of 184 by 56 places cannot be represented in type 'int64_t' (aka 'long') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_cache.c:464:39 in +base/gshtscr.c:353:48: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:353:48 in +base/gshtscr.c:387:27: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:387:27 in +base/gshtscr.c:392:57: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:392:57 in +base/gsht.c:1051:26: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsht.c:1051:26 in +base/gsht.c:1052:27: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsht.c:1052:27 in +base/sjpege.c:37:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:37:9 in +base/sjpege.c:37:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:37:9 in +base/sjpege.c:52:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:52:9 in +base/sjpege.c:52:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:52:9 in +base/sjpege.c:72:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:72:9 in +base/sjpege.c:72:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:72:9 in +base/sjpegc.c:143:28: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpegc.c:143:28 in +base/sjpegc.c:143:28: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpegc.c:143:28 in +psi/ireclaim.c:110:36: runtime error: member access within null pointer of type 'i_ctx_t' (aka 'struct gs_context_state_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ireclaim.c:110:36 in +psi/igc.c:268:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:268:9 in +psi/zbfont.c:44:40: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:44:40 in +psi/igc.c:306:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:306:9 in +psi/zbfont.c:49:44: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:49:44 in +psi/isave.c:591:37: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/isave.c:591:37 in +psi/igc.c:1150:9: runtime error: member access within null pointer of type 'clump_head_t' (aka 'struct clump_head_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:1150:9 in +psi/igc.c:430:5: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:430:5 in +psi/igc.c:451:5: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:451:5 in +psi/zbfont.c:55:33: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:55:33 in +psi/igc.c:478:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:478:9 in +psi/igc.c:495:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:495:9 in +base/sfxstdio.c:73:48: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:73:48 in +base/sfxstdio.c:167:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:167:25 in +psi/zmedia2.c:56:34: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zmedia2.c:56:34 in +psi/zmedia2.c:240:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zmedia2.c:240:36 in +base/gsdparam.c:2476:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:2476:36 in +base/gsdparam.c:2476:68: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:2476:68 in +psi/zarith.c:460:41: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zarith.c:460:41 in +pdf/pdf_font1C.c:2198:5: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_font1C.c:2198:5 in +pdf/pdf_font1C.c:2125:5: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_font1C.c:2125:5 in +pdf/pdf_font1C.c:2784:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_font1C.c:2784:17 in +base/gstype2.c:190:17: runtime error: left shift of negative value -845 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gstype2.c:190:17 in +base/gstype2.c:188:17: runtime error: left shift of negative value -46 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gstype2.c:188:17 in +base/gsfont.c:924:31: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsfont.c:924:31 in +base/gxtype1.c:409:17: runtime error: left shift of negative value -845 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:409:17 in +base/gxtype1.c:407:17: runtime error: left shift of negative value -45 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:407:17 in +devices/vector/gdevpdtd.c:216:27: runtime error: member access within null pointer of type 'pdf_font_descriptor_t' (aka 'struct pdf_font_descriptor_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:216:27 in +devices/vector/gdevpdtd.c:216:27: runtime error: member access within null pointer of type 'pdf_font_descriptor_common_t' (aka 'struct pdf_font_descriptor_common_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:216:27 in +base/gscoord.c:607:32: runtime error: shift exponent 42 is too large for 32-bit type 'fixed' (aka 'int') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gscoord.c:607:32 in +base/seexec.c:72:20: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/seexec.c:72:20 in +base/gscrypt1.c:52:9: runtime error: signed integer overflow: 55898 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gscrypt1.c:52:9 in +base/gscrypt1.c:52:9: runtime error: signed integer overflow: 2147462265 + 22719 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gscrypt1.c:52:9 in +pdf/pdf_font1.c:680:13: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_font1.c:680:13 in +base/wrfont.c:47:61: runtime error: signed integer overflow: 55794 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/wrfont.c:47:61 in +pdf/pdf_fapi.c:666:30: runtime error: signed integer overflow: 49136 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_fapi.c:666:30 in +pdf/pdf_font1.c:868:5: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_font1.c:868:5 in +base/gstype1.c:403:33: runtime error: signed integer overflow: 49136 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gstype1.c:403:33 in +base/gxtype1.c:386:13: runtime error: signed integer overflow: 49136 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:386:13 in +base/gxtype1.c:530:13: runtime error: signed integer overflow: 42785 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:530:13 in +base/gxtype1.c:413:17: runtime error: signed integer overflow: 57489 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:413:17 in +base/gxtype1.c:415:26: runtime error: left shift of negative value -1141 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:415:26 in +devices/vector/gdevpdfu.c:696:16: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdfu.c:696:16 in +base/gsdparam.c:1710:33: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:1710:33 in +base/gsdparam.c:1710:61: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:1710:61 in +psi/zfont.c:510:18: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zfont.c:510:18 in +devices/vector/gdevpdtd.c:416:49: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:416:49 in +devices/vector/gdevpdtd.c:417:49: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:417:49 in +devices/vector/gdevpdtd.c:499:27: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:499:27 in +================================================================= +==1==ERROR: AddressSanitizer: stack-buffer-underflow on address 0x7fe3d8e39c1c at pc 0x000001923994 bp 0x7fff7ae83370 sp 0x7fff7ae83368 +READ of size 4 at 0x7fe3d8e39c1c thread T0 + #0 0x1923993 in gs_type2_interpret /src/ghostpdl/./base/gstype2.c:691:33 + #1 0xa87908 in copied_type1_glyph_outline /src/ghostpdl/./devices/gxfcopy.c:1108:16 + #2 0xc29498 in gs_default_glyph_info /src/ghostpdl/./base/gsfont.c:1061:12 + #3 0x18c95d8 in gs_type1_glyph_info /src/ghostpdl/./base/gxtype1.c:616:16 + #4 0xa1cbf4 in pdf_compute_font_descriptor /src/ghostpdl/./devices/vector/gdevpdtd.c:469:16 + #5 0xa1f049 in pdf_finish_FontDescriptor /src/ghostpdl/./devices/vector/gdevpdtd.c:649:17 + #6 0xa72a2f in pdf_finish_resources /src/ghostpdl/./devices/vector/gdevpdtw.c:684:24 + #7 0x8b8eb6 in __covrec_59069581604AE801u /src/ghostpdl/./devices/vector/gdevpdf.c:2785:13 + #8 0xbfcf38 in gs_closedevice /src/ghostpdl/./base/gsdevice.c:786:16 + #9 0x5217cb in __covrec_543A5F2E6E788DDu /src/ghostpdl/./psi/imain.c:1351:20 + #10 0x52362e in gs_to_exit_with_code /src/ghostpdl/./psi/imain.c:1434:12 + #11 0x52367e in gs_to_exit /src/ghostpdl/./psi/imain.c:1439:12 + #12 0x119c0d8 in psapi_exit /src/ghostpdl/./psi/psapi.c:517:5 + #13 0x515aef in gsapi_exit /src/ghostpdl/./psi/iapi.c:440:12 + #14 0x4e5ad3 in __covrec_673F6603978DF04Bu /src/gs_fuzzlib.h:135:8 + #15 0x4e5e7b in LLVMFuzzerTestOneInput /src/gs_device_pdfwrite_fuzzer.cc:26:2 + #16 0x4f432c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #17 0x4e6285 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #18 0x4eaf31 in __covrec_6990238F142DEEC4u /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #19 0x4e5f52 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #20 0x7fe3db3bc082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #21 0x426d0d in _start (/out/gs_device_pdfwrite_fuzzer+0x426d0d) + +Address 0x7fe3d8e39c1c is located in stack of thread T0 at offset 28 in frame + #0 0x191b28f in gs_type2_interpret /src/ghostpdl/./base/gstype2.c:124 + + This frame has 4 object(s): + [32, 224) 'cstack' (line 129) <== Memory access at offset 28 underflows this variable + [288, 300) 'mask' (line 459) + [320, 336) 'join' (line 851) + [352, 368) 'end' (line 851) +HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork + (longjmp and C++ exceptions *are* supported) +SUMMARY: AddressSanitizer: stack-buffer-underflow /src/ghostpdl/./base/gstype2.c:691:33 in gs_type2_interpret +Shadow bytes around the buggy address: + 0x0ffcfb1bf330: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0ffcfb1bf340: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 + 0x0ffcfb1bf350: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 + 0x0ffcfb1bf360: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 + 0x0ffcfb1bf370: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 +=>0x0ffcfb1bf380: f1 f1 f1[f1]00 00 00 00 00 00 00 00 00 00 00 00 + 0x0ffcfb1bf390: 00 00 00 00 00 00 00 00 00 00 00 00 f2 f2 f2 f2 + 0x0ffcfb1bf3a0: f2 f2 f2 f2 f8 f8 f2 f2 f8 f8 f2 f2 f8 f8 f3 f3 + 0x0ffcfb1bf3b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0ffcfb1bf3c0: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 + 0x0ffcfb1bf3d0: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-726.txt b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-726.txt new file mode 100644 index 000000000..51413ec0e --- /dev/null +++ b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-726.txt @@ -0,0 +1,276 @@ +INFO: Seed: 2741039484 +/out/gs_device_pdfwrite_fuzzer: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +base/gsiorom.c:94:14: runtime error: left shift of 128 by 24 places cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:94:14 in +psi/imainarg.c:684:43: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/imainarg.c:684:43 in +base/gxpath.c:114:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:114:23 in +base/gxpath.c:115:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:115:23 in +base/gxpath.c:116:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:116:23 in +base/gxpath.c:117:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:117:23 in +base/gxcpath.c:530:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:530:29 in +base/gxcpath.c:531:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:531:29 in +base/gxcpath.c:532:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:532:29 in +base/gxcpath.c:533:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:533:29 in +base/gspath.c:604:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:604:17 in +base/gspath.c:605:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:605:17 in +base/gspath.c:606:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:606:17 in +base/gspath.c:607:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:607:17 in +base/gxpcmap.c:839:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpcmap.c:839:9 in +base/gxccman.c:139:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxccman.c:139:9 in +base/gsiorom.c:122:21: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:122:21 in +base/gsiorom.c:201:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:201:25 in +psi/iscannum.c:103:58: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:103:58 in +psi/iscannum.c:103:73: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:103:73 in +psi/iscannum.c:104:58: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:104:58 in +psi/iscannum.c:104:73: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:104:73 in +psi/interp.c:1123:13: runtime error: member access within null pointer of type 'ref' (aka 'struct ref_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1123:13 in +psi/interp.c:1123:13: runtime error: member access within null pointer of type 'struct tas_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1123:13 in +psi/interp.c:1401:21: runtime error: member access within null pointer of type 'ref' (aka 'struct ref_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1401:21 in +psi/interp.c:1401:21: runtime error: member access within null pointer of type 'struct tas_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1401:21 in +psi/ziodevsc.c:153:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:153:25 in +psi/ziodevsc.c:230:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:230:25 in +psi/ziodevsc.c:301:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:301:25 in +psi/iscannum.c:278:13: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:278:13 in +psi/zarith.c:415:64: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zarith.c:415:64 in +psi/zusparam.c:440:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:440:11 in +psi/zusparam.c:440:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:440:11 in +base/gsalloc.c:1068:20: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsalloc.c:1068:20 in +psi/zusparam.c:202:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:202:11 in +psi/zusparam.c:202:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:202:11 in +psi/idparam.c:378:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/idparam.c:378:9 in +base/gsicc_manage.c:2166:23: runtime error: member access within null pointer of type 'cmm_profile_t' (aka 'struct cmm_profile_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_manage.c:2166:23 in +base/gsicc_cache.c:465:41: runtime error: left shift of 229 by 56 places cannot be represented in type 'int64_t' (aka 'long') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_cache.c:465:41 in +base/sfxstdio.c:199:21: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:199:21 in +devices/vector/gdevpdf.c:879:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdf.c:879:36 in +base/gsicc_cache.c:464:39: runtime error: left shift of 184 by 56 places cannot be represented in type 'int64_t' (aka 'long') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_cache.c:464:39 in +base/gshtscr.c:353:48: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:353:48 in +base/gshtscr.c:387:27: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:387:27 in +base/gshtscr.c:392:57: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:392:57 in +base/gsht.c:1051:26: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsht.c:1051:26 in +base/gsht.c:1052:27: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsht.c:1052:27 in +base/sjpege.c:37:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:37:9 in +base/sjpege.c:37:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:37:9 in +base/sjpege.c:52:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:52:9 in +base/sjpege.c:52:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:52:9 in +base/sjpege.c:72:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:72:9 in +base/sjpege.c:72:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:72:9 in +base/sjpegc.c:143:28: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpegc.c:143:28 in +base/sjpegc.c:143:28: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpegc.c:143:28 in +psi/ireclaim.c:110:36: runtime error: member access within null pointer of type 'i_ctx_t' (aka 'struct gs_context_state_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ireclaim.c:110:36 in +psi/igc.c:268:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:268:9 in +psi/zbfont.c:44:40: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:44:40 in +psi/igc.c:306:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:306:9 in +psi/zbfont.c:49:44: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:49:44 in +psi/isave.c:591:37: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/isave.c:591:37 in +psi/igc.c:1150:9: runtime error: member access within null pointer of type 'clump_head_t' (aka 'struct clump_head_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:1150:9 in +psi/igc.c:430:5: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:430:5 in +psi/igc.c:451:5: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:451:5 in +psi/zbfont.c:55:33: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:55:33 in +psi/igc.c:478:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:478:9 in +psi/igc.c:495:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:495:9 in +base/sfxstdio.c:73:48: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:73:48 in +base/sfxstdio.c:167:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:167:25 in +psi/zmedia2.c:56:34: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zmedia2.c:56:34 in +psi/zmedia2.c:240:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zmedia2.c:240:36 in +base/gsdparam.c:2476:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:2476:36 in +base/gsdparam.c:2476:68: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:2476:68 in +psi/zarith.c:460:41: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zarith.c:460:41 in +base/gxpath.c:978:12: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:978:12 in +base/gsfcmap.c:299:5: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsfcmap.c:299:5 in +pdf/pdf_font11.c:452:5: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_font11.c:452:5 in +devices/vector/gdevpsft.c:802:24: runtime error: member access within null pointer of type 'ttf_OS_2_t' (aka 'struct ttf_OS_2_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpsft.c:802:24 in +devices/vector/gdevpdtd.c:216:27: runtime error: member access within null pointer of type 'pdf_font_descriptor_t' (aka 'struct pdf_font_descriptor_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:216:27 in +devices/vector/gdevpdtd.c:216:27: runtime error: member access within null pointer of type 'pdf_font_descriptor_common_t' (aka 'struct pdf_font_descriptor_common_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:216:27 in +devices/vector/gdevpdfu.c:696:16: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdfu.c:696:16 in +base/gxccache.c:99:13: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxccache.c:99:13 in +base/ttfinp.c:57:27: runtime error: left shift of 247 by 24 places cannot be represented in type 'int32' (aka 'int') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfinp.c:57:27 in +base/ttfmain.c:275:36: runtime error: member access within null pointer of type 'sfnt_FontHeader' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:275:36 in +base/ttfmain.c:277:36: runtime error: member access within null pointer of type 'sfnt_FontHeader' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:277:36 in +base/ttfmain.c:281:36: runtime error: member access within null pointer of type 'sfnt_FontHeader' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:281:36 in +base/ttfmain.c:283:36: runtime error: member access within null pointer of type 'sfnt_maxProfileTable' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:283:36 in +base/ttfmain.c:285:36: runtime error: member access within null pointer of type 'sfnt_maxProfileTable' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:285:36 in +base/ttfmain.c:289:36: runtime error: member access within null pointer of type 'sfnt_MetricsHeader' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:289:36 in +base/ttfmain.c:50:23: runtime error: left shift of negative value -365 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:50:23 in +base/ttinterp.c:5076:14: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttinterp.c:5076:14 in +base/ttinterp.c:5076:14: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttinterp.c:5076:14 in +base/gxccman.c:451:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxccman.c:451:9 in +base/sjpegd.c:38:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpegd.c:38:9 in +base/sjpegd.c:38:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpegd.c:38:9 in +base/sjpege.c:94:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:94:9 in +base/sjpege.c:94:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:94:9 in +base/gsdparam.c:1710:33: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:1710:33 in +base/gsdparam.c:1710:61: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:1710:61 in +base/gxccman.c:798:27: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxccman.c:798:27 in +================================================================= +==1==ERROR: AddressSanitizer: heap-use-after-free on address 0x61c000000910 at pc 0x0000010545db bp 0x7ffcc31277a0 sp 0x7ffcc3127798 +READ of size 8 at 0x61c000000910 thread T0 + #0 0x10545da in gx_device_forward_finalize /src/ghostpdl/./base/gdevnfwd.c:33:5 + #1 0xbfc60b in gx_device_finalize /src/ghostpdl/./base/gsdevice.c:81:9 + #2 0x12e985e in restore_finalize /src/ghostpdl/./psi/isave.c:954:13 + #3 0x12e91a0 in alloc_restore_step_in /src/ghostpdl/./psi/isave.c:759:9 + #4 0x1245ad9 in dorestore /src/ghostpdl/./psi/zvmem.c:193:16 + #5 0x118f937 in z2restore /src/ghostpdl/./psi/zdevice2.c:373:12 + #6 0x11b91a9 in interp /src/ghostpdl/./psi/interp.c:1725:40 + #7 0x11b2256 in gs_call_interp /src/ghostpdl/./psi/interp.c:522:12 + #8 0x11b19f7 in gs_interpret /src/ghostpdl/./psi/interp.c:479:12 + #9 0x51e8a6 in gs_main_interpret /src/ghostpdl/./psi/imain.c:257:12 + #10 0x51ebee in gs_main_run_string_end /src/ghostpdl/./psi/imain.c:945:12 + #11 0x51ebee in __covrec_354B81557B0956Cu /src/ghostpdl/./psi/imain.c:889:12 + #12 0x519dfb in __covrec_218C571E84FB63F4 /src/ghostpdl/./psi/imain.c:870:12 + #13 0x15a94e6 in run_string /src/ghostpdl/./psi/imainarg.c:1169:12 + #14 0x15a4c81 in swproc /src/ghostpdl/./psi/imainarg.c:367:20 + #15 0x15a0e05 in gs_main_init_with_args01 /src/ghostpdl/./psi/imainarg.c:224:24 + #16 0x15a9251 in gs_main_init_with_args /src/ghostpdl/./psi/imainarg.c:289:16 + #17 0x119b038 in psapi_init_with_args /src/ghostpdl/./psi/psapi.c:281:12 + #18 0x51580c in gsapi_init_with_args /src/ghostpdl/./psi/iapi.c:253:12 + #19 0x4e5aa2 in __covrec_673F6603978DF04Bu /src/gs_fuzzlib.h:130:8 + #20 0x4e5e7b in LLVMFuzzerTestOneInput /src/gs_device_pdfwrite_fuzzer.cc:26:2 + #21 0x4f432c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #22 0x4e6285 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #23 0x4eaf31 in __covrec_6990238F142DEEC4u /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #24 0x4e5f52 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #25 0x7fd06e66d082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #26 0x426d0d in _start (/out/gs_device_pdfwrite_fuzzer+0x426d0d) + +0x61c000000910 is located 144 bytes inside of 1808-byte region [0x61c000000880,0x61c000000f90) +freed by thread T0 here: + #0 0x4a7ea2 in free /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:52:3 + #1 0xc63253 in gs_heap_free_object /src/ghostpdl/./base/gsmalloc.c:366:5 + +previously allocated by thread T0 here: + #0 0x4a8146 in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0xc623d0 in gs_heap_alloc_bytes /src/ghostpdl/./base/gsmalloc.c:192:34 + +SUMMARY: AddressSanitizer: heap-use-after-free /src/ghostpdl/./base/gdevnfwd.c:33:5 in gx_device_forward_finalize +Shadow bytes around the buggy address: + 0x0c387fff80d0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c387fff80e0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c387fff80f0: fd fd fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c387fff8100: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c387fff8110: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd +=>0x0c387fff8120: fd fd[fd]fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c387fff8130: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c387fff8140: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c387fff8150: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c387fff8160: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c387fff8170: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-727.txt b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-727.txt new file mode 100644 index 000000000..dd16164ee --- /dev/null +++ b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-727.txt @@ -0,0 +1,401 @@ +INFO: Seed: 2744880927 +/out/gs_device_pdfwrite_fuzzer: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +base/gsiorom.c:94:14: runtime error: left shift of 128 by 24 places cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:94:14 in +psi/imainarg.c:684:43: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/imainarg.c:684:43 in +base/gxpath.c:114:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:114:23 in +base/gxpath.c:115:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:115:23 in +base/gxpath.c:116:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:116:23 in +base/gxpath.c:117:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:117:23 in +base/gxcpath.c:530:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:530:29 in +base/gxcpath.c:531:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:531:29 in +base/gxcpath.c:532:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:532:29 in +base/gxcpath.c:533:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:533:29 in +base/gspath.c:604:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:604:17 in +base/gspath.c:605:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:605:17 in +base/gspath.c:606:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:606:17 in +base/gspath.c:607:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:607:17 in +base/gxpcmap.c:839:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpcmap.c:839:9 in +base/gxccman.c:139:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxccman.c:139:9 in +base/gsiorom.c:122:21: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:122:21 in +base/gsiorom.c:201:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:201:25 in +psi/iscannum.c:103:58: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:103:58 in +psi/iscannum.c:103:73: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:103:73 in +psi/iscannum.c:104:58: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:104:58 in +psi/iscannum.c:104:73: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:104:73 in +psi/interp.c:1123:13: runtime error: member access within null pointer of type 'ref' (aka 'struct ref_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1123:13 in +psi/interp.c:1123:13: runtime error: member access within null pointer of type 'struct tas_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1123:13 in +psi/interp.c:1401:21: runtime error: member access within null pointer of type 'ref' (aka 'struct ref_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1401:21 in +psi/interp.c:1401:21: runtime error: member access within null pointer of type 'struct tas_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1401:21 in +psi/ziodevsc.c:153:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:153:25 in +psi/ziodevsc.c:230:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:230:25 in +psi/ziodevsc.c:301:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:301:25 in +psi/iscannum.c:278:13: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:278:13 in +psi/zarith.c:415:64: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zarith.c:415:64 in +psi/zusparam.c:440:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:440:11 in +psi/zusparam.c:440:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:440:11 in +base/gsalloc.c:1068:20: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsalloc.c:1068:20 in +psi/zusparam.c:202:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:202:11 in +psi/zusparam.c:202:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:202:11 in +psi/idparam.c:378:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/idparam.c:378:9 in +base/gsicc_manage.c:2166:23: runtime error: member access within null pointer of type 'cmm_profile_t' (aka 'struct cmm_profile_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_manage.c:2166:23 in +base/gsicc_cache.c:465:41: runtime error: left shift of 229 by 56 places cannot be represented in type 'int64_t' (aka 'long') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_cache.c:465:41 in +base/sfxstdio.c:199:21: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:199:21 in +devices/vector/gdevpdf.c:879:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdf.c:879:36 in +base/gsicc_cache.c:464:39: runtime error: left shift of 184 by 56 places cannot be represented in type 'int64_t' (aka 'long') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_cache.c:464:39 in +base/gshtscr.c:353:48: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:353:48 in +base/gshtscr.c:387:27: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:387:27 in +base/gshtscr.c:392:57: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:392:57 in +base/gsht.c:1051:26: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsht.c:1051:26 in +base/gsht.c:1052:27: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsht.c:1052:27 in +base/sjpege.c:37:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:37:9 in +base/sjpege.c:37:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:37:9 in +base/sjpege.c:52:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:52:9 in +base/sjpege.c:52:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:52:9 in +base/sjpege.c:72:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:72:9 in +base/sjpege.c:72:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:72:9 in +base/sjpegc.c:143:28: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpegc.c:143:28 in +base/sjpegc.c:143:28: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpegc.c:143:28 in +psi/ireclaim.c:110:36: runtime error: member access within null pointer of type 'i_ctx_t' (aka 'struct gs_context_state_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ireclaim.c:110:36 in +psi/igc.c:268:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:268:9 in +psi/zbfont.c:44:40: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:44:40 in +psi/igc.c:306:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:306:9 in +psi/zbfont.c:49:44: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:49:44 in +psi/isave.c:591:37: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/isave.c:591:37 in +psi/igc.c:1150:9: runtime error: member access within null pointer of type 'clump_head_t' (aka 'struct clump_head_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:1150:9 in +psi/igc.c:430:5: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:430:5 in +psi/igc.c:451:5: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:451:5 in +psi/zbfont.c:55:33: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:55:33 in +psi/igc.c:478:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:478:9 in +psi/igc.c:495:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:495:9 in +base/sfxstdio.c:73:48: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:73:48 in +base/sfxstdio.c:167:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:167:25 in +psi/zmedia2.c:56:34: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zmedia2.c:56:34 in +psi/zmedia2.c:240:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zmedia2.c:240:36 in +base/gsdparam.c:2476:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:2476:36 in +base/gsdparam.c:2476:68: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:2476:68 in +psi/zarith.c:460:41: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zarith.c:460:41 in +base/seexec.c:72:20: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/seexec.c:72:20 in +base/gscrypt1.c:52:9: runtime error: signed integer overflow: 55898 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gscrypt1.c:52:9 in +pdf/pdf_font1.c:680:13: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_font1.c:680:13 in +base/wrfont.c:47:61: runtime error: signed integer overflow: 55794 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/wrfont.c:47:61 in +pdf/pdf_fapi.c:666:30: runtime error: signed integer overflow: 49136 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_fapi.c:666:30 in +pdf/pdf_font1.c:868:5: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_font1.c:868:5 in +base/gstype1.c:403:33: runtime error: signed integer overflow: 49136 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gstype1.c:403:33 in +base/gsfont.c:924:31: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsfont.c:924:31 in +base/gxtype1.c:386:13: runtime error: signed integer overflow: 49136 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:386:13 in +base/gxtype1.c:407:17: runtime error: left shift of negative value -45 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:407:17 in +base/gxtype1.c:409:17: runtime error: left shift of negative value -249 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:409:17 in +base/gxtype1.c:530:13: runtime error: signed integer overflow: 42785 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:530:13 in +base/gxtype1.c:413:17: runtime error: signed integer overflow: 57489 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:413:17 in +base/gxtype1.c:415:26: runtime error: left shift of negative value -1141 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:415:26 in +devices/vector/gdevpdtd.c:216:27: runtime error: member access within null pointer of type 'pdf_font_descriptor_t' (aka 'struct pdf_font_descriptor_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:216:27 in +devices/vector/gdevpdtd.c:216:27: runtime error: member access within null pointer of type 'pdf_font_descriptor_common_t' (aka 'struct pdf_font_descriptor_common_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:216:27 in +base/gscrypt1.c:52:9: runtime error: signed integer overflow: 2147462265 + 22719 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gscrypt1.c:52:9 in +base/gscoord.c:607:32: runtime error: shift exponent 42 is too large for 32-bit type 'fixed' (aka 'int') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gscoord.c:607:32 in +base/gstype1.c:582:17: runtime error: left shift of negative value -99 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gstype1.c:582:17 in +base/gstype1.c:584:17: runtime error: left shift of negative value -202 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gstype1.c:584:17 in +base/gstype1.c:350:17: runtime error: signed integer overflow: 42785 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gstype1.c:350:17 in +base/gsfcmap.c:299:5: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsfcmap.c:299:5 in +pdf/pdf_font1C.c:2198:5: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_font1C.c:2198:5 in +pdf/pdf_font1C.c:2125:5: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_font1C.c:2125:5 in +pdf/pdf_font1C.c:2041:5: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_font1C.c:2041:5 in +pdf/pdf_font1C.c:2451:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_font1C.c:2451:17 in +devices/vector/gdevpdfu.c:696:16: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdfu.c:696:16 in +base/gxchar.c:454:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxchar.c:454:23 in +base/gxccache.c:99:13: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxccache.c:99:13 in +base/gxchar.c:1588:27: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxchar.c:1588:27 in +base/gxchar.c:1589:27: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxchar.c:1589:27 in +base/gxchar.c:627:24: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxchar.c:627:24 in +base/gxchar.c:628:24: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxchar.c:628:24 in +base/gsimage.c:553:45: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsimage.c:553:45 in +base/sjpege.c:94:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:94:9 in +base/sjpege.c:94:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:94:9 in +base/sjpege.c:105:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:105:9 in +base/sjpege.c:105:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:105:9 in +obj/jchuff.c:335:16: runtime error: left shift of 68849393633067008 by 8 places cannot be represented in type 'INT32' (aka 'long') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior obj/jchuff.c:335:16 in +obj/jfdctint.c:198:65: runtime error: left shift of negative value -514 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior obj/jfdctint.c:198:65 in +obj/jfdctint.c:199:45: runtime error: left shift of negative value -255 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior obj/jfdctint.c:199:45 in +pdf/pdf_font11.c:452:5: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_font11.c:452:5 in +base/gxpath.c:978:12: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:978:12 in +base/gxpflat.c:272:22: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:272:22 in +devices/vector/gdevpsft.c:802:24: runtime error: member access within null pointer of type 'ttf_OS_2_t' (aka 'struct ttf_OS_2_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpsft.c:802:24 in +base/ttfinp.c:57:27: runtime error: left shift of 173 by 24 places cannot be represented in type 'int32' (aka 'int') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfinp.c:57:27 in +base/ttfmain.c:275:36: runtime error: member access within null pointer of type 'sfnt_FontHeader' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:275:36 in +base/ttfmain.c:277:36: runtime error: member access within null pointer of type 'sfnt_FontHeader' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:277:36 in +base/ttfmain.c:281:36: runtime error: member access within null pointer of type 'sfnt_FontHeader' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:281:36 in +base/ttfmain.c:283:36: runtime error: member access within null pointer of type 'sfnt_maxProfileTable' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:283:36 in +base/ttfmain.c:285:36: runtime error: member access within null pointer of type 'sfnt_maxProfileTable' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:285:36 in +base/ttfmain.c:289:36: runtime error: member access within null pointer of type 'sfnt_MetricsHeader' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:289:36 in +base/ttfmain.c:50:23: runtime error: left shift of negative value -25 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:50:23 in +base/ttinterp.c:5076:14: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttinterp.c:5076:14 in +base/ttinterp.c:5076:14: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttinterp.c:5076:14 in +base/ttfmain.c:1011:95: runtime error: left shift of negative value -1600 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:1011:95 in +base/ttfmain.c:1012:95: runtime error: left shift of negative value -1600 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:1012:95 in +base/gsdparam.c:1710:33: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:1710:33 in +base/gsdparam.c:1710:61: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:1710:61 in +pdf/pdf_int.c:299:34: runtime error: signed integer overflow: 595199996 * 10 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_int.c:299:34 in +base/scfe.c:511:13: runtime error: left shift of 1 by 31 places cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/scfe.c:511:13 in +base/scfe.c:511:13: runtime error: left shift of 1 by 31 places cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/scfe.c:511:13 in +base/scfe.c:526:13: runtime error: left shift of 91 by 27 places cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/scfe.c:526:13 in +base/scfe.c:527:13: runtime error: left shift of 3 by 31 places cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/scfe.c:527:13 in +base/scfe.c:519:9: runtime error: left shift of 1 by 31 places cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/scfe.c:519:9 in +base/scfe.c:499:17: runtime error: left shift of 1 by 31 places cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/scfe.c:499:17 in +base/scfe.c:99:5: runtime error: left shift of 55 by 31 places cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/scfe.c:99:5 in +base/scfe.c:532:13: runtime error: left shift of 19 by 30 places cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/scfe.c:532:13 in +base/scfe.c:531:13: runtime error: left shift of 3 by 30 places cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/scfe.c:531:13 in +gsapi_init_with_args: error -25 +devices/vector/gdevpdtd.c:416:49: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:416:49 in +devices/vector/gdevpdtd.c:417:49: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:417:49 in +devices/vector/gdevpdtd.c:499:27: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:499:27 in +devices/vector/gdevpsfx.c:69:9: runtime error: signed integer overflow: 49136 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpsfx.c:69:9 in +devices/vector/gdevpsfx.c:166:19: runtime error: index -1 out of bounds for type 'fixed[48]' (aka 'int[48]') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpsfx.c:166:19 in +devices/vector/gdevpsfx.c:183:9: runtime error: signed integer overflow: 62183 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpsfx.c:183:9 in +devices/vector/gdevpsfx.c:493:23: runtime error: index -1 out of bounds for type 'fixed[48]' (aka 'int[48]') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpsfx.c:493:23 in +devices/vector/gdevpsfx.c:189:17: runtime error: left shift of negative value -147 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpsfx.c:189:17 in +devices/vector/gdevpsfx.c:569:23: runtime error: index -1 out of bounds for type 'fixed[48]' (aka 'int[48]') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpsfx.c:569:23 in +devices/vector/gdevpsfx.c:254:13: runtime error: signed integer overflow: 42785 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpsfx.c:254:13 in +devices/vector/gdevpsfx.c:187:17: runtime error: left shift of negative value -33 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpsfx.c:187:17 in +devices/vector/gdevpsft.c:495:22: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpsft.c:495:22 in +devices/vector/gdevpdtb.c:169:60: runtime error: left shift of negative value -8 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtb.c:169:60 in +devices/vector/gdevpdtf.c:981:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtf.c:981:9 in +devices/vector/gdevpdf.c:1581:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdf.c:1581:23 in +devices/vector/gdevpdf.c:1582:39: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdf.c:1582:39 in +devices/vector/gdevpdf.c:1582:37: runtime error: signed integer overflow: 512 - -9223372036854775808 cannot be represented in type 'long' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdf.c:1582:37 in +devices/vector/gdevpdf.c:1582:21: runtime error: signed integer overflow: -9223372036854596633 + -9223372036854775296 cannot be represented in type 'long' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdf.c:1582:21 in +devices/vector/gdevpdf.c:1607:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdf.c:1607:23 in +devices/vector/gdevpdf.c:1608:39: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdf.c:1608:39 in +devices/vector/gdevpdf.c:1608:37: runtime error: signed integer overflow: 512 - -9223372036854775808 cannot be represented in type 'long' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdf.c:1608:37 in +devices/vector/gdevpdf.c:1608:21: runtime error: signed integer overflow: -9223372036854596633 + -9223372036854775296 cannot be represented in type 'long' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdf.c:1608:21 in +base/gxccman.c:798:27: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxccman.c:798:27 in +base/gxccman.c:451:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxccman.c:451:9 in +psi/zfont.c:510:18: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zfont.c:510:18 in +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x61100001ed58 at pc 0x000000a15687 bp 0x7ffe0f558e70 sp 0x7ffe0f558e68 +READ of size 8 at 0x61100001ed58 thread T0 + #0 0xa15686 in gp_fflush /src/ghostpdl/./base/gp.h:296:16 + #1 0xa15686 in s_file_write_flush /src/ghostpdl/./base/sfxstdio.c:232:5 + #2 0x7150c1 in sclose /src/ghostpdl/./base/stream.c:445:18 + #3 0x712236 in __covrec_E41827ADD4171695u /src/ghostpdl/./base/stream.c:91:9 + #4 0x12e985e in restore_finalize /src/ghostpdl/./psi/isave.c:954:13 + #5 0x12ea5dc in alloc_restore_all /src/ghostpdl/./psi/isave.c:901:13 + #6 0x5221c1 in __covrec_2501B5FECECCD151u /src/ghostpdl/./psi/imain.c:1391:20 + #7 0x52362e in gs_to_exit_with_code /src/ghostpdl/./psi/imain.c:1434:12 + #8 0x52367e in gs_to_exit /src/ghostpdl/./psi/imain.c:1439:12 + #9 0x119c0d8 in psapi_exit /src/ghostpdl/./psi/psapi.c:517:5 + #10 0x515aef in gsapi_exit /src/ghostpdl/./psi/iapi.c:440:12 + #11 0x4e5ad3 in __covrec_673F6603978DF04Bu /src/gs_fuzzlib.h:135:8 + #12 0x4e5e7b in LLVMFuzzerTestOneInput /src/gs_device_pdfwrite_fuzzer.cc:26:2 + #13 0x4f432c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #14 0x4e6285 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #15 0x4eaf31 in __covrec_6990238F142DEEC4u /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #16 0x4e5f52 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #17 0x7f254148a082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #18 0x426d0d in _start (/out/gs_device_pdfwrite_fuzzer+0x426d0d) + +0x61100001ed58 is located 224 bytes to the right of 248-byte region [0x61100001eb80,0x61100001ec78) +allocated by thread T0 here: + #0 0x4a8146 in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0xc623d0 in gs_heap_alloc_bytes /src/ghostpdl/./base/gsmalloc.c:192:34 + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ghostpdl/./base/gp.h:296:16 in gp_fflush +Shadow bytes around the buggy address: + 0x0c227fffbd50: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c227fffbd60: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c227fffbd70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c227fffbd80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 fa + 0x0c227fffbd90: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +=>0x0c227fffbda0: fa fa fa fa fa fa fa fa fa fa fa[fa]fa fa fa fa + 0x0c227fffbdb0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c227fffbdc0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c227fffbdd0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c227fffbde0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c227fffbdf0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-744.txt b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-744.txt new file mode 100644 index 000000000..fd75b7d7a --- /dev/null +++ b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-744.txt @@ -0,0 +1,263 @@ +INFO: Seed: 2754976169 +/out/gs_device_pdfwrite_fuzzer: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +base/gsiorom.c:94:14: runtime error: left shift of 128 by 24 places cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:94:14 in +psi/imainarg.c:684:43: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/imainarg.c:684:43 in +base/gxpath.c:114:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:114:23 in +base/gxpath.c:115:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:115:23 in +base/gxpath.c:116:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:116:23 in +base/gxpath.c:117:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:117:23 in +base/gxcpath.c:530:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:530:29 in +base/gxcpath.c:531:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:531:29 in +base/gxcpath.c:532:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:532:29 in +base/gxcpath.c:533:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:533:29 in +base/gspath.c:604:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:604:17 in +base/gspath.c:605:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:605:17 in +base/gspath.c:606:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:606:17 in +base/gspath.c:607:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:607:17 in +base/gxpcmap.c:839:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpcmap.c:839:9 in +base/gxccman.c:139:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxccman.c:139:9 in +base/gsiorom.c:122:21: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:122:21 in +base/gsiorom.c:201:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:201:25 in +psi/iscannum.c:103:58: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:103:58 in +psi/iscannum.c:103:73: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:103:73 in +psi/iscannum.c:104:58: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:104:58 in +psi/iscannum.c:104:73: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:104:73 in +psi/interp.c:1123:13: runtime error: member access within null pointer of type 'ref' (aka 'struct ref_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1123:13 in +psi/interp.c:1123:13: runtime error: member access within null pointer of type 'struct tas_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1123:13 in +psi/interp.c:1401:21: runtime error: member access within null pointer of type 'ref' (aka 'struct ref_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1401:21 in +psi/interp.c:1401:21: runtime error: member access within null pointer of type 'struct tas_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1401:21 in +psi/ziodevsc.c:153:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:153:25 in +psi/ziodevsc.c:230:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:230:25 in +psi/ziodevsc.c:301:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:301:25 in +psi/iscannum.c:278:13: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:278:13 in +psi/zarith.c:415:64: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zarith.c:415:64 in +psi/zusparam.c:440:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:440:11 in +psi/zusparam.c:440:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:440:11 in +base/gsalloc.c:1068:20: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsalloc.c:1068:20 in +psi/zusparam.c:202:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:202:11 in +psi/zusparam.c:202:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:202:11 in +psi/idparam.c:378:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/idparam.c:378:9 in +base/gsicc_manage.c:2166:23: runtime error: member access within null pointer of type 'cmm_profile_t' (aka 'struct cmm_profile_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_manage.c:2166:23 in +base/gsicc_cache.c:465:41: runtime error: left shift of 229 by 56 places cannot be represented in type 'int64_t' (aka 'long') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_cache.c:465:41 in +base/sfxstdio.c:199:21: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:199:21 in +devices/vector/gdevpdf.c:879:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdf.c:879:36 in +base/gsicc_cache.c:464:39: runtime error: left shift of 184 by 56 places cannot be represented in type 'int64_t' (aka 'long') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_cache.c:464:39 in +base/gshtscr.c:353:48: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:353:48 in +base/gshtscr.c:387:27: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:387:27 in +base/gshtscr.c:392:57: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:392:57 in +base/gsht.c:1051:26: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsht.c:1051:26 in +base/gsht.c:1052:27: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsht.c:1052:27 in +base/sjpege.c:37:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:37:9 in +base/sjpege.c:37:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:37:9 in +base/sjpege.c:52:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:52:9 in +base/sjpege.c:52:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:52:9 in +base/sjpege.c:72:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:72:9 in +base/sjpege.c:72:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:72:9 in +base/sjpegc.c:143:28: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpegc.c:143:28 in +base/sjpegc.c:143:28: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpegc.c:143:28 in +psi/ireclaim.c:110:36: runtime error: member access within null pointer of type 'i_ctx_t' (aka 'struct gs_context_state_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ireclaim.c:110:36 in +psi/igc.c:268:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:268:9 in +psi/zbfont.c:44:40: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:44:40 in +psi/igc.c:306:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:306:9 in +psi/zbfont.c:49:44: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:49:44 in +psi/isave.c:591:37: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/isave.c:591:37 in +psi/igc.c:1150:9: runtime error: member access within null pointer of type 'clump_head_t' (aka 'struct clump_head_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:1150:9 in +psi/igc.c:430:5: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:430:5 in +psi/igc.c:451:5: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:451:5 in +psi/zbfont.c:55:33: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:55:33 in +psi/igc.c:478:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:478:9 in +psi/igc.c:495:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:495:9 in +base/sfxstdio.c:73:48: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:73:48 in +base/sfxstdio.c:167:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:167:25 in +psi/zmedia2.c:56:34: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zmedia2.c:56:34 in +psi/zmedia2.c:240:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zmedia2.c:240:36 in +base/gsdparam.c:2476:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:2476:36 in +base/gsdparam.c:2476:68: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:2476:68 in +psi/zarith.c:460:41: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zarith.c:460:41 in +pdf/pdf_font1C.c:2198:5: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_font1C.c:2198:5 in +pdf/pdf_font1C.c:2125:5: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_font1C.c:2125:5 in +pdf/pdf_font1C.c:2784:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_font1C.c:2784:17 in +base/gstype2.c:190:17: runtime error: left shift of negative value -231 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gstype2.c:190:17 in +base/gstype2.c:188:17: runtime error: left shift of negative value -19 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gstype2.c:188:17 in +base/gsfont.c:924:31: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsfont.c:924:31 in +base/gxtype1.c:409:17: runtime error: left shift of negative value -231 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:409:17 in +base/gxtype1.c:407:17: runtime error: left shift of negative value -107 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:407:17 in +================================================================= +==1==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7ff737db4460 at pc 0x000000c31c81 bp 0x7ffc25a6a160 sp 0x7ffc25a6a158 +WRITE of size 8 at 0x7ff737db4460 thread T0 + #0 0xc31c80 in gs_glyph_data_from_bytes /src/ghostpdl/./base/gsgdata.c:127:5 + #1 0x14e1cfd in pdfi_cff_subr_data /src/ghostpdl/./pdf/pdf_font1C.c:176:13 + #2 0x18c8407 in gs_type1_piece_codes /src/ghostpdl/./base/gxtype1.c:462:20 + #3 0x18c96fd in gs_type1_glyph_pieces /src/ghostpdl/./base/gxtype1.c:583:16 + #4 0x18c96fd in gs_type1_glyph_info /src/ghostpdl/./base/gxtype1.c:631:16 + #5 0x14d9f98 in pdfi_cff_glyph_info /src/ghostpdl/./pdf/pdf_font1C.c:397:16 + #6 0xa9c362 in psf_add_subset_pieces /src/ghostpdl/./devices/vector/gdevpsfu.c:129:20 + #7 0xa7a852 in gs_copy_glyph_options /src/ghostpdl/./devices/gxfcopy.c:2397:12 + #8 0xa7bd9f in gs_copy_glyph /src/ghostpdl/./devices/gxfcopy.c:2379:12 + #9 0xa7bd9f in gs_copy_font_complete /src/ghostpdl/./devices/gxfcopy.c:2511:20 + #10 0x19ebd54 in pdf_base_font_alloc /src/ghostpdl/./devices/vector/gdevpdtb.c:322:16 + #11 0xa1afb3 in pdf_font_descriptor_alloc /src/ghostpdl/./devices/vector/gdevpdtd.c:202:16 + #12 0xa4e34d in pdf_make_font_resource /src/ghostpdl/./devices/vector/gdevpdtt.c:1607:17 + #13 0xa53648 in pdf_obtain_font_resource_encoded /src/ghostpdl/./devices/vector/gdevpdtt.c:2141:24 + #14 0xa52189 in pdf_obtain_font_resource /src/ghostpdl/./devices/vector/gdevpdtt.c:2247:12 + #15 0x19fd3ed in pdf_process_string /src/ghostpdl/./devices/vector/gdevpdte.c:837:12 + #16 0x19fd013 in pdf_process_string_aux /src/ghostpdl/./devices/vector/gdevpdte.c:81:12 + #17 0x1a0ff26 in process_plain_text /src/ghostpdl/./devices/vector/gdevpdte.c:1841:16 + #18 0xa660ea in pdf_text_process /src/ghostpdl/./devices/vector/gdevpdtt.c:3752:16 + #19 0xcb091a in gs_text_process /src/ghostpdl/./base/gstext.c:670:12 + #20 0x153de59 in pdfi_show_simple /src/ghostpdl/./pdf/pdf_text.c:447:16 + #21 0x1534add in pdfi_show_Tr_preserve /src/ghostpdl/./pdf/pdf_text.c:791:16 + #22 0x1534add in pdfi_show /src/ghostpdl/./pdf/pdf_text.c:842:16 + #23 0x1536db2 in pdfi_Tj /src/ghostpdl/./pdf/pdf_text.c:1081:12 + #24 0x13f880b in pdfi_interpret_stream_operator /src/ghostpdl/./pdf/pdf_int.c:1646:24 + #25 0x13f6c91 in pdfi_interpret_content_stream /src/ghostpdl/./pdf/pdf_int.c:2126:24 + #26 0x1469e7e in pdfi_process_page_contents /src/ghostpdl/./pdf/pdf_page.c:127:20 + #27 0x1469e7e in pdfi_process_one_page /src/ghostpdl/./pdf/pdf_page.c:152:12 + #28 0x1469e7e in pdfi_page_render /src/ghostpdl/./pdf/pdf_page.c:953:12 + #29 0x13a629d in zPDFdrawpage /src/ghostpdl/./psi/zpdfops.c:1157:24 + #30 0x11b91a9 in interp /src/ghostpdl/./psi/interp.c:1725:40 + #31 0x11b2256 in gs_call_interp /src/ghostpdl/./psi/interp.c:522:12 + #32 0x11b19f7 in gs_interpret /src/ghostpdl/./psi/interp.c:479:12 + #33 0x51e8a6 in gs_main_interpret /src/ghostpdl/./psi/imain.c:257:12 + #34 0x51ebee in gs_main_run_string_end /src/ghostpdl/./psi/imain.c:945:12 + #35 0x51ebee in __covrec_354B81557B0956Cu /src/ghostpdl/./psi/imain.c:889:12 + #36 0x519dfb in __covrec_218C571E84FB63F4 /src/ghostpdl/./psi/imain.c:870:12 + #37 0x15a94e6 in run_string /src/ghostpdl/./psi/imainarg.c:1169:12 + #38 0x15a4c81 in swproc /src/ghostpdl/./psi/imainarg.c:367:20 + #39 0x15a0e05 in gs_main_init_with_args01 /src/ghostpdl/./psi/imainarg.c:224:24 + #40 0x15a9251 in gs_main_init_with_args /src/ghostpdl/./psi/imainarg.c:289:16 + #41 0x119b038 in psapi_init_with_args /src/ghostpdl/./psi/psapi.c:281:12 + #42 0x51580c in gsapi_init_with_args /src/ghostpdl/./psi/iapi.c:253:12 + #43 0x4e5aa2 in __covrec_673F6603978DF04Bu /src/gs_fuzzlib.h:130:8 + #44 0x4e5e7b in LLVMFuzzerTestOneInput /src/gs_device_pdfwrite_fuzzer.cc:26:2 + #45 0x4f432c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #46 0x4e6285 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #47 0x4eaf31 in __covrec_6990238F142DEEC4u /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #48 0x4e5f52 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #49 0x7ff73a065082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #50 0x426d0d in _start (/out/gs_device_pdfwrite_fuzzer+0x426d0d) + +Address 0x7ff737db4460 is located in stack of thread T0 at offset 1120 in frame + #0 0x18c75cf in gs_type1_piece_codes /src/ghostpdl/./base/gxtype1.c:351 + + This frame has 2 object(s): + [32, 224) 'cstack' (line 367) + [288, 1080) 'ipstack' (line 369) <== Memory access at offset 1120 overflows this variable +HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork + (longjmp and C++ exceptions *are* supported) +SUMMARY: AddressSanitizer: stack-buffer-overflow /src/ghostpdl/./base/gsgdata.c:127:5 in gs_glyph_data_from_bytes +Shadow bytes around the buggy address: + 0x0fff66fae830: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0fff66fae840: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0fff66fae850: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0fff66fae860: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0fff66fae870: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +=>0x0fff66fae880: 00 00 00 00 00 00 00 f3 f3 f3 f3 f3[f3]f3 f3 f3 + 0x0fff66fae890: f3 f3 f3 f3 f3 f3 f3 f3 00 00 00 00 00 00 00 00 + 0x0fff66fae8a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0fff66fae8b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0fff66fae8c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0fff66fae8d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-751.txt b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-751.txt new file mode 100644 index 000000000..787534fed --- /dev/null +++ b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-751.txt @@ -0,0 +1,279 @@ +INFO: Seed: 2757866874 +/out/gs_device_pdfwrite_fuzzer: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +base/gsiorom.c:94:14: runtime error: left shift of 128 by 24 places cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:94:14 in +psi/imainarg.c:684:43: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/imainarg.c:684:43 in +base/gxpath.c:114:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:114:23 in +base/gxpath.c:115:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:115:23 in +base/gxpath.c:116:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:116:23 in +base/gxpath.c:117:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:117:23 in +base/gxcpath.c:530:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:530:29 in +base/gxcpath.c:531:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:531:29 in +base/gxcpath.c:532:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:532:29 in +base/gxcpath.c:533:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:533:29 in +base/gspath.c:604:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:604:17 in +base/gspath.c:605:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:605:17 in +base/gspath.c:606:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:606:17 in +base/gspath.c:607:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:607:17 in +base/gxpcmap.c:839:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpcmap.c:839:9 in +base/gxccman.c:139:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxccman.c:139:9 in +base/gsiorom.c:122:21: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:122:21 in +base/gsiorom.c:201:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:201:25 in +psi/iscannum.c:103:58: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:103:58 in +psi/iscannum.c:103:73: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:103:73 in +psi/iscannum.c:104:58: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:104:58 in +psi/iscannum.c:104:73: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:104:73 in +psi/interp.c:1123:13: runtime error: member access within null pointer of type 'ref' (aka 'struct ref_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1123:13 in +psi/interp.c:1123:13: runtime error: member access within null pointer of type 'struct tas_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1123:13 in +psi/interp.c:1401:21: runtime error: member access within null pointer of type 'ref' (aka 'struct ref_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1401:21 in +psi/interp.c:1401:21: runtime error: member access within null pointer of type 'struct tas_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1401:21 in +psi/ziodevsc.c:153:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:153:25 in +psi/ziodevsc.c:230:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:230:25 in +psi/ziodevsc.c:301:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:301:25 in +psi/iscannum.c:278:13: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:278:13 in +psi/zarith.c:415:64: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zarith.c:415:64 in +psi/zusparam.c:440:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:440:11 in +psi/zusparam.c:440:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:440:11 in +base/gsalloc.c:1068:20: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsalloc.c:1068:20 in +psi/zusparam.c:202:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:202:11 in +psi/zusparam.c:202:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:202:11 in +psi/idparam.c:378:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/idparam.c:378:9 in +base/gsicc_manage.c:2166:23: runtime error: member access within null pointer of type 'cmm_profile_t' (aka 'struct cmm_profile_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_manage.c:2166:23 in +base/gsicc_cache.c:465:41: runtime error: left shift of 229 by 56 places cannot be represented in type 'int64_t' (aka 'long') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_cache.c:465:41 in +base/sfxstdio.c:199:21: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:199:21 in +devices/vector/gdevpdf.c:879:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdf.c:879:36 in +base/gsicc_cache.c:464:39: runtime error: left shift of 184 by 56 places cannot be represented in type 'int64_t' (aka 'long') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_cache.c:464:39 in +base/gshtscr.c:353:48: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:353:48 in +base/gshtscr.c:387:27: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:387:27 in +base/gshtscr.c:392:57: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:392:57 in +base/gsht.c:1051:26: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsht.c:1051:26 in +base/gsht.c:1052:27: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsht.c:1052:27 in +base/sjpege.c:37:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:37:9 in +base/sjpege.c:37:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:37:9 in +base/sjpege.c:52:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:52:9 in +base/sjpege.c:52:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:52:9 in +base/sjpege.c:72:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:72:9 in +base/sjpege.c:72:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:72:9 in +base/sjpegc.c:143:28: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpegc.c:143:28 in +base/sjpegc.c:143:28: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpegc.c:143:28 in +psi/ireclaim.c:110:36: runtime error: member access within null pointer of type 'i_ctx_t' (aka 'struct gs_context_state_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ireclaim.c:110:36 in +psi/igc.c:268:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:268:9 in +psi/zbfont.c:44:40: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:44:40 in +psi/igc.c:306:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:306:9 in +psi/zbfont.c:49:44: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:49:44 in +psi/isave.c:591:37: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/isave.c:591:37 in +psi/igc.c:1150:9: runtime error: member access within null pointer of type 'clump_head_t' (aka 'struct clump_head_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:1150:9 in +psi/igc.c:430:5: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:430:5 in +psi/igc.c:451:5: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:451:5 in +psi/zbfont.c:55:33: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:55:33 in +psi/igc.c:478:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:478:9 in +psi/igc.c:495:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:495:9 in +base/sfxstdio.c:73:48: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:73:48 in +base/sfxstdio.c:167:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:167:25 in +psi/zmedia2.c:56:34: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zmedia2.c:56:34 in +psi/zmedia2.c:240:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zmedia2.c:240:36 in +base/gsdparam.c:2476:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:2476:36 in +base/gsdparam.c:2476:68: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:2476:68 in +psi/zarith.c:460:41: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zarith.c:460:41 in +pdf/pdf_font1C.c:2198:5: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_font1C.c:2198:5 in +pdf/pdf_font1C.c:2125:5: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_font1C.c:2125:5 in +pdf/pdf_font1C.c:2784:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_font1C.c:2784:17 in +base/gsfcmap.c:299:5: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsfcmap.c:299:5 in +base/gstype2.c:190:17: runtime error: left shift of negative value -231 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gstype2.c:190:17 in +base/gstype2.c:188:17: runtime error: left shift of negative value -19 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gstype2.c:188:17 in +base/gsfont.c:924:31: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsfont.c:924:31 in +base/gxtype1.c:409:17: runtime error: left shift of negative value -231 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:409:17 in +base/gxtype1.c:407:17: runtime error: left shift of negative value -107 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:407:17 in +base/gxtype1.c:415:26: runtime error: left shift of 326384394 by 8 places cannot be represented in type 'fixed' (aka 'int') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:415:26 in +base/gxtype1.c:430:26: runtime error: left shift of negative value -1024 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:430:26 in +devices/vector/gdevpdtd.c:216:27: runtime error: member access within null pointer of type 'pdf_font_descriptor_t' (aka 'struct pdf_font_descriptor_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:216:27 in +devices/vector/gdevpdtd.c:216:27: runtime error: member access within null pointer of type 'pdf_font_descriptor_common_t' (aka 'struct pdf_font_descriptor_common_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:216:27 in +devices/vector/gdevpdfu.c:696:16: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdfu.c:696:16 in +base/gsdparam.c:1710:33: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:1710:33 in +base/gsdparam.c:1710:61: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:1710:61 in +psi/zfont.c:510:18: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zfont.c:510:18 in +devices/vector/gdevpdtd.c:416:49: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:416:49 in +devices/vector/gdevpdtd.c:417:49: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:417:49 in +base/gscoord.c:607:32: runtime error: shift exponent 42 is too large for 32-bit type 'fixed' (aka 'int') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gscoord.c:607:32 in +devices/vector/gdevpdtb.c:169:60: runtime error: left shift of negative value -64 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtb.c:169:60 in +devices/vector/gdevpdtf.c:981:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtf.c:981:9 in +devices/vector/gdevpdf.c:1581:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdf.c:1581:23 in +devices/vector/gdevpdf.c:1582:39: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdf.c:1582:39 in +devices/vector/gdevpdf.c:1582:37: runtime error: signed integer overflow: 721 - -9223372036854775808 cannot be represented in type 'long' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdf.c:1582:37 in +devices/vector/gdevpdf.c:1582:21: runtime error: signed integer overflow: -9223372036854758503 + -9223372036854775087 cannot be represented in type 'long' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdf.c:1582:21 in +devices/vector/gdevpdf.c:1607:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdf.c:1607:23 in +devices/vector/gdevpdf.c:1608:39: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdf.c:1608:39 in +devices/vector/gdevpdf.c:1608:37: runtime error: signed integer overflow: 721 - -9223372036854775808 cannot be represented in type 'long' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdf.c:1608:37 in +devices/vector/gdevpdf.c:1608:21: runtime error: signed integer overflow: -9223372036854758503 + -9223372036854775087 cannot be represented in type 'long' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdf.c:1608:21 in +base/fapi_ft.c:1943:43: runtime error: member access within null pointer of type 'struct FT_OutlineGlyphRec_' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/fapi_ft.c:1943:43 in +base/fapi_ft.c:1944:42: runtime error: member access within null pointer of type 'struct FT_BitmapGlyphRec_' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/fapi_ft.c:1944:42 in +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x62500006d898 at pc 0x000001923649 bp 0x7ffde3adced0 sp 0x7ffde3adcec8 +READ of size 1 at 0x62500006d898 thread T0 + #0 0x1923648 in gs_type2_interpret /src/ghostpdl/./base/gstype2.c:190:17 + #1 0xa87908 in copied_type1_glyph_outline /src/ghostpdl/./devices/gxfcopy.c:1108:16 + #2 0xc29498 in gs_default_glyph_info /src/ghostpdl/./base/gsfont.c:1061:12 + #3 0x18c95d8 in gs_type1_glyph_info /src/ghostpdl/./base/gxtype1.c:616:16 + #4 0xa1cbf4 in pdf_compute_font_descriptor /src/ghostpdl/./devices/vector/gdevpdtd.c:469:16 + #5 0xa1f049 in pdf_finish_FontDescriptor /src/ghostpdl/./devices/vector/gdevpdtd.c:649:17 + #6 0xa72a2f in pdf_finish_resources /src/ghostpdl/./devices/vector/gdevpdtw.c:684:24 + #7 0x8b8eb6 in __covrec_59069581604AE801u /src/ghostpdl/./devices/vector/gdevpdf.c:2785:13 + #8 0xbfcf38 in gs_closedevice /src/ghostpdl/./base/gsdevice.c:786:16 + #9 0x5217cb in __covrec_543A5F2E6E788DDu /src/ghostpdl/./psi/imain.c:1351:20 + #10 0x52362e in gs_to_exit_with_code /src/ghostpdl/./psi/imain.c:1434:12 + #11 0x52367e in gs_to_exit /src/ghostpdl/./psi/imain.c:1439:12 + #12 0x119c0d8 in psapi_exit /src/ghostpdl/./psi/psapi.c:517:5 + #13 0x515aef in gsapi_exit /src/ghostpdl/./psi/iapi.c:440:12 + #14 0x4e5ad3 in __covrec_673F6603978DF04Bu /src/gs_fuzzlib.h:135:8 + #15 0x4e5e7b in LLVMFuzzerTestOneInput /src/gs_device_pdfwrite_fuzzer.cc:26:2 + #16 0x4f432c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #17 0x4e6285 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #18 0x4eaf31 in __covrec_6990238F142DEEC4u /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #19 0x4e5f52 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #20 0x7f73f0f90082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #21 0x426d0d in _start (/out/gs_device_pdfwrite_fuzzer+0x426d0d) + +0x62500006d898 is located 0 bytes to the right of 8088-byte region [0x62500006b900,0x62500006d898) +allocated by thread T0 here: + #0 0x4a8146 in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0xc623d0 in gs_heap_alloc_bytes /src/ghostpdl/./base/gsmalloc.c:192:34 + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ghostpdl/./base/gstype2.c:190:17 in gs_type2_interpret +Shadow bytes around the buggy address: + 0x0c4a80005ac0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c4a80005ad0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c4a80005ae0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c4a80005af0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c4a80005b00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +=>0x0c4a80005b10: 00 00 00[fa]fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c4a80005b20: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c4a80005b30: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c4a80005b40: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c4a80005b50: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c4a80005b60: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-757.txt b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-757.txt new file mode 100644 index 000000000..db6b002d6 --- /dev/null +++ b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-757.txt @@ -0,0 +1,252 @@ +INFO: Seed: 2714872588 +/out/gs_device_pdfwrite_fuzzer: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +base/gsiorom.c:94:14: runtime error: left shift of 128 by 24 places cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:94:14 in +psi/imainarg.c:684:43: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/imainarg.c:684:43 in +base/gxpath.c:114:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:114:23 in +base/gxpath.c:115:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:115:23 in +base/gxpath.c:116:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:116:23 in +base/gxpath.c:117:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:117:23 in +base/gxcpath.c:530:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:530:29 in +base/gxcpath.c:531:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:531:29 in +base/gxcpath.c:532:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:532:29 in +base/gxcpath.c:533:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:533:29 in +base/gspath.c:604:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:604:17 in +base/gspath.c:605:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:605:17 in +base/gspath.c:606:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:606:17 in +base/gspath.c:607:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:607:17 in +base/gxpcmap.c:839:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpcmap.c:839:9 in +base/gxccman.c:139:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxccman.c:139:9 in +base/gsiorom.c:122:21: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:122:21 in +base/gsiorom.c:201:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:201:25 in +psi/iscannum.c:103:58: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:103:58 in +psi/iscannum.c:103:73: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:103:73 in +psi/iscannum.c:104:58: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:104:58 in +psi/iscannum.c:104:73: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:104:73 in +psi/interp.c:1123:13: runtime error: member access within null pointer of type 'ref' (aka 'struct ref_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1123:13 in +psi/interp.c:1123:13: runtime error: member access within null pointer of type 'struct tas_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1123:13 in +psi/interp.c:1401:21: runtime error: member access within null pointer of type 'ref' (aka 'struct ref_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1401:21 in +psi/interp.c:1401:21: runtime error: member access within null pointer of type 'struct tas_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1401:21 in +psi/ziodevsc.c:153:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:153:25 in +psi/ziodevsc.c:230:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:230:25 in +psi/ziodevsc.c:301:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:301:25 in +psi/iscannum.c:278:13: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:278:13 in +psi/zarith.c:415:64: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zarith.c:415:64 in +psi/zusparam.c:440:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:440:11 in +psi/zusparam.c:440:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:440:11 in +base/gsalloc.c:1068:20: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsalloc.c:1068:20 in +psi/zusparam.c:202:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:202:11 in +psi/zusparam.c:202:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:202:11 in +psi/idparam.c:378:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/idparam.c:378:9 in +base/gsicc_manage.c:2166:23: runtime error: member access within null pointer of type 'cmm_profile_t' (aka 'struct cmm_profile_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_manage.c:2166:23 in +base/gsicc_cache.c:465:41: runtime error: left shift of 229 by 56 places cannot be represented in type 'int64_t' (aka 'long') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_cache.c:465:41 in +base/sfxstdio.c:199:21: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:199:21 in +devices/vector/gdevpdf.c:879:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdf.c:879:36 in +base/gsicc_cache.c:464:39: runtime error: left shift of 184 by 56 places cannot be represented in type 'int64_t' (aka 'long') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_cache.c:464:39 in +base/gshtscr.c:353:48: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:353:48 in +base/gshtscr.c:387:27: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:387:27 in +base/gshtscr.c:392:57: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:392:57 in +base/gsht.c:1051:26: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsht.c:1051:26 in +base/gsht.c:1052:27: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsht.c:1052:27 in +base/sjpege.c:37:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:37:9 in +base/sjpege.c:37:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:37:9 in +base/sjpege.c:52:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:52:9 in +base/sjpege.c:52:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:52:9 in +base/sjpege.c:72:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:72:9 in +base/sjpege.c:72:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:72:9 in +base/sjpegc.c:143:28: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpegc.c:143:28 in +base/sjpegc.c:143:28: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpegc.c:143:28 in +psi/ireclaim.c:110:36: runtime error: member access within null pointer of type 'i_ctx_t' (aka 'struct gs_context_state_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ireclaim.c:110:36 in +psi/igc.c:268:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:268:9 in +psi/zbfont.c:44:40: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:44:40 in +psi/igc.c:306:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:306:9 in +psi/zbfont.c:49:44: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:49:44 in +psi/isave.c:591:37: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/isave.c:591:37 in +psi/igc.c:1150:9: runtime error: member access within null pointer of type 'clump_head_t' (aka 'struct clump_head_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:1150:9 in +psi/igc.c:430:5: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:430:5 in +psi/igc.c:451:5: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:451:5 in +psi/zbfont.c:55:33: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:55:33 in +psi/igc.c:478:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:478:9 in +psi/igc.c:495:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:495:9 in +base/sfxstdio.c:73:48: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:73:48 in +base/sfxstdio.c:167:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:167:25 in +psi/zmedia2.c:56:34: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zmedia2.c:56:34 in +psi/zmedia2.c:240:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zmedia2.c:240:36 in +base/gsdparam.c:2476:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:2476:36 in +base/gsdparam.c:2476:68: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:2476:68 in +psi/zarith.c:460:41: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zarith.c:460:41 in +base/seexec.c:72:20: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/seexec.c:72:20 in +base/gscrypt1.c:52:9: runtime error: signed integer overflow: 55898 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gscrypt1.c:52:9 in +base/gscrypt1.c:52:9: runtime error: signed integer overflow: 2147462265 + 22719 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gscrypt1.c:52:9 in +pdf/pdf_font1.c:680:13: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_font1.c:680:13 in +base/wrfont.c:47:61: runtime error: signed integer overflow: 55794 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/wrfont.c:47:61 in +pdf/pdf_fapi.c:666:30: runtime error: signed integer overflow: 49136 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_fapi.c:666:30 in +pdf/pdf_font1.c:868:5: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_font1.c:868:5 in +base/gstype1.c:403:33: runtime error: signed integer overflow: 49136 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gstype1.c:403:33 in +base/gsfont.c:924:31: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsfont.c:924:31 in +base/gxtype1.c:386:13: runtime error: signed integer overflow: 49136 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:386:13 in +base/gxtype1.c:409:17: runtime error: left shift of negative value -219 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:409:17 in +base/gxtype1.c:407:17: runtime error: left shift of negative value -40 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:407:17 in +base/gxtype1.c:530:13: runtime error: signed integer overflow: 42785 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:530:13 in +base/gxtype1.c:413:17: runtime error: signed integer overflow: 57489 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:413:17 in +base/gxtype1.c:415:26: runtime error: left shift of negative value -1141 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:415:26 in +devices/vector/gdevpdtd.c:216:27: runtime error: member access within null pointer of type 'pdf_font_descriptor_t' (aka 'struct pdf_font_descriptor_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:216:27 in +devices/vector/gdevpdtd.c:216:27: runtime error: member access within null pointer of type 'pdf_font_descriptor_common_t' (aka 'struct pdf_font_descriptor_common_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:216:27 in +base/gscoord.c:607:32: runtime error: shift exponent 42 is too large for 32-bit type 'fixed' (aka 'int') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gscoord.c:607:32 in +base/gstype1.c:584:17: runtime error: left shift of negative value -524 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gstype1.c:584:17 in +base/gstype1.c:350:17: runtime error: signed integer overflow: 42785 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gstype1.c:350:17 in +base/gstype1.c:582:17: runtime error: left shift of negative value -40 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gstype1.c:582:17 in +devices/vector/gdevpdfu.c:696:16: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdfu.c:696:16 in +base/gsdparam.c:1710:33: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:1710:33 in +base/gsdparam.c:1710:61: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:1710:61 in +base/gsicc.c:685:46: runtime error: member access within null pointer of type 'cmm_profile_t' (aka 'struct cmm_profile_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc.c:685:46 in +base/gxpath.c:978:12: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:978:12 in +base/gxpflat.c:272:22: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:272:22 in +pdf/pdf_int.c:299:34: runtime error: signed integer overflow: 1298494949 * 10 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_int.c:299:34 in +AddressSanitizer:DEADLYSIGNAL +================================================================= +==1==ERROR: AddressSanitizer: SEGV on unknown address 0x000002327548 (pc 0x0000013ce072 bp 0x000000464ea9 sp 0x7ffd012d4ec0 T0) +==1==The signal is caused by a WRITE memory access. + #0 0x13ce072 in pdfi_countdown_impl /src/ghostpdl/./pdf/pdf_stack.h:73:14 + #1 0x13ce072 in pdfi_free_dict /src/ghostpdl/./pdf/pdf_dict.c:45:13 + #2 0x1588779 in pdfi_free_object /src/ghostpdl/./pdf/pdf_obj.c:284:13 + #3 0x13ce0a7 in pdfi_countdown_impl /src/ghostpdl/./pdf/pdf_stack.h:100:5 + #4 0x13ce0a7 in pdfi_free_dict /src/ghostpdl/./pdf/pdf_dict.c:43:13 + #5 0x1588779 in pdfi_free_object /src/ghostpdl/./pdf/pdf_obj.c:284:13 + #6 0x13ce0a7 in pdfi_countdown_impl /src/ghostpdl/./pdf/pdf_stack.h:100:5 + #7 0x13ce0a7 in pdfi_free_dict /src/ghostpdl/./pdf/pdf_dict.c:43:13 + #8 0x1588779 in pdfi_free_object /src/ghostpdl/./pdf/pdf_obj.c:284:13 + #9 0x158906b in pdfi_countdown_impl /src/ghostpdl/./pdf/pdf_stack.h:100:5 + #10 0x158906b in pdfi_free_stream /src/ghostpdl/./pdf/pdf_obj.c:246:5 + #11 0x1588832 in pdfi_free_object /src/ghostpdl/./pdf/pdf_obj.c:287:13 + #12 0x13be8dc in pdfi_countdown_impl /src/ghostpdl/./pdf/pdf_stack.h:100:5 + #13 0x13be8dc in pdfi_clear_context /src/ghostpdl/./pdf/ghostpdf.c:2074:13 + #14 0x13caf9c in pdfi_free_context /src/ghostpdl/./pdf/ghostpdf.c:2110:5 + #15 0x13a2225 in zPDFclose /src/ghostpdl/./psi/zpdfops.c:618:16 + #16 0x11b91a9 in interp /src/ghostpdl/./psi/interp.c:1725:40 + #17 0x11b2256 in gs_call_interp /src/ghostpdl/./psi/interp.c:522:12 + #18 0x11b19f7 in gs_interpret /src/ghostpdl/./psi/interp.c:479:12 + #19 0x51e8a6 in gs_main_interpret /src/ghostpdl/./psi/imain.c:257:12 + #20 0x51ebee in gs_main_run_string_end /src/ghostpdl/./psi/imain.c:945:12 + #21 0x51ebee in __covrec_354B81557B0956Cu /src/ghostpdl/./psi/imain.c:889:12 + #22 0x519dfb in __covrec_218C571E84FB63F4 /src/ghostpdl/./psi/imain.c:870:12 + #23 0x15a94e6 in run_string /src/ghostpdl/./psi/imainarg.c:1169:12 + #24 0x15a4c81 in swproc /src/ghostpdl/./psi/imainarg.c:367:20 + #25 0x15a0e05 in gs_main_init_with_args01 /src/ghostpdl/./psi/imainarg.c:224:24 + #26 0x15a9251 in gs_main_init_with_args /src/ghostpdl/./psi/imainarg.c:289:16 + #27 0x119b038 in psapi_init_with_args /src/ghostpdl/./psi/psapi.c:281:12 + #28 0x51580c in gsapi_init_with_args /src/ghostpdl/./psi/iapi.c:253:12 + #29 0x4e5aa2 in __covrec_673F6603978DF04Bu /src/gs_fuzzlib.h:130:8 + #30 0x4e5e7b in LLVMFuzzerTestOneInput /src/gs_device_pdfwrite_fuzzer.cc:26:2 + #31 0x4f432c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #32 0x4e6285 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #33 0x4eaf31 in __covrec_6990238F142DEEC4u /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #34 0x4e5f52 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #35 0x7fc2fedb9082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #36 0x426d0d in _start (/out/gs_device_pdfwrite_fuzzer+0x426d0d) + +AddressSanitizer can not provide additional info. +SUMMARY: AddressSanitizer: SEGV /src/ghostpdl/./pdf/pdf_stack.h:73:14 in pdfi_countdown_impl +==1==ABORTING diff --git a/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-772.txt b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-772.txt new file mode 100644 index 000000000..106459a6c --- /dev/null +++ b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-772.txt @@ -0,0 +1,338 @@ +INFO: Seed: 2727126686 +/out/gs_device_pdfwrite_fuzzer: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +base/gsiorom.c:94:14: runtime error: left shift of 128 by 24 places cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:94:14 in +psi/imainarg.c:684:43: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/imainarg.c:684:43 in +base/gxpath.c:114:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:114:23 in +base/gxpath.c:115:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:115:23 in +base/gxpath.c:116:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:116:23 in +base/gxpath.c:117:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:117:23 in +base/gxcpath.c:530:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:530:29 in +base/gxcpath.c:531:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:531:29 in +base/gxcpath.c:532:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:532:29 in +base/gxcpath.c:533:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:533:29 in +base/gspath.c:604:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:604:17 in +base/gspath.c:605:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:605:17 in +base/gspath.c:606:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:606:17 in +base/gspath.c:607:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:607:17 in +base/gxpcmap.c:839:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpcmap.c:839:9 in +base/gxccman.c:139:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxccman.c:139:9 in +base/gsiorom.c:122:21: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:122:21 in +base/gsiorom.c:201:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:201:25 in +psi/iscannum.c:103:58: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:103:58 in +psi/iscannum.c:103:73: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:103:73 in +psi/iscannum.c:104:58: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:104:58 in +psi/iscannum.c:104:73: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:104:73 in +psi/interp.c:1123:13: runtime error: member access within null pointer of type 'ref' (aka 'struct ref_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1123:13 in +psi/interp.c:1123:13: runtime error: member access within null pointer of type 'struct tas_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1123:13 in +psi/interp.c:1401:21: runtime error: member access within null pointer of type 'ref' (aka 'struct ref_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1401:21 in +psi/interp.c:1401:21: runtime error: member access within null pointer of type 'struct tas_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1401:21 in +psi/ziodevsc.c:153:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:153:25 in +psi/ziodevsc.c:230:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:230:25 in +psi/ziodevsc.c:301:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:301:25 in +psi/iscannum.c:278:13: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:278:13 in +psi/zarith.c:415:64: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zarith.c:415:64 in +psi/zusparam.c:440:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:440:11 in +psi/zusparam.c:440:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:440:11 in +base/gsalloc.c:1068:20: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsalloc.c:1068:20 in +psi/zusparam.c:202:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:202:11 in +psi/zusparam.c:202:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:202:11 in +psi/idparam.c:378:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/idparam.c:378:9 in +base/gsicc_manage.c:2166:23: runtime error: member access within null pointer of type 'cmm_profile_t' (aka 'struct cmm_profile_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_manage.c:2166:23 in +base/gsicc_cache.c:465:41: runtime error: left shift of 229 by 56 places cannot be represented in type 'int64_t' (aka 'long') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_cache.c:465:41 in +base/sfxstdio.c:199:21: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:199:21 in +devices/vector/gdevpdf.c:879:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdf.c:879:36 in +base/gsicc_cache.c:464:39: runtime error: left shift of 184 by 56 places cannot be represented in type 'int64_t' (aka 'long') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_cache.c:464:39 in +base/gshtscr.c:353:48: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:353:48 in +base/gshtscr.c:387:27: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:387:27 in +base/gshtscr.c:392:57: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:392:57 in +base/gsht.c:1051:26: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsht.c:1051:26 in +base/gsht.c:1052:27: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsht.c:1052:27 in +base/sjpege.c:37:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:37:9 in +base/sjpege.c:37:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:37:9 in +base/sjpege.c:52:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:52:9 in +base/sjpege.c:52:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:52:9 in +base/sjpege.c:72:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:72:9 in +base/sjpege.c:72:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:72:9 in +base/sjpegc.c:143:28: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpegc.c:143:28 in +base/sjpegc.c:143:28: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpegc.c:143:28 in +psi/ireclaim.c:110:36: runtime error: member access within null pointer of type 'i_ctx_t' (aka 'struct gs_context_state_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ireclaim.c:110:36 in +psi/igc.c:268:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:268:9 in +psi/zbfont.c:44:40: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:44:40 in +psi/igc.c:306:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:306:9 in +psi/zbfont.c:49:44: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:49:44 in +psi/isave.c:591:37: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/isave.c:591:37 in +psi/igc.c:1150:9: runtime error: member access within null pointer of type 'clump_head_t' (aka 'struct clump_head_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:1150:9 in +psi/igc.c:430:5: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:430:5 in +psi/igc.c:451:5: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:451:5 in +psi/zbfont.c:55:33: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:55:33 in +psi/igc.c:478:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:478:9 in +psi/igc.c:495:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:495:9 in +base/sfxstdio.c:73:48: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:73:48 in +base/sfxstdio.c:167:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:167:25 in +psi/zmedia2.c:56:34: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zmedia2.c:56:34 in +psi/zmedia2.c:240:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zmedia2.c:240:36 in +base/gsdparam.c:2476:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:2476:36 in +base/gsdparam.c:2476:68: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:2476:68 in +psi/zarith.c:460:41: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zarith.c:460:41 in +base/gxpath.c:978:12: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:978:12 in +pdf/pdf_int.c:299:34: runtime error: signed integer overflow: 349342849 * 10 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_int.c:299:34 in +base/gsfcmap.c:299:5: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsfcmap.c:299:5 in +base/seexec.c:72:20: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/seexec.c:72:20 in +base/gscrypt1.c:52:9: runtime error: signed integer overflow: 55898 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gscrypt1.c:52:9 in +base/gscrypt1.c:52:9: runtime error: signed integer overflow: 2147462265 + 22719 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gscrypt1.c:52:9 in +pdf/pdf_font1.c:680:13: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_font1.c:680:13 in +base/wrfont.c:47:61: runtime error: signed integer overflow: 55794 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/wrfont.c:47:61 in +pdf/pdf_fapi.c:666:30: runtime error: signed integer overflow: 49136 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_fapi.c:666:30 in +pdf/pdf_font1.c:868:5: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_font1.c:868:5 in +base/gxpflat.c:272:22: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:272:22 in +base/gstype1.c:403:33: runtime error: signed integer overflow: 49136 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gstype1.c:403:33 in +base/gsfont.c:924:31: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsfont.c:924:31 in +base/gxtype1.c:386:13: runtime error: signed integer overflow: 49136 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:386:13 in +base/gxtype1.c:409:17: runtime error: left shift of negative value -219 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:409:17 in +base/gxtype1.c:407:17: runtime error: left shift of negative value -40 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:407:17 in +base/gxtype1.c:530:13: runtime error: signed integer overflow: 42785 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:530:13 in +base/gxtype1.c:413:17: runtime error: signed integer overflow: 57489 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:413:17 in +base/gxtype1.c:415:26: runtime error: left shift of negative value -1141 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:415:26 in +devices/vector/gdevpdtd.c:216:27: runtime error: member access within null pointer of type 'pdf_font_descriptor_t' (aka 'struct pdf_font_descriptor_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:216:27 in +devices/vector/gdevpdtd.c:216:27: runtime error: member access within null pointer of type 'pdf_font_descriptor_common_t' (aka 'struct pdf_font_descriptor_common_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:216:27 in +pdf/pdf_font11.c:452:5: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_font11.c:452:5 in +devices/vector/gdevpsft.c:802:24: runtime error: member access within null pointer of type 'ttf_OS_2_t' (aka 'struct ttf_OS_2_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpsft.c:802:24 in +devices/vector/gdevpdfu.c:696:16: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdfu.c:696:16 in +base/gxccache.c:99:13: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxccache.c:99:13 in +base/ttfinp.c:57:27: runtime error: left shift of 166 by 24 places cannot be represented in type 'int32' (aka 'int') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfinp.c:57:27 in +base/ttfmain.c:275:36: runtime error: member access within null pointer of type 'sfnt_FontHeader' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:275:36 in +base/ttfmain.c:277:36: runtime error: member access within null pointer of type 'sfnt_FontHeader' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:277:36 in +base/ttfmain.c:281:36: runtime error: member access within null pointer of type 'sfnt_FontHeader' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:281:36 in +base/ttfmain.c:283:36: runtime error: member access within null pointer of type 'sfnt_maxProfileTable' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:283:36 in +base/ttfmain.c:285:36: runtime error: member access within null pointer of type 'sfnt_maxProfileTable' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:285:36 in +base/ttfmain.c:289:36: runtime error: member access within null pointer of type 'sfnt_MetricsHeader' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:289:36 in +base/ttinterp.c:5076:14: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttinterp.c:5076:14 in +base/ttinterp.c:5076:14: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttinterp.c:5076:14 in +base/ttfmain.c:1011:95: runtime error: left shift of negative value -128 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:1011:95 in +base/ttfmain.c:1012:95: runtime error: left shift of negative value -128 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:1012:95 in +base/gsdparam.c:1710:33: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:1710:33 in +base/gsdparam.c:1710:61: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:1710:61 in +base/gxccman.c:798:27: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxccman.c:798:27 in +base/gxccman.c:451:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxccman.c:451:9 in +psi/zfont.c:510:18: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zfont.c:510:18 in +devices/vector/gdevpdtd.c:499:27: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:499:27 in +devices/vector/gdevpsft.c:495:22: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpsft.c:495:22 in +devices/vector/gdevpdtd.c:416:49: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:416:49 in +devices/vector/gdevpdtd.c:417:49: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:417:49 in +base/gscoord.c:607:32: runtime error: shift exponent 42 is too large for 32-bit type 'fixed' (aka 'int') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gscoord.c:607:32 in +base/gstype1.c:584:17: runtime error: left shift of negative value -524 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gstype1.c:584:17 in +base/gstype1.c:350:17: runtime error: signed integer overflow: 42785 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gstype1.c:350:17 in +base/gstype1.c:582:17: runtime error: left shift of negative value -40 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gstype1.c:582:17 in +devices/vector/gdevpsfx.c:69:9: runtime error: signed integer overflow: 49136 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpsfx.c:69:9 in +devices/vector/gdevpsfx.c:166:19: runtime error: index -1 out of bounds for type 'fixed[48]' (aka 'int[48]') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpsfx.c:166:19 in +devices/vector/gdevpsfx.c:183:9: runtime error: signed integer overflow: 62183 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpsfx.c:183:9 in +devices/vector/gdevpsfx.c:493:23: runtime error: index -1 out of bounds for type 'fixed[48]' (aka 'int[48]') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpsfx.c:493:23 in +devices/vector/gdevpsfx.c:189:17: runtime error: left shift of negative value -524 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpsfx.c:189:17 in +devices/vector/gdevpsfx.c:254:13: runtime error: signed integer overflow: 42785 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpsfx.c:254:13 in +devices/vector/gdevpsfx.c:187:17: runtime error: left shift of negative value -40 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpsfx.c:187:17 in +devices/vector/gdevpsfx.c:569:23: runtime error: index -1 out of bounds for type 'fixed[48]' (aka 'int[48]') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpsfx.c:569:23 in +devices/vector/gdevpdtb.c:169:60: runtime error: left shift of negative value -19 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtb.c:169:60 in +devices/vector/gdevpdtf.c:981:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtf.c:981:9 in +devices/vector/gdevpdf.c:1581:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdf.c:1581:23 in +devices/vector/gdevpdf.c:1582:39: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdf.c:1582:39 in +devices/vector/gdevpdf.c:1582:37: runtime error: signed integer overflow: 989 - -9223372036854775808 cannot be represented in type 'long' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdf.c:1582:37 in +devices/vector/gdevpdf.c:1582:21: runtime error: signed integer overflow: -9223372036854682926 + -9223372036854774819 cannot be represented in type 'long' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdf.c:1582:21 in +devices/vector/gdevpdf.c:1607:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdf.c:1607:23 in +devices/vector/gdevpdf.c:1608:39: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdf.c:1608:39 in +devices/vector/gdevpdf.c:1608:37: runtime error: signed integer overflow: 989 - -9223372036854775808 cannot be represented in type 'long' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdf.c:1608:37 in +devices/vector/gdevpdf.c:1608:21: runtime error: signed integer overflow: -9223372036854682926 + -9223372036854774819 cannot be represented in type 'long' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdf.c:1608:21 in +base/fapi_ft.c:1943:43: runtime error: member access within null pointer of type 'struct FT_OutlineGlyphRec_' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/fapi_ft.c:1943:43 in +base/fapi_ft.c:1944:42: runtime error: member access within null pointer of type 'struct FT_BitmapGlyphRec_' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/fapi_ft.c:1944:42 in +AddressSanitizer:DEADLYSIGNAL +================================================================= +==1==ERROR: AddressSanitizer: SEGV on unknown address 0x63100130bb16 (pc 0x000001514f25 bp 0x63100130bb16 sp 0x7ffe88ad7290 T0) +==1==The signal is caused by a READ memory access. + #0 0x1514f25 in pdfi_cidtype2_get_glyph_index /src/ghostpdl/./pdf/pdf_font11.c:73:23 + #1 0x1691693 in gs_type42_glyph_info /src/ghostpdl/./base/gstype42.c:1446:23 + #2 0x151386b in pdfi_cidtype2_glyph_info /src/ghostpdl/./pdf/pdf_font11.c:90:12 + #3 0xa7eeeb in compare_glyphs /src/ghostpdl/./devices/gxfcopy.c:811:17 + #4 0xa7c87c in gs_copied_can_copy_glyphs /src/ghostpdl/./devices/gxfcopy.c:2620:12 + #5 0xa4cb52 in pdf_obtain_cidfont_resource /src/ghostpdl/./devices/vector/gdevpdtt.c:1342:16 + #6 0x19f3161 in scan_cmap_text /src/ghostpdl/./devices/vector/gdevpdtc.c:502:28 + #7 0x19f1c4b in process_cmap_text /src/ghostpdl/./devices/vector/gdevpdtc.c:965:12 + #8 0xa6619f in pdf_text_process /src/ghostpdl/./devices/vector/gdevpdtt.c:3758:16 + #9 0xcb091a in gs_text_process /src/ghostpdl/./base/gstext.c:670:12 + #10 0x153de59 in pdfi_show_simple /src/ghostpdl/./pdf/pdf_text.c:447:16 + #11 0x1534add in pdfi_show_Tr_preserve /src/ghostpdl/./pdf/pdf_text.c:791:16 + #12 0x1534add in pdfi_show /src/ghostpdl/./pdf/pdf_text.c:842:16 + #13 0x1536db2 in pdfi_Tj /src/ghostpdl/./pdf/pdf_text.c:1081:12 + #14 0x13f880b in pdfi_interpret_stream_operator /src/ghostpdl/./pdf/pdf_int.c:1646:24 + #15 0x13f6c91 in pdfi_interpret_content_stream /src/ghostpdl/./pdf/pdf_int.c:2126:24 + #16 0x1469813 in pdfi_process_page_contents /src/ghostpdl/./pdf/pdf_page.c:116:28 + #17 0x1469813 in pdfi_process_one_page /src/ghostpdl/./pdf/pdf_page.c:152:12 + #18 0x1469813 in pdfi_page_render /src/ghostpdl/./pdf/pdf_page.c:953:12 + #19 0x13a629d in zPDFdrawpage /src/ghostpdl/./psi/zpdfops.c:1157:24 + #20 0x11b91a9 in interp /src/ghostpdl/./psi/interp.c:1725:40 + #21 0x11b2256 in gs_call_interp /src/ghostpdl/./psi/interp.c:522:12 + #22 0x11b19f7 in gs_interpret /src/ghostpdl/./psi/interp.c:479:12 + #23 0x51e8a6 in gs_main_interpret /src/ghostpdl/./psi/imain.c:257:12 + #24 0x51ebee in gs_main_run_string_end /src/ghostpdl/./psi/imain.c:945:12 + #25 0x51ebee in __covrec_354B81557B0956Cu /src/ghostpdl/./psi/imain.c:889:12 + #26 0x519dfb in __covrec_218C571E84FB63F4 /src/ghostpdl/./psi/imain.c:870:12 + #27 0x15a94e6 in run_string /src/ghostpdl/./psi/imainarg.c:1169:12 + #28 0x15a4c81 in swproc /src/ghostpdl/./psi/imainarg.c:367:20 + #29 0x15a0e05 in gs_main_init_with_args01 /src/ghostpdl/./psi/imainarg.c:224:24 + #30 0x15a9251 in gs_main_init_with_args /src/ghostpdl/./psi/imainarg.c:289:16 + #31 0x119b038 in psapi_init_with_args /src/ghostpdl/./psi/psapi.c:281:12 + #32 0x51580c in gsapi_init_with_args /src/ghostpdl/./psi/iapi.c:253:12 + #33 0x4e5aa2 in __covrec_673F6603978DF04Bu /src/gs_fuzzlib.h:130:8 + #34 0x4e5e7b in LLVMFuzzerTestOneInput /src/gs_device_pdfwrite_fuzzer.cc:26:2 + #35 0x4f432c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #36 0x4e6285 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #37 0x4eaf31 in __covrec_6990238F142DEEC4u /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #38 0x4e5f52 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #39 0x7f078edcc082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #40 0x426d0d in _start (/out/gs_device_pdfwrite_fuzzer+0x426d0d) + +AddressSanitizer can not provide additional info. +SUMMARY: AddressSanitizer: SEGV /src/ghostpdl/./pdf/pdf_font11.c:73:23 in pdfi_cidtype2_get_glyph_index +==1==ABORTING diff --git a/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-797.txt b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-797.txt new file mode 100644 index 000000000..02fc6965d --- /dev/null +++ b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-797.txt @@ -0,0 +1,308 @@ +INFO: Seed: 2766147117 +/out/gs_device_pdfwrite_fuzzer: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +base/gsiorom.c:94:14: runtime error: left shift of 128 by 24 places cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:94:14 in +psi/imainarg.c:684:43: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/imainarg.c:684:43 in +base/gxpath.c:114:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:114:23 in +base/gxpath.c:115:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:115:23 in +base/gxpath.c:116:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:116:23 in +base/gxpath.c:117:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:117:23 in +base/gxcpath.c:530:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:530:29 in +base/gxcpath.c:531:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:531:29 in +base/gxcpath.c:532:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:532:29 in +base/gxcpath.c:533:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:533:29 in +base/gspath.c:604:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:604:17 in +base/gspath.c:605:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:605:17 in +base/gspath.c:606:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:606:17 in +base/gspath.c:607:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:607:17 in +base/gxpcmap.c:839:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpcmap.c:839:9 in +base/gxccman.c:139:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxccman.c:139:9 in +base/gsiorom.c:122:21: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:122:21 in +base/gsiorom.c:201:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:201:25 in +psi/iscannum.c:103:58: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:103:58 in +psi/iscannum.c:103:73: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:103:73 in +psi/iscannum.c:104:58: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:104:58 in +psi/iscannum.c:104:73: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:104:73 in +psi/interp.c:1123:13: runtime error: member access within null pointer of type 'ref' (aka 'struct ref_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1123:13 in +psi/interp.c:1123:13: runtime error: member access within null pointer of type 'struct tas_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1123:13 in +psi/interp.c:1401:21: runtime error: member access within null pointer of type 'ref' (aka 'struct ref_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1401:21 in +psi/interp.c:1401:21: runtime error: member access within null pointer of type 'struct tas_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1401:21 in +psi/ziodevsc.c:153:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:153:25 in +psi/ziodevsc.c:230:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:230:25 in +psi/ziodevsc.c:301:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:301:25 in +psi/iscannum.c:278:13: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:278:13 in +psi/zarith.c:415:64: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zarith.c:415:64 in +psi/zusparam.c:440:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:440:11 in +psi/zusparam.c:440:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:440:11 in +base/gsalloc.c:1068:20: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsalloc.c:1068:20 in +psi/zusparam.c:202:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:202:11 in +psi/zusparam.c:202:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:202:11 in +psi/idparam.c:378:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/idparam.c:378:9 in +base/gsicc_manage.c:2166:23: runtime error: member access within null pointer of type 'cmm_profile_t' (aka 'struct cmm_profile_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_manage.c:2166:23 in +base/gsicc_cache.c:465:41: runtime error: left shift of 229 by 56 places cannot be represented in type 'int64_t' (aka 'long') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_cache.c:465:41 in +base/sfxstdio.c:199:21: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:199:21 in +devices/vector/gdevpdf.c:879:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdf.c:879:36 in +base/gsicc_cache.c:464:39: runtime error: left shift of 184 by 56 places cannot be represented in type 'int64_t' (aka 'long') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_cache.c:464:39 in +base/gshtscr.c:353:48: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:353:48 in +base/gshtscr.c:387:27: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:387:27 in +base/gshtscr.c:392:57: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:392:57 in +base/gsht.c:1051:26: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsht.c:1051:26 in +base/gsht.c:1052:27: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsht.c:1052:27 in +base/sjpege.c:37:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:37:9 in +base/sjpege.c:37:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:37:9 in +base/sjpege.c:52:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:52:9 in +base/sjpege.c:52:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:52:9 in +base/sjpege.c:72:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:72:9 in +base/sjpege.c:72:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:72:9 in +base/sjpegc.c:143:28: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpegc.c:143:28 in +base/sjpegc.c:143:28: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpegc.c:143:28 in +psi/ireclaim.c:110:36: runtime error: member access within null pointer of type 'i_ctx_t' (aka 'struct gs_context_state_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ireclaim.c:110:36 in +psi/igc.c:268:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:268:9 in +psi/zbfont.c:44:40: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:44:40 in +psi/igc.c:306:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:306:9 in +psi/zbfont.c:49:44: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:49:44 in +psi/isave.c:591:37: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/isave.c:591:37 in +psi/igc.c:1150:9: runtime error: member access within null pointer of type 'clump_head_t' (aka 'struct clump_head_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:1150:9 in +psi/igc.c:430:5: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:430:5 in +psi/igc.c:451:5: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:451:5 in +psi/zbfont.c:55:33: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:55:33 in +psi/igc.c:478:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:478:9 in +psi/igc.c:495:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:495:9 in +base/sfxstdio.c:73:48: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:73:48 in +base/sfxstdio.c:167:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:167:25 in +psi/zmedia2.c:56:34: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zmedia2.c:56:34 in +psi/zmedia2.c:240:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zmedia2.c:240:36 in +base/gsdparam.c:2476:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:2476:36 in +base/gsdparam.c:2476:68: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:2476:68 in +psi/zarith.c:460:41: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zarith.c:460:41 in +base/gsfcmap.c:299:5: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsfcmap.c:299:5 in +base/seexec.c:72:20: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/seexec.c:72:20 in +base/gscrypt1.c:52:9: runtime error: signed integer overflow: 55898 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gscrypt1.c:52:9 in +base/gscrypt1.c:52:9: runtime error: signed integer overflow: 2147462265 + 22719 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gscrypt1.c:52:9 in +pdf/pdf_font1.c:680:13: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_font1.c:680:13 in +base/wrfont.c:47:61: runtime error: signed integer overflow: 55794 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/wrfont.c:47:61 in +pdf/pdf_fapi.c:666:30: runtime error: signed integer overflow: 49136 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_fapi.c:666:30 in +pdf/pdf_font1.c:868:5: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_font1.c:868:5 in +base/gstype1.c:403:33: runtime error: signed integer overflow: 49136 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gstype1.c:403:33 in +base/gsfont.c:924:31: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsfont.c:924:31 in +base/gxtype1.c:386:13: runtime error: signed integer overflow: 49136 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:386:13 in +base/gxtype1.c:409:17: runtime error: left shift of negative value -219 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:409:17 in +base/gxtype1.c:407:17: runtime error: left shift of negative value -40 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:407:17 in +base/gxtype1.c:530:13: runtime error: signed integer overflow: 42785 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:530:13 in +base/gxtype1.c:413:17: runtime error: signed integer overflow: 57489 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:413:17 in +base/gxtype1.c:415:26: runtime error: left shift of negative value -1141 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:415:26 in +devices/vector/gdevpdtd.c:216:27: runtime error: member access within null pointer of type 'pdf_font_descriptor_t' (aka 'struct pdf_font_descriptor_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:216:27 in +devices/vector/gdevpdtd.c:216:27: runtime error: member access within null pointer of type 'pdf_font_descriptor_common_t' (aka 'struct pdf_font_descriptor_common_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:216:27 in +pdf/pdf_fontTT.c:569:5: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_fontTT.c:569:5 in +devices/vector/gdevpsft.c:802:24: runtime error: member access within null pointer of type 'ttf_OS_2_t' (aka 'struct ttf_OS_2_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpsft.c:802:24 in +base/gscoord.c:607:32: runtime error: shift exponent 42 is too large for 32-bit type 'fixed' (aka 'int') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gscoord.c:607:32 in +devices/vector/gdevpdfu.c:696:16: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdfu.c:696:16 in +base/gsdparam.c:1710:33: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:1710:33 in +base/gsdparam.c:1710:61: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:1710:61 in +psi/zfont.c:510:18: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zfont.c:510:18 in +devices/vector/gdevpdtd.c:416:49: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:416:49 in +devices/vector/gdevpdtd.c:417:49: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:417:49 in +devices/vector/gdevpsfx.c:69:9: runtime error: signed integer overflow: 49136 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpsfx.c:69:9 in +devices/vector/gdevpsfx.c:166:19: runtime error: index -1 out of bounds for type 'fixed[48]' (aka 'int[48]') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpsfx.c:166:19 in +devices/vector/gdevpsfx.c:183:9: runtime error: signed integer overflow: 62183 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpsfx.c:183:9 in +devices/vector/gdevpsfx.c:493:23: runtime error: index -1 out of bounds for type 'fixed[48]' (aka 'int[48]') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpsfx.c:493:23 in +base/gxccache.c:99:13: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxccache.c:99:13 in +base/ttfinp.c:57:27: runtime error: left shift of 223 by 24 places cannot be represented in type 'int32' (aka 'int') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfinp.c:57:27 in +base/ttfmain.c:275:36: runtime error: member access within null pointer of type 'sfnt_FontHeader' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:275:36 in +base/ttfmain.c:277:36: runtime error: member access within null pointer of type 'sfnt_FontHeader' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:277:36 in +base/ttfmain.c:281:36: runtime error: member access within null pointer of type 'sfnt_FontHeader' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:281:36 in +base/ttfmain.c:283:36: runtime error: member access within null pointer of type 'sfnt_maxProfileTable' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:283:36 in +base/ttfmain.c:285:36: runtime error: member access within null pointer of type 'sfnt_maxProfileTable' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:285:36 in +base/ttfmain.c:289:36: runtime error: member access within null pointer of type 'sfnt_MetricsHeader' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:289:36 in +base/ttfmain.c:50:23: runtime error: left shift of negative value -365 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:50:23 in +base/ttinterp.c:5076:14: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttinterp.c:5076:14 in +base/ttinterp.c:5076:14: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttinterp.c:5076:14 in +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x625000090d68 at pc 0x000001d67040 bp 0x7ffe1da75e90 sp 0x7ffe1da75e88 +READ of size 1 at 0x625000090d68 thread T0 + #0 0x1d6703f in Ins_NPUSHB /src/ghostpdl/./base/ttinterp.c:2342:23 + #1 0x1d52b9e in RunIns /src/ghostpdl/./base/ttinterp.c:5131:7 + #2 0x1bfd33e in Instance_Reset /src/ghostpdl/./base/ttobjs.c:834:15 + #3 0x1be21e1 in TT_Set_Instance_CharSizes /src/ghostpdl/./base/ttfmain.c:138:12 + #4 0x1be49ad in ttfFont__Open /src/ghostpdl/./base/ttfmain.c:348:12 + #5 0x169cce0 in ttfFont__Open_aux /src/ghostpdl/./base/gxttfb.c:448:12 + #6 0xe604b2 in gx_attach_tt_interpreter /src/ghostpdl/./base/gxccman.c:249:12 + #7 0xe60fa1 in gx_add_fm_pair /src/ghostpdl/./base/gxccman.c:355:20 + #8 0xe5ace3 in gx_lookup_fm_pair /src/ghostpdl/./base/gxccache.c:140:12 + #9 0x1691088 in gs_type42_glyph_outline /src/ghostpdl/./base/gstype42.c:1350:12 + #10 0xc29498 in gs_default_glyph_info /src/ghostpdl/./base/gsfont.c:1061:12 + #11 0x1696c13 in gs_type42_glyph_info_by_gid /src/ghostpdl/./base/gstype42.c:1387:16 + #12 0x1691788 in gs_type42_glyph_info /src/ghostpdl/./base/gstype42.c:1458:12 + #13 0xa1cbf4 in pdf_compute_font_descriptor /src/ghostpdl/./devices/vector/gdevpdtd.c:469:16 + #14 0xa1f049 in pdf_finish_FontDescriptor /src/ghostpdl/./devices/vector/gdevpdtd.c:649:17 + #15 0xa72a2f in pdf_finish_resources /src/ghostpdl/./devices/vector/gdevpdtw.c:684:24 + #16 0x8b8eb6 in __covrec_59069581604AE801u /src/ghostpdl/./devices/vector/gdevpdf.c:2785:13 + #17 0xbfcf38 in gs_closedevice /src/ghostpdl/./base/gsdevice.c:786:16 + #18 0x5217cb in __covrec_543A5F2E6E788DDu /src/ghostpdl/./psi/imain.c:1351:20 + #19 0x52362e in gs_to_exit_with_code /src/ghostpdl/./psi/imain.c:1434:12 + #20 0x52367e in gs_to_exit /src/ghostpdl/./psi/imain.c:1439:12 + #21 0x119c0d8 in psapi_exit /src/ghostpdl/./psi/psapi.c:517:5 + #22 0x515aef in gsapi_exit /src/ghostpdl/./psi/iapi.c:440:12 + #23 0x4e5ad3 in __covrec_673F6603978DF04Bu /src/gs_fuzzlib.h:135:8 + #24 0x4e5e7b in LLVMFuzzerTestOneInput /src/gs_device_pdfwrite_fuzzer.cc:26:2 + #25 0x4f432c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #26 0x4e6285 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #27 0x4eaf31 in __covrec_6990238F142DEEC4u /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #28 0x4e5f52 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #29 0x7f203ea24082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #30 0x426d0d in _start (/out/gs_device_pdfwrite_fuzzer+0x426d0d) + +0x625000090d68 is located 0 bytes to the right of 9320-byte region [0x62500008e900,0x625000090d68) +allocated by thread T0 here: + #0 0x4a8146 in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0xc623d0 in gs_heap_alloc_bytes /src/ghostpdl/./base/gsmalloc.c:192:34 + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ghostpdl/./base/ttinterp.c:2342:23 in Ins_NPUSHB +Shadow bytes around the buggy address: + 0x0c4a8000a150: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c4a8000a160: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c4a8000a170: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c4a8000a180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c4a8000a190: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +=>0x0c4a8000a1a0: 00 00 00 00 00 00 00 00 00 00 00 00 00[fa]fa fa + 0x0c4a8000a1b0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c4a8000a1c0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c4a8000a1d0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c4a8000a1e0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c4a8000a1f0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-818.txt b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-818.txt new file mode 100644 index 000000000..c7b23c409 --- /dev/null +++ b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-818.txt @@ -0,0 +1,277 @@ +INFO: Seed: 2828804408 +/out/gs_device_pdfwrite_fuzzer: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +base/gsiorom.c:94:14: runtime error: left shift of 128 by 24 places cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:94:14 in +psi/imainarg.c:684:43: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/imainarg.c:684:43 in +base/gxpath.c:114:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:114:23 in +base/gxpath.c:115:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:115:23 in +base/gxpath.c:116:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:116:23 in +base/gxpath.c:117:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:117:23 in +base/gxcpath.c:530:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:530:29 in +base/gxcpath.c:531:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:531:29 in +base/gxcpath.c:532:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:532:29 in +base/gxcpath.c:533:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:533:29 in +base/gspath.c:604:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:604:17 in +base/gspath.c:605:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:605:17 in +base/gspath.c:606:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:606:17 in +base/gspath.c:607:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:607:17 in +base/gxpcmap.c:839:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpcmap.c:839:9 in +base/gxccman.c:139:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxccman.c:139:9 in +base/gsiorom.c:122:21: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:122:21 in +base/gsiorom.c:201:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:201:25 in +psi/iscannum.c:103:58: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:103:58 in +psi/iscannum.c:103:73: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:103:73 in +psi/iscannum.c:104:58: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:104:58 in +psi/iscannum.c:104:73: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:104:73 in +psi/interp.c:1123:13: runtime error: member access within null pointer of type 'ref' (aka 'struct ref_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1123:13 in +psi/interp.c:1123:13: runtime error: member access within null pointer of type 'struct tas_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1123:13 in +psi/interp.c:1401:21: runtime error: member access within null pointer of type 'ref' (aka 'struct ref_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1401:21 in +psi/interp.c:1401:21: runtime error: member access within null pointer of type 'struct tas_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1401:21 in +psi/ziodevsc.c:153:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:153:25 in +psi/ziodevsc.c:230:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:230:25 in +psi/ziodevsc.c:301:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:301:25 in +psi/iscannum.c:278:13: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:278:13 in +psi/zarith.c:415:64: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zarith.c:415:64 in +psi/zusparam.c:440:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:440:11 in +psi/zusparam.c:440:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:440:11 in +base/gsalloc.c:1068:20: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsalloc.c:1068:20 in +psi/zusparam.c:202:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:202:11 in +psi/zusparam.c:202:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:202:11 in +psi/idparam.c:378:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/idparam.c:378:9 in +base/gsicc_manage.c:2166:23: runtime error: member access within null pointer of type 'cmm_profile_t' (aka 'struct cmm_profile_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_manage.c:2166:23 in +base/gsicc_cache.c:465:41: runtime error: left shift of 229 by 56 places cannot be represented in type 'int64_t' (aka 'long') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_cache.c:465:41 in +base/sfxstdio.c:199:21: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:199:21 in +devices/vector/gdevpdf.c:879:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdf.c:879:36 in +base/gsicc_cache.c:464:39: runtime error: left shift of 184 by 56 places cannot be represented in type 'int64_t' (aka 'long') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_cache.c:464:39 in +base/gshtscr.c:353:48: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:353:48 in +base/gshtscr.c:387:27: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:387:27 in +base/gshtscr.c:392:57: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:392:57 in +base/gsht.c:1051:26: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsht.c:1051:26 in +base/gsht.c:1052:27: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsht.c:1052:27 in +base/sjpege.c:37:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:37:9 in +base/sjpege.c:37:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:37:9 in +base/sjpege.c:52:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:52:9 in +base/sjpege.c:52:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:52:9 in +base/sjpege.c:72:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:72:9 in +base/sjpege.c:72:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:72:9 in +base/sjpegc.c:143:28: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpegc.c:143:28 in +base/sjpegc.c:143:28: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpegc.c:143:28 in +psi/ireclaim.c:110:36: runtime error: member access within null pointer of type 'i_ctx_t' (aka 'struct gs_context_state_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ireclaim.c:110:36 in +psi/igc.c:268:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:268:9 in +psi/zbfont.c:44:40: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:44:40 in +psi/igc.c:306:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:306:9 in +psi/zbfont.c:49:44: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:49:44 in +psi/isave.c:591:37: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/isave.c:591:37 in +psi/igc.c:1150:9: runtime error: member access within null pointer of type 'clump_head_t' (aka 'struct clump_head_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:1150:9 in +psi/igc.c:430:5: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:430:5 in +psi/igc.c:451:5: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:451:5 in +psi/zbfont.c:55:33: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:55:33 in +psi/igc.c:478:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:478:9 in +psi/igc.c:495:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:495:9 in +base/sfxstdio.c:73:48: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:73:48 in +base/sfxstdio.c:167:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:167:25 in +psi/zmedia2.c:56:34: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zmedia2.c:56:34 in +psi/zmedia2.c:240:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zmedia2.c:240:36 in +base/gsdparam.c:2476:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:2476:36 in +base/gsdparam.c:2476:68: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:2476:68 in +psi/zarith.c:460:41: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zarith.c:460:41 in +base/gxpath.c:978:12: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:978:12 in +base/gsfcmap.c:299:5: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsfcmap.c:299:5 in +pdf/pdf_font11.c:452:5: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_font11.c:452:5 in +devices/vector/gdevpsft.c:802:24: runtime error: member access within null pointer of type 'ttf_OS_2_t' (aka 'struct ttf_OS_2_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpsft.c:802:24 in +devices/vector/gdevpdtd.c:216:27: runtime error: member access within null pointer of type 'pdf_font_descriptor_t' (aka 'struct pdf_font_descriptor_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:216:27 in +devices/vector/gdevpdtd.c:216:27: runtime error: member access within null pointer of type 'pdf_font_descriptor_common_t' (aka 'struct pdf_font_descriptor_common_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:216:27 in +devices/vector/gdevpdfu.c:696:16: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdfu.c:696:16 in +base/gxccache.c:99:13: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxccache.c:99:13 in +base/ttfinp.c:57:27: runtime error: left shift of 241 by 24 places cannot be represented in type 'int32' (aka 'int') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfinp.c:57:27 in +base/ttfmain.c:275:36: runtime error: member access within null pointer of type 'sfnt_FontHeader' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:275:36 in +base/ttfmain.c:277:36: runtime error: member access within null pointer of type 'sfnt_FontHeader' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:277:36 in +base/ttfmain.c:281:36: runtime error: member access within null pointer of type 'sfnt_FontHeader' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:281:36 in +base/ttfmain.c:283:36: runtime error: member access within null pointer of type 'sfnt_maxProfileTable' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:283:36 in +base/ttfmain.c:285:36: runtime error: member access within null pointer of type 'sfnt_maxProfileTable' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:285:36 in +base/ttfmain.c:289:36: runtime error: member access within null pointer of type 'sfnt_MetricsHeader' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:289:36 in +base/ttinterp.c:5076:14: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttinterp.c:5076:14 in +base/ttinterp.c:5076:14: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttinterp.c:5076:14 in +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x631000128830 at pc 0x000001d75d1f bp 0x7ffd538b98e0 sp 0x7ffd538b98d8 +READ of size 1 at 0x631000128830 thread T0 + #0 0x1d75d1e in GetShortIns /src/ghostpdl/./base/ttinterp.c:736:14 + #1 0x1d671ae in Ins_NPUSHW /src/ghostpdl/./base/ttinterp.c:2368:19 + #2 0x1d52b9e in RunIns /src/ghostpdl/./base/ttinterp.c:5131:7 + #3 0x1bfd33e in Instance_Reset /src/ghostpdl/./base/ttobjs.c:834:15 + #4 0x1be21e1 in TT_Set_Instance_CharSizes /src/ghostpdl/./base/ttfmain.c:138:12 + #5 0x1be49ad in ttfFont__Open /src/ghostpdl/./base/ttfmain.c:348:12 + #6 0x169cce0 in ttfFont__Open_aux /src/ghostpdl/./base/gxttfb.c:448:12 + #7 0xe604b2 in gx_attach_tt_interpreter /src/ghostpdl/./base/gxccman.c:249:12 + #8 0xe5ff2c in gx_provide_fm_pair_attributes /src/ghostpdl/./base/gxccman.c:276:16 + #9 0x169118f in gs_type42_glyph_outline /src/ghostpdl/./base/gstype42.c:1358:9 + #10 0xc29498 in gs_default_glyph_info /src/ghostpdl/./base/gsfont.c:1061:12 + #11 0x1696c13 in gs_type42_glyph_info_by_gid /src/ghostpdl/./base/gstype42.c:1387:16 + #12 0x1691788 in gs_type42_glyph_info /src/ghostpdl/./base/gstype42.c:1458:12 + #13 0x151386b in pdfi_cidtype2_glyph_info /src/ghostpdl/./pdf/pdf_font11.c:90:12 + #14 0xa5b60b in pdf_glyph_widths /src/ghostpdl/./devices/vector/gdevpdtt.c:2810:16 + #15 0x19f500d in scan_cmap_text /src/ghostpdl/./devices/vector/gdevpdtc.c:730:32 + #16 0x19f1c4b in process_cmap_text /src/ghostpdl/./devices/vector/gdevpdtc.c:965:12 + #17 0xa6619f in pdf_text_process /src/ghostpdl/./devices/vector/gdevpdtt.c:3758:16 + #18 0xcb091a in gs_text_process /src/ghostpdl/./base/gstext.c:670:12 + #19 0x153de59 in pdfi_show_simple /src/ghostpdl/./pdf/pdf_text.c:447:16 + #20 0x1534add in pdfi_show_Tr_preserve /src/ghostpdl/./pdf/pdf_text.c:791:16 + #21 0x1534add in pdfi_show /src/ghostpdl/./pdf/pdf_text.c:842:16 + #22 0x1538d0b in pdfi_TJ /src/ghostpdl/./pdf/pdf_text.c:1202:20 + #23 0x13f856f in pdfi_interpret_stream_operator /src/ghostpdl/./pdf/pdf_int.c:1650:24 + #24 0x13f6c91 in pdfi_interpret_content_stream /src/ghostpdl/./pdf/pdf_int.c:2126:24 + #25 0x1469813 in pdfi_process_page_contents /src/ghostpdl/./pdf/pdf_page.c:116:28 + #26 0x1469813 in pdfi_process_one_page /src/ghostpdl/./pdf/pdf_page.c:152:12 + #27 0x1469813 in pdfi_page_render /src/ghostpdl/./pdf/pdf_page.c:953:12 + #28 0x13a629d in zPDFdrawpage /src/ghostpdl/./psi/zpdfops.c:1157:24 + #29 0x11b91a9 in interp /src/ghostpdl/./psi/interp.c:1725:40 + #30 0x11b2256 in gs_call_interp /src/ghostpdl/./psi/interp.c:522:12 + #31 0x11b19f7 in gs_interpret /src/ghostpdl/./psi/interp.c:479:12 + #32 0x51e8a6 in gs_main_interpret /src/ghostpdl/./psi/imain.c:257:12 + #33 0x51ebee in gs_main_run_string_end /src/ghostpdl/./psi/imain.c:945:12 + #34 0x51ebee in __covrec_354B81557B0956Cu /src/ghostpdl/./psi/imain.c:889:12 + #35 0x519dfb in __covrec_218C571E84FB63F4 /src/ghostpdl/./psi/imain.c:870:12 + #36 0x15a94e6 in run_string /src/ghostpdl/./psi/imainarg.c:1169:12 + #37 0x15a4c81 in swproc /src/ghostpdl/./psi/imainarg.c:367:20 + #38 0x15a0e05 in gs_main_init_with_args01 /src/ghostpdl/./psi/imainarg.c:224:24 + #39 0x15a9251 in gs_main_init_with_args /src/ghostpdl/./psi/imainarg.c:289:16 + #40 0x119b038 in psapi_init_with_args /src/ghostpdl/./psi/psapi.c:281:12 + #41 0x51580c in gsapi_init_with_args /src/ghostpdl/./psi/iapi.c:253:12 + #42 0x4e5aa2 in __covrec_673F6603978DF04Bu /src/gs_fuzzlib.h:130:8 + #43 0x4e5e7b in LLVMFuzzerTestOneInput /src/gs_device_pdfwrite_fuzzer.cc:26:2 + #44 0x4f432c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #45 0x4e6285 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #46 0x4eaf31 in __covrec_6990238F142DEEC4u /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #47 0x4e5f52 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #48 0x7f8480db8082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #49 0x426d0d in _start (/out/gs_device_pdfwrite_fuzzer+0x426d0d) + +0x631000128830 is located 0 bytes to the right of 65584-byte region [0x631000118800,0x631000128830) +allocated by thread T0 here: + #0 0x4a8146 in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0xc623d0 in gs_heap_alloc_bytes /src/ghostpdl/./base/gsmalloc.c:192:34 + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ghostpdl/./base/ttinterp.c:736:14 in GetShortIns +Shadow bytes around the buggy address: + 0x0c628001d0b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c628001d0c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c628001d0d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c628001d0e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c628001d0f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +=>0x0c628001d100: 00 00 00 00 00 00[fa]fa fa fa fa fa fa fa fa fa + 0x0c628001d110: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c628001d120: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c628001d130: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c628001d140: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c628001d150: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-855.txt b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-855.txt new file mode 100644 index 000000000..f2ae096e5 --- /dev/null +++ b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-855.txt @@ -0,0 +1,244 @@ +INFO: Seed: 2825922151 +/out/gs_device_pdfwrite_fuzzer: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +base/gsiorom.c:94:14: runtime error: left shift of 128 by 24 places cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:94:14 in +psi/imainarg.c:684:43: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/imainarg.c:684:43 in +base/gxpath.c:114:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:114:23 in +base/gxpath.c:115:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:115:23 in +base/gxpath.c:116:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:116:23 in +base/gxpath.c:117:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:117:23 in +base/gxcpath.c:530:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:530:29 in +base/gxcpath.c:531:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:531:29 in +base/gxcpath.c:532:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:532:29 in +base/gxcpath.c:533:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:533:29 in +base/gspath.c:604:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:604:17 in +base/gspath.c:605:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:605:17 in +base/gspath.c:606:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:606:17 in +base/gspath.c:607:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:607:17 in +base/gxpcmap.c:839:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpcmap.c:839:9 in +base/gxccman.c:139:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxccman.c:139:9 in +base/gsiorom.c:122:21: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:122:21 in +base/gsiorom.c:201:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:201:25 in +psi/iscannum.c:103:58: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:103:58 in +psi/iscannum.c:103:73: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:103:73 in +psi/iscannum.c:104:58: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:104:58 in +psi/iscannum.c:104:73: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:104:73 in +psi/interp.c:1123:13: runtime error: member access within null pointer of type 'ref' (aka 'struct ref_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1123:13 in +psi/interp.c:1123:13: runtime error: member access within null pointer of type 'struct tas_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1123:13 in +psi/interp.c:1401:21: runtime error: member access within null pointer of type 'ref' (aka 'struct ref_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1401:21 in +psi/interp.c:1401:21: runtime error: member access within null pointer of type 'struct tas_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1401:21 in +psi/ziodevsc.c:153:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:153:25 in +psi/ziodevsc.c:230:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:230:25 in +psi/ziodevsc.c:301:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:301:25 in +psi/iscannum.c:278:13: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:278:13 in +psi/zarith.c:415:64: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zarith.c:415:64 in +psi/zusparam.c:440:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:440:11 in +psi/zusparam.c:440:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:440:11 in +base/gsalloc.c:1068:20: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsalloc.c:1068:20 in +psi/zusparam.c:202:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:202:11 in +psi/zusparam.c:202:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:202:11 in +psi/idparam.c:378:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/idparam.c:378:9 in +base/gsicc_manage.c:2166:23: runtime error: member access within null pointer of type 'cmm_profile_t' (aka 'struct cmm_profile_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_manage.c:2166:23 in +base/gsicc_cache.c:465:41: runtime error: left shift of 229 by 56 places cannot be represented in type 'int64_t' (aka 'long') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_cache.c:465:41 in +base/sfxstdio.c:199:21: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:199:21 in +devices/vector/gdevpdf.c:879:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdf.c:879:36 in +base/gsicc_cache.c:464:39: runtime error: left shift of 184 by 56 places cannot be represented in type 'int64_t' (aka 'long') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_cache.c:464:39 in +base/gshtscr.c:353:48: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:353:48 in +base/gshtscr.c:387:27: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:387:27 in +base/gshtscr.c:392:57: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:392:57 in +base/gsht.c:1051:26: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsht.c:1051:26 in +base/gsht.c:1052:27: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsht.c:1052:27 in +base/sjpege.c:37:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:37:9 in +base/sjpege.c:37:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:37:9 in +base/sjpege.c:52:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:52:9 in +base/sjpege.c:52:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:52:9 in +base/sjpege.c:72:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:72:9 in +base/sjpege.c:72:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:72:9 in +base/sjpegc.c:143:28: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpegc.c:143:28 in +base/sjpegc.c:143:28: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpegc.c:143:28 in +psi/ireclaim.c:110:36: runtime error: member access within null pointer of type 'i_ctx_t' (aka 'struct gs_context_state_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ireclaim.c:110:36 in +psi/igc.c:268:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:268:9 in +psi/zbfont.c:44:40: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:44:40 in +psi/igc.c:306:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:306:9 in +psi/zbfont.c:49:44: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:49:44 in +psi/isave.c:591:37: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/isave.c:591:37 in +psi/igc.c:1150:9: runtime error: member access within null pointer of type 'clump_head_t' (aka 'struct clump_head_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:1150:9 in +psi/igc.c:430:5: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:430:5 in +psi/igc.c:451:5: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:451:5 in +psi/zbfont.c:55:33: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:55:33 in +psi/igc.c:478:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:478:9 in +psi/igc.c:495:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:495:9 in +base/sfxstdio.c:73:48: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:73:48 in +base/sfxstdio.c:167:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:167:25 in +psi/zmedia2.c:56:34: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zmedia2.c:56:34 in +psi/zmedia2.c:240:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zmedia2.c:240:36 in +base/gsdparam.c:2476:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:2476:36 in +base/gsdparam.c:2476:68: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:2476:68 in +psi/zarith.c:460:41: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zarith.c:460:41 in +pdf/pdf_fontTT.c:569:5: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_fontTT.c:569:5 in +devices/vector/gdevpdfu.c:696:16: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdfu.c:696:16 in +base/gsicc.c:685:46: runtime error: member access within null pointer of type 'cmm_profile_t' (aka 'struct cmm_profile_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc.c:685:46 in +base/gsfont.c:924:31: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsfont.c:924:31 in +devices/vector/gdevpsft.c:802:24: runtime error: member access within null pointer of type 'ttf_OS_2_t' (aka 'struct ttf_OS_2_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpsft.c:802:24 in +devices/vector/gdevpdtd.c:216:27: runtime error: member access within null pointer of type 'pdf_font_descriptor_t' (aka 'struct pdf_font_descriptor_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:216:27 in +devices/vector/gdevpdtd.c:216:27: runtime error: member access within null pointer of type 'pdf_font_descriptor_common_t' (aka 'struct pdf_font_descriptor_common_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:216:27 in +base/gxccache.c:99:13: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxccache.c:99:13 in +base/ttfinp.c:57:27: runtime error: left shift of 163 by 24 places cannot be represented in type 'int32' (aka 'int') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfinp.c:57:27 in +base/ttfmain.c:275:36: runtime error: member access within null pointer of type 'sfnt_FontHeader' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:275:36 in +base/ttfmain.c:277:36: runtime error: member access within null pointer of type 'sfnt_FontHeader' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:277:36 in +base/ttfmain.c:281:36: runtime error: member access within null pointer of type 'sfnt_FontHeader' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:281:36 in +base/ttfmain.c:283:36: runtime error: member access within null pointer of type 'sfnt_maxProfileTable' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:283:36 in +base/ttfmain.c:285:36: runtime error: member access within null pointer of type 'sfnt_maxProfileTable' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:285:36 in +base/ttfmain.c:289:36: runtime error: member access within null pointer of type 'sfnt_MetricsHeader' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:289:36 in +base/ttfmain.c:50:23: runtime error: left shift of negative value -25 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:50:23 in +base/ttinterp.c:5076:14: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttinterp.c:5076:14 in +base/ttinterp.c:5076:14: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttinterp.c:5076:14 in +AddressSanitizer:DEADLYSIGNAL +================================================================= +==1==ERROR: AddressSanitizer: SEGV on unknown address 0x633000071468 (pc 0x000001d5a001 bp 0x000000000000 sp 0x7fff1ce5d510 T0) +==1==The signal is caused by a WRITE memory access. + #0 0x1d5a001 in Ins_ISECT /src/ghostpdl/./base/ttinterp.c:4113:28 + #1 0x1d52b9e in RunIns /src/ghostpdl/./base/ttinterp.c:5131:7 + #2 0x1bfd33e in Instance_Reset /src/ghostpdl/./base/ttobjs.c:834:15 + #3 0x1be21e1 in TT_Set_Instance_CharSizes /src/ghostpdl/./base/ttfmain.c:138:12 + #4 0x1be49ad in ttfFont__Open /src/ghostpdl/./base/ttfmain.c:348:12 + #5 0x169cce0 in ttfFont__Open_aux /src/ghostpdl/./base/gxttfb.c:448:12 + #6 0xe604b2 in gx_attach_tt_interpreter /src/ghostpdl/./base/gxccman.c:249:12 + #7 0xe5ff2c in gx_provide_fm_pair_attributes /src/ghostpdl/./base/gxccman.c:276:16 + #8 0x169118f in gs_type42_glyph_outline /src/ghostpdl/./base/gstype42.c:1358:9 + #9 0xc29498 in gs_default_glyph_info /src/ghostpdl/./base/gsfont.c:1061:12 + #10 0x1696c13 in gs_type42_glyph_info_by_gid /src/ghostpdl/./base/gstype42.c:1387:16 + #11 0x1691788 in gs_type42_glyph_info /src/ghostpdl/./base/gstype42.c:1458:12 + #12 0x19fdd51 in process_text_estimate_bbox /src/ghostpdl/./devices/vector/gdevpdte.c:689:16 + #13 0x19fdd51 in pdf_process_string /src/ghostpdl/./devices/vector/gdevpdte.c:856:16 + #14 0x19fd013 in pdf_process_string_aux /src/ghostpdl/./devices/vector/gdevpdte.c:81:12 + #15 0x1a0ff26 in process_plain_text /src/ghostpdl/./devices/vector/gdevpdte.c:1841:16 + #16 0xa660ea in pdf_text_process /src/ghostpdl/./devices/vector/gdevpdtt.c:3752:16 + #17 0xcb091a in gs_text_process /src/ghostpdl/./base/gstext.c:670:12 + #18 0x153de59 in pdfi_show_simple /src/ghostpdl/./pdf/pdf_text.c:447:16 + #19 0x1534add in pdfi_show_Tr_preserve /src/ghostpdl/./pdf/pdf_text.c:791:16 + #20 0x1534add in pdfi_show /src/ghostpdl/./pdf/pdf_text.c:842:16 + #21 0x1538d0b in pdfi_TJ /src/ghostpdl/./pdf/pdf_text.c:1202:20 + #22 0x13f856f in pdfi_interpret_stream_operator /src/ghostpdl/./pdf/pdf_int.c:1650:24 + #23 0x13f6c91 in pdfi_interpret_content_stream /src/ghostpdl/./pdf/pdf_int.c:2126:24 + #24 0x1469e7e in pdfi_process_page_contents /src/ghostpdl/./pdf/pdf_page.c:127:20 + #25 0x1469e7e in pdfi_process_one_page /src/ghostpdl/./pdf/pdf_page.c:152:12 + #26 0x1469e7e in pdfi_page_render /src/ghostpdl/./pdf/pdf_page.c:953:12 + #27 0x13a629d in zPDFdrawpage /src/ghostpdl/./psi/zpdfops.c:1157:24 + #28 0x11b91a9 in interp /src/ghostpdl/./psi/interp.c:1725:40 + #29 0x11b2256 in gs_call_interp /src/ghostpdl/./psi/interp.c:522:12 + #30 0x11b19f7 in gs_interpret /src/ghostpdl/./psi/interp.c:479:12 + #31 0x51e8a6 in gs_main_interpret /src/ghostpdl/./psi/imain.c:257:12 + #32 0x51ebee in gs_main_run_string_end /src/ghostpdl/./psi/imain.c:945:12 + #33 0x51ebee in __covrec_354B81557B0956Cu /src/ghostpdl/./psi/imain.c:889:12 + #34 0x519dfb in __covrec_218C571E84FB63F4 /src/ghostpdl/./psi/imain.c:870:12 + #35 0x15a94e6 in run_string /src/ghostpdl/./psi/imainarg.c:1169:12 + #36 0x15a4c81 in swproc /src/ghostpdl/./psi/imainarg.c:367:20 + #37 0x15a0e05 in gs_main_init_with_args01 /src/ghostpdl/./psi/imainarg.c:224:24 + #38 0x15a9251 in gs_main_init_with_args /src/ghostpdl/./psi/imainarg.c:289:16 + #39 0x119b038 in psapi_init_with_args /src/ghostpdl/./psi/psapi.c:281:12 + #40 0x51580c in gsapi_init_with_args /src/ghostpdl/./psi/iapi.c:253:12 + #41 0x4e5aa2 in __covrec_673F6603978DF04Bu /src/gs_fuzzlib.h:130:8 + #42 0x4e5e7b in LLVMFuzzerTestOneInput /src/gs_device_pdfwrite_fuzzer.cc:26:2 + #43 0x4f432c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #44 0x4e6285 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #45 0x4eaf31 in __covrec_6990238F142DEEC4u /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #46 0x4e5f52 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #47 0x7fe1afb9c082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #48 0x426d0d in _start (/out/gs_device_pdfwrite_fuzzer+0x426d0d) + +AddressSanitizer can not provide additional info. +SUMMARY: AddressSanitizer: SEGV /src/ghostpdl/./base/ttinterp.c:4113:28 in Ins_ISECT +==1==ABORTING diff --git a/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-866.txt b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-866.txt new file mode 100644 index 000000000..f469c2d37 --- /dev/null +++ b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-866.txt @@ -0,0 +1,276 @@ +INFO: Seed: 2812977391 +/out/gs_device_pdfwrite_fuzzer: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +base/gsiorom.c:94:14: runtime error: left shift of 128 by 24 places cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:94:14 in +psi/imainarg.c:684:43: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/imainarg.c:684:43 in +base/gxpath.c:114:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:114:23 in +base/gxpath.c:115:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:115:23 in +base/gxpath.c:116:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:116:23 in +base/gxpath.c:117:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:117:23 in +base/gxcpath.c:530:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:530:29 in +base/gxcpath.c:531:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:531:29 in +base/gxcpath.c:532:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:532:29 in +base/gxcpath.c:533:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:533:29 in +base/gspath.c:604:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:604:17 in +base/gspath.c:605:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:605:17 in +base/gspath.c:606:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:606:17 in +base/gspath.c:607:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:607:17 in +base/gxpcmap.c:839:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpcmap.c:839:9 in +base/gxccman.c:139:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxccman.c:139:9 in +base/gsiorom.c:122:21: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:122:21 in +base/gsiorom.c:201:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:201:25 in +psi/iscannum.c:103:58: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:103:58 in +psi/iscannum.c:103:73: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:103:73 in +psi/iscannum.c:104:58: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:104:58 in +psi/iscannum.c:104:73: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:104:73 in +psi/interp.c:1123:13: runtime error: member access within null pointer of type 'ref' (aka 'struct ref_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1123:13 in +psi/interp.c:1123:13: runtime error: member access within null pointer of type 'struct tas_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1123:13 in +psi/interp.c:1401:21: runtime error: member access within null pointer of type 'ref' (aka 'struct ref_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1401:21 in +psi/interp.c:1401:21: runtime error: member access within null pointer of type 'struct tas_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1401:21 in +psi/ziodevsc.c:153:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:153:25 in +psi/ziodevsc.c:230:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:230:25 in +psi/ziodevsc.c:301:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:301:25 in +psi/iscannum.c:278:13: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:278:13 in +psi/zarith.c:415:64: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zarith.c:415:64 in +psi/zusparam.c:440:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:440:11 in +psi/zusparam.c:440:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:440:11 in +base/gsalloc.c:1068:20: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsalloc.c:1068:20 in +psi/zusparam.c:202:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:202:11 in +psi/zusparam.c:202:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:202:11 in +psi/idparam.c:378:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/idparam.c:378:9 in +base/gsicc_manage.c:2166:23: runtime error: member access within null pointer of type 'cmm_profile_t' (aka 'struct cmm_profile_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_manage.c:2166:23 in +base/gsicc_cache.c:465:41: runtime error: left shift of 229 by 56 places cannot be represented in type 'int64_t' (aka 'long') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_cache.c:465:41 in +base/sfxstdio.c:199:21: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:199:21 in +devices/vector/gdevpdf.c:879:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdf.c:879:36 in +base/gsicc_cache.c:464:39: runtime error: left shift of 184 by 56 places cannot be represented in type 'int64_t' (aka 'long') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_cache.c:464:39 in +base/gshtscr.c:353:48: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:353:48 in +base/gshtscr.c:387:27: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:387:27 in +base/gshtscr.c:392:57: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:392:57 in +base/gsht.c:1051:26: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsht.c:1051:26 in +base/gsht.c:1052:27: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsht.c:1052:27 in +base/sjpege.c:37:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:37:9 in +base/sjpege.c:37:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:37:9 in +base/sjpege.c:52:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:52:9 in +base/sjpege.c:52:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:52:9 in +base/sjpege.c:72:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:72:9 in +base/sjpege.c:72:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:72:9 in +base/sjpegc.c:143:28: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpegc.c:143:28 in +base/sjpegc.c:143:28: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpegc.c:143:28 in +psi/ireclaim.c:110:36: runtime error: member access within null pointer of type 'i_ctx_t' (aka 'struct gs_context_state_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ireclaim.c:110:36 in +psi/igc.c:268:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:268:9 in +psi/zbfont.c:44:40: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:44:40 in +psi/igc.c:306:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:306:9 in +psi/zbfont.c:49:44: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:49:44 in +psi/isave.c:591:37: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/isave.c:591:37 in +psi/igc.c:1150:9: runtime error: member access within null pointer of type 'clump_head_t' (aka 'struct clump_head_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:1150:9 in +psi/igc.c:430:5: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:430:5 in +psi/igc.c:451:5: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:451:5 in +psi/zbfont.c:55:33: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:55:33 in +psi/igc.c:478:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:478:9 in +psi/igc.c:495:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:495:9 in +base/sfxstdio.c:73:48: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:73:48 in +base/sfxstdio.c:167:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:167:25 in +psi/zmedia2.c:56:34: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zmedia2.c:56:34 in +psi/zmedia2.c:240:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zmedia2.c:240:36 in +base/gsdparam.c:2476:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:2476:36 in +base/gsdparam.c:2476:68: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:2476:68 in +base/gxpath.c:978:12: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:978:12 in +pdf/pdf_font1C.c:2198:5: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_font1C.c:2198:5 in +pdf/pdf_font1C.c:2125:5: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_font1C.c:2125:5 in +pdf/pdf_font1C.c:2784:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_font1C.c:2784:17 in +base/gstype2.c:188:17: runtime error: left shift of negative value -3 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gstype2.c:188:17 in +base/gstype2.c:190:17: runtime error: left shift of negative value -291 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gstype2.c:190:17 in +base/gsfont.c:924:31: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsfont.c:924:31 in +base/gxtype1.c:407:17: runtime error: left shift of negative value -3 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:407:17 in +base/gxtype1.c:409:17: runtime error: left shift of negative value -500 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:409:17 in +devices/vector/gdevpdtd.c:216:27: runtime error: member access within null pointer of type 'pdf_font_descriptor_t' (aka 'struct pdf_font_descriptor_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:216:27 in +devices/vector/gdevpdtd.c:216:27: runtime error: member access within null pointer of type 'pdf_font_descriptor_common_t' (aka 'struct pdf_font_descriptor_common_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:216:27 in +base/gscoord.c:607:32: runtime error: shift exponent 42 is too large for 32-bit type 'fixed' (aka 'int') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gscoord.c:607:32 in +base/gxpflat.c:272:22: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:272:22 in +base/gxtype1.c:430:26: runtime error: left shift of negative value -8969 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:430:26 in +base/gxtype1.c:415:26: runtime error: left shift of 13598720 by 8 places cannot be represented in type 'fixed' (aka 'int') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:415:26 in +base/seexec.c:72:20: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/seexec.c:72:20 in +base/gscrypt1.c:52:9: runtime error: signed integer overflow: 55898 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gscrypt1.c:52:9 in +base/gscrypt1.c:52:9: runtime error: signed integer overflow: 2147462265 + 22719 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gscrypt1.c:52:9 in +pdf/pdf_font1.c:680:13: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_font1.c:680:13 in +base/wrfont.c:47:61: runtime error: signed integer overflow: 55794 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/wrfont.c:47:61 in +pdf/pdf_fapi.c:666:30: runtime error: signed integer overflow: 49136 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_fapi.c:666:30 in +pdf/pdf_font1.c:868:5: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_font1.c:868:5 in +devices/vector/gdevpdfu.c:696:16: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdfu.c:696:16 in +base/gsdparam.c:1710:33: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:1710:33 in +base/gsdparam.c:1710:61: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:1710:61 in +psi/zfont.c:510:18: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zfont.c:510:18 in +devices/vector/gdevpdtd.c:416:49: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:416:49 in +devices/vector/gdevpdtd.c:417:49: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:417:49 in +devices/vector/gdevpdtd.c:499:27: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:499:27 in +================================================================= +==1==ERROR: AddressSanitizer: stack-buffer-underflow on address 0x7f87434b181c at pc 0x000001923750 bp 0x7ffebcd76b50 sp 0x7ffebcd76b48 +READ of size 4 at 0x7f87434b181c thread T0 + #0 0x192374f in gs_type2_interpret /src/ghostpdl/./base/gstype2.c:646:29 + #1 0xa87908 in copied_type1_glyph_outline /src/ghostpdl/./devices/gxfcopy.c:1108:16 + #2 0xc29498 in gs_default_glyph_info /src/ghostpdl/./base/gsfont.c:1061:12 + #3 0x18c95d8 in gs_type1_glyph_info /src/ghostpdl/./base/gxtype1.c:616:16 + #4 0xa1cbf4 in pdf_compute_font_descriptor /src/ghostpdl/./devices/vector/gdevpdtd.c:469:16 + #5 0xa1f049 in pdf_finish_FontDescriptor /src/ghostpdl/./devices/vector/gdevpdtd.c:649:17 + #6 0xa72a2f in pdf_finish_resources /src/ghostpdl/./devices/vector/gdevpdtw.c:684:24 + #7 0x8b8eb6 in __covrec_59069581604AE801u /src/ghostpdl/./devices/vector/gdevpdf.c:2785:13 + #8 0xbfcf38 in gs_closedevice /src/ghostpdl/./base/gsdevice.c:786:16 + #9 0x5217cb in __covrec_543A5F2E6E788DDu /src/ghostpdl/./psi/imain.c:1351:20 + #10 0x52362e in gs_to_exit_with_code /src/ghostpdl/./psi/imain.c:1434:12 + #11 0x52367e in gs_to_exit /src/ghostpdl/./psi/imain.c:1439:12 + #12 0x119c0d8 in psapi_exit /src/ghostpdl/./psi/psapi.c:517:5 + #13 0x515aef in gsapi_exit /src/ghostpdl/./psi/iapi.c:440:12 + #14 0x4e5ad3 in __covrec_673F6603978DF04Bu /src/gs_fuzzlib.h:135:8 + #15 0x4e5e7b in LLVMFuzzerTestOneInput /src/gs_device_pdfwrite_fuzzer.cc:26:2 + #16 0x4f432c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #17 0x4e6285 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #18 0x4eaf31 in __covrec_6990238F142DEEC4u /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #19 0x4e5f52 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #20 0x7f87459cc082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #21 0x426d0d in _start (/out/gs_device_pdfwrite_fuzzer+0x426d0d) + +Address 0x7f87434b181c is located in stack of thread T0 at offset 28 in frame + #0 0x191b28f in gs_type2_interpret /src/ghostpdl/./base/gstype2.c:124 + + This frame has 4 object(s): + [32, 224) 'cstack' (line 129) <== Memory access at offset 28 underflows this variable + [288, 300) 'mask' (line 459) + [320, 336) 'join' (line 851) + [352, 368) 'end' (line 851) +HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork + (longjmp and C++ exceptions *are* supported) +SUMMARY: AddressSanitizer: stack-buffer-underflow /src/ghostpdl/./base/gstype2.c:646:29 in gs_type2_interpret +Shadow bytes around the buggy address: + 0x0ff16868e2b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0ff16868e2c0: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 + 0x0ff16868e2d0: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 + 0x0ff16868e2e0: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 + 0x0ff16868e2f0: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 +=>0x0ff16868e300: f1 f1 f1[f1]00 00 00 00 00 00 00 00 00 00 00 00 + 0x0ff16868e310: 00 00 00 00 00 00 00 00 00 00 00 00 f2 f2 f2 f2 + 0x0ff16868e320: f2 f2 f2 f2 f8 f8 f2 f2 f8 f8 f2 f2 f8 f8 f3 f3 + 0x0ff16868e330: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0ff16868e340: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 + 0x0ff16868e350: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-888.txt b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-888.txt new file mode 100644 index 000000000..6a9553c04 --- /dev/null +++ b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-888.txt @@ -0,0 +1,258 @@ +INFO: Seed: 2831630626 +/out/gs_device_pdfwrite_fuzzer: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +base/gsiorom.c:94:14: runtime error: left shift of 128 by 24 places cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:94:14 in +psi/imainarg.c:684:43: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/imainarg.c:684:43 in +base/gxpath.c:114:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:114:23 in +base/gxpath.c:115:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:115:23 in +base/gxpath.c:116:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:116:23 in +base/gxpath.c:117:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:117:23 in +base/gxcpath.c:530:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:530:29 in +base/gxcpath.c:531:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:531:29 in +base/gxcpath.c:532:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:532:29 in +base/gxcpath.c:533:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:533:29 in +base/gspath.c:604:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:604:17 in +base/gspath.c:605:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:605:17 in +base/gspath.c:606:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:606:17 in +base/gspath.c:607:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:607:17 in +base/gxpcmap.c:839:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpcmap.c:839:9 in +base/gxccman.c:139:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxccman.c:139:9 in +base/gsiorom.c:122:21: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:122:21 in +base/gsiorom.c:201:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:201:25 in +psi/iscannum.c:103:58: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:103:58 in +psi/iscannum.c:103:73: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:103:73 in +psi/iscannum.c:104:58: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:104:58 in +psi/iscannum.c:104:73: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:104:73 in +psi/interp.c:1123:13: runtime error: member access within null pointer of type 'ref' (aka 'struct ref_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1123:13 in +psi/interp.c:1123:13: runtime error: member access within null pointer of type 'struct tas_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1123:13 in +psi/interp.c:1401:21: runtime error: member access within null pointer of type 'ref' (aka 'struct ref_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1401:21 in +psi/interp.c:1401:21: runtime error: member access within null pointer of type 'struct tas_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1401:21 in +psi/ziodevsc.c:153:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:153:25 in +psi/ziodevsc.c:230:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:230:25 in +psi/ziodevsc.c:301:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:301:25 in +psi/iscannum.c:278:13: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:278:13 in +psi/zarith.c:415:64: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zarith.c:415:64 in +psi/zusparam.c:440:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:440:11 in +psi/zusparam.c:440:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:440:11 in +base/gsalloc.c:1068:20: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsalloc.c:1068:20 in +psi/zusparam.c:202:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:202:11 in +psi/zusparam.c:202:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:202:11 in +psi/idparam.c:378:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/idparam.c:378:9 in +base/gsicc_manage.c:2166:23: runtime error: member access within null pointer of type 'cmm_profile_t' (aka 'struct cmm_profile_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_manage.c:2166:23 in +base/gsicc_cache.c:465:41: runtime error: left shift of 229 by 56 places cannot be represented in type 'int64_t' (aka 'long') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_cache.c:465:41 in +base/sfxstdio.c:199:21: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:199:21 in +devices/vector/gdevpdf.c:879:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdf.c:879:36 in +base/gsicc_cache.c:464:39: runtime error: left shift of 184 by 56 places cannot be represented in type 'int64_t' (aka 'long') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_cache.c:464:39 in +base/gshtscr.c:353:48: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:353:48 in +base/gshtscr.c:387:27: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:387:27 in +base/gshtscr.c:392:57: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:392:57 in +base/gsht.c:1051:26: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsht.c:1051:26 in +base/gsht.c:1052:27: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsht.c:1052:27 in +base/sjpege.c:37:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:37:9 in +base/sjpege.c:37:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:37:9 in +base/sjpege.c:52:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:52:9 in +base/sjpege.c:52:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:52:9 in +base/sjpege.c:72:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:72:9 in +base/sjpege.c:72:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:72:9 in +base/sjpegc.c:143:28: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpegc.c:143:28 in +base/sjpegc.c:143:28: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpegc.c:143:28 in +psi/ireclaim.c:110:36: runtime error: member access within null pointer of type 'i_ctx_t' (aka 'struct gs_context_state_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ireclaim.c:110:36 in +psi/igc.c:268:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:268:9 in +psi/zbfont.c:44:40: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:44:40 in +psi/igc.c:306:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:306:9 in +psi/zbfont.c:49:44: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:49:44 in +psi/isave.c:591:37: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/isave.c:591:37 in +psi/igc.c:1150:9: runtime error: member access within null pointer of type 'clump_head_t' (aka 'struct clump_head_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:1150:9 in +psi/igc.c:430:5: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:430:5 in +psi/igc.c:451:5: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:451:5 in +psi/zbfont.c:55:33: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:55:33 in +psi/igc.c:478:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:478:9 in +psi/igc.c:495:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:495:9 in +base/sfxstdio.c:73:48: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:73:48 in +base/sfxstdio.c:167:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:167:25 in +psi/zmedia2.c:56:34: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zmedia2.c:56:34 in +psi/zmedia2.c:240:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zmedia2.c:240:36 in +base/gsdparam.c:2476:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:2476:36 in +base/gsdparam.c:2476:68: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:2476:68 in +psi/zarith.c:460:41: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zarith.c:460:41 in +pdf/pdf_font1C.c:2198:5: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_font1C.c:2198:5 in +pdf/pdf_font1C.c:2125:5: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_font1C.c:2125:5 in +pdf/pdf_font1C.c:2784:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_font1C.c:2784:17 in +base/gstype2.c:188:17: runtime error: left shift of negative value -34 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gstype2.c:188:17 in +base/gstype2.c:190:17: runtime error: left shift of negative value -317 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gstype2.c:190:17 in +base/gsfont.c:924:31: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsfont.c:924:31 in +base/gxtype1.c:407:17: runtime error: left shift of negative value -24 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:407:17 in +base/gxtype1.c:409:17: runtime error: left shift of negative value -343 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:409:17 in +base/gxtype1.c:430:26: runtime error: left shift of negative value -1898 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:430:26 in +base/gxtype1.c:415:26: runtime error: left shift of 124358029 by 8 places cannot be represented in type 'fixed' (aka 'int') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:415:26 in +devices/vector/gdevpdtd.c:216:27: runtime error: member access within null pointer of type 'pdf_font_descriptor_t' (aka 'struct pdf_font_descriptor_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:216:27 in +devices/vector/gdevpdtd.c:216:27: runtime error: member access within null pointer of type 'pdf_font_descriptor_common_t' (aka 'struct pdf_font_descriptor_common_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:216:27 in +devices/vector/gdevpdfu.c:696:16: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdfu.c:696:16 in +base/gsdparam.c:1710:33: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:1710:33 in +base/gsdparam.c:1710:61: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:1710:61 in +psi/zfont.c:510:18: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zfont.c:510:18 in +devices/vector/gdevpdtd.c:416:49: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:416:49 in +devices/vector/gdevpdtd.c:417:49: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:417:49 in +base/gscoord.c:607:32: runtime error: shift exponent 42 is too large for 32-bit type 'fixed' (aka 'int') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gscoord.c:607:32 in +================================================================= +==1==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7f63aa9502e0 at pc 0x000001923c17 bp 0x7ffdadc7c210 sp 0x7ffdadc7c208 +READ of size 4 at 0x7f63aa9502e0 thread T0 + #0 0x1923c16 in gs_type2_interpret /src/ghostpdl/./base/gstype2.c:496:46 + #1 0xa87908 in copied_type1_glyph_outline /src/ghostpdl/./devices/gxfcopy.c:1108:16 + #2 0xc29498 in gs_default_glyph_info /src/ghostpdl/./base/gsfont.c:1061:12 + #3 0x18c95d8 in gs_type1_glyph_info /src/ghostpdl/./base/gxtype1.c:616:16 + #4 0xa1cbf4 in pdf_compute_font_descriptor /src/ghostpdl/./devices/vector/gdevpdtd.c:469:16 + #5 0xa1f049 in pdf_finish_FontDescriptor /src/ghostpdl/./devices/vector/gdevpdtd.c:649:17 + #6 0xa72a2f in pdf_finish_resources /src/ghostpdl/./devices/vector/gdevpdtw.c:684:24 + #7 0x8b8eb6 in __covrec_59069581604AE801u /src/ghostpdl/./devices/vector/gdevpdf.c:2785:13 + #8 0xbfcf38 in gs_closedevice /src/ghostpdl/./base/gsdevice.c:786:16 + #9 0x5217cb in __covrec_543A5F2E6E788DDu /src/ghostpdl/./psi/imain.c:1351:20 + #10 0x52362e in gs_to_exit_with_code /src/ghostpdl/./psi/imain.c:1434:12 + #11 0x52367e in gs_to_exit /src/ghostpdl/./psi/imain.c:1439:12 + #12 0x119c0d8 in psapi_exit /src/ghostpdl/./psi/psapi.c:517:5 + #13 0x515aef in gsapi_exit /src/ghostpdl/./psi/iapi.c:440:12 + #14 0x4e5ad3 in __covrec_673F6603978DF04Bu /src/gs_fuzzlib.h:135:8 + #15 0x4e5e7b in LLVMFuzzerTestOneInput /src/gs_device_pdfwrite_fuzzer.cc:26:2 + #16 0x4f432c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #17 0x4e6285 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #18 0x4eaf31 in __covrec_6990238F142DEEC4u /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #19 0x4e5f52 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #20 0x7f63aceed082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #21 0x426d0d in _start (/out/gs_device_pdfwrite_fuzzer+0x426d0d) + +Address 0x7f63aa9502e0 is located in stack of thread T0 at offset 224 in frame + #0 0x191b28f in gs_type2_interpret /src/ghostpdl/./base/gstype2.c:124 + + This frame has 4 object(s): + [32, 224) 'cstack' (line 129) <== Memory access at offset 224 overflows this variable + [288, 300) 'mask' (line 459) + [320, 336) 'join' (line 851) + [352, 368) 'end' (line 851) +HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork + (longjmp and C++ exceptions *are* supported) +SUMMARY: AddressSanitizer: stack-buffer-overflow /src/ghostpdl/./base/gstype2.c:496:46 in gs_type2_interpret +Shadow bytes around the buggy address: + 0x0fecf5522000: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 + 0x0fecf5522010: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 + 0x0fecf5522020: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 + 0x0fecf5522030: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 + 0x0fecf5522040: f1 f1 f1 f1 00 00 00 00 00 00 00 00 00 00 00 00 +=>0x0fecf5522050: 00 00 00 00 00 00 00 00 00 00 00 00[f2]f2 f2 f2 + 0x0fecf5522060: f2 f2 f2 f2 f8 f8 f2 f2 f8 f8 f2 f2 f8 f8 f3 f3 + 0x0fecf5522070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0fecf5522080: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 + 0x0fecf5522090: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 + 0x0fecf55220a0: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-949.txt b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-949.txt new file mode 100644 index 000000000..1dd26f805 --- /dev/null +++ b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2022-949.txt @@ -0,0 +1,484 @@ +INFO: Seed: 2769189179 +/out/gs_device_pdfwrite_fuzzer: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +base/gsiorom.c:94:14: runtime error: left shift of 128 by 24 places cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:94:14 in +psi/imainarg.c:684:43: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/imainarg.c:684:43 in +base/gxpath.c:114:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:114:23 in +base/gxpath.c:115:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:115:23 in +base/gxpath.c:116:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:116:23 in +base/gxpath.c:117:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:117:23 in +base/gxcpath.c:530:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:530:29 in +base/gxcpath.c:531:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:531:29 in +base/gxcpath.c:532:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:532:29 in +base/gxcpath.c:533:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:533:29 in +base/gspath.c:604:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:604:17 in +base/gspath.c:605:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:605:17 in +base/gspath.c:606:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:606:17 in +base/gspath.c:607:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:607:17 in +base/gxpcmap.c:839:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpcmap.c:839:9 in +base/gxccman.c:139:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxccman.c:139:9 in +base/gsiorom.c:122:21: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:122:21 in +base/gsiorom.c:201:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:201:25 in +psi/iscannum.c:103:58: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:103:58 in +psi/iscannum.c:103:73: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:103:73 in +psi/iscannum.c:104:58: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:104:58 in +psi/iscannum.c:104:73: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:104:73 in +psi/interp.c:1123:13: runtime error: member access within null pointer of type 'ref' (aka 'struct ref_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1123:13 in +psi/interp.c:1123:13: runtime error: member access within null pointer of type 'struct tas_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1123:13 in +psi/interp.c:1401:21: runtime error: member access within null pointer of type 'ref' (aka 'struct ref_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1401:21 in +psi/interp.c:1401:21: runtime error: member access within null pointer of type 'struct tas_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1401:21 in +psi/ziodevsc.c:153:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:153:25 in +psi/ziodevsc.c:230:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:230:25 in +psi/ziodevsc.c:301:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:301:25 in +psi/iscannum.c:278:13: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:278:13 in +psi/zarith.c:415:64: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zarith.c:415:64 in +psi/zusparam.c:440:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:440:11 in +psi/zusparam.c:440:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:440:11 in +base/gsalloc.c:1068:20: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsalloc.c:1068:20 in +psi/zusparam.c:202:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:202:11 in +psi/zusparam.c:202:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:202:11 in +psi/idparam.c:378:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/idparam.c:378:9 in +base/gsicc_manage.c:2166:23: runtime error: member access within null pointer of type 'cmm_profile_t' (aka 'struct cmm_profile_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_manage.c:2166:23 in +base/gsicc_cache.c:465:41: runtime error: left shift of 229 by 56 places cannot be represented in type 'int64_t' (aka 'long') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_cache.c:465:41 in +base/sfxstdio.c:199:21: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:199:21 in +devices/vector/gdevpdf.c:879:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdf.c:879:36 in +base/gsicc_cache.c:464:39: runtime error: left shift of 184 by 56 places cannot be represented in type 'int64_t' (aka 'long') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_cache.c:464:39 in +base/gshtscr.c:353:48: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:353:48 in +base/gshtscr.c:387:27: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:387:27 in +base/gshtscr.c:392:57: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:392:57 in +base/gsht.c:1051:26: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsht.c:1051:26 in +base/gsht.c:1052:27: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsht.c:1052:27 in +base/sjpege.c:37:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:37:9 in +base/sjpege.c:37:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:37:9 in +base/sjpege.c:52:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:52:9 in +base/sjpege.c:52:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:52:9 in +base/sjpege.c:72:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:72:9 in +base/sjpege.c:72:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:72:9 in +base/sjpegc.c:143:28: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpegc.c:143:28 in +base/sjpegc.c:143:28: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpegc.c:143:28 in +psi/ireclaim.c:110:36: runtime error: member access within null pointer of type 'i_ctx_t' (aka 'struct gs_context_state_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ireclaim.c:110:36 in +psi/igc.c:268:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:268:9 in +psi/zbfont.c:44:40: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:44:40 in +psi/igc.c:306:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:306:9 in +psi/zbfont.c:49:44: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:49:44 in +psi/isave.c:591:37: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/isave.c:591:37 in +psi/igc.c:1150:9: runtime error: member access within null pointer of type 'clump_head_t' (aka 'struct clump_head_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:1150:9 in +psi/igc.c:430:5: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:430:5 in +psi/igc.c:451:5: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:451:5 in +psi/zbfont.c:55:33: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:55:33 in +psi/igc.c:478:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:478:9 in +psi/igc.c:495:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:495:9 in +base/sfxstdio.c:73:48: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:73:48 in +base/sfxstdio.c:167:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:167:25 in +psi/zmedia2.c:56:34: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zmedia2.c:56:34 in +psi/zmedia2.c:240:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zmedia2.c:240:36 in +base/gsdparam.c:2476:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:2476:36 in +base/gsdparam.c:2476:68: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:2476:68 in +psi/zarith.c:460:41: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zarith.c:460:41 in +pdf/pdf_fontTT.c:569:5: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_fontTT.c:569:5 in +devices/vector/gdevpdfu.c:696:16: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdfu.c:696:16 in +base/gsicc.c:685:46: runtime error: member access within null pointer of type 'cmm_profile_t' (aka 'struct cmm_profile_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc.c:685:46 in +devices/vector/gdevpsft.c:802:24: runtime error: member access within null pointer of type 'ttf_OS_2_t' (aka 'struct ttf_OS_2_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpsft.c:802:24 in +devices/vector/gdevpdtd.c:216:27: runtime error: member access within null pointer of type 'pdf_font_descriptor_t' (aka 'struct pdf_font_descriptor_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:216:27 in +devices/vector/gdevpdtd.c:216:27: runtime error: member access within null pointer of type 'pdf_font_descriptor_common_t' (aka 'struct pdf_font_descriptor_common_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:216:27 in +base/gxccache.c:99:13: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxccache.c:99:13 in +base/ttfinp.c:57:27: runtime error: left shift of 163 by 24 places cannot be represented in type 'int32' (aka 'int') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfinp.c:57:27 in +base/ttfmain.c:275:36: runtime error: member access within null pointer of type 'sfnt_FontHeader' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:275:36 in +base/ttfmain.c:277:36: runtime error: member access within null pointer of type 'sfnt_FontHeader' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:277:36 in +base/ttfmain.c:281:36: runtime error: member access within null pointer of type 'sfnt_FontHeader' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:281:36 in +base/ttfmain.c:283:36: runtime error: member access within null pointer of type 'sfnt_maxProfileTable' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:283:36 in +base/ttfmain.c:285:36: runtime error: member access within null pointer of type 'sfnt_maxProfileTable' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:285:36 in +base/ttfmain.c:289:36: runtime error: member access within null pointer of type 'sfnt_MetricsHeader' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:289:36 in +base/ttfmain.c:50:23: runtime error: left shift of negative value -25 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:50:23 in +base/ttinterp.c:5076:14: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttinterp.c:5076:14 in +base/ttinterp.c:5076:14: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttinterp.c:5076:14 in +base/gxccman.c:451:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxccman.c:451:9 in +base/gxpath.c:978:12: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:978:12 in +base/gxpflat.c:272:22: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:272:22 in +base/seexec.c:72:20: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/seexec.c:72:20 in +base/gscrypt1.c:52:9: runtime error: signed integer overflow: 55898 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gscrypt1.c:52:9 in +base/gscrypt1.c:52:9: runtime error: signed integer overflow: 2147462265 + 22719 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gscrypt1.c:52:9 in +pdf/pdf_font1.c:680:13: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_font1.c:680:13 in +base/wrfont.c:47:61: runtime error: signed integer overflow: 55794 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/wrfont.c:47:61 in +pdf/pdf_fapi.c:666:30: runtime error: signed integer overflow: 49136 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_fapi.c:666:30 in +pdf/pdf_font1.c:868:5: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_font1.c:868:5 in +base/gstype1.c:403:33: runtime error: signed integer overflow: 49136 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gstype1.c:403:33 in +base/gsfont.c:924:31: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsfont.c:924:31 in +base/gxtype1.c:386:13: runtime error: signed integer overflow: 49136 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:386:13 in +base/gxtype1.c:409:17: runtime error: left shift of negative value -219 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:409:17 in +base/gxtype1.c:407:17: runtime error: left shift of negative value -40 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:407:17 in +base/gxtype1.c:530:13: runtime error: signed integer overflow: 42785 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:530:13 in +base/gxtype1.c:413:17: runtime error: signed integer overflow: 57489 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:413:17 in +base/gxtype1.c:415:26: runtime error: left shift of negative value -1141 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:415:26 in +base/gscoord.c:607:32: runtime error: shift exponent 42 is too large for 32-bit type 'fixed' (aka 'int') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gscoord.c:607:32 in +base/gstype1.c:584:17: runtime error: left shift of negative value -729 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gstype1.c:584:17 in +base/gstype1.c:582:17: runtime error: left shift of negative value -8 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gstype1.c:582:17 in +base/gstype1.c:350:17: runtime error: signed integer overflow: 42785 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gstype1.c:350:17 in +base/gsdparam.c:1710:33: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:1710:33 in +base/gsdparam.c:1710:61: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:1710:61 in +base/gxccman.c:798:27: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxccman.c:798:27 in +pdf/pdf_int.c:299:34: runtime error: signed integer overflow: 480847669 * 10 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_int.c:299:34 in +pdf/pdf_int.c:162:15: runtime error: signed integer overflow: 504516514 * 10 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_int.c:162:15 in +base/gspath.c:88:14: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:88:14 in +base/gspath.c:88:14: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:88:14 in +base/gspath.c:89:14: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:89:14 in +base/gspath.c:89:14: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:89:14 in +base/gspath.c:88:14: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:88:14 in +base/gspath.c:89:14: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:89:14 in +base/gspath.c:88:14: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:88:14 in +base/gspath.c:89:14: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:89:14 in +base/gxpcopy.c:126:43: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpcopy.c:126:43 in +base/gxpflat.c:162:5: runtime error: left shift of negative value -73 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:162:5 in +base/gxpflat.c:162:5: runtime error: left shift of negative value -48 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:162:5 in +base/gxpflat.c:168:10: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:168:10 in +base/gxpflat.c:168:10: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:168:10 in +base/gxpflat.c:168:28: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:168:28 in +base/gxpflat.c:168:28: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:168:28 in +base/gxpflat.c:169:10: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:169:10 in +base/gxpflat.c:169:10: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:169:10 in +base/gxpflat.c:169:28: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:169:28 in +base/gxpflat.c:169:28: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:169:28 in +base/gxpflat.c:170:10: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:170:10 in +base/gxpflat.c:170:10: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:170:10 in +base/gxpflat.c:170:28: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:170:28 in +base/gxpflat.c:170:28: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:170:28 in +base/gxpflat.c:228:20: runtime error: left shift of negative value -39 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:228:20 in +base/gxpflat.c:231:22: runtime error: left shift of negative value -101 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:231:22 in +base/gxpflat.c:231:40: runtime error: left shift of negative value -303 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:231:40 in +base/gxpflat.c:160:5: runtime error: left shift of negative value -5 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:160:5 in +base/gxpflat.c:160:5: runtime error: left shift of negative value -7 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:160:5 in +base/gxpflat.c:229:20: runtime error: left shift of negative value -39 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:229:20 in +base/gxpflat.c:230:22: runtime error: left shift of negative value -17 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:230:22 in +base/gxpflat.c:230:40: runtime error: left shift of negative value -51 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:230:40 in +base/gxpflat.c:71:62: runtime error: signed integer overflow: -2147093958 - 2147010717 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:71:62 in +base/gxpflat.c:76:33: runtime error: signed integer overflow: 33525057 + 2146927537 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:76:33 in +base/gxpflat.c:162:5: runtime error: signed integer overflow: -2146064855 - 2146314578 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:162:5 in +base/gxpflat.c:162:5: runtime error: signed integer overflow: -2454113 - 2146314578 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:162:5 in +base/gxpflat.c:162:5: runtime error: signed integer overflow: 2147093958 + 1073546979 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:162:5 in +base/gxpflat.c:72:58: runtime error: signed integer overflow: -1136598291 - 1149589120 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:72:58 in +base/gxpflat.c:53:24: runtime error: signed integer overflow: -2147227647 - 2147227647 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:53:24 in +base/gxpflat.c:72:36: runtime error: signed integer overflow: -477366 + -2147227647 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:72:36 in +base/gxpflat.c:160:5: runtime error: signed integer overflow: -2147227647 - 2146526708 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:160:5 in +base/gxpflat.c:162:5: runtime error: signed integer overflow: -2097384839 - 89444496 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:162:5 in +base/gxpflat.c:160:5: runtime error: signed integer overflow: -2147026538 + -1073513269 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:160:5 in +base/gxpflat.c:160:5: runtime error: signed integer overflow: -1610166306 - 1074427489 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:160:5 in +base/gxpflat.c:160:5: runtime error: signed integer overflow: -1610170871 - 1074427489 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:160:5 in +base/gxpcopy.c:318:28: runtime error: signed integer overflow: 339237 - -2147227647 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpcopy.c:318:28 in +base/gxpflat.c:160:5: runtime error: signed integer overflow: 2147226828 - -2147227647 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:160:5 in +base/gxpflat.c:162:5: runtime error: signed integer overflow: 582609807 - -1944547758 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:162:5 in +base/gxpflat.c:70:57: runtime error: signed integer overflow: -2147227647 - 12881837 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:70:57 in +base/gxpflat.c:71:51: runtime error: signed integer overflow: 770781120 - -2147227647 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:71:51 in +base/gxpflat.c:162:5: runtime error: signed integer overflow: -2147227647 - 770781120 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:162:5 in +base/gxpflat.c:162:5: runtime error: signed integer overflow: 12881837 - -2147227647 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:162:5 in +base/gxpcopy.c:318:45: runtime error: signed integer overflow: -2147227647 - 770781120 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpcopy.c:318:45 in +base/gxacpath.c:259:39: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxacpath.c:259:39 in +base/gxacpath.c:260:39: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxacpath.c:260:39 in +base/gxacpath.c:261:47: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxacpath.c:261:47 in +base/gxacpath.c:262:47: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxacpath.c:262:47 in +base/gxfill.c:321:22: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxfill.c:321:22 in +base/gxscanc.c:3393:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxscanc.c:3393:17 in +base/gxscanc.c:3394:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxscanc.c:3394:17 in +base/gxdtfill.h:138:24: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxdtfill.h:138:24 in +base/gxdtfill.h:139:24: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxdtfill.h:139:24 in +base/gxdtfill.h:264:13: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxdtfill.h:264:13 in +base/gxdtfill.h:264:33: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxdtfill.h:264:33 in +base/gxdtfill.h:273:13: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxdtfill.h:273:13 in +base/gxdtfill.h:273:33: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxdtfill.h:273:33 in +psi/zfont.c:510:18: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zfont.c:510:18 in +devices/vector/gdevpdtd.c:416:49: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:416:49 in +devices/vector/gdevpdtd.c:417:49: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:417:49 in +devices/vector/gdevpdtd.c:499:27: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:499:27 in +devices/vector/gdevpsfx.c:69:9: runtime error: signed integer overflow: 49136 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpsfx.c:69:9 in +devices/vector/gdevpsfx.c:166:19: runtime error: index -1 out of bounds for type 'fixed[48]' (aka 'int[48]') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpsfx.c:166:19 in +devices/vector/gdevpsfx.c:183:9: runtime error: signed integer overflow: 62183 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpsfx.c:183:9 in +devices/vector/gdevpsfx.c:493:23: runtime error: index -1 out of bounds for type 'fixed[48]' (aka 'int[48]') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpsfx.c:493:23 in +devices/vector/gdevpsfx.c:189:17: runtime error: left shift of negative value -219 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpsfx.c:189:17 in +devices/vector/gdevpsfx.c:569:23: runtime error: index -1 out of bounds for type 'fixed[48]' (aka 'int[48]') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpsfx.c:569:23 in +devices/vector/gdevpsfx.c:254:13: runtime error: signed integer overflow: 42785 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpsfx.c:254:13 in +devices/vector/gdevpsfx.c:187:17: runtime error: left shift of negative value -40 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpsfx.c:187:17 in +devices/vector/gdevpsft.c:495:22: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpsft.c:495:22 in +devices/vector/gdevpsft.c:601:27: runtime error: member access within null pointer of type 'ttf_OS_2_t' (aka 'struct ttf_OS_2_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpsft.c:601:27 in +devices/vector/gdevpsft.c:602:16: runtime error: member access within null pointer of type 'ttf_OS_2_t' (aka 'struct ttf_OS_2_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpsft.c:602:16 in +devices/vector/gdevpdtb.c:169:60: runtime error: left shift of negative value -95 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtb.c:169:60 in +devices/vector/gdevpdtf.c:981:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtf.c:981:9 in +devices/vector/gdevpdf.c:1581:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdf.c:1581:23 in +devices/vector/gdevpdf.c:1582:39: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdf.c:1582:39 in +devices/vector/gdevpdf.c:1582:37: runtime error: signed integer overflow: 411 - -9223372036854775808 cannot be represented in type 'long' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdf.c:1582:37 in +devices/vector/gdevpdf.c:1582:21: runtime error: signed integer overflow: -9223372036854593733 + -9223372036854775397 cannot be represented in type 'long' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdf.c:1582:21 in +devices/vector/gdevpdf.c:1607:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdf.c:1607:23 in +devices/vector/gdevpdf.c:1608:39: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdf.c:1608:39 in +devices/vector/gdevpdf.c:1608:37: runtime error: signed integer overflow: 411 - -9223372036854775808 cannot be represented in type 'long' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdf.c:1608:37 in +devices/vector/gdevpdf.c:1608:21: runtime error: signed integer overflow: -9223372036854593733 + -9223372036854775397 cannot be represented in type 'long' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdf.c:1608:21 in +================================================================= +==1==ERROR: AddressSanitizer: heap-use-after-free on address 0x61100001ed58 at pc 0x000000a15687 bp 0x7ffc6d3c6790 sp 0x7ffc6d3c6788 +READ of size 8 at 0x61100001ed58 thread T0 + #0 0xa15686 in gp_fflush /src/ghostpdl/./base/gp.h:296:16 + #1 0xa15686 in s_file_write_flush /src/ghostpdl/./base/sfxstdio.c:232:5 + #2 0x7150c1 in sclose /src/ghostpdl/./base/stream.c:445:18 + #3 0x712236 in __covrec_E41827ADD4171695u /src/ghostpdl/./base/stream.c:91:9 + #4 0x12e985e in restore_finalize /src/ghostpdl/./psi/isave.c:954:13 + #5 0x12ea5dc in alloc_restore_all /src/ghostpdl/./psi/isave.c:901:13 + #6 0x5221c1 in __covrec_2501B5FECECCD151u /src/ghostpdl/./psi/imain.c:1391:20 + #7 0x52362e in gs_to_exit_with_code /src/ghostpdl/./psi/imain.c:1434:12 + #8 0x52367e in gs_to_exit /src/ghostpdl/./psi/imain.c:1439:12 + #9 0x119c0d8 in psapi_exit /src/ghostpdl/./psi/psapi.c:517:5 + #10 0x515aef in gsapi_exit /src/ghostpdl/./psi/iapi.c:440:12 + #11 0x4e5ad3 in __covrec_673F6603978DF04Bu /src/gs_fuzzlib.h:135:8 + #12 0x4e5e7b in LLVMFuzzerTestOneInput /src/gs_device_pdfwrite_fuzzer.cc:26:2 + #13 0x4f432c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #14 0x4e6285 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #15 0x4eaf31 in __covrec_6990238F142DEEC4u /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #16 0x4e5f52 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #17 0x7fa53df16082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #18 0x426d0d in _start (/out/gs_device_pdfwrite_fuzzer+0x426d0d) + +0x61100001ed58 is located 152 bytes inside of 232-byte region [0x61100001ecc0,0x61100001eda8) +freed by thread T0 here: + #0 0x4a7ea2 in free /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:52:3 + #1 0xc63253 in gs_heap_free_object /src/ghostpdl/./base/gsmalloc.c:366:5 + +previously allocated by thread T0 here: + #0 0x4a8146 in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0xc623d0 in gs_heap_alloc_bytes /src/ghostpdl/./base/gsmalloc.c:192:34 + +SUMMARY: AddressSanitizer: heap-use-after-free /src/ghostpdl/./base/gp.h:296:16 in gp_fflush +Shadow bytes around the buggy address: + 0x0c227fffbd50: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c227fffbd60: fd fd fd fd fd fa fa fa fa fa fa fa fa fa fa fa + 0x0c227fffbd70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c227fffbd80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 fa + 0x0c227fffbd90: fa fa fa fa fa fa fa fa fd fd fd fd fd fd fd fd +=>0x0c227fffbda0: fd fd fd fd fd fd fd fd fd fd fd[fd]fd fd fd fd + 0x0c227fffbdb0: fd fd fd fd fd fa fa fa fa fa fa fa fa fa fa fa + 0x0c227fffbdc0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c227fffbdd0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fa + 0x0c227fffbde0: fa fa fa fa fa fa fa fa fd fd fd fd fd fd fd fd + 0x0c227fffbdf0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2023-1079.txt b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2023-1079.txt new file mode 100644 index 000000000..6e2eac81b --- /dev/null +++ b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2023-1079.txt @@ -0,0 +1,428 @@ +INFO: Seed: 2818507958 +/out/gs_device_pdfwrite_fuzzer: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +base/gsiorom.c:94:14: runtime error: left shift of 128 by 24 places cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:94:14 in +psi/imainarg.c:684:43: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/imainarg.c:684:43 in +base/gxpath.c:114:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:114:23 in +base/gxpath.c:115:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:115:23 in +base/gxpath.c:116:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:116:23 in +base/gxpath.c:117:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:117:23 in +base/gxcpath.c:530:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:530:29 in +base/gxcpath.c:531:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:531:29 in +base/gxcpath.c:532:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:532:29 in +base/gxcpath.c:533:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:533:29 in +base/gspath.c:604:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:604:17 in +base/gspath.c:605:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:605:17 in +base/gspath.c:606:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:606:17 in +base/gspath.c:607:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:607:17 in +base/gxpcmap.c:839:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpcmap.c:839:9 in +base/gxccman.c:139:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxccman.c:139:9 in +base/gsiorom.c:122:21: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:122:21 in +base/gsiorom.c:201:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:201:25 in +psi/iscannum.c:103:58: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:103:58 in +psi/iscannum.c:103:73: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:103:73 in +psi/iscannum.c:104:58: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:104:58 in +psi/iscannum.c:104:73: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:104:73 in +psi/interp.c:1123:13: runtime error: member access within null pointer of type 'ref' (aka 'struct ref_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1123:13 in +psi/interp.c:1123:13: runtime error: member access within null pointer of type 'struct tas_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1123:13 in +psi/interp.c:1401:21: runtime error: member access within null pointer of type 'ref' (aka 'struct ref_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1401:21 in +psi/interp.c:1401:21: runtime error: member access within null pointer of type 'struct tas_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1401:21 in +psi/ziodevsc.c:153:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:153:25 in +psi/ziodevsc.c:230:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:230:25 in +psi/ziodevsc.c:301:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:301:25 in +psi/iscannum.c:278:13: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:278:13 in +psi/zarith.c:415:64: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zarith.c:415:64 in +psi/zusparam.c:440:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:440:11 in +psi/zusparam.c:440:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:440:11 in +base/gsalloc.c:1068:20: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsalloc.c:1068:20 in +psi/zusparam.c:202:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:202:11 in +psi/zusparam.c:202:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:202:11 in +psi/idparam.c:378:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/idparam.c:378:9 in +base/gsicc_manage.c:2166:23: runtime error: member access within null pointer of type 'cmm_profile_t' (aka 'struct cmm_profile_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_manage.c:2166:23 in +base/gsicc_cache.c:465:41: runtime error: left shift of 229 by 56 places cannot be represented in type 'int64_t' (aka 'long') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_cache.c:465:41 in +base/sfxstdio.c:199:21: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:199:21 in +devices/vector/gdevpdf.c:879:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdf.c:879:36 in +base/gsicc_cache.c:464:39: runtime error: left shift of 184 by 56 places cannot be represented in type 'int64_t' (aka 'long') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_cache.c:464:39 in +base/gshtscr.c:353:48: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:353:48 in +base/gshtscr.c:387:27: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:387:27 in +base/gshtscr.c:392:57: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:392:57 in +base/gsht.c:1051:26: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsht.c:1051:26 in +base/gsht.c:1052:27: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsht.c:1052:27 in +base/sjpege.c:37:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:37:9 in +base/sjpege.c:37:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:37:9 in +base/sjpege.c:52:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:52:9 in +base/sjpege.c:52:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:52:9 in +base/sjpege.c:72:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:72:9 in +base/sjpege.c:72:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:72:9 in +base/sjpegc.c:143:28: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpegc.c:143:28 in +base/sjpegc.c:143:28: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpegc.c:143:28 in +psi/ireclaim.c:110:36: runtime error: member access within null pointer of type 'i_ctx_t' (aka 'struct gs_context_state_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ireclaim.c:110:36 in +psi/igc.c:268:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:268:9 in +psi/zbfont.c:44:40: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:44:40 in +psi/igc.c:306:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:306:9 in +psi/zbfont.c:49:44: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:49:44 in +psi/isave.c:591:37: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/isave.c:591:37 in +psi/igc.c:1150:9: runtime error: member access within null pointer of type 'clump_head_t' (aka 'struct clump_head_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:1150:9 in +psi/igc.c:430:5: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:430:5 in +psi/igc.c:451:5: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:451:5 in +psi/zbfont.c:55:33: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:55:33 in +psi/igc.c:478:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:478:9 in +psi/igc.c:495:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:495:9 in +base/sfxstdio.c:73:48: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:73:48 in +base/sfxstdio.c:167:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:167:25 in +psi/zmedia2.c:56:34: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zmedia2.c:56:34 in +psi/zmedia2.c:240:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zmedia2.c:240:36 in +base/gsdparam.c:2476:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:2476:36 in +base/gsdparam.c:2476:68: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:2476:68 in +psi/zarith.c:460:41: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zarith.c:460:41 in +pdf/pdf_fontTT.c:569:5: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_fontTT.c:569:5 in +devices/vector/gdevpdfu.c:696:16: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdfu.c:696:16 in +base/gsicc.c:685:46: runtime error: member access within null pointer of type 'cmm_profile_t' (aka 'struct cmm_profile_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc.c:685:46 in +devices/vector/gdevpsft.c:802:24: runtime error: member access within null pointer of type 'ttf_OS_2_t' (aka 'struct ttf_OS_2_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpsft.c:802:24 in +devices/vector/gdevpdtd.c:216:27: runtime error: member access within null pointer of type 'pdf_font_descriptor_t' (aka 'struct pdf_font_descriptor_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:216:27 in +devices/vector/gdevpdtd.c:216:27: runtime error: member access within null pointer of type 'pdf_font_descriptor_common_t' (aka 'struct pdf_font_descriptor_common_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:216:27 in +base/gxpath.c:978:12: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:978:12 in +base/gxpflat.c:272:22: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:272:22 in +base/seexec.c:72:20: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/seexec.c:72:20 in +base/gscrypt1.c:52:9: runtime error: signed integer overflow: 55898 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gscrypt1.c:52:9 in +base/gscrypt1.c:52:9: runtime error: signed integer overflow: 2147462265 + 22719 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gscrypt1.c:52:9 in +pdf/pdf_font1.c:680:13: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_font1.c:680:13 in +base/wrfont.c:47:61: runtime error: signed integer overflow: 55794 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/wrfont.c:47:61 in +pdf/pdf_fapi.c:666:30: runtime error: signed integer overflow: 49136 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_fapi.c:666:30 in +pdf/pdf_font1.c:868:5: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_font1.c:868:5 in +base/gstype1.c:403:33: runtime error: signed integer overflow: 49136 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gstype1.c:403:33 in +base/gsfont.c:924:31: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsfont.c:924:31 in +base/gxtype1.c:386:13: runtime error: signed integer overflow: 49136 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:386:13 in +base/gxtype1.c:409:17: runtime error: left shift of negative value -219 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:409:17 in +base/gxtype1.c:407:17: runtime error: left shift of negative value -40 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:407:17 in +base/gxtype1.c:530:13: runtime error: signed integer overflow: 42785 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:530:13 in +base/gxtype1.c:413:17: runtime error: signed integer overflow: 57489 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:413:17 in +base/gxtype1.c:415:26: runtime error: left shift of negative value -1141 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:415:26 in +base/gscoord.c:607:32: runtime error: shift exponent 42 is too large for 32-bit type 'fixed' (aka 'int') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gscoord.c:607:32 in +base/gstype1.c:584:17: runtime error: left shift of negative value -729 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gstype1.c:584:17 in +base/gstype1.c:582:17: runtime error: left shift of negative value -8 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gstype1.c:582:17 in +base/gstype1.c:350:17: runtime error: signed integer overflow: 42785 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gstype1.c:350:17 in +base/gsdparam.c:1710:33: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:1710:33 in +base/gsdparam.c:1710:61: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:1710:61 in +pdf/pdf_int.c:299:34: runtime error: signed integer overflow: 224617979 * 10 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_int.c:299:34 in +base/gxpcopy.c:126:43: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpcopy.c:126:43 in +base/gxpflat.c:160:5: runtime error: left shift of negative value -9 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:160:5 in +base/gxpflat.c:168:10: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:168:10 in +base/gxpflat.c:168:10: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:168:10 in +base/gxpflat.c:168:28: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:168:28 in +base/gxpflat.c:168:28: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:168:28 in +base/gxpflat.c:169:10: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:169:10 in +base/gxpflat.c:169:10: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:169:10 in +base/gxpflat.c:169:28: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:169:28 in +base/gxpflat.c:169:28: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:169:28 in +base/gxpflat.c:170:10: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:170:10 in +base/gxpflat.c:170:10: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:170:10 in +base/gxpflat.c:170:28: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:170:28 in +base/gxpflat.c:170:28: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:170:28 in +base/gxpflat.c:229:20: runtime error: left shift of negative value -1281 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:229:20 in +base/gxpflat.c:230:22: runtime error: left shift of negative value -522 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:230:22 in +base/gxpflat.c:230:40: runtime error: left shift of negative value -1566 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:230:40 in +base/gxpflat.c:160:5: runtime error: left shift of negative value -15096 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:160:5 in +base/gxpflat.c:162:5: runtime error: left shift of negative value -12971705 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:162:5 in +base/gxpflat.c:162:5: runtime error: left shift of negative value -3193071 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:162:5 in +base/gxpflat.c:231:22: runtime error: left shift of negative value -1696054 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:231:22 in +base/gxpflat.c:231:40: runtime error: left shift of negative value -5088162 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:231:40 in +base/gxpflat.c:228:20: runtime error: left shift of negative value -19199307 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:228:20 in +base/gxpflat.c:71:35: runtime error: signed integer overflow: -1596817252 - 1597004091 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:71:35 in +base/gxpflat.c:160:5: runtime error: signed integer overflow: 1596817252 + 798408626 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:160:5 in +base/gxacpath.c:259:39: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxacpath.c:259:39 in +base/gxacpath.c:260:39: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxacpath.c:260:39 in +base/gxacpath.c:261:47: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxacpath.c:261:47 in +base/gxacpath.c:262:47: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxacpath.c:262:47 in +base/gxfill.c:321:22: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxfill.c:321:22 in +base/gxscanc.c:3393:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxscanc.c:3393:17 in +base/gxscanc.c:3394:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxscanc.c:3394:17 in +base/gxdtfill.h:138:24: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxdtfill.h:138:24 in +base/gxdtfill.h:139:24: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxdtfill.h:139:24 in +base/gxdtfill.h:264:13: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxdtfill.h:264:13 in +base/gxdtfill.h:264:33: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxdtfill.h:264:33 in +base/gxdtfill.h:273:13: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxdtfill.h:273:13 in +base/gxdtfill.h:273:33: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxdtfill.h:273:33 in +base/gxdtfill.h:270:19: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxdtfill.h:270:19 in +base/gxdtfill.h:302:20: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxdtfill.h:302:20 in +base/gdevddrw.c:144:15: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gdevddrw.c:144:15 in +base/gdevddrw.c:148:24: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gdevddrw.c:148:24 in +psi/zfont.c:510:18: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zfont.c:510:18 in +devices/vector/gdevpdtd.c:416:49: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:416:49 in +devices/vector/gdevpdtd.c:417:49: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:417:49 in +devices/vector/gdevpdtd.c:499:27: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:499:27 in +devices/vector/gdevpsfx.c:69:9: runtime error: signed integer overflow: 49136 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpsfx.c:69:9 in +devices/vector/gdevpsfx.c:166:19: runtime error: index -1 out of bounds for type 'fixed[48]' (aka 'int[48]') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpsfx.c:166:19 in +devices/vector/gdevpsfx.c:183:9: runtime error: signed integer overflow: 62183 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpsfx.c:183:9 in +devices/vector/gdevpsfx.c:493:23: runtime error: index -1 out of bounds for type 'fixed[48]' (aka 'int[48]') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpsfx.c:493:23 in +devices/vector/gdevpsfx.c:189:17: runtime error: left shift of negative value -524 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpsfx.c:189:17 in +devices/vector/gdevpsfx.c:254:13: runtime error: signed integer overflow: 42785 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpsfx.c:254:13 in +devices/vector/gdevpsfx.c:187:17: runtime error: left shift of negative value -40 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpsfx.c:187:17 in +devices/vector/gdevpsfx.c:569:23: runtime error: index -1 out of bounds for type 'fixed[48]' (aka 'int[48]') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpsfx.c:569:23 in +base/gxccache.c:99:13: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxccache.c:99:13 in +base/ttfinp.c:57:27: runtime error: left shift of 163 by 24 places cannot be represented in type 'int32' (aka 'int') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfinp.c:57:27 in +base/ttfmain.c:275:36: runtime error: member access within null pointer of type 'sfnt_FontHeader' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:275:36 in +base/ttfmain.c:277:36: runtime error: member access within null pointer of type 'sfnt_FontHeader' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:277:36 in +base/ttfmain.c:281:36: runtime error: member access within null pointer of type 'sfnt_FontHeader' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:281:36 in +base/ttfmain.c:283:36: runtime error: member access within null pointer of type 'sfnt_maxProfileTable' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:283:36 in +base/ttfmain.c:285:36: runtime error: member access within null pointer of type 'sfnt_maxProfileTable' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:285:36 in +base/ttfmain.c:289:36: runtime error: member access within null pointer of type 'sfnt_MetricsHeader' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:289:36 in +base/ttfmain.c:50:23: runtime error: left shift of negative value -25 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:50:23 in +base/ttinterp.c:5076:14: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttinterp.c:5076:14 in +base/ttinterp.c:5076:14: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttinterp.c:5076:14 in +base/ttfmain.c:1011:95: runtime error: left shift of negative value -1600 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:1011:95 in +base/ttfmain.c:1012:95: runtime error: left shift of negative value -1600 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:1012:95 in +devices/vector/gdevpsft.c:495:22: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpsft.c:495:22 in +devices/vector/gdevpsft.c:601:27: runtime error: member access within null pointer of type 'ttf_OS_2_t' (aka 'struct ttf_OS_2_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpsft.c:601:27 in +devices/vector/gdevpsft.c:602:16: runtime error: member access within null pointer of type 'ttf_OS_2_t' (aka 'struct ttf_OS_2_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpsft.c:602:16 in +================================================================= +==1==ERROR: AddressSanitizer: heap-use-after-free on address 0x62a0003dc89a at pc 0x000001d6bc5c bp 0x7ffdf2c582c0 sp 0x7ffdf2c582b8 +READ of size 1 at 0x62a0003dc89a thread T0 + #0 0x1d6bc5b in Ins_JROT /src/ghostpdl/./base/ttinterp.c:1789:11 + #1 0x1d52b9e in RunIns /src/ghostpdl/./base/ttinterp.c:5131:7 + #2 0x1bfd33e in Instance_Reset /src/ghostpdl/./base/ttobjs.c:834:15 + #3 0x1be21e1 in TT_Set_Instance_CharSizes /src/ghostpdl/./base/ttfmain.c:138:12 + #4 0x1be49ad in ttfFont__Open /src/ghostpdl/./base/ttfmain.c:348:12 + #5 0x169cce0 in ttfFont__Open_aux /src/ghostpdl/./base/gxttfb.c:448:12 + #6 0xe604b2 in gx_attach_tt_interpreter /src/ghostpdl/./base/gxccman.c:249:12 + #7 0xe60fa1 in gx_add_fm_pair /src/ghostpdl/./base/gxccman.c:355:20 + #8 0xe5ace3 in gx_lookup_fm_pair /src/ghostpdl/./base/gxccache.c:140:12 + #9 0x1691088 in gs_type42_glyph_outline /src/ghostpdl/./base/gstype42.c:1350:12 + #10 0xc29498 in gs_default_glyph_info /src/ghostpdl/./base/gsfont.c:1061:12 + #11 0x1696c13 in gs_type42_glyph_info_by_gid /src/ghostpdl/./base/gstype42.c:1387:16 + #12 0x1691788 in gs_type42_glyph_info /src/ghostpdl/./base/gstype42.c:1458:12 + #13 0xa1cbf4 in pdf_compute_font_descriptor /src/ghostpdl/./devices/vector/gdevpdtd.c:469:16 + #14 0xa1f049 in pdf_finish_FontDescriptor /src/ghostpdl/./devices/vector/gdevpdtd.c:649:17 + #15 0xa72a2f in pdf_finish_resources /src/ghostpdl/./devices/vector/gdevpdtw.c:684:24 + #16 0x8b8eb6 in __covrec_59069581604AE801u /src/ghostpdl/./devices/vector/gdevpdf.c:2785:13 + #17 0xbfcf38 in gs_closedevice /src/ghostpdl/./base/gsdevice.c:786:16 + #18 0x5217cb in __covrec_543A5F2E6E788DDu /src/ghostpdl/./psi/imain.c:1351:20 + #19 0x52362e in gs_to_exit_with_code /src/ghostpdl/./psi/imain.c:1434:12 + #20 0x52367e in gs_to_exit /src/ghostpdl/./psi/imain.c:1439:12 + #21 0x119c0d8 in psapi_exit /src/ghostpdl/./psi/psapi.c:517:5 + #22 0x515aef in gsapi_exit /src/ghostpdl/./psi/iapi.c:440:12 + #23 0x4e5ad3 in __covrec_673F6603978DF04Bu /src/gs_fuzzlib.h:135:8 + #24 0x4e5e7b in LLVMFuzzerTestOneInput /src/gs_device_pdfwrite_fuzzer.cc:26:2 + #25 0x4f432c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #26 0x4e6285 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #27 0x4eaf31 in __covrec_6990238F142DEEC4u /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #28 0x4e5f52 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #29 0x7f76f0682082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #30 0x426d0d in _start (/out/gs_device_pdfwrite_fuzzer+0x426d0d) + +0x62a0003dc89a is located 18074 bytes inside of 20048-byte region [0x62a0003d8200,0x62a0003dd050) +freed by thread T0 here: + #0 0x4a7ea2 in free /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:52:3 + #1 0xc63253 in gs_heap_free_object /src/ghostpdl/./base/gsmalloc.c:366:5 + +previously allocated by thread T0 here: + #0 0x4a8146 in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0xc623d0 in gs_heap_alloc_bytes /src/ghostpdl/./base/gsmalloc.c:192:34 + +SUMMARY: AddressSanitizer: heap-use-after-free /src/ghostpdl/./base/ttinterp.c:1789:11 in Ins_JROT +Shadow bytes around the buggy address: + 0x0c54800738c0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c54800738d0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c54800738e0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c54800738f0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c5480073900: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd +=>0x0c5480073910: fd fd fd[fd]fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c5480073920: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c5480073930: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c5480073940: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c5480073950: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c5480073960: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2023-88.txt b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2023-88.txt new file mode 100644 index 000000000..c7bfc6780 --- /dev/null +++ b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2023-88.txt @@ -0,0 +1,274 @@ +INFO: Seed: 2822598234 +/out/gs_device_pdfwrite_fuzzer: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +base/gsiorom.c:94:14: runtime error: left shift of 128 by 24 places cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:94:14 in +psi/imainarg.c:684:43: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/imainarg.c:684:43 in +base/gxpath.c:114:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:114:23 in +base/gxpath.c:115:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:115:23 in +base/gxpath.c:116:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:116:23 in +base/gxpath.c:117:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:117:23 in +base/gxcpath.c:530:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:530:29 in +base/gxcpath.c:531:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:531:29 in +base/gxcpath.c:532:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:532:29 in +base/gxcpath.c:533:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:533:29 in +base/gspath.c:604:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:604:17 in +base/gspath.c:605:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:605:17 in +base/gspath.c:606:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:606:17 in +base/gspath.c:607:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:607:17 in +base/gxpcmap.c:839:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpcmap.c:839:9 in +base/gxccman.c:139:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxccman.c:139:9 in +base/gsiorom.c:122:21: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:122:21 in +base/gsiorom.c:201:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:201:25 in +psi/iscannum.c:103:58: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:103:58 in +psi/iscannum.c:103:73: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:103:73 in +psi/iscannum.c:104:58: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:104:58 in +psi/iscannum.c:104:73: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:104:73 in +psi/interp.c:1123:13: runtime error: member access within null pointer of type 'ref' (aka 'struct ref_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1123:13 in +psi/interp.c:1123:13: runtime error: member access within null pointer of type 'struct tas_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1123:13 in +psi/interp.c:1401:21: runtime error: member access within null pointer of type 'ref' (aka 'struct ref_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1401:21 in +psi/interp.c:1401:21: runtime error: member access within null pointer of type 'struct tas_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1401:21 in +psi/ziodevsc.c:153:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:153:25 in +psi/ziodevsc.c:230:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:230:25 in +psi/ziodevsc.c:301:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:301:25 in +psi/iscannum.c:278:13: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:278:13 in +psi/zarith.c:415:64: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zarith.c:415:64 in +psi/zusparam.c:440:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:440:11 in +psi/zusparam.c:440:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:440:11 in +base/gsalloc.c:1068:20: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsalloc.c:1068:20 in +psi/zusparam.c:202:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:202:11 in +psi/zusparam.c:202:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:202:11 in +psi/idparam.c:378:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/idparam.c:378:9 in +base/gsicc_manage.c:2166:23: runtime error: member access within null pointer of type 'cmm_profile_t' (aka 'struct cmm_profile_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_manage.c:2166:23 in +base/gsicc_cache.c:465:41: runtime error: left shift of 229 by 56 places cannot be represented in type 'int64_t' (aka 'long') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_cache.c:465:41 in +base/sfxstdio.c:199:21: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:199:21 in +devices/vector/gdevpdf.c:879:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdf.c:879:36 in +base/gsicc_cache.c:464:39: runtime error: left shift of 184 by 56 places cannot be represented in type 'int64_t' (aka 'long') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_cache.c:464:39 in +base/gshtscr.c:353:48: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:353:48 in +base/gshtscr.c:387:27: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:387:27 in +base/gshtscr.c:392:57: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:392:57 in +base/gsht.c:1051:26: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsht.c:1051:26 in +base/gsht.c:1052:27: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsht.c:1052:27 in +base/sjpege.c:37:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:37:9 in +base/sjpege.c:37:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:37:9 in +base/sjpege.c:52:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:52:9 in +base/sjpege.c:52:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:52:9 in +base/sjpege.c:72:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:72:9 in +base/sjpege.c:72:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:72:9 in +base/sjpegc.c:143:28: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpegc.c:143:28 in +base/sjpegc.c:143:28: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpegc.c:143:28 in +psi/ireclaim.c:110:36: runtime error: member access within null pointer of type 'i_ctx_t' (aka 'struct gs_context_state_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ireclaim.c:110:36 in +psi/igc.c:268:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:268:9 in +psi/zbfont.c:44:40: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:44:40 in +psi/igc.c:306:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:306:9 in +psi/zbfont.c:49:44: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:49:44 in +psi/isave.c:591:37: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/isave.c:591:37 in +psi/igc.c:1150:9: runtime error: member access within null pointer of type 'clump_head_t' (aka 'struct clump_head_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:1150:9 in +psi/igc.c:430:5: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:430:5 in +psi/igc.c:451:5: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:451:5 in +psi/zbfont.c:55:33: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:55:33 in +psi/igc.c:478:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:478:9 in +psi/igc.c:495:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:495:9 in +base/sfxstdio.c:73:48: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:73:48 in +base/sfxstdio.c:167:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:167:25 in +psi/zmedia2.c:56:34: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zmedia2.c:56:34 in +psi/zmedia2.c:240:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zmedia2.c:240:36 in +base/gsdparam.c:2476:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:2476:36 in +base/gsdparam.c:2476:68: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:2476:68 in +psi/zarith.c:460:41: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zarith.c:460:41 in +base/gxpath.c:978:12: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:978:12 in +base/seexec.c:72:20: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/seexec.c:72:20 in +base/gscrypt1.c:52:9: runtime error: signed integer overflow: 55898 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gscrypt1.c:52:9 in +base/gscrypt1.c:52:9: runtime error: signed integer overflow: 2147462265 + 22719 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gscrypt1.c:52:9 in +pdf/pdf_font1.c:680:13: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_font1.c:680:13 in +base/wrfont.c:47:61: runtime error: signed integer overflow: 55794 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/wrfont.c:47:61 in +pdf/pdf_fapi.c:666:30: runtime error: signed integer overflow: 49136 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_fapi.c:666:30 in +pdf/pdf_font1.c:868:5: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_font1.c:868:5 in +devices/vector/gdevpdfu.c:696:16: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdfu.c:696:16 in +base/gstype1.c:403:33: runtime error: signed integer overflow: 49136 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gstype1.c:403:33 in +base/gsfont.c:924:31: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsfont.c:924:31 in +base/gxtype1.c:386:13: runtime error: signed integer overflow: 49136 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:386:13 in +base/gxtype1.c:409:17: runtime error: left shift of negative value -219 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:409:17 in +base/gxtype1.c:407:17: runtime error: left shift of negative value -40 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:407:17 in +base/gxtype1.c:530:13: runtime error: signed integer overflow: 42785 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:530:13 in +base/gxtype1.c:413:17: runtime error: signed integer overflow: 57489 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:413:17 in +base/gxtype1.c:415:26: runtime error: left shift of negative value -1141 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxtype1.c:415:26 in +devices/vector/gdevpdtd.c:216:27: runtime error: member access within null pointer of type 'pdf_font_descriptor_t' (aka 'struct pdf_font_descriptor_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:216:27 in +devices/vector/gdevpdtd.c:216:27: runtime error: member access within null pointer of type 'pdf_font_descriptor_common_t' (aka 'struct pdf_font_descriptor_common_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:216:27 in +pdf/pdf_font1C.c:2198:5: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_font1C.c:2198:5 in +================================================================= +==1==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7f3fe6b81c60 at pc 0x0000014e7890 bp 0x7ffdf647ed50 sp 0x7ffdf647ed48 +WRITE of size 1 at 0x7f3fe6b81c60 thread T0 + #0 0x14e788f in pdfi_read_cff_real /src/ghostpdl/./pdf/pdf_font1C.c:739:10 + #1 0x14e788f in pdfi_read_cff_dict /src/ghostpdl/./pdf/pdf_font1C.c:1129:21 + #2 0x14e752c in pdfi_read_cff_dict /src/ghostpdl/./pdf/pdf_font1C.c:1172:20 + #3 0x14d1e0b in pdfi_read_cff /src/ghostpdl/./pdf/pdf_font1C.c:1680:12 + #4 0x14c67e3 in pdfi_read_cff_font /src/ghostpdl/./pdf/pdf_font1C.c:2285:16 + #5 0x149d324 in pdfi_load_font_buffer /src/ghostpdl/./pdf/pdf_font.c:624:24 + #6 0x149b84a in pdfi_load_font /src/ghostpdl/./pdf/pdf_font.c:924:24 + #7 0x14a4382 in pdfi_load_dict_font /src/ghostpdl/./pdf/pdf_font.c:1006:20 + #8 0x14a96cf in pdfi_load_resource_font /src/ghostpdl/./pdf/pdf_font.c:1048:12 + #9 0x14a96cf in pdfi_Tf /src/ghostpdl/./pdf/pdf_font.c:1407:12 + #10 0x13f85cb in pdfi_interpret_stream_operator /src/ghostpdl/./pdf/pdf_int.c:1642:24 + #11 0x13f6c91 in pdfi_interpret_content_stream /src/ghostpdl/./pdf/pdf_int.c:2126:24 + #12 0x1469e7e in pdfi_process_page_contents /src/ghostpdl/./pdf/pdf_page.c:127:20 + #13 0x1469e7e in pdfi_process_one_page /src/ghostpdl/./pdf/pdf_page.c:152:12 + #14 0x1469e7e in pdfi_page_render /src/ghostpdl/./pdf/pdf_page.c:953:12 + #15 0x13a629d in zPDFdrawpage /src/ghostpdl/./psi/zpdfops.c:1157:24 + #16 0x11b91a9 in interp /src/ghostpdl/./psi/interp.c:1725:40 + #17 0x11b2256 in gs_call_interp /src/ghostpdl/./psi/interp.c:522:12 + #18 0x11b19f7 in gs_interpret /src/ghostpdl/./psi/interp.c:479:12 + #19 0x51e8a6 in gs_main_interpret /src/ghostpdl/./psi/imain.c:257:12 + #20 0x51ebee in gs_main_run_string_end /src/ghostpdl/./psi/imain.c:945:12 + #21 0x51ebee in __covrec_354B81557B0956Cu /src/ghostpdl/./psi/imain.c:889:12 + #22 0x519dfb in __covrec_218C571E84FB63F4 /src/ghostpdl/./psi/imain.c:870:12 + #23 0x15a94e6 in run_string /src/ghostpdl/./psi/imainarg.c:1169:12 + #24 0x15a4c81 in swproc /src/ghostpdl/./psi/imainarg.c:367:20 + #25 0x15a0e05 in gs_main_init_with_args01 /src/ghostpdl/./psi/imainarg.c:224:24 + #26 0x15a9251 in gs_main_init_with_args /src/ghostpdl/./psi/imainarg.c:289:16 + #27 0x119b038 in psapi_init_with_args /src/ghostpdl/./psi/psapi.c:281:12 + #28 0x51580c in gsapi_init_with_args /src/ghostpdl/./psi/iapi.c:253:12 + #29 0x4e5aa2 in __covrec_673F6603978DF04Bu /src/gs_fuzzlib.h:130:8 + #30 0x4e5e7b in LLVMFuzzerTestOneInput /src/gs_device_pdfwrite_fuzzer.cc:26:2 + #31 0x4f432c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #32 0x4e6285 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #33 0x4eaf31 in __covrec_6990238F142DEEC4u /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #34 0x4e5f52 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #35 0x7f3fe8f60082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #36 0x426d0d in _start (/out/gs_device_pdfwrite_fuzzer+0x426d0d) + +Address 0x7f3fe6b81c60 is located in stack of thread T0 at offset 96 in frame + #0 0x14e2e8f in pdfi_read_cff_dict /src/ghostpdl/./pdf/pdf_font1C.c:802 + + This frame has 3 object(s): + [32, 96) 'buf.i' (line 686) <== Memory access at offset 96 overflows this variable + [128, 512) 'args' (line 804) + [576, 584) 'fnamestr' (line 950) +HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork + (longjmp and C++ exceptions *are* supported) +SUMMARY: AddressSanitizer: stack-buffer-overflow /src/ghostpdl/./pdf/pdf_font1C.c:739:10 in pdfi_read_cff_real +Shadow bytes around the buggy address: + 0x0fe87cd68330: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0fe87cd68340: f2 f2 f2 f2 f2 f2 f2 f2 f8 f3 f3 f3 00 00 00 00 + 0x0fe87cd68350: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0fe87cd68360: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0fe87cd68370: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +=>0x0fe87cd68380: f1 f1 f1 f1 00 00 00 00 00 00 00 00[f2]f2 f2 f2 + 0x0fe87cd68390: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0fe87cd683a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0fe87cd683b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0fe87cd683c0: f2 f2 f2 f2 f2 f2 f2 f2 f8 f3 f3 f3 00 00 00 00 + 0x0fe87cd683d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2023-970.txt b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2023-970.txt new file mode 100644 index 000000000..ef1c1e691 --- /dev/null +++ b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2023-970.txt @@ -0,0 +1,246 @@ +INFO: Seed: 2840368904 +/out/gs_device_pdfwrite_fuzzer: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +base/gsiorom.c:94:14: runtime error: left shift of 128 by 24 places cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:94:14 in +psi/imainarg.c:684:43: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/imainarg.c:684:43 in +base/gxpath.c:114:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:114:23 in +base/gxpath.c:115:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:115:23 in +base/gxpath.c:116:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:116:23 in +base/gxpath.c:117:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:117:23 in +base/gxcpath.c:530:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:530:29 in +base/gxcpath.c:531:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:531:29 in +base/gxcpath.c:532:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:532:29 in +base/gxcpath.c:533:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:533:29 in +base/gspath.c:604:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:604:17 in +base/gspath.c:605:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:605:17 in +base/gspath.c:606:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:606:17 in +base/gspath.c:607:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:607:17 in +base/gxpcmap.c:839:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpcmap.c:839:9 in +base/gxccman.c:139:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxccman.c:139:9 in +base/gsiorom.c:122:21: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:122:21 in +base/gsiorom.c:201:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:201:25 in +psi/iscannum.c:103:58: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:103:58 in +psi/iscannum.c:103:73: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:103:73 in +psi/iscannum.c:104:58: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:104:58 in +psi/iscannum.c:104:73: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:104:73 in +psi/interp.c:1123:13: runtime error: member access within null pointer of type 'ref' (aka 'struct ref_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1123:13 in +psi/interp.c:1123:13: runtime error: member access within null pointer of type 'struct tas_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1123:13 in +psi/interp.c:1401:21: runtime error: member access within null pointer of type 'ref' (aka 'struct ref_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1401:21 in +psi/interp.c:1401:21: runtime error: member access within null pointer of type 'struct tas_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1401:21 in +psi/ziodevsc.c:153:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:153:25 in +psi/ziodevsc.c:230:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:230:25 in +psi/ziodevsc.c:301:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:301:25 in +psi/iscannum.c:278:13: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:278:13 in +psi/zarith.c:415:64: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zarith.c:415:64 in +psi/zusparam.c:440:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:440:11 in +psi/zusparam.c:440:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:440:11 in +base/gsalloc.c:1068:20: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsalloc.c:1068:20 in +psi/zusparam.c:202:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:202:11 in +psi/zusparam.c:202:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:202:11 in +psi/idparam.c:378:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/idparam.c:378:9 in +base/gsicc_manage.c:2166:23: runtime error: member access within null pointer of type 'cmm_profile_t' (aka 'struct cmm_profile_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_manage.c:2166:23 in +base/gsicc_cache.c:465:41: runtime error: left shift of 229 by 56 places cannot be represented in type 'int64_t' (aka 'long') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_cache.c:465:41 in +base/sfxstdio.c:199:21: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:199:21 in +devices/vector/gdevpdf.c:879:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdf.c:879:36 in +base/gsicc_cache.c:464:39: runtime error: left shift of 184 by 56 places cannot be represented in type 'int64_t' (aka 'long') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_cache.c:464:39 in +base/gshtscr.c:353:48: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:353:48 in +base/gshtscr.c:387:27: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:387:27 in +base/gshtscr.c:392:57: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:392:57 in +base/gsht.c:1051:26: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsht.c:1051:26 in +base/gsht.c:1052:27: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsht.c:1052:27 in +base/sjpege.c:37:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:37:9 in +base/sjpege.c:37:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:37:9 in +base/sjpege.c:52:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:52:9 in +base/sjpege.c:52:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:52:9 in +base/sjpege.c:72:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:72:9 in +base/sjpege.c:72:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:72:9 in +base/sjpegc.c:143:28: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpegc.c:143:28 in +base/sjpegc.c:143:28: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpegc.c:143:28 in +psi/ireclaim.c:110:36: runtime error: member access within null pointer of type 'i_ctx_t' (aka 'struct gs_context_state_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ireclaim.c:110:36 in +psi/igc.c:268:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:268:9 in +psi/zbfont.c:44:40: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:44:40 in +psi/igc.c:306:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:306:9 in +psi/zbfont.c:49:44: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:49:44 in +psi/isave.c:591:37: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/isave.c:591:37 in +psi/igc.c:1150:9: runtime error: member access within null pointer of type 'clump_head_t' (aka 'struct clump_head_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:1150:9 in +psi/igc.c:430:5: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:430:5 in +psi/igc.c:451:5: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:451:5 in +psi/zbfont.c:55:33: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:55:33 in +psi/igc.c:478:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:478:9 in +psi/igc.c:495:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:495:9 in +base/sfxstdio.c:73:48: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:73:48 in +base/sfxstdio.c:167:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:167:25 in +pdf/pdf_int.c:299:38: runtime error: signed integer overflow: 2147483640 + 55 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_int.c:299:38 in +pdf/pdf_int.c:299:42: runtime error: signed integer overflow: -2147483601 - 48 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_int.c:299:42 in +psi/zmedia2.c:56:34: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zmedia2.c:56:34 in +psi/zmedia2.c:240:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zmedia2.c:240:36 in +base/gsdparam.c:2476:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:2476:36 in +base/gsdparam.c:2476:68: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:2476:68 in +psi/zarith.c:460:41: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zarith.c:460:41 in +base/sjpegd.c:38:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpegd.c:38:9 in +base/sjpegd.c:38:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpegd.c:38:9 in +base/gxipixel.c:217:14: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxipixel.c:217:14 in +base/gxipixel.c:219:19: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxipixel.c:219:19 in +base/gxipixel.c:772:44: runtime error: signed integer overflow: 2147483647 + 15 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxipixel.c:772:44 in +base/gxipixel.c:772:50: runtime error: signed integer overflow: -2147483634 * 3 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxipixel.c:772:50 in +devices/vector/gdevpdfu.c:696:16: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdfu.c:696:16 in +base/gsdparam.c:1710:33: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:1710:33 in +base/gsdparam.c:1710:61: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:1710:61 in +================================================================= +==1==ERROR: AddressSanitizer: heap-use-after-free on address 0x61c000000910 at pc 0x0000010545db bp 0x7ffe18c71320 sp 0x7ffe18c71318 +READ of size 8 at 0x61c000000910 thread T0 + #0 0x10545da in gx_device_forward_finalize /src/ghostpdl/./base/gdevnfwd.c:33:5 + #1 0xbfc60b in gx_device_finalize /src/ghostpdl/./base/gsdevice.c:81:9 + #2 0x12e985e in restore_finalize /src/ghostpdl/./psi/isave.c:954:13 + #3 0x12e91a0 in alloc_restore_step_in /src/ghostpdl/./psi/isave.c:759:9 + #4 0x1245ad9 in dorestore /src/ghostpdl/./psi/zvmem.c:193:16 + #5 0x118f937 in z2restore /src/ghostpdl/./psi/zdevice2.c:373:12 + #6 0x11b91a9 in interp /src/ghostpdl/./psi/interp.c:1725:40 + #7 0x11b2256 in gs_call_interp /src/ghostpdl/./psi/interp.c:522:12 + #8 0x11b19f7 in gs_interpret /src/ghostpdl/./psi/interp.c:479:12 + #9 0x51e8a6 in gs_main_interpret /src/ghostpdl/./psi/imain.c:257:12 + #10 0x51ebee in gs_main_run_string_end /src/ghostpdl/./psi/imain.c:945:12 + #11 0x51ebee in __covrec_354B81557B0956Cu /src/ghostpdl/./psi/imain.c:889:12 + #12 0x519dfb in __covrec_218C571E84FB63F4 /src/ghostpdl/./psi/imain.c:870:12 + #13 0x15a94e6 in run_string /src/ghostpdl/./psi/imainarg.c:1169:12 + #14 0x15a4c81 in swproc /src/ghostpdl/./psi/imainarg.c:367:20 + #15 0x15a0e05 in gs_main_init_with_args01 /src/ghostpdl/./psi/imainarg.c:224:24 + #16 0x15a9251 in gs_main_init_with_args /src/ghostpdl/./psi/imainarg.c:289:16 + #17 0x119b038 in psapi_init_with_args /src/ghostpdl/./psi/psapi.c:281:12 + #18 0x51580c in gsapi_init_with_args /src/ghostpdl/./psi/iapi.c:253:12 + #19 0x4e5aa2 in __covrec_673F6603978DF04Bu /src/gs_fuzzlib.h:130:8 + #20 0x4e5e7b in LLVMFuzzerTestOneInput /src/gs_device_pdfwrite_fuzzer.cc:26:2 + #21 0x4f432c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #22 0x4e6285 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #23 0x4eaf31 in __covrec_6990238F142DEEC4u /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #24 0x4e5f52 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #25 0x7f7e25440082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #26 0x426d0d in _start (/out/gs_device_pdfwrite_fuzzer+0x426d0d) + +0x61c000000910 is located 144 bytes inside of 1808-byte region [0x61c000000880,0x61c000000f90) +freed by thread T0 here: + #0 0x4a7ea2 in free /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:52:3 + #1 0xc63253 in gs_heap_free_object /src/ghostpdl/./base/gsmalloc.c:366:5 + +previously allocated by thread T0 here: + #0 0x4a8146 in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0xc623d0 in gs_heap_alloc_bytes /src/ghostpdl/./base/gsmalloc.c:192:34 + +SUMMARY: AddressSanitizer: heap-use-after-free /src/ghostpdl/./base/gdevnfwd.c:33:5 in gx_device_forward_finalize +Shadow bytes around the buggy address: + 0x0c387fff80d0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c387fff80e0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c387fff80f0: fd fd fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c387fff8100: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c387fff8110: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd +=>0x0c387fff8120: fd fd[fd]fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c387fff8130: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c387fff8140: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c387fff8150: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c387fff8160: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c387fff8170: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2024-1391.txt b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2024-1391.txt new file mode 100644 index 000000000..c380aaf06 --- /dev/null +++ b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2024-1391.txt @@ -0,0 +1,255 @@ +INFO: Seed: 2815841927 +/out/gs_device_pdfwrite_fuzzer: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +base/gsiorom.c:94:14: runtime error: left shift of 128 by 24 places cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:94:14 in +psi/imainarg.c:684:43: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/imainarg.c:684:43 in +base/gxpath.c:114:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:114:23 in +base/gxpath.c:115:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:115:23 in +base/gxpath.c:116:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:116:23 in +base/gxpath.c:117:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:117:23 in +base/gxcpath.c:530:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:530:29 in +base/gxcpath.c:531:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:531:29 in +base/gxcpath.c:532:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:532:29 in +base/gxcpath.c:533:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:533:29 in +base/gspath.c:604:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:604:17 in +base/gspath.c:605:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:605:17 in +base/gspath.c:606:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:606:17 in +base/gspath.c:607:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:607:17 in +base/gxpcmap.c:839:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpcmap.c:839:9 in +base/gxccman.c:139:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxccman.c:139:9 in +base/gsiorom.c:122:21: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:122:21 in +base/gsiorom.c:201:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:201:25 in +psi/iscannum.c:103:58: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:103:58 in +psi/iscannum.c:103:73: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:103:73 in +psi/iscannum.c:104:58: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:104:58 in +psi/iscannum.c:104:73: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:104:73 in +psi/interp.c:1123:13: runtime error: member access within null pointer of type 'ref' (aka 'struct ref_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1123:13 in +psi/interp.c:1123:13: runtime error: member access within null pointer of type 'struct tas_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1123:13 in +psi/interp.c:1401:21: runtime error: member access within null pointer of type 'ref' (aka 'struct ref_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1401:21 in +psi/interp.c:1401:21: runtime error: member access within null pointer of type 'struct tas_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1401:21 in +psi/ziodevsc.c:153:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:153:25 in +psi/ziodevsc.c:230:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:230:25 in +psi/ziodevsc.c:301:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:301:25 in +psi/iscannum.c:278:13: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:278:13 in +psi/zarith.c:415:64: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zarith.c:415:64 in +psi/zusparam.c:440:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:440:11 in +psi/zusparam.c:440:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:440:11 in +base/gsalloc.c:1068:20: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsalloc.c:1068:20 in +psi/zusparam.c:202:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:202:11 in +psi/zusparam.c:202:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:202:11 in +psi/idparam.c:378:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/idparam.c:378:9 in +base/gsicc_manage.c:2166:23: runtime error: member access within null pointer of type 'cmm_profile_t' (aka 'struct cmm_profile_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_manage.c:2166:23 in +base/gsicc_cache.c:465:41: runtime error: left shift of 229 by 56 places cannot be represented in type 'int64_t' (aka 'long') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_cache.c:465:41 in +base/sfxstdio.c:199:21: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:199:21 in +devices/vector/gdevpdf.c:879:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdf.c:879:36 in +base/gsicc_cache.c:464:39: runtime error: left shift of 184 by 56 places cannot be represented in type 'int64_t' (aka 'long') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_cache.c:464:39 in +base/gshtscr.c:353:48: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:353:48 in +base/gshtscr.c:387:27: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:387:27 in +base/gshtscr.c:392:57: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:392:57 in +base/gsht.c:1051:26: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsht.c:1051:26 in +base/gsht.c:1052:27: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsht.c:1052:27 in +base/sjpege.c:37:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:37:9 in +base/sjpege.c:37:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:37:9 in +base/sjpege.c:52:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:52:9 in +base/sjpege.c:52:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:52:9 in +base/sjpege.c:72:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:72:9 in +base/sjpege.c:72:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:72:9 in +base/sjpegc.c:143:28: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpegc.c:143:28 in +base/sjpegc.c:143:28: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpegc.c:143:28 in +psi/ireclaim.c:110:36: runtime error: member access within null pointer of type 'i_ctx_t' (aka 'struct gs_context_state_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ireclaim.c:110:36 in +psi/igc.c:268:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:268:9 in +psi/zbfont.c:44:40: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:44:40 in +psi/igc.c:306:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:306:9 in +psi/zbfont.c:49:44: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:49:44 in +psi/isave.c:591:37: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/isave.c:591:37 in +psi/igc.c:1150:9: runtime error: member access within null pointer of type 'clump_head_t' (aka 'struct clump_head_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:1150:9 in +psi/igc.c:430:5: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:430:5 in +psi/igc.c:451:5: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:451:5 in +psi/zbfont.c:55:33: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:55:33 in +psi/igc.c:478:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:478:9 in +psi/igc.c:495:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:495:9 in +base/sfxstdio.c:73:48: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:73:48 in +base/sfxstdio.c:167:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:167:25 in +psi/zmedia2.c:56:34: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zmedia2.c:56:34 in +psi/zmedia2.c:240:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zmedia2.c:240:36 in +base/gsdparam.c:2476:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:2476:36 in +base/gsdparam.c:2476:68: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:2476:68 in +psi/zarith.c:460:41: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zarith.c:460:41 in +pdf/pdf_int.c:299:34: runtime error: signed integer overflow: 218610168 * 10 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_int.c:299:34 in +base/gxpath.c:978:12: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:978:12 in +base/gxcpath.c:683:31: runtime error: left shift of negative value -534 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:683:31 in +pdf/pdf_font1C.c:2198:5: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_font1C.c:2198:5 in +pdf/pdf_font1C.c:2125:5: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_font1C.c:2125:5 in +pdf/pdf_font1C.c:2784:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_font1C.c:2784:17 in +base/gxcpath.c:684:31: runtime error: left shift of negative value -91023 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:684:31 in +base/gsicc.c:685:46: runtime error: member access within null pointer of type 'cmm_profile_t' (aka 'struct cmm_profile_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc.c:685:46 in +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x614000001994 at pc 0x000000440e5e bp 0x7ffd1ffcbb90 sp 0x7ffd1ffcb358 +READ of size 12 at 0x614000001994 thread T0 + #0 0x440e5d in __interceptor_memcpy /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:827:5 + #1 0x7e6097 in get_mediawp /src/ghostpdl/./base/gsicc_create.c:3272:5 + #2 0x7e6097 in __covrec_7A1E772A61277BD6u /src/ghostpdl/./base/gsicc_create.c:3315:10 + #3 0x7e5480 in gsicc_create_getv2buffer /src/ghostpdl/./base/gsicc_create.c:3409:5 + #4 0x964576 in __covrec_79F336B03D723C20u /src/ghostpdl/./devices/vector/gdevpdfk.c:861:21 + #5 0x8f2601 in __covrec_3528A16296846827u /src/ghostpdl/./devices/vector/gdevpdfc.c:926:16 + #6 0x9a14cf in pdf_make_group_dict /src/ghostpdl/./devices/vector/gdevpdft.c + #7 0x9a14cf in pdf_begin_transparency_group /src/ghostpdl/./devices/vector/gdevpdft.c:181:12 + #8 0x9a0f48 in gdev_pdf_composite /src/ghostpdl/./devices/vector/gdevpdft.c:431:24 + #9 0x5ee1e8 in __covrec_9CC4E46A349536FDu /src/ghostpdl/./base/gdevp14.c:9668:12 + #10 0x5973fd in gs_gstate_update_pdf14trans2 /src/ghostpdl/./base/gstrans.c:142:12 + #11 0x591b16 in gs_gstate_update_pdf14trans /src/ghostpdl/./base/gstrans.c:167:12 + #12 0x591b16 in __covrec_A13A057DD773576Fu /src/ghostpdl/./base/gstrans.c:325:12 + #13 0x154c9e3 in pdfi_gs_begin_transparency_group /src/ghostpdl/./pdf/pdf_trans.c:369:12 + #14 0x154d3dd in pdfi_transparency_group_common /src/ghostpdl/./pdf/pdf_trans.c:424:12 + #15 0x154d8cc in pdfi_trans_begin_form_group /src/ghostpdl/./pdf/pdf_trans.c:538:12 + #16 0x145543c in pdfi_do_form /src/ghostpdl/./pdf/pdf_image.c:2454:16 + #17 0x14562ae in pdfi_do_image_or_form /src/ghostpdl/./pdf/pdf_image.c:2561:16 + #18 0x1456de6 in pdfi_Do /src/ghostpdl/./pdf/pdf_image.c:2643:12 + #19 0x13f859d in pdfi_interpret_stream_operator /src/ghostpdl/./pdf/pdf_int.c:1475:24 + #20 0x13f6c91 in pdfi_interpret_content_stream /src/ghostpdl/./pdf/pdf_int.c:2126:24 + #21 0x1469e7e in pdfi_process_page_contents /src/ghostpdl/./pdf/pdf_page.c:127:20 + #22 0x1469e7e in pdfi_process_one_page /src/ghostpdl/./pdf/pdf_page.c:152:12 + #23 0x1469e7e in pdfi_page_render /src/ghostpdl/./pdf/pdf_page.c:953:12 + #24 0x13a629d in zPDFdrawpage /src/ghostpdl/./psi/zpdfops.c:1157:24 + #25 0x11b91a9 in interp /src/ghostpdl/./psi/interp.c:1725:40 + #26 0x11b2256 in gs_call_interp /src/ghostpdl/./psi/interp.c:522:12 + #27 0x11b19f7 in gs_interpret /src/ghostpdl/./psi/interp.c:479:12 + #28 0x51e8a6 in gs_main_interpret /src/ghostpdl/./psi/imain.c:257:12 + #29 0x51ebee in gs_main_run_string_end /src/ghostpdl/./psi/imain.c:945:12 + #30 0x51ebee in __covrec_354B81557B0956Cu /src/ghostpdl/./psi/imain.c:889:12 + #31 0x519dfb in __covrec_218C571E84FB63F4 /src/ghostpdl/./psi/imain.c:870:12 + #32 0x15a94e6 in run_string /src/ghostpdl/./psi/imainarg.c:1169:12 + #33 0x15a4c81 in swproc /src/ghostpdl/./psi/imainarg.c:367:20 + #34 0x15a0e05 in gs_main_init_with_args01 /src/ghostpdl/./psi/imainarg.c:224:24 + #35 0x15a9251 in gs_main_init_with_args /src/ghostpdl/./psi/imainarg.c:289:16 + #36 0x119b038 in psapi_init_with_args /src/ghostpdl/./psi/psapi.c:281:12 + #37 0x51580c in gsapi_init_with_args /src/ghostpdl/./psi/iapi.c:253:12 + #38 0x4e5aa2 in __covrec_673F6603978DF04Bu /src/gs_fuzzlib.h:130:8 + #39 0x4e5e7b in LLVMFuzzerTestOneInput /src/gs_device_pdfwrite_fuzzer.cc:26:2 + #40 0x4f432c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #41 0x4e6285 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #42 0x4eaf31 in __covrec_6990238F142DEEC4u /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #43 0x4e5f52 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #44 0x7f5349e3e082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #45 0x426d0d in _start (/out/gs_device_pdfwrite_fuzzer+0x426d0d) + +0x614000001994 is located 970 bytes to the right of 394-byte region [0x614000001440,0x6140000015ca) +allocated by thread T0 here: + #0 0x4a8146 in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0xc623d0 in gs_heap_alloc_bytes /src/ghostpdl/./base/gsmalloc.c:192:34 + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:827:5 in __interceptor_memcpy +Shadow bytes around the buggy address: + 0x0c287fff82e0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c287fff82f0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c287fff8300: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c287fff8310: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c287fff8320: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +=>0x0c287fff8330: fa fa[fa]fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c287fff8340: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c287fff8350: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c287fff8360: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c287fff8370: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c287fff8380: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2024-503.txt b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2024-503.txt new file mode 100644 index 000000000..fd4154698 --- /dev/null +++ b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/crashes/OSV-2024-503.txt @@ -0,0 +1,422 @@ +INFO: Seed: 2717986027 +/out/gs_device_pdfwrite_fuzzer: Running 1 inputs 10 time(s) each. +Running: /tmp/testcase +base/gsiorom.c:94:14: runtime error: left shift of 128 by 24 places cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:94:14 in +psi/imainarg.c:684:43: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/imainarg.c:684:43 in +base/gxpath.c:114:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:114:23 in +base/gxpath.c:115:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:115:23 in +base/gxpath.c:116:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:116:23 in +base/gxpath.c:117:23: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:117:23 in +base/gxcpath.c:530:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:530:29 in +base/gxcpath.c:531:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:531:29 in +base/gxcpath.c:532:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:532:29 in +base/gxcpath.c:533:29: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxcpath.c:533:29 in +base/gspath.c:604:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:604:17 in +base/gspath.c:605:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:605:17 in +base/gspath.c:606:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:606:17 in +base/gspath.c:607:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:607:17 in +base/gxpcmap.c:839:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpcmap.c:839:9 in +base/gxccman.c:139:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxccman.c:139:9 in +base/gsiorom.c:122:21: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:122:21 in +base/gsiorom.c:201:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsiorom.c:201:25 in +psi/iscannum.c:103:58: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:103:58 in +psi/iscannum.c:103:73: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:103:73 in +psi/iscannum.c:104:58: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:104:58 in +psi/iscannum.c:104:73: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:104:73 in +psi/interp.c:1123:13: runtime error: member access within null pointer of type 'ref' (aka 'struct ref_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1123:13 in +psi/interp.c:1123:13: runtime error: member access within null pointer of type 'struct tas_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1123:13 in +psi/interp.c:1401:21: runtime error: member access within null pointer of type 'ref' (aka 'struct ref_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1401:21 in +psi/interp.c:1401:21: runtime error: member access within null pointer of type 'struct tas_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/interp.c:1401:21 in +psi/ziodevsc.c:153:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:153:25 in +psi/ziodevsc.c:230:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:230:25 in +psi/ziodevsc.c:301:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ziodevsc.c:301:25 in +psi/iscannum.c:278:13: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/iscannum.c:278:13 in +psi/zarith.c:415:64: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zarith.c:415:64 in +psi/zusparam.c:440:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:440:11 in +psi/zusparam.c:440:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:440:11 in +base/gsalloc.c:1068:20: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsalloc.c:1068:20 in +psi/zusparam.c:202:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:202:11 in +psi/zusparam.c:202:11: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zusparam.c:202:11 in +psi/idparam.c:378:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/idparam.c:378:9 in +base/gsicc_manage.c:2166:23: runtime error: member access within null pointer of type 'cmm_profile_t' (aka 'struct cmm_profile_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_manage.c:2166:23 in +base/gsicc_cache.c:465:41: runtime error: left shift of 229 by 56 places cannot be represented in type 'int64_t' (aka 'long') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_cache.c:465:41 in +base/sfxstdio.c:199:21: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:199:21 in +devices/vector/gdevpdf.c:879:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdf.c:879:36 in +base/gsicc_cache.c:464:39: runtime error: left shift of 184 by 56 places cannot be represented in type 'int64_t' (aka 'long') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsicc_cache.c:464:39 in +base/gshtscr.c:353:48: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:353:48 in +base/gshtscr.c:387:27: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:387:27 in +base/gshtscr.c:392:57: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gshtscr.c:392:57 in +base/gsht.c:1051:26: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsht.c:1051:26 in +base/gsht.c:1052:27: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsht.c:1052:27 in +base/sjpege.c:37:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:37:9 in +base/sjpege.c:37:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:37:9 in +base/sjpege.c:52:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:52:9 in +base/sjpege.c:52:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:52:9 in +base/sjpege.c:72:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:72:9 in +base/sjpege.c:72:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:72:9 in +base/sjpegc.c:143:28: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpegc.c:143:28 in +base/sjpegc.c:143:28: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpegc.c:143:28 in +psi/ireclaim.c:110:36: runtime error: member access within null pointer of type 'i_ctx_t' (aka 'struct gs_context_state_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/ireclaim.c:110:36 in +psi/igc.c:268:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:268:9 in +psi/zbfont.c:44:40: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:44:40 in +psi/igc.c:306:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:306:9 in +psi/zbfont.c:49:44: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:49:44 in +psi/isave.c:591:37: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/isave.c:591:37 in +psi/igc.c:1150:9: runtime error: member access within null pointer of type 'clump_head_t' (aka 'struct clump_head_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:1150:9 in +psi/igc.c:430:5: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:430:5 in +psi/igc.c:451:5: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:451:5 in +psi/zbfont.c:55:33: runtime error: member access within null pointer of type 'font_data' (aka 'struct font_data_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zbfont.c:55:33 in +psi/igc.c:478:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:478:9 in +psi/igc.c:495:9: runtime error: member access within null pointer of type 'struct alloc_save_s' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/igc.c:495:9 in +base/sfxstdio.c:73:48: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:73:48 in +base/sfxstdio.c:167:25: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sfxstdio.c:167:25 in +pdf/pdf_int.c:299:38: runtime error: signed integer overflow: 2147483640 + 55 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_int.c:299:38 in +pdf/pdf_int.c:299:42: runtime error: signed integer overflow: -2147483601 - 48 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_int.c:299:42 in +psi/zmedia2.c:56:34: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zmedia2.c:56:34 in +psi/zmedia2.c:240:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zmedia2.c:240:36 in +base/gsdparam.c:2476:36: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:2476:36 in +base/gsdparam.c:2476:68: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:2476:68 in +psi/zarith.c:460:41: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior psi/zarith.c:460:41 in +base/gsfcmap.c:299:5: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsfcmap.c:299:5 in +pdf/pdf_font11.c:452:5: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_font11.c:452:5 in +base/gsfont.c:924:31: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsfont.c:924:31 in +devices/vector/gdevpsft.c:802:24: runtime error: member access within null pointer of type 'ttf_OS_2_t' (aka 'struct ttf_OS_2_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpsft.c:802:24 in +devices/vector/gdevpdtd.c:216:27: runtime error: member access within null pointer of type 'pdf_font_descriptor_t' (aka 'struct pdf_font_descriptor_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:216:27 in +devices/vector/gdevpdtd.c:216:27: runtime error: member access within null pointer of type 'pdf_font_descriptor_common_t' (aka 'struct pdf_font_descriptor_common_s') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdtd.c:216:27 in +devices/vector/gdevpdfu.c:696:16: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior devices/vector/gdevpdfu.c:696:16 in +base/gxccache.c:99:13: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxccache.c:99:13 in +base/ttfinp.c:57:27: runtime error: left shift of 242 by 24 places cannot be represented in type 'int32' (aka 'int') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfinp.c:57:27 in +base/ttfmain.c:275:36: runtime error: member access within null pointer of type 'sfnt_FontHeader' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:275:36 in +base/ttfmain.c:277:36: runtime error: member access within null pointer of type 'sfnt_FontHeader' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:277:36 in +base/ttfmain.c:281:36: runtime error: member access within null pointer of type 'sfnt_FontHeader' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:281:36 in +base/ttfmain.c:283:36: runtime error: member access within null pointer of type 'sfnt_maxProfileTable' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:283:36 in +base/ttfmain.c:285:36: runtime error: member access within null pointer of type 'sfnt_maxProfileTable' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:285:36 in +base/ttfmain.c:289:36: runtime error: member access within null pointer of type 'sfnt_MetricsHeader' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:289:36 in +base/ttinterp.c:5076:14: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttinterp.c:5076:14 in +base/ttinterp.c:5076:14: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttinterp.c:5076:14 in +base/ttfmain.c:1011:95: runtime error: left shift of negative value -1856 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:1011:95 in +base/ttfmain.c:1012:95: runtime error: left shift of negative value -1856 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:1012:95 in +base/gxccman.c:451:9: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxccman.c:451:9 in +base/gxpath.c:978:12: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpath.c:978:12 in +base/gxpflat.c:272:22: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:272:22 in +base/gxpcopy.c:126:43: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpcopy.c:126:43 in +base/gxpflat.c:162:5: runtime error: left shift of negative value -683 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:162:5 in +base/gxpflat.c:168:10: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:168:10 in +base/gxpflat.c:168:10: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:168:10 in +base/gxpflat.c:168:28: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:168:28 in +base/gxpflat.c:168:28: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:168:28 in +base/gxpflat.c:169:10: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:169:10 in +base/gxpflat.c:169:10: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:169:10 in +base/gxpflat.c:169:28: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:169:28 in +base/gxpflat.c:169:28: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:169:28 in +base/gxpflat.c:170:10: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:170:10 in +base/gxpflat.c:170:10: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:170:10 in +base/gxpflat.c:170:28: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:170:28 in +base/gxpflat.c:170:28: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:170:28 in +base/gxpflat.c:228:20: runtime error: left shift of negative value -447 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:228:20 in +base/gxpflat.c:229:20: runtime error: left shift of negative value -2049 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:229:20 in +base/gxpflat.c:230:22: runtime error: left shift of negative value -534 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:230:22 in +base/gxpflat.c:230:40: runtime error: left shift of negative value -1602 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:230:40 in +base/gxpflat.c:231:22: runtime error: left shift of negative value -534 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:231:22 in +base/gxpflat.c:231:40: runtime error: left shift of negative value -1602 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:231:40 in +base/gxacpath.c:259:39: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxacpath.c:259:39 in +base/gxacpath.c:260:39: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxacpath.c:260:39 in +base/gxacpath.c:261:47: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxacpath.c:261:47 in +base/gxacpath.c:262:47: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxacpath.c:262:47 in +base/gxfill.c:321:22: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxfill.c:321:22 in +base/gxdtfill.h:138:24: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxdtfill.h:138:24 in +base/gxdtfill.h:139:24: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxdtfill.h:139:24 in +base/gxdtfill.h:264:13: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxdtfill.h:264:13 in +base/gxdtfill.h:264:33: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxdtfill.h:264:33 in +base/gxdtfill.h:273:13: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxdtfill.h:273:13 in +base/gxdtfill.h:273:33: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxdtfill.h:273:33 in +base/gxscanc.c:3393:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxscanc.c:3393:17 in +base/gxscanc.c:3394:17: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxscanc.c:3394:17 in +base/gspcolor.c:79:5: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspcolor.c:79:5 in +base/gsimage.c:553:45: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsimage.c:553:45 in +base/sjpege.c:94:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:94:9 in +base/sjpege.c:94:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:94:9 in +base/sjpege.c:105:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:105:9 in +base/sjpege.c:105:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:105:9 in +obj/jfdctint.c:198:65: runtime error: left shift of negative value -1024 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior obj/jfdctint.c:198:65 in +obj/jchuff.c:335:16: runtime error: left shift of 68515142098223104 by 8 places cannot be represented in type 'INT32' (aka 'long') +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior obj/jchuff.c:335:16 in +obj/jfdctint.c:199:45: runtime error: left shift of negative value -12 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior obj/jfdctint.c:199:45 in +obj/jfdctint.c:2242:61: runtime error: left shift of negative value -272 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior obj/jfdctint.c:2242:61 in +base/sjpege.c:114:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:114:9 in +base/sjpege.c:114:9: runtime error: member access within null pointer of type 'gsfix_jmp_buf_test' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/sjpege.c:114:9 in +base/ttfmain.c:50:23: runtime error: left shift of negative value -6 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/ttfmain.c:50:23 in +pdf/pdf_int.c:299:34: runtime error: signed integer overflow: 268795355 * 10 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_int.c:299:34 in +base/gxpflat.c:274:22: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:274:22 in +base/gxpflat.c:160:5: runtime error: left shift of negative value -326562027 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:160:5 in +base/gxpflat.c:160:5: runtime error: left shift of negative value -40820265 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:160:5 in +base/gxpflat.c:162:5: runtime error: left shift of negative value -13791 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gxpflat.c:162:5 in +base/seexec.c:72:20: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/seexec.c:72:20 in +base/gscrypt1.c:52:9: runtime error: signed integer overflow: 55898 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gscrypt1.c:52:9 in +base/gscrypt1.c:52:9: runtime error: signed integer overflow: 2147462265 + 22719 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gscrypt1.c:52:9 in +pdf/pdf_font1.c:680:13: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_font1.c:680:13 in +base/wrfont.c:47:61: runtime error: signed integer overflow: 55794 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/wrfont.c:47:61 in +pdf/pdf_fapi.c:666:30: runtime error: signed integer overflow: 49136 * 52845 cannot be represented in type 'int' +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_fapi.c:666:30 in +pdf/pdf_font1.c:868:5: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior pdf/pdf_font1.c:868:5 in +base/gspath.c:88:14: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:88:14 in +base/gspath.c:88:14: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:88:14 in +base/gspath.c:89:14: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:89:14 in +base/gspath.c:89:14: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:89:14 in +base/gspath.c:89:14: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:89:14 in +base/gspath.c:89:14: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:89:14 in +base/gspath.c:88:14: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:88:14 in +base/gspath.c:88:14: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gspath.c:88:14 in +base/gsdparam.c:1710:33: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:1710:33 in +base/gsdparam.c:1710:61: runtime error: left shift of negative value -1 +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior base/gsdparam.c:1710:61 in +================================================================= +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x62900005ec78 at pc 0x00000091bcaf bp 0x7ffc5350a7c0 sp 0x7ffc5350a7b8 +WRITE of size 8 at 0x62900005ec78 thread T0 + #0 0x91bcae in __covrec_5D5B21D96B32D4F9u /src/ghostpdl/./devices/vector/gdevpdfg.c:73:38 + #1 0x9bc8c5 in stream_to_text /src/ghostpdl/./devices/vector/gdevpdfu.c:1120:12 + #2 0x9adbfa in pdf_open_contents /src/ghostpdl/./devices/vector/gdevpdfu.c:1200:20 + #3 0x9b35ea in pdf_open_page /src/ghostpdl/./devices/vector/gdevpdfu.c:1964:12 + #4 0xa445ec in pdf_append_chars /src/ghostpdl/./devices/vector/gdevpdts.c:647:24 + #5 0x1a08140 in process_text_modify_width /src/ghostpdl/./devices/vector/gdevpdte.c + #6 0x19f6fb0 in scan_cmap_text /src/ghostpdl/./devices/vector/gdevpdtc.c:870:24 + #7 0x19f1c4b in process_cmap_text /src/ghostpdl/./devices/vector/gdevpdtc.c:965:12 + #8 0xa6619f in pdf_text_process /src/ghostpdl/./devices/vector/gdevpdtt.c:3758:16 + #9 0xcb091a in gs_text_process /src/ghostpdl/./base/gstext.c:670:12 + #10 0x153de59 in pdfi_show_simple /src/ghostpdl/./pdf/pdf_text.c:447:16 + #11 0x1534c9d in pdfi_show_Tr_preserve /src/ghostpdl/./pdf/pdf_text.c:789:16 + #12 0x1534c9d in pdfi_show /src/ghostpdl/./pdf/pdf_text.c:842:16 + #13 0x1536db2 in pdfi_Tj /src/ghostpdl/./pdf/pdf_text.c:1081:12 + #14 0x13f880b in pdfi_interpret_stream_operator /src/ghostpdl/./pdf/pdf_int.c:1646:24 + #15 0x13f6c91 in pdfi_interpret_content_stream /src/ghostpdl/./pdf/pdf_int.c:2126:24 + #16 0x1469e7e in pdfi_process_page_contents /src/ghostpdl/./pdf/pdf_page.c:127:20 + #17 0x1469e7e in pdfi_process_one_page /src/ghostpdl/./pdf/pdf_page.c:152:12 + #18 0x1469e7e in pdfi_page_render /src/ghostpdl/./pdf/pdf_page.c:953:12 + #19 0x13a629d in zPDFdrawpage /src/ghostpdl/./psi/zpdfops.c:1157:24 + #20 0x11b91a9 in interp /src/ghostpdl/./psi/interp.c:1725:40 + #21 0x11b2256 in gs_call_interp /src/ghostpdl/./psi/interp.c:522:12 + #22 0x11b19f7 in gs_interpret /src/ghostpdl/./psi/interp.c:479:12 + #23 0x51e8a6 in gs_main_interpret /src/ghostpdl/./psi/imain.c:257:12 + #24 0x51ebee in gs_main_run_string_end /src/ghostpdl/./psi/imain.c:945:12 + #25 0x51ebee in __covrec_354B81557B0956Cu /src/ghostpdl/./psi/imain.c:889:12 + #26 0x519dfb in __covrec_218C571E84FB63F4 /src/ghostpdl/./psi/imain.c:870:12 + #27 0x15a94e6 in run_string /src/ghostpdl/./psi/imainarg.c:1169:12 + #28 0x15a4c81 in swproc /src/ghostpdl/./psi/imainarg.c:367:20 + #29 0x15a0e05 in gs_main_init_with_args01 /src/ghostpdl/./psi/imainarg.c:224:24 + #30 0x15a9251 in gs_main_init_with_args /src/ghostpdl/./psi/imainarg.c:289:16 + #31 0x119b038 in psapi_init_with_args /src/ghostpdl/./psi/psapi.c:281:12 + #32 0x51580c in gsapi_init_with_args /src/ghostpdl/./psi/iapi.c:253:12 + #33 0x4e5aa2 in __covrec_673F6603978DF04Bu /src/gs_fuzzlib.h:130:8 + #34 0x4e5e7b in LLVMFuzzerTestOneInput /src/gs_device_pdfwrite_fuzzer.cc:26:2 + #35 0x4f432c in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #36 0x4e6285 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #37 0x4eaf31 in __covrec_6990238F142DEEC4u /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #38 0x4e5f52 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #39 0x7f88faf11082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #40 0x426d0d in _start (/out/gs_device_pdfwrite_fuzzer+0x426d0d) + +0x62900005ec78 is located 2336 bytes to the right of 16728-byte region [0x62900005a200,0x62900005e358) +freed by thread T0 here: + #0 0x4a7ea2 in free /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:52:3 + #1 0xc63253 in gs_heap_free_object /src/ghostpdl/./base/gsmalloc.c:366:5 + +previously allocated by thread T0 here: + #0 0x4a8146 in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0xc623d0 in gs_heap_alloc_bytes /src/ghostpdl/./base/gsmalloc.c:192:34 + +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ghostpdl/./devices/vector/gdevpdfg.c:73:38 in __covrec_5D5B21D96B32D4F9u +Shadow bytes around the buggy address: + 0x0c5280003d30: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c5280003d40: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c5280003d50: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c5280003d60: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c5280003d70: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +=>0x0c5280003d80: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa[fa] + 0x0c5280003d90: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c5280003da0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c5280003db0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c5280003dc0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c5280003dd0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==1==ABORTING diff --git a/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/ghostscript_files/dicts/pdf.dict b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/ghostscript_files/dicts/pdf.dict new file mode 100644 index 000000000..a6c48d59e --- /dev/null +++ b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/ghostscript_files/dicts/pdf.dict @@ -0,0 +1,1466 @@ +# +# AFL dictionary for PDF +# ---------------------- +# +# This is a pretty big PDF dictionary constructed by Ben by manually reviewing +# the spec and combining that with the data pulled out of a corpus of sample +# PDFs. +# +# Contributed by Ben Nagy +# + +"#" +"%" +"%%" +"%%EOF" +"%FDF-1.7" +"%PDF-1.7" +"(" +"(/xdp:xdp)" +"(\\001)" +"(config)" +"(datasets)" +"(template)" +"(xdp:xdp)" +")" +"-1" +"-1.0" +".." +"/" +"/#23clipboard" +"/.notdef" +"/1" +"/1.0" +"/1.3" +"/3D" +"/3DA" +"/3DAnimationStyle" +"/3DB" +"/3DD" +"/3DI" +"/3DLightingScheme" +"/3DRenderMode" +"/3DV" +"/3DView" +"/90pv-RKSJ-H" +"/A" +"/A0" +"/A85" +"/AA" +"/AAIC" +"/AAPL" +"/ABCDEF+ACaslonPro-Regular" +"/ABCDEF+AJensonPro-LtIt" +"/ABCDEF+AdobeCorpID-MinionRg" +"/ABCDEF+Arial,Bold" +"/ABCDEF+BankGothicMdBT" +"/ABCDEF+Bauhaus-Heavy" +"/ABCDEF+BluesClues" +"/ABCDEF+BodegaSans" +"/ABCDEF+BodoniMTCondensed" +"/ABCDEF+BookAntiqua" +"/ABCDEF+CMBX10" +"/ABCDEF+CaflischScriptPro-Regular" +"/ABCDEF+CityBlueprint" +"/ABCDEF+CourierNewPSMT" +"/ABCDEF+FixedsysExcelsior2.00" +"/ABCDEF+MSTT31854bd45bo188067S00" +"/ABCDEF+MinionPro-BoldCnIt" +"/ABCDEF+MyriadMM-It_400_300_" +"/ABCDEF+Wingdings" +"/ABCDEF+ZapfDingbats" +"/AC" +"/ADBE" +"/ADB_DEVICE_DEFAULT_STYLE" +"/ADB_DefaultStyle" +"/ADB_NO_TRAP_STYLE" +"/AE" +"/AESV2" +"/AGaramond" +"/AH" +"/AI8DstIndex" +"/AI8SrcIndex" +"/AIMetaData" +"/AIPDFPrivateData1" +"/AIS" +"/AL" +"/AN" +"/AP" +"/AS" +"/ASCII85Decode" +"/ASCIIHexDecode" +"/ASomewhatLongerName" +"/AU" +"/Aacute" +"/Acc.#20Prod.#202501#20#2F2#20#20" +"/Accounts#20payable" +"/AccurateScreens" +"/Acircumflex" +"/AcroForm" +"/Action" +"/Actual" +"/Add" +"/Adieresis" +"/Adobe" +"/Adobe#20PDF#20Library" +"/Adobe.PPKLite" +"/AdobeCorpID-Acrobat" +"/AdobeCorpID-MinionRg" +"/AdobePhotoshop" +"/Agrave" +"/All" +"/AllKO" +"/AllOn" +"/Alt" +"/Alternate" +"/AlternatePresentations" +"/Alternates" +"/Amex" +"/And" +"/Angle" +"/Annot" +"/Annots" +"/AntiAlias" +"/AnyOn" +"/Apag_PDFX_Checkup" +"/App" +"/Architecture-Normal" +"/Arial" +"/Aring" +"/Art" +"/ArtBox" +"/Article" +"/Artifact" +"/Artwork" +"/Ascent" +"/Aspect" +"/Assistant" +"/Atilde" +"/AuthEvent" +"/Author" +"/Avenir-Heavy" +"/Avenir-MediumOblique" +"/AvgWidth" +"/BBox" +"/BC" +"/BCL" +"/BDC" +"/BDL" +"/BE" +"/BFSOL" +"/BG" +"/BG2" +"/BM" +"/BMC" +"/BS" +"/BW" +"/Bank" +"/BaseEncoding" +"/BaseFont" +"/BaseState" +"/BaseVersion" +"/Birch" +"/BitsPerComponent" +"/BitsPerCoordinate" +"/BitsPerFlag" +"/BitsPerSample" +"/Bl" +"/BlCDel" +"/BlMiNu" +"/Black" +"/BlackIs1" +"/BlackOP" +"/BlackPoint" +"/BleedBox" +"/Blend" +"/Block" +"/Blue" +"/BluesClues" +"/Bookshelf" +"/Border" +"/Bounds" +"/BoxColorInfo" +"/Btn" +"/BulmerMT-BoldDisplay" +"/ByteRange" +"/C" +"/C0" +"/C0_0" +"/C1" +"/C2W" +"/C3" +"/CALS_AIS" +"/CALS_BM" +"/CALS_HT" +"/CALS_SMASK" +"/CALS_ca" +"/CAM" +"/CB" +"/CC" +"/CCH" +"/CCITTFaxDecode" +"/CD" +"/CDL" +"/CEN" +"/CF" +"/CFM" +"/CI" +"/CIDFontType0" +"/CIDFontType0C" +"/CIDFontType2" +"/CIDInit" +"/CIDSet" +"/CIDSystemInfo" +"/CIDToGIDMap" +"/CMV_LabBar" +"/CMV_LabControl" +"/CMYK" +"/CMYK#20#2880,#208,#2034,#200#29" +"/CMap" +"/CMapName" +"/CMapType" +"/CMapVersion" +"/CO" +"/CP" +"/CS" +"/CS0" +"/CT" +"/CV" +"/CalGray" +"/CalRGB" +"/CapHeight" +"/Caption" +"/Caslon540BT-Roman" +"/CaslonBT-Bold" +"/CaslonBT-BoldItalic" +"/Catalog" +"/Category" +"/Ccedilla" +"/CenturySchoolbookBT-Roman" +"/Ch" +"/Chair" +"/Chap" +"/Chaparral-Display" +"/CharProcs" +"/CharSet" +"/CheckSum" +"/Circle" +"/ClarendonBT-Black" +"/ClassMap" +"/Clearface-Black" +"/Clip" +"/ClippedText" +"/Cn" +"/Collection" +"/CollectionItem" +"/CollectionSchema" +"/CollectionSubitem" +"/Color" +"/ColorBurn" +"/ColorDodge" +"/ColorMatch" +"/ColorSpace" +"/ColorTransform" +"/ColorType" +"/Colorants" +"/Colors" +"/Columns" +"/ComicSansMS,Bold" +"/Comment" +"/Comments" +"/Company" +"/Compatibility" +"/Compatible" +"/Components" +"/CompressArt" +"/Condensed" +"/Configs" +"/Consultant" +"/ContainerVersion" +"/Contents" +"/Coords" +"/Copy" +"/Copy#20center" +"/Cor" +"/Corner#20surface" +"/CosineDot" +"/Count" +"/Cour" +"/Courier" +"/Create" +"/CreationDate" +"/Creator" +"/CreatorInfo" +"/CreatorVersion" +"/CropBox" +"/CropFixed" +"/CropRect" +"/Crypt" +"/CryptFilter" +"/CryptFilterDecodeParms" +"/Cs12" +"/Cs3" +"/Cyan" +"/D" +"/DA" +"/DCTDecode" +"/DIC#202525p*" +"/DIS" +"/DL" +"/DOS" +"/DP" +"/DR" +"/DS" +"/DSz" +"/DV" +"/DW" +"/DamagedRowsBeforeError" +"/Darken" +"/Data" +"/Date" +"/Decode" +"/DecodeParms" +"/DefEmbeddedFile" +"/Default" +"/DefaultCryptFilter" +"/DefaultForPrinting" +"/DefaultRGB" +"/Delete" +"/Delta" +"/DescendantFonts" +"/Descent" +"/Description" +"/Design" +"/Dest" +"/DestOutputProfile" +"/DestOutputProfileRef" +"/Dests" +"/DeviceCMYK" +"/DeviceGray" +"/DeviceN" +"/DeviceRGB" +"/Difference" +"/Differences" +"/DigestLocation" +"/DigestMethod" +"/DigestValue" +"/Dimmed" +"/Direction" +"/DisplayDocTitle" +"/Dissolve" +"/Div" +"/Dm" +"/DocMDP" +"/DocOpen" +"/Document" +"/Documents" +"/Domain" +"/Door" +"/DotGain" +"/Draw" +"/Dt" +"/Dur" +"/Dynamic#20connector" +"/E" +"/EF" +"/EFF" +"/EMC" +"/Eacute" +"/EarlyChange" +"/Ecircumflex" +"/Edieresis" +"/Editable" +"/Egrave" +"/EmbedFonts" +"/EmbedICCProfile" +"/Embedded" +"/EmbeddedFile" +"/EmbeddedFiles" +"/Encode" +"/EncodedByteAlign" +"/Encoding" +"/Encrypt" +"/EncryptMetadata" +"/EndIndent" +"/EndOfBlock" +"/EndOfLine" +"/Euro" +"/Euro.037" +"/Event" +"/ExData" +"/Exchange-Pro" +"/Exclude" +"/Exclusion" +"/Executive" +"/Export" +"/ExportCrispy" +"/ExportState" +"/ExtGState" +"/Extend" +"/Extends" +"/ExtensionLevel" +"/Extensions" +"/F1" +"/F1.0" +"/F12" +"/F13" +"/F3" +"/F5" +"/F6" +"/F7" +"/F8" +"/FB" +"/FD" +"/FDecodeParms" +"/FFilter" +"/FICL" +"/FM" +"/FOV" +"/FRM" +"/FS" +"/FT" +"/Facilities" +"/Fade" +"/False" +"/Feature" +"/FedEx#20Orange" +"/FedEx#20Purple" +"/Field" +"/Fields" +"/Figure" +"/File" +"/Files" +"/Filespec" +"/FillIn" +"/Filter" +"/First" +"/FirstChar" +"/FirstPage" +"/Fit" +"/FitB" +"/FitBH" +"/FitBV" +"/FitH" +"/FitR" +"/FitV" +"/FitWindow" +"/FixedPrint" +"/Flags" +"/FlateDecode" +"/Fm0" +"/Fm4" +"/Fo" +"/Focoltone#201047" +"/Font" +"/FontBBox" +"/FontDescriptor" +"/FontFamily" +"/FontFile" +"/FontFile2" +"/FontMatrix" +"/FontName" +"/FontStretch" +"/FontWeight" +"/Form" +"/FormEx" +"/FormType" +"/FreeText" +"/FreeTextCallout" +"/Frequency" +"/FullSave" +"/FullScreen" +"/Function" +"/FunctionType" +"/Functions" +"/Futura-Bold" +"/Futura-CondensedExtraBold" +"/G" +"/G02" +"/GLGR" +"/GS0" +"/GS1" +"/GS2" +"/GTS" +"/GTS_PDFA1" +"/GTS_PDFX" +"/GTS_PDFXConformance" +"/GTS_PDFXVersion" +"/GWG#20Green" +"/Gamma" +"/Garamond" +"/Georgia,Bold" +"/GoTo" +"/GoTo3DView" +"/GoToE" +"/GoToR" +"/Gold" +"/Goudy" +"/Gray" +"/Green" +"/GreymantleMVB" +"/GrotesqueMT" +"/Group" +"/H" +"/HDAG_Tools" +"/HKana" +"/HT" +"/HT2" +"/Halftone" +"/HalftoneName" +"/HalftoneType" +"/HardLight" +"/HeBo" +"/Head1" +"/Headlamp" +"/Height" +"/HeiseiMin" +"/Helv" +"/Helvetica" +"/Helvetica-Bold" +"/Helvetica-BoldOblique" +"/Helvetica-Condensed" +"/HelveticaNeue-Black" +"/Hide" +"/HonMincho-M" +"/Horizontal" +"/Hue" +"/I" +"/I0" +"/IC" +"/ICCBased" +"/ICCVersion" +"/ID" +"/IDS" +"/IDTree" +"/IEC" +"/IF" +"/IN" +"/ISO32000Registry" +"/ISO_PDFE1" +"/ISO_PDFEVersion" +"/IT" +"/ITO" +"/ITP" +"/IV" +"/IX" +"/Icircumflex" +"/Icon" +"/Identity" +"/Identity-H" +"/IgnEP" +"/Illustrator" +"/Illustrator8.0" +"/Im0" +"/Im1" +"/Im2" +"/Im3" +"/Im4" +"/Image" +"/Image1" +"/ImageB" +"/ImageC" +"/ImageI" +"/ImageMask" +"/ImageResources" +"/ImageType" +"/Import" +"/ImportData" +"/ImpressBT-Regular" +"/Index" +"/Indexed" +"/Info" +"/Information#20services" +"/Ink" +"/InkList" +"/InsertPages" +"/Insignia" +"/IntegerItem" +"/Intent" +"/Interpolate" +"/ItalicAngle" +"/ItcKabel-Ultra" +"/Item1" +"/Item2" +"/JBIG2Decode" +"/JBIG2Globals" +"/JPXDecode" +"/JS" +"/JT" +"/JTC" +"/JTF" +"/JTFile" +"/JTM" +"/JavaScript" +"/JobTicketContents" +"/Justify" +"/Keywords" +"/Kids" +"/L" +"/L1" +"/L1a" +"/L1b" +"/L2R" +"/L50188" +"/LBody" +"/LI" +"/LL" +"/LLE" +"/LLO" +"/LS" +"/LSP" +"/LZW" +"/LZWDecode" +"/Lab" +"/Lang" +"/Last" +"/LastChar" +"/LastItem" +"/LastModified" +"/Lateral#20file" +"/Launch" +"/Layout" +"/Lbl" +"/Leading" +"/Legal" +"/Length" +"/Length1" +"/Length2" +"/Length3" +"/LetterspaceFlags" +"/Lighten" +"/Limits" +"/Line" +"/LineDimension" +"/LineHeight" +"/Linear" +"/Linearized" +"/Link" +"/Locked" +"/LogoGreen" +"/LrTb" +"/Lslash" +"/Luminosity" +"/M" +"/MB" +"/MC" +"/MC0" +"/MCD" +"/MCID" +"/MCR" +"/MD5" +"/MH" +"/MIT" +"/MK" +"/MMType1" +"/MP" +"/MR" +"/MS" +"/MUX#20#2F#20DEMUX" +"/Mac" +"/MacRomanEncoding" +"/Magenta" +"/Manager" +"/MarkInfo" +"/Marked" +"/MarkedPDF" +"/Marker#20board" +"/Markup3D" +"/Mask" +"/Mastercard" +"/Matrix" +"/Max" +"/MaxLen" +"/MaxWidth" +"/Me" +"/Measure" +"/MediaBox" +"/MetaData" +"/Min" +"/MinionMM" +"/MissingWidth" +"/MixedContainer" +"/MixingHints" +"/ModDate" +"/Mode" +"/Modify" +"/Movie" +"/Msg" +"/MurrayHillBT-Bold" +"/MxGeom" +"/MxLaNu" +"/MxPts" +"/MyriadPro-Black" +"/NA" +"/NChannel" +"/ND" +"/NL" +"/NM" +"/NR" +"/Name" +"/Name1" +"/Named" +"/Names" +"/NeedsRendering" +"/NewCenturySchlbk-Italic" +"/NewWindow" +"/Next" +"/NextPage" +"/No" +"/NonEFontNoWarn" +"/NonStruct" +"/None" +"/Normal" +"/Not" +"/NotDefSpecial" +"/NumBlock" +"/Nums" +"/OB" +"/OBJR" +"/OC" +"/OC2" +"/OC3" +"/OC4" +"/OCG" +"/OCGs" +"/OCL" +"/OCMD" +"/OCProperties" +"/OE" +"/OFF" +"/OLN" +"/ON" +"/OOL" +"/OPBG" +"/OPBS" +"/OPI" +"/OPM" +"/OS" +"/OT" +"/Oacute" +"/Obj" +"/ObjStm" +"/Ocircumflex" +"/Odieresis" +"/Ograve" +"/Omega" +"/OneColumn" +"/Online" +"/Open" +"/OpenAction" +"/Operation" +"/Opt" +"/OptionSet" +"/Options" +"/Or" +"/Orange" +"/Order" +"/Ordering" +"/OriginalLayerName" +"/Oslash" +"/Otilde" +"/Outlines" +"/OutputCondition" +"/OutputConditionIdentifier" +"/OutputIntent" +"/OutputIntents" +"/Overlay" +"/P0" +"/P1" +"/P2" +"/P2,#2300ff007900000000,PANTONE#20151#20C" +"/PANTONE" +"/PANTONE#20158-5#20CVS" +"/PANTONE#20221#20CVU" +"/PANTONE#203405#20C" +"/PANTONE#20399#20CVC" +"/PANTONE#20Blue#20072#20C" +"/PANTONE#20Orange#20021#20C" +"/PANTONE#20Orange#20021#20CVC" +"/PANTONE#20Yellow#20C" +"/PC" +"/PDFDocEncoding" +"/PIX" +"/PO" +"/PS" +"/PUBLISHER" +"/PZ" +"/Pa0" +"/Page" +"/PageElement" +"/PageLabels" +"/PageLayout" +"/PageMode" +"/PageRange" +"/Pages" +"/PaintType" +"/Palatino,Bold" +"/Pale#20Brown.c" +"/Panose" +"/Paper#20tray" +"/Para" +"/Params" +"/Parent" +"/ParentTree" +"/ParentTreeNextKey" +"/Part" +"/Pattern" +"/PatternType" +"/PcZ" +"/Perceptual" +"/Perms" +"/Pg" +"/Pgf" +"/PieceInfo" +"/PitStop" +"/Placement" +"/Play" +"/Polygon" +"/PolygonCloud" +"/Popup" +"/Position" +"/PowerUpPDF" +"/PrOut" +"/PrRGBGra" +"/PrRGBIma" +"/Predictor" +"/PresSteps" +"/PreserveRB" +"/Prev" +"/PrevPage" +"/Preview" +"/Print" +"/PrintRecord" +"/PrintScaling" +"/PrintState" +"/PrintStyle" +"/Printed" +"/PrintingOrder" +"/Private" +"/ProcSet" +"/Process" +"/ProcessBlue" +"/ProcessGreen" +"/ProcessRed" +"/Producer" +"/ProfileCS" +"/ProfileName" +"/Prop_Build" +"/Properties" +"/Proportional" +"/PubSec" +"/Q" +"/QuadPoints" +"/R1" +"/RBGroups" +"/RC" +"/RD" +"/REC" +"/REx" +"/RF" +"/RGB" +"/RI" +"/RICMYKGra" +"/RICMYKIma" +"/RICalGra" +"/RICalIma" +"/RIDefault" +"/RIDevNGra" +"/RIDevNIma" +"/RIRGBGra" +"/RIRGBIma" +"/RL" +"/RM" +"/RV" +"/Range" +"/Rect" +"/Red" +"/Redact" +"/Ref" +"/Reference" +"/Registry" +"/RegistryName" +"/RelativeColorimetric" +"/Rendition" +"/Renditions" +"/Requirements" +"/ResetForm" +"/Resolution" +"/Resources" +"/ReversedChars" +"/RoleMap" +"/Root" +"/Rotate" +"/Round" +"/RoundTrip" +"/RoundtripVersion" +"/Router" +"/Rows" +"/RunLengthDecode" +"/Ryumin" +"/SA" +"/SBDraft" +"/SC" +"/SE" +"/SFSSL" +"/SFTWS" +"/SI" +"/SL" +"/SLA" +"/SM" +"/SMask" +"/SMaskInData" +"/SP" +"/SPS" +"/STL" +"/SU" +"/SW" +"/Saturation" +"/SaveAs" +"/SaveContents" +"/SaveResource" +"/SavedBy" +"/Scaron" +"/Schema" +"/Screen" +"/Sect" +"/SemiCondensed" +"/SemiExpanded" +"/Separation" +"/SeparationInfo" +"/SetOCGState" +"/SettingsFileName" +"/Sh0" +"/Sh1" +"/Shading" +"/ShadingType" +"/Shape" +"/Sig" +"/SigFlags" +"/SigRef" +"/Signature" +"/Signed" +"/SinglePage" +"/Size" +"/SlideShow" +"/SoftLight" +"/Solid" +"/Solidities" +"/SomeName" +"/Sort" +"/Sound" +"/Space" +"/SpaceAfter" +"/SpaceBefore" +"/Span" +"/SpawnTemplate" +"/SpdrArt" +"/SpiderInfo" +"/Split" +"/Spot" +"/Spot1" +"/Spot2" +"/SpotFunction" +"/SpotMap" +"/St" +"/Stamp" +"/StandardImageFileData" +"/Star" +"/Start" +"/StartIndent" +"/StartResource" +"/State" +"/StdCF" +"/StemH" +"/StemV" +"/Stm" +"/StmF" +"/Stop" +"/Story" +"/StrF" +"/StrikeOut" +"/StringItem" +"/StructElem" +"/StructParent" +"/StructParents" +"/StructTreeRoot" +"/Style" +"/SubFilter" +"/SubType" +"/Subdictionary" +"/Subform" +"/Subj" +"/Subject" +"/SubmitForm" +"/SubmitStandalone" +"/SubsetFontsBelow" +"/SubsetFontsRatio" +"/Supplement" +"/Swiss721BT-Black" +"/Switch" +"/T" +"/T1" +"/T1_0" +"/TB" +"/TC" +"/TCS" +"/TF" +"/TID" +"/TK" +"/TM" +"/TO" +"/TOC" +"/TOCI" +"/TOYO#200004pc" +"/TP" +"/TR" +"/TR2" +"/TRUMATCH#206-e" +"/TS" +"/TSV" +"/TT" +"/TT0" +"/TTRefMan" +"/TU" +"/TV" +"/TW" +"/TWS" +"/TWY" +"/Tabs" +"/TagSuspect" +"/TargetCS" +"/Technical" +"/Template" +"/TemplateInstantiated" +"/Templates" +"/Text" +"/TextAlign" +"/TextBox" +"/TextIndent" +"/The" +"/This" +"/Thorn" +"/Thread" +"/Threads" +"/Thumb" +"/Thumbnail" +"/Thumbs" +"/Ti" +"/TiBI" +"/TilingType" +"/Times-BoldItalic" +"/Times-Roman" +"/Title" +"/ToUnicode" +"/Toggle" +"/Trans" +"/TransferFunction" +"/TransformMethod" +"/TransformParams" +"/Transparency" +"/TrapInfo" +"/TrapMagicNumber" +"/TrapRegions" +"/TrapSet" +"/Trapped" +"/Trapping" +"/TrappingDetails" +"/TrappingParameters" +"/TrimBox" +"/True" +"/TrueType" +"/TrustedMode" +"/TwoColumnLeft" +"/Tx" +"/Type" +"/Type0" +"/U3D" +"/UA" +"/UCR" +"/UCR2" +"/UIDOffset" +"/UR" +"/UR3" +"/URI" +"/URL" +"/URLs" +"/Uacute" +"/Ucircumflex" +"/Udieresis" +"/Ugrave" +"/Univers-BoldExt" +"/Unix" +"/Unknown" +"/Usage" +"/UseAttachments" +"/UseNone" +"/UseOC" +"/UseOutlines" +"/UseThumbs" +"/UsedCMYK" +"/UserProperties" +"/UserUnit" +"/V2" +"/VA" +"/VE" +"/VP" +"/Verdana,Bold" +"/Version" +"/Vertical" +"/VeryLastItem" +"/View" +"/ViewerPreferences" +"/Visa" +"/Visible" +"/Volume" +"/W2" +"/WAI" +"/WAN" +"/WMode" +"/WP" +"/WarnockPro-BoldIt" +"/Watermark" +"/WebCapture" +"/Which" +"/WhiteBG" +"/WhitePoint" +"/Widget" +"/Width" +"/Widths" +"/Win" +"/WinAnsiEncoding" +"/Window" +"/Windows" +"/Work#20surface" +"/Workbook" +"/Worksheet" +"/WritingMode" +"/X" +"/X1" +"/XFA" +"/XHeight" +"/XML" +"/XN" +"/XObject" +"/XRef" +"/XRefStm" +"/XStep" +"/XUID" +"/XYZ" +"/Y" +"/YStep" +"/Yacute" +"/Ydieresis" +"/Yellow" +"/Z" +"/Z7KNXbN" +"/ZaDb" +"/ZapfDingbats" +"/Zcaron" +"/Zoom" +"/_No_paragraph_style_" +"/a1" +"/acute" +"/adbe.pkcs7.detached" +"/ampersand" +"/apple" +"/approxequal" +"/asciicircum" +"/asciitilde" +"/asterisk" +"/at" +"/audio#2Fmpeg" +"/b" +"/backslash" +"/bar" +"/blank" +"/braceleft" +"/braceright" +"/bracketleft" +"/bracketright" +"/breve" +"/brokenbar" +"/bullet" +"/c108" +"/cCompKind" +"/cCompQuality" +"/cCompression" +"/cRes" +"/cResolution" +"/ca" +"/caron" +"/cedilla" +"/cent" +"/circumflex" +"/colon" +"/comma" +"/copyright" +"/currency" +"/dagger" +"/daggerdbl" +"/degree" +"/deviceNumber" +"/dieresis" +"/divide" +"/dollar" +"/dotaccent" +"/dotlessi" +"/dotlessj" +"/eight" +"/ellipsis" +"/emdash" +"/endash" +"/equal" +"/eth" +"/exclam" +"/exclamdown" +"/f" +"/ff" +"/ffi" +"/ffl" +"/fi" +"/five" +"/fl" +"/florin" +"/four" +"/fraction" +"/gCompKind" +"/gCompQuality" +"/gCompression" +"/gRes" +"/gResolution" +"/germandbls" +"/go1" +"/grave" +"/greater" +"/greaterequal" +"/guillemotleft" +"/guillemotright" +"/guilsinglleft" +"/guilsinglright" +"/hungarumlaut" +"/hyphen" +"/iacute" +"/idieresis" +"/igrave" +"/infinity" +"/integral" +"/j" +"/k" +"/less" +"/lessequal" +"/logicalnot" +"/lozenge" +"/lt#20blue" +"/mCompKind" +"/mCompression" +"/mRes" +"/mResolution" +"/macron" +"/minus" +"/mu" +"/multiply" +"/n" +"/n0" +"/nine" +"/notequal" +"/ntilde" +"/numbersign" +"/o" +"/ogonek" +"/one" +"/onehalf" +"/onequarter" +"/onesuperior" +"/op" +"/ordfeminine" +"/ordmasculine" +"/p" +"/pageH" +"/pageV" +"/paragraph" +"/parenleft" +"/parenright" +"/partialdiff" +"/pdf" +"/pdfx" +"/percent" +"/period" +"/periodcentered" +"/perthousand" +"/pi" +"/plus" +"/plusminus" +"/pms#208400" +"/printX" +"/product" +"/question" +"/questiondown" +"/quotedbl" +"/quotedblbase" +"/quotedblleft" +"/quotedblright" +"/quoteleft" +"/quoteright" +"/quotesinglbase" +"/quotesingle" +"/r" +"/radical" +"/registered" +"/ring" +"/s" +"/s1" +"/sd1" +"/sd2" +"/section" +"/semicolon" +"/seven" +"/six" +"/slash" +"/sterling" +"/summation" +"/thinspace" +"/three" +"/threequarters" +"/threesuperior" +"/tilde" +"/trademark" +"/two" +"/twosuperior" +"/u" +"/underscore" +"/v" +"/w" +"/y1" +"/yen" +"/yes" +"/zero" +"0 R" +"1" +"1.0" +"<" +"<<" +">" +">>" +"Adobe.PPKLite" +"Adobe.PubSec" +"B*" +"BDC" +"BI" +"BMC" +"BT" +"BX" +"CS" +"DP" +"Do" +"EI" +"EMC" +"ET" +"EX" +"Entrust.PPKEF" +"ID" +"MP" +"R" +"T*" +"TJ" +"TL" +"Tc" +"Td" +"Tf" +"Tj" +"Tm" +"Tr" +"Ts" +"Tw" +"W*" +"[" +"[0.0 0.0 0.0 0.0 0.0 0.0]" +"[1 1 1]" +"[1.0 -1.0 1.0 -1.0]" +"[1.0 -1.0]" +"\\" +"]" +"abs" +"adbe.pkcs7.s3" +"adbe.pkcs7.s4" +"adbe.pkcs7.s5" +"add" +"and" +"atan" +"begin" +"beginarrangedfont" +"beginbfchar" +"begincidrange" +"begincmap" +"begincodespacerange" +"beginnotdefchar" +"beginnotdefrange" +"beginusematrix" +"bitshift" +"ceiling" +"cm" +"copy" +"cos" +"cvi" +"cvr" +"d0" +"d1" +"div" +"dup" +"end" +"endarrangedfont" +"endbfchar" +"endcidrange" +"endcmap" +"endcodespacerange" +"endnotdefchar" +"endnotdefrange" +"endobj" +"endstream" +"endusematrix" +"eq" +"exch" +"exp" +"f*" +"false" +"findresource" +"floor" +"ge" +"gs" +"gt" +"idiv" +"if" +"ifelse" +"index" +"le" +"ln" +"log" +"lt" +"mod" +"mul" +"ne" +"neg" +"not" +"null" +"obj" +"or" +"page" +"pop" +"re" +"rg" +"ri" +"roll" +"round" +"sin" +"sqrt" +"startxref" +"stream" +"sub" +"trailer" +"true" +"truncate" +"usecmap" +"usefont" +"xor" +"xref" +"{" +"}" diff --git a/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/ghostscript_files/gs_fuzzlib.h b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/ghostscript_files/gs_fuzzlib.h new file mode 100644 index 000000000..1ee6078dc --- /dev/null +++ b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/ghostscript_files/gs_fuzzlib.h @@ -0,0 +1,144 @@ +/* +# Copyright 2019 The Chromium OS Authors. +# +# 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 + +static const unsigned char *g_data; +static size_t g_size; + +int fuzz_gs_device( + const unsigned char *buf, + size_t size, + int color_scheme, + const char *device_target, + const char *output_file +); + +#define min(x, y) ((x) < (y) ? (x) : (y)) + +static int gs_stdin(void *inst, char *buf, int len) +{ + size_t to_copy = min(len, g_size); + to_copy = min(INT_MAX, to_copy); + + memcpy(buf, g_data, to_copy); + + g_data += to_copy; + g_size -= to_copy; + + return to_copy; +} + +static int gs_stdnull(void *inst, const char *buf, int len) +{ + /* Just discard everything. */ + return len; +} + +int gs_to_raster_fuzz( + const unsigned char *buf, + size_t size, + int color_scheme +) +{ + return fuzz_gs_device(buf, size, color_scheme, "cups", "/dev/null"); +} + +int fuzz_gs_device( + const unsigned char *buf, + size_t size, + int color_scheme, + const char *device_target, + const char *output_file +) +{ + int ret; + void *gs = NULL; + char color_space[50]; + char gs_device[50]; + char gs_o[100]; + /* + * We are expecting color_scheme to be in the [0:62] interval. + * This corresponds to the color schemes defined here: + * https://github.com/ArtifexSoftware/ghostpdl/blob/8c97d5adce0040ac38a1fb4d7954499c65f582ff/cups/libs/cups/raster.h#L102 + */ + sprintf(color_space, "-dcupsColorSpace=%d", color_scheme); + sprintf(gs_device, "-sDEVICE=%s", device_target); + sprintf(gs_o, "-sOutputFile=%s", output_file); + /* Mostly stolen from cups-filters gstoraster. */ + char *args[] = { + "gs", + "-K1048576", + "-r200x200", + "-sBandListStorage=memory", + "-dMaxBitmap=0", + "-dBufferSpace=450k", + "-dMediaPosition=1", + color_space, + "-dQUIET", + "-dSAFER", + "-dNOPAUSE", + "-dBATCH", + "-dNOINTERPOLATE", + "-dNOMEDIAATTRS", + "-sstdout=%%stderr", + gs_o, + gs_device, + "-_", + }; + int argc = sizeof(args) / sizeof(args[0]); + + /* Stash buffers globally, for gs_stdin(). */ + g_data = buf; + g_size = size; + + ret = gsapi_new_instance(&gs, NULL); + if (ret < 0) { + fprintf(stderr, "gsapi_new_instance: error %d\n", ret); + return ret; + } + + gsapi_set_stdio(gs, gs_stdin, gs_stdnull, gs_stdnull); + ret = gsapi_set_arg_encoding(gs, GS_ARG_ENCODING_UTF8); + if (ret < 0) { + fprintf(stderr, "gsapi_set_arg_encoding: error %d\n", ret); + gsapi_delete_instance(gs); + return ret; + } + + ret = gsapi_init_with_args(gs, argc, args); + if (ret && ret != gs_error_Quit) + /* Just keep going, to cleanup. */ + fprintf(stderr, "gsapi_init_with_args: error %d\n", ret); + + ret = gsapi_exit(gs); + if (ret < 0 && ret != gs_error_Quit) { + fprintf(stderr, "gsapi_exit: error %d\n", ret); + return ret; + } + + gsapi_delete_instance(gs); + + return 0; +} diff --git a/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/ghostscript_files/pdf_seeds/pdf.pdf b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/ghostscript_files/pdf_seeds/pdf.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6b3af4c944ced69457345ef6c714a63d110a6f3d GIT binary patch literal 35154 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%0AiOp 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

`w?Hjd|?bm^$7%47u-nu_6^;3dAPjj z#>SS^3OPXs4@C$FqPgXKpSKP|ZEig3^`I_%0iY6=ySbN4RljYz)+M-HV&$!+jD}2G z)``B9!kw8uTFgR)NW?H-x!35CD(j(H*OYmlqOx>p32Z`A0`x0#c~B33d453!u>j-j zvE7b=F&E2m9YQfV--rbZF1qSQI8DkUJ##r`u&G_UcL!9$+v5`vv0W?{y%a1}dhNuC z=9jY}S&R}z(Hakov1T9S9;IUETdoweRo5-A-D{OoKr6a+9waho3k1?n1Bm;Tmu%ldh_cH`*zcN^TI#yn%eRhUm6nXpH7hc*O)n_=`l^~_1vxp>0qM5o7O^|;GP4F_IT=|S09YoSacy&zk42;u88#famw?ai)) zLZs(8y*AxQ(tXOZrWVQ4taF$$p61*WltruT_csw)NII?(k|pI((yNg%W*Fi$5v%x? zvvVURs6hd!Ey{&YxiT!|mDaB8)ol}PWhd&)2+~@aVqs-hJs0QSW45rj+1(!!YaTq+ z$X1DtEoiWZ^IAn`k+zFgmKc*1ln@qJ$i_qDmi7ianC`e%@;_L_L@}^PQ&&E;coLx+ z`FMl2lI*!D?GebYktNVWUC-wgrc`$GZRyb`2ZwslnMb>lh5H)Z8tbYy4s`juRxSIM z`w{RV3lZy%!$-?}?>zaL+ZTfr)k6Gdnkx7bt|tdUoP~;O>uE14(j)cDf(u z5Dnv)>CLs8;>Thr^?0=>C7G!iHJ^a6sK=Pn3>}$5R1wo8x^f3N!;4w-`dB%gCMjba z4F*pHtQKsZ5Nv6@hL_ z(&Q|tQn&RW=)j1(nIS*69ldQ<(PvW&k><2YHPRJ7Q+AVDc`qr1_@&efbqQ zW~ieSAq^HChdfM<6!YMUs+8l;<9!$iAPQ+rqF9Y1J=Zt_JjrX$S%qtX_5zIFtS1JEa15{AvvS`xJQ2U!O+Nn+`VGE*YuW;3wF^^ z9>U$u|7aj;I`L8!8Aw$3qvAyII){LTs0wKpC^did(yR3=xuwvA)}c^WM{{QG2p2T&NpSxIA~fqtlqYQKZR%K#nx(G1m9Fw&H;L{hlJ3^jCOQrlhv>XjEgR2IZ2Lv|7*f$g-eG%=*J%-FmK@St3`}A7&>Z5>=!in=GVgZ zl-VXWze@F$Ahp~fU?>f~i7*P@VO7AEZ0ikCnwIq!Rt^xpqO)&Ie!wdr?e30t_xr5I zyhC=ErblQH!lldh?N)Us!&c9G<1w{K<=T96SU34&u4Q_}kl!Tx5JPFXvBjt9E?HjZ zo6HI>WOA=WPP@lz__^&_%XALpSu6Y-^6rd|^vF|~RPp{ad__{ADa!Pc(N2re2(KBx z(NlYg%P{kW(!~oF^Z_0J>S&8@1@6G*DiH!3TIe2~_^EFw7YKllBdyfBT(jtfvy`qT zla?YCUnsc&-z7s^S_!@P)&e7og;iBn5gZtYq?^OgR)r`iM?LLg@Nc*1!yk8X83;+B z9Ftx@#sdOwXmCeM`{I$&d$POZO9#Qvq?l~veK(D@6!%4)2>jasMN9J*7`qjdB9_am!w^=3K6c|H4*l6ni{`5OfH z@Fw~(oQ!G{!@j}ZL6(A&q7p=sOEh$bgVySec@0ckb>UUvD(*` z_nWSSn3DBA*j?;9M!Pa*8e2aav)Frs5XtoxS{C$nGsZShLYjE)qG&u2=|JZzo%SdK zC*>>xpTkaj_xhJp9caEH9#)j)&Ya_Hb7zJ6qeh3RvdPZwrhtwB`x$BJW_5JnL`50P zSsDJfhX=_-2F3 zU7}jd@2L*6@$Za5d;vUm2^y?X3rU9b_F~K6{RyxGvbNr zvAa~;MjN2n;=WLH-k@>BCQib)hZ(TXzzmqLVs=ktW=vd7AG=`nxFp|gSs(UTSA4s9 zI%6|UfVWdyyuH3j-WdmxXRP4DgM-7U9CKU#}i z_&sOi2x zUu$%a(9J^ATqSiTfWO?)83S7+zlZFNXK&b`Ha@Ig*lBy{Dk= z4nm!ZYO#e}4vn~bZ)3PsP?}MlDlev261nL*%Fs*rdW4G+GvGu&mGnknjU3D3$n=g? zwZ-V-!QB2DExtOz13@2tRhJ9|#s1^&t@CGyBV{{QQqqza4@4Hy04WBTW=TNWet)`m z+L9i%NN=T%(K^`}(+$U3b^tsPy;)CCcufkh!cX={)1O>J%=5KD6@-H_&{JYA11hZ<;2=H;4 zepsE7?tU(wUDWBXbqO;tS4`8O5j|F7ooZ*=lRtB*esKvb@2U3})ht#`Iz;&4rJ*r; zfpIZOR~(SEQ`(N`ENSYdPB>&fz#>M$eVVjyGjbo#4cLnMXnU^wE_YjZ)g}~c)BO75 z1bPf1-nrE4!~G>*zS131J7B^Hl@+zuxSRG_RG7E2#VLk*NmUx<{Tco>C!6MxQ=moy zij61Fm;5lvPT%4H7t%Kjvx*w!L(DTnGRzvr3o)U(#T3!1GVfXPMk#@%(Xs;?4jqMA zX1fkap>CQq*VqiTbqq&x@8nV9<4FWt07-qdowY0EO^G{&J@TD(yfcYO!<%vGt8ciM zW6n?eDrb-8Y`EF>FM5!A*v;+K(L(iPy1rVsPm$Eold_TD!B40C2%h_ZavK;&iL7R< zT18(i!e#}8f`7DR@=R=v=`b##0_iG+%$0l}Dd>SG4wg{H>-}KUc!^kw!lRZXkIA74 z{Vmumarc|uG=?MjJQo&4MuWkS`bqOu(`2_ekal5K*&Y7nQIE;PKJrSMj^bBQNlEyk zX0CZ)seKaPcjw#DHk@9Hn zgwW=~>V}%*xqW2GbRVKx0)3vCM@KJTYB>HdWywS*B`=cYepr-dTlnl6{Y2UYv9iIK zpjE9h6&cd(EOL0}#*tM-q0!|!rfewV33upy!tk!xtV!C{*tW2FNI^+zSUJ*EZs zs8}VJZ`4etLG)8}=%b{Gs9NWNFjZ4>IznprFUs9QZzOZeT| zx>|qSvV()><|^CA?c!ZVp^4`gh;A=#|AXGkPlCj6bRK4=Ka^Kkf3isa$pHD2!|^}U zdBD_-|3v3uW%&!82LR@3{G#))Fo791%uLLGrSp9J^iJ}l*uT+v{!ZipvvU6b@OXYb z<$vVy{G^TiRQ>+f+y5aY1s0|GA2>Y!EidPHzyHAF`IDpb-?jCVp#v6LX9xV=)*q4m zi{bN&&GRS2=QsbK<$v*d{ut@MaJmFt{h&RpuyD${aj%dYy)BNg7-FHdU@Dfga-&<0Cs(`nm2PFH#?sEb6xEH0`g z^_*YQ?{zz&cb}I)vgLbjFI-hN=f8GX3RRR8KbUgZno_DOBf`n#7g>4Eo=LD|zWXE_ z;xSwFqn6Y)T-H$2d_inW_0^}Pww?nT_Q%7`eJKOTs;MLeu{PoW&O(Lv@F81HTz*ph zVQy%vt~W`GV+>A-k0Y^GD5ZNbvKQx2d}PkcS0fqrLyA>%F}1koSuc;{&)4S_awj?5 zTN{KTBFM}}1+ImP;>50CQ*R z1wdcFDt~zdf&ZevMrBZ>6s{TN4fM|E1YQEBr1YymU zPOA)cfDA;|ix7|Y03R-&9-nldcr2>tpb{ya%D>MBVk(#1LTtV9H(`L4#ipBJE}Joo$Z(d!n_d1h<0k9&S%JybL4-n+k8f#)gBb20>>=oV7<_P++}BpJnbsKE-@PDs!T3rE!s`iojlSKT z4e1NS&PzIw2~l9kDXC|NY3m0L@6_i&Ii0gE&?@3RruWDf>vLtqdu|hogVnY2E5rK& z7NjeG08Ig$TCf}1v!l0+FQeN228@mnkqyb0mrO7f*cE6xJ1{Ozt1Q|txm`c6v=d&R z@!v0fksT++oaFXYtAIn=!=mEcMzs-adTjF3fM0PZs(K0Kyo4z8WzBN2<28D-E*j@& zU)nM#%8xdxl;GPiOg}U#&U_^NkNyI;#c90S`)TIMZIc7#ehFp2U8F#5N>opJcmkrm zp|PNzAG5;Q7oO{nbfCBJW5(;^D&Haktc}*C=`?yfl`Cz616t_P20C%!+uA8Q&~@_= zHR97ta;r}9=s@`J&eb;20rsk#K>?2?3Sp-ut&)|8f@TPl+SCAov4gf8{QRgmuDf*DyX&FS5jB{GtVTD2@iu*_s5}-X;?9M&zdoFZk!Le|`Lt({>5dzNfqbNrH3+R$r;FxpQ1hgLh#BQ1<7ZK(&$ssxTo zaFf{HXlpsE2g-GI>l%FPpux5LVEnqH1q+la!yefI;2f>r9A%q)YkSNW^U4(~3s}vl zvbH$3AzJL&THZqGk?Br~eheY z2V!+T(Vt;9^%zyE3}eoB(i=#GibR={pj^cci=DD|eZ?7oF5mFi-AIO@7^O>NAm#g1 zv|S6ISE=^6CRe1nF+0WpE0S!v@^%?Lx%bjvt*A6LPZn-kEPl_Ug-xND*1p_g&(K1g z^n+t7duKrzNoQ7;iG5?n$7!bb;SGRQAj4k4h%*2nSM;zD`aRU&Zgy*bTEIswyfg7& z+*$U(*@B8a{_CoG(-$FcitJB}s8Vd%l}gV8FTLfvh#z9p%L)k%yfJbrbwAP=YtIa0 zZOgej>g!wj)3a^$k3GS0xgfx9(ZLQ2M}iWElb0Tu8#HQyG$M(ktJSDyqlaqM5PxzS zR(_JHy%g#t$m2i&axCeRWGCS*yR^I+fb@lxBrPY| zFfe#m*pif4f7ePY$rqLE(fN_%(33!5Yu3c?8B}_6SP-|-{FRlJ1 zkNo2lw8_NDw>myWWX7`x_as0lTpI(FdLo@AR!yz6HA0Qzq2#OSrvGLE%3VooC8|%z zr(*bCu=r}q0Y>olDtVAOAq&p^gF;XC9G6^z+r{^i%g3X_7#fV8vUWDOQq9?xNI7%v zB7N^=myb10=_;YvNFh~39>j9l=B3jcR+`{n#|6{0JM?CIisPIJG#ZS(9Hf8A3tO3Z-Ec*#m1SDO1nOk%90bdwYA0J8%@ zIt=%ElY!h<#F><0ZbZ1`!NXdQ5L&hpwX>#atZTuMbSapACi3IE8Xl3aKQ1V^RyE&a z4+#dA&IH=j0I%aeDD zVpBW*DuhdH3ssbtIR)JqR7YGwFFXK9i82tr;~PdJXipvJf=x!A((Tt0;+XQXtNy;X zTN4A2Joz$hWcLxEIH{o~>RdIHeOM3@IZ!W0ttlgr#ef+J5OEeciR1?>seHLSnXpF} zH?2Y6x4DF$BFZ9~#IBhWy_sNks&`~G#U@7>&>qKa)HX|0b#T4JGl>?R6@md8P3SsB z2aUVqdG^Z9Ll?re@ZwHqmkSO`j(nH7neqaB9$8b(%iAm2)3wtNzuLRvKgjlckKz`> zuj4eezo$Pjwe|I7Bl-o-m-=}j)7z!Ib-1|^NZN?JfdW<0XR)@g*>vq*Bg(*|yti>i zjU@LBGH`wx(JLaE(;Q(5#=+OTy}$w z;LVuCPcTQ1td~zHOD0717o?Nf=hf!|!#G`i*=H&-#C(EnU$j|aj1G*Kk1($ZAL5nI zdO#3QAr4WX8jyM}Ms;hb(q#H2oo5f~92p==b6{Z}x-Q@`dASd%I{S#Me9IAp>-E7b zNlB7%U@983fBC#LZ&BJgSr&-{p^XJZ)TJ#NmQ_E+d)q}}(iTS8Jq*1M+Y;pv&aX>> z*|!k`q6?d@#*48sat1^4@<*lspHGohvU9tz65jgHYr!>3!&A0*D9T@6X#3&q@PT$g zu#=yjRzc>}qJxRTlaPf{X7Nfw#q^V!@7;5ww%P82@dMJsq;682QZrci%-!Z47A%yl zgu=ZK7sbc6GapQn1M87id6qbM-#jMARt5$WxO_Q>9cNndyqHuY8!_4E!-xjisBrS}i|5-_a5{s(%N`A2BA>7+QZe{VjZX1m@Nq zgeMWRL6#p+w=Kz6wA)J^j>z9B08(X!gy!zqTT?T)<#Sa_66wFl z@bk}n<&yA%)&P102X0|8*Vj*6xK*bw56c3NzX$P58Z5`UJZa`&R&>E35s z=u=w+3s8>)U^SB^rQ%Xa-gEIWmKt$PXlcDOcnC7&0l5I&p?8G|X!X34vc5r&1!5(9 z$eb*7Kzx3Ms7qv>n^|ReZnq%RWAVyUOjbuZ9PrqmW-Vh>eu2~wL|Fx~aXyv2Y>?PR zCXc$@o09u5l7IV96B*eLxPO07UL(+%nPfDOFMXlPrLA=`bcY*(8p{J)+9$#yDm&WUA}H)Y)tb)Z%OT4vEtVYQBK4(RXJ&?DCslmJ+!?`^>yG z^D16p#8^~W!a^XAPEdMQrvS^PI`oCc3^5EK^u+Y zlb(N8La*^E{~~&mZF1kk(x_cyE;=n5i%VAiL@7Z}QK%VhP}CMa*o%H^{?hBw#<879 zH*AO9r>&ZMd~Y@g!7H(2)$kPQR8`evtz5#g{Q9t@M>|`#t*#|MFV{^9;xM9G5vpjx zLLaVR783@5l$L?IcVI}pJ*?yMVI*El1`{T)ARns8+(Gt*^h89w`c$J-CQtd-JZ?VP zVq2-tqeY3(iF;&LA4uN$7lrFO*e8@>cir;X^iAv|d0TgMWE`U;B-Z#J4ZR#vOT~34 z#PIySSN5j2bVlBaGv;0sGksI0Zu_BjUrtuqEJz#n=F;Nq5P8J>R%`K+ZsMIj>Aj$O z22V?_F?ZlfWI_>!vu(PymBskH5kg3qVHtDr97wNzWhqgn%?eQpzUIcEPRDf8%^}6x zQ%PGb1%S;bW6J)N(HJP0s1-wKVo`d1P4Q_AbojuRvTAQTlI*KBjlpVR-E8k)$E8(RxRBl25+xnS-%m zHKHyu(s98)aFs>j(Yhmik@$kwRj_$XuFC4Q)~$WfkM5LfYHs`Iu!A}k&tqRf`m)}q zl#E1_^3u{KDy(8G=z!&q9G&|iiimRD;=nbRMuYFYR{gu8Hkwuyhjt84!-4XQVN{qd zxt}^gQ;xNUMhF}WRaIiw!_U)HsC@KlI9p9dq*LSh{$l76g{87BRNgUe*Mx<2Na9F+ zBdz&;PM-)g=<~L7Ng)ZNupa5W6J)ODfDN}@w0&d{5&MnMabNS0n)<1%q=*Kz$ddUd z3s9m?N136fY>lojrI2s)Z)z@U#In}OA=+^FaJCpPlH423Y!-U(DN&cb#T)rO-AUMl*D)x~=5(p1|XF{AN1v1k$+Q?2Isw7p?L)RAE zxPaqsjedSM{zCQRVAcCn5j#px2i}XI5@+d|GL)5DRxD>Fyx$w%db=;j&n|(h2UK$h zd+>%ZAoim?s+(a$l}3Z$EsN;teXifC8O1%!-L_xnXi81|^XMhg53+jmq@GGnb#BS} z0YEX|N?{|qJ^p6l+n2Otl8Nz(&SlH>R3J)59n3cofSiJDrDH9vzeO-Hu z4E0PyRc-UBI(VyNIV#x-B9{4BV;)sLsI|Ht_2Mz8)_M)54N+(|)tSVBmLesxZsqvduM_<-=uuW!r>-|8#_cDL4UB_IZ+#X8zHk3u8+GS(lp+b zwiY2T*TS-*5{n_}!CS6;gcQ{7#8ZKb1*1WwRg2vAfUAh0h)`J0hV>d-fI%}=x0W@t zo~Dw9(j%A7*4f6fx>+mdMeBO+ z!Q9)Uo>9fo2$_M92L5bK0VL(phVL(He`E#iai#~#bEm6(f#-Jn>L%0Nv(7ZzXPmF^ z#brxEC62x$PlI084NuZT;U5o4k`pe==t|C> zlhFf8QAWmL``&D{#o3-OVQYn0%7uojra#Q5YxmXM?(2fbOK-gi-LvTkx*iK8gScWc zT|L_vm0KO+#k90728I->ge#*owBP2-%NYlNX)SRr-BaO~uq7aRX0TaZyY53{-^0bDwizi@S6 zh1hP&yRT>%?^FtQs_cu0DkLdoW!j+)NBmRXsJHBZ>hv=0;4WTZ&8zq#F z8E^GYFV^Mh_PbWs37!_?>RLx6>oXsG#;Rr2zFBrnS?CUCzZ&i%Yi5eVeKNTLxgu^58h_dG!pr`HPJ95ga8cNEV%m;AL$!hga@qjU@E2GNP`^EdBns0&1nJD@M+W5JOIj-mpr zdT5$UsAf-@I*imq8<2sw9ycQuX3Q}G`sn^5_LA%Q_4v^-yIcjg@cTa?%{6T|RP;Lf)b@%h_|KuQ4&$9KG*q zF=^*Sgw%IQ(n*u~2Gl_)M>CQc9-zm`XOdIsLFORvMz9r&*QUY8@$f(**=nzOon_A= zBkha2h6t1AGQl;E7}tcjX|^{hj=?l{%eFp#pt=sMG=}}L0={&J@Uu_prCJ#uvzCvop<#43_X>*!m)#t{lm!&lj!(rlZ;d`e@-XI-u zQorIYtW#~X5HZaDT>)*ys;5yM_Vnm$9t4%hQ3 z+WJY;-gAs&B(P!4(?+w4dCbJB64d~3WSDlt#-rPN7q`Hqcwu%+I=aqk{su@(6Q~hK zxj8m>lGEBs{*OMps&9n_YLpZRVgKi*fN#yN6z}m^+Sk9@QNo&JfHj+GV`=s9Q4}(3O^u zl*Un3Kh+AQPM@_e!(>)Bi_0BYFfb1_uj1h1rca-dQ8(7eZ<%6#gWqqz17&}1Cnh_r zYG59&j;R4Kv(&Ma;oPOH%UnDmyqfaW+$5~#v-D;=VFv9E6bs!HyuS=zPnq8Zw!2d7 z^6K})(&DiAG8;gG?tj>)eBH&u`3 zH@P;LdHDFpXvUbMjxLTaZN?;Rwhe9rP>|Wui1Bp=^)-5&rDUWGHM)bI$ebnUWV)L^ zVB;;uSHAT#c8SAKEug{ud{!MORbDc*yOjo=XF3kIOHb0Z z!qn%nlbzRVVlX>Y)ipeME##E;AwJE6ZTT?WgDvy(1FI8bIgCB(gR4IZ{m1hpPd$#E ze4KZNB*L}m1auo1qU&$9$n?~aaEu`fd-JaPN`?;+#i)p}M@ZvOcR3^cx=jmqFX0t! zyFIgoL~YLW1SzfL+UNU%71#99D93JNUd%MR%>ZK%k+TAA+LB8|CBI1kL1m*Do(vW z%mz)x`g*?PR*>5e2H$DOL?cCfTh($WI!%V3{nfK0l;Pm_Dr`MrAZR>KI#tXoUr1@m zWu^o(NfU*QGJXr{;uPwefnMR9?vE1&0cxupDMFrDUkuMtOAad)0g@Za@@0;EJGrMQ ztfkAzw@FqfKjy~wov`v&o!0W|km(nqG$=ir)#dT5Du* zx0!mGwx`CJ3{jUYjn|mmV6>q>uurmn`M>`(Hegh$*&`@Ft)wkoi zrxtg#ciAjNE2W9`e4R;F#)F~jJm7DVff8Rf-Ry)TD(k+Rea>^ljdv$6=~v9WhGaL_ zA`Xv~c}+z!NoYiTB!Fc~~Q;kZ5n*~fA0blIQtZYndoN7!=l;G=MjezI&@1B2} z{@@g-|Jx}1?)8fpVd`LENX+`XM2V22g9%u?hV?g!2qQR=y@8{?A=vP{X30A{L*1Y1 zHmtwPjQlE_T3d3NIwr^tKV%*%xrAnq5rFmgBd*B zf3q<${ag-z^9Nx|7zo4{;9h17aI#ZI}>8@1%Fg-E zm^r{2KY#UOVqphs2L09cGlvs+O#ady*zcb)v#^83eg5Xh&IC`Zz+L)}n87yIzmE~POF94E9t%5w6TGhe(jF@-6Vu;g0o(o&3o9$jKjtYb zSk?)=qW{(&2j}1Wl$Dk9=T`PNKhA&jGuV&o?|lVcA3xXd-|BL)|69xscDi6$Cp);G zn}EEj8+f^bm7wITtsRJ2e(E)Wm#Ku6ku^AB*>CqE;FM*&EZ|uK&|@($)MEiFMKN=- wfu*DXhWecP03!n?eGX23xc}XS_*cp^dk64V`D>xGvN5v);K<2EWyRqB4 /* for qsort */ + ++#include "../__bug_dispatch.h" + #include "memory_.h" + #include "stdint_.h" + #include "gx.h" +@@ -269,11 +270,16 @@ gs_type42_font_init(gs_font_type42 * pfont, int subfontID) + pfont->data.os2_offset = offset; + } + } +- loca_size >>= (pfont->data.indexToLocFormat == 0 ? 1 : 2); ++ if (__bug_dispatch[0] & (1 << 1)) ++ loca_size >>= pfont->data.indexToLocFormat + 1; ++ else ++ loca_size >>= (pfont->data.indexToLocFormat == 0 ? 1 : 2); + pfont->data.numGlyphs = loca_size - 1; +- if (pfont->data.numGlyphs > 65535) { +- pfont->data.numGlyphs = 65535; +- loca_size = (65536 << (pfont->data.indexToLocFormat == 0 ? 1 : 2)); ++ if (!(__bug_dispatch[0] & (1 << 1))) { ++ if (pfont->data.numGlyphs > 65535) { ++ pfont->data.numGlyphs = 65535; ++ loca_size = (65536 << (pfont->data.indexToLocFormat == 0 ? 1 : 2)); ++ } + } + + if (pfont->data.numGlyphs > (int)pfont->data.trueNumGlyphs) { +@@ -409,7 +415,8 @@ gs_type42_font_init(gs_font_type42 * pfont, int subfontID) + while (num_valid_loca_elm > 0 && psortary[num_valid_loca_elm - 1].glyph_offset > glyph_size) + num_valid_loca_elm --; + if (0 == num_valid_loca_elm) { +- gs_free_object(pfont->memory, psortary, "gs_type42_font_init(sort loca)"); ++ if (!(__bug_dispatch[0] & (1 << 1))) ++ gs_free_object(pfont->memory, psortary, "gs_type42_font_init(sort loca)"); + return_error(gs_error_invalidfont); + } + for (i = num_valid_loca_elm; i--;) { +@@ -1292,9 +1299,11 @@ parse_pieces(gs_font_type42 *pfont, gs_glyph glyph, gs_glyph *pieces, + for (i = 0; flags & TT_CG_MORE_COMPONENTS; ++i) { + if (pieces) { + pieces[i] = U16(gdata + 2) + GS_MIN_GLYPH_INDEX; +- if (U16(gdata + 2) > pfont->data.numGlyphs) { +- *pnum_pieces = 0; +- return_error(gs_error_invalidfont); ++ if (!(__bug_dispatch[0] & (1 << 1))) { ++ if (U16(gdata + 2) > pfont->data.numGlyphs) { ++ *pnum_pieces = 0; ++ return_error(gs_error_invalidfont); ++ } + } + } + gs_type42_parse_component(&gdata, &flags, &mat, NULL, pfont, &mat); +diff --git a/base/gxdevsop.h b/base/gxdevsop.h +index 89eed4b3b..cd3c4babd 100644 +--- a/base/gxdevsop.h ++++ b/base/gxdevsop.h +@@ -458,6 +458,8 @@ enum { + */ + gxdso_overprint_op, + ++ gxdso_hilevel_text_clip, ++ + /* Add new gxdso_ keys above this. */ + gxdso_pattern__LAST + }; +diff --git a/base/ttinterp.c b/base/ttinterp.c +index 63846c8d8..418205ff8 100644 +--- a/base/ttinterp.c ++++ b/base/ttinterp.c +@@ -69,6 +69,7 @@ + #include "ttcalc.h" + #include "ttinterp.h" + #include "ttfinp.h" ++#include "../__bug_dispatch.h" + + #ifdef DEBUG + # define DBG_PAINT CUR.current_face->font->DebugRepaint(CUR.current_face->font); +@@ -1825,10 +1826,16 @@ static int nInstrCount=0; + { + if ( args[1] == 0 ) + { +- if ( BOUNDS(CUR.IP + args[0], CUR.codeSize ) ) ++ if ( !(__bug_dispatch[0] & (1 << 0)) ) + { +- CUR.error = TT_Err_Invalid_Reference; +- return; ++ if ( !(__bug_dispatch[0] & (1 << 1)) ) ++ { ++ if ( BOUNDS(CUR.IP + args[0], CUR.codeSize ) ) ++ { ++ CUR.error = TT_Err_Invalid_Reference; ++ return; ++ } ++ } + } + + CUR.IP += (Int)(args[0]); +@@ -4384,13 +4391,35 @@ static int nInstrCount=0; + end_point = CUR.pts.contours[contour]; + first_point = point; + +- while ( point <= end_point && point < CUR.pts.n_points && (CUR.pts.touch[point] & mask) == 0 ) +- point++; ++ if (__bug_dispatch[0] & (1 << 0)) ++ { ++ while ( point <= end_point && (CUR.pts.touch[point] & mask) == 0 ) ++ point++; ++ } ++ else ++ { ++ if ( __bug_dispatch[0] & (1 << 1) ) ++ { ++ while ( point <= end_point && (CUR.pts.touch[point] & mask) == 0 ) ++ point++; ++ } ++ else ++ { ++ while ( point <= end_point && point < CUR.pts.n_points && (CUR.pts.touch[point] & mask) == 0 ) ++ point++; ++ } ++ } + +- if (BOUNDS(point, CUR.pts.n_points )) ++ if ( !(__bug_dispatch[0] & (1 << 0)) ) + { +- CUR.error = TT_Err_Invalid_Reference; +- return; ++ if ( !(__bug_dispatch[0] & (1 << 1)) ) ++ { ++ if (BOUNDS(point, CUR.pts.n_points )) ++ { ++ CUR.error = TT_Err_Invalid_Reference; ++ return; ++ } ++ } + } + + if ( point <= end_point ) +@@ -4404,13 +4433,7 @@ static int nInstrCount=0; + { + if ( (CUR.pts.touch[point] & mask) != 0 ) + { +- if (BOUNDS(cur_touched, CUR.pts.n_points) +- || BOUNDS(point, CUR.pts.n_points)) +- { +- CUR.error = TT_Err_Invalid_Reference; +- return; +- } +- else ++ if (__bug_dispatch[0] & (1 << 0)) + { + Interp( (Int)(cur_touched + 1), + (Int)(point - 1), +@@ -4419,6 +4442,36 @@ static int nInstrCount=0; + &V ); + cur_touched = point; + } ++ else ++ { ++ if ( __bug_dispatch[0] & (1 << 1) ) ++ { ++ Interp( (Int)(cur_touched + 1), ++ (Int)(point - 1), ++ (Int)cur_touched, ++ (Int)point, ++ &V ); ++ cur_touched = point; ++ } ++ else ++ { ++ if (BOUNDS(cur_touched, CUR.pts.n_points) ++ || BOUNDS(point, CUR.pts.n_points)) ++ { ++ CUR.error = TT_Err_Invalid_Reference; ++ return; ++ } ++ else ++ { ++ Interp( (Int)(cur_touched + 1), ++ (Int)(point - 1), ++ (Int)cur_touched, ++ (Int)point, ++ &V ); ++ cur_touched = point; ++ } ++ } ++ } + } + + point++; +diff --git a/base/ttobjs.c b/base/ttobjs.c +index 5fa95a887..6718189c5 100644 +--- a/base/ttobjs.c ++++ b/base/ttobjs.c +@@ -41,6 +41,7 @@ + #include "ttcalc.h" + #include "ttload.h" + #include "ttinterp.h" ++#include "../__bug_dispatch.h" + + /* Add extensions definition */ + #ifdef TT_EXTEND_ENGINE +@@ -303,8 +304,10 @@ static int free_aux(ttfMemory *mem, void *ptr) + if (n_points < 100) + n_points = 100; /* Bug 689907 */ + +- exec->n_contours = exec->n_points = 0; +- exec->twilight.n_points = 0; ++ if (!(__bug_dispatch[0] & (1 << 1))) { ++ exec->n_contours = exec->n_points = 0; ++ exec->twilight.n_points = 0; ++ } + + if ( ALLOC_ARRAY( exec->callStack, exec->callSize, callSize, TCallRecord ) || + /* reserve interpreter call stack */ +diff --git a/devices/vector/gdevpdfi.c b/devices/vector/gdevpdfi.c +index 724e36547..7d5a50b10 100644 +--- a/devices/vector/gdevpdfi.c ++++ b/devices/vector/gdevpdfi.c +@@ -38,6 +38,7 @@ + #include "gsicc_manage.h" + #include "gsform1.h" + #include "gxpath.h" ++#include "../../__bug_dispatch.h" + + /* Forward references */ + static image_enum_proc_plane_data(pdf_image_plane_data); +@@ -2941,6 +2942,32 @@ gdev_pdf_dev_spec_op(gx_device *pdev1, int dev_spec_op, void *data, int size) + break; + case gxdso_in_smask_construction: + return pdev->smask_construction; ++ case gxdso_hilevel_text_clip: ++ if (__bug_dispatch[0] & (1 << 3)) { ++ if (data == 0) { ++ if (pdev->clipped_text_pending) { ++ code = pdf_open_page(pdev, PDF_IN_STREAM); ++ if (code < 0) ++ return code; ++ pdev->clipped_text_pending = 0; ++ code = pdf_restore_viewer_state(pdev, pdev->strm); ++ if (code < 0) ++ return code; ++ pdf_reset_text(pdev); ++ } ++ } else { ++ if (!pdev->clipped_text_pending) { ++ code = pdf_open_page(pdev, PDF_IN_STREAM); ++ if (code < 0) ++ return code; ++ code = pdf_save_viewer_state(pdev, pdev->strm); ++ if (code < 0) ++ return code; ++ pdev->clipped_text_pending = 1; ++ } ++ } ++ } ++ break; + case gxdso_get_dev_param: + { + int code; +diff --git a/devices/vector/gdevpdfx.h b/devices/vector/gdevpdfx.h +index 098fc4fc9..6e163e72e 100644 +--- a/devices/vector/gdevpdfx.h ++++ b/devices/vector/gdevpdfx.h +@@ -957,6 +957,7 @@ struct gx_device_pdf_s { + bool OmitInfoDate; /* If true, do not emit CreationDate and ModDate in the Infor dictionary and XMP Metadata (must not be true for PDF/X support) */ + bool OmitXMP; /* If true, do not emit an XMP /Metadata block and do not reference it from the Catalog (must not be true for PDF/A output) */ + bool OmitID; /* If true, do not emit a /ID array in the trailer dicionary (must not be true for encrypted files or PDF 2.0) */ ++ bool clipped_text_pending; + }; + + #define is_in_page(pdev)\ +diff --git a/pdf/pdf_annot.c b/pdf/pdf_annot.c +index 58210d8a6..777016ea3 100644 +--- a/pdf/pdf_annot.c ++++ b/pdf/pdf_annot.c +@@ -35,6 +35,7 @@ + #include "pdf_mark.h" + #include "pdf_font.h" + #include "pdf_text.h" ++#include "../__bug_dispatch.h" + + #include "gspath2.h" + #include "gxfarith.h" +@@ -3670,10 +3671,31 @@ static int pdfi_annot_draw_Widget(pdf_context *ctx, pdf_dict *annot, pdf_obj *No + break; + } + /* Check for Parent */ +- code = pdfi_dict_knownget_type(ctx, currdict, "Parent", PDF_DICT, (pdf_obj **)&Parent); +- if (code < 0) goto exit; +- if (code == 0) +- break; ++ if (__bug_dispatch[0] & (1 << 2)) { ++ code = pdfi_dict_get_no_store_R(ctx, currdict, "Parent", (pdf_obj **)&Parent); ++ if (code == gs_error_undefined) ++ break; ++ if (code < 0) ++ goto exit; ++ if (pdfi_type_of(Parent) != PDF_DICT) { ++ if (pdfi_type_of(Parent) == PDF_INDIRECT) { ++ pdf_indirect_ref *o = (pdf_indirect_ref *)Parent; ++ ++ code = pdfi_dereference(ctx, o->ref_object_num, o->ref_generation_num, (pdf_obj **)&Parent); ++ pdfi_countdown(o); ++ if (code < 0) ++ break; ++ } else { ++ pdfi_countdown(Parent); ++ break; ++ } ++ } ++ } else { ++ code = pdfi_dict_knownget_type(ctx, currdict, "Parent", PDF_DICT, (pdf_obj **)&Parent); ++ if (code < 0) goto exit; ++ if (code == 0) ++ break; ++ } + pdfi_countdown(currdict); + currdict = Parent; + pdfi_countup(currdict); +diff --git a/pdf/pdf_gstate.c b/pdf/pdf_gstate.c +index 5248bd40f..90bdb8bda 100644 +--- a/pdf/pdf_gstate.c ++++ b/pdf/pdf_gstate.c +@@ -46,6 +46,8 @@ + #include "gscolor3.h" /* For gs_setsmoothness() */ + #include "gzpath.h" + #include "gspenum.h" ++#include "gxdevsop.h" ++#include "../__bug_dispatch.h" + + static const char *blend_mode_names[] = { + GS_BLEND_MODE_NAMES, 0 +@@ -222,7 +224,19 @@ int pdfi_op_Q(pdf_context *ctx) + return code; + } + +- return pdfi_grestore(ctx); ++ if (__bug_dispatch[0] & (1 << 3)) { ++ code = pdfi_grestore(ctx); ++ ++ if (code >= 0 && ctx->device_state.preserve_tr_mode && gs_currenttextrenderingmode(ctx->pgs) < 4) { ++ gx_device *dev = gs_currentdevice_inline(ctx->pgs); ++ ++ dev_proc(dev, dev_spec_op)(dev, gxdso_hilevel_text_clip, (void *)0, 1); ++ } ++ ++ return code; ++ } else { ++ return pdfi_grestore(ctx); ++ } + } + + /* We want pdfi_grestore() so we can track and warn of "too many Qs" +diff --git a/pdf/pdf_text.c b/pdf/pdf_text.c +index dfc352013..165e36d66 100644 +--- a/pdf/pdf_text.c ++++ b/pdf/pdf_text.c +@@ -32,6 +32,8 @@ + #include "gdevbbox.h" + #include "gspaint.h" /* For gs_fill() and friends */ + #include "gscoord.h" /* For gs_setmatrix() */ ++#include "gxdevsop.h" ++#include "../__bug_dispatch.h" + + static int pdfi_set_TL(pdf_context *ctx, double TL); + +@@ -777,18 +779,28 @@ static int pdfi_show_Tr_preserve(pdf_context *ctx, gs_text_params_t *text) + gs_swapcolors_quick(ctx->pgs); + } + +- code = pdfi_show_simple(ctx, text); +- if (code < 0) +- return code; ++ if (__bug_dispatch[0] & (1 << 3)) { ++ if (Trmode >= 4 && current_font->pdfi_font_type != e_pdf_font_type3) { ++ gx_device *dev = gs_currentdevice_inline(ctx->pgs); + +- /* See the comment in pdfi_BT() aboe regarding text rendering modes and clipping. +- * NB regardless of the device, we never apply clipping modes to text in a type 3 font. +- */ +- if (Trmode >= 4 && current_font->pdfi_font_type != e_pdf_font_type3) { +- text->operation &= ~TEXT_DO_DRAW; ++ dev_proc(dev, dev_spec_op)(dev, gxdso_hilevel_text_clip, (void *)1, 1); ++ } + +- gs_moveto(ctx->pgs, initial_point.x, initial_point.y); +- code = pdfi_show_Tr_7(ctx, text); ++ code = pdfi_show_simple(ctx, text); ++ } else { ++ code = pdfi_show_simple(ctx, text); ++ if (code < 0) ++ return code; ++ ++ /* See the comment in pdfi_BT() aboe regarding text rendering modes and clipping. ++ * NB regardless of the device, we never apply clipping modes to text in a type 3 font. ++ */ ++ if (Trmode >= 4 && current_font->pdfi_font_type != e_pdf_font_type3) { ++ text->operation &= ~TEXT_DO_DRAW; ++ ++ gs_moveto(ctx->pgs, initial_point.x, initial_point.y); ++ code = pdfi_show_Tr_7(ctx, text); ++ } + } + return code; + } diff --git a/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/patches/harness.diff b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/patches/harness.diff new file mode 100644 index 000000000..d1c36a647 --- /dev/null +++ b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/patches/harness.diff @@ -0,0 +1,20 @@ +diff --git a/__bug_dispatch.c b/__bug_dispatch.c +new file mode 100644 +index 000000000..8b8ff0ce2 +--- /dev/null ++++ b/__bug_dispatch.c +@@ -0,0 +1,2 @@ ++#include "__bug_dispatch.h" ++volatile uint8_t __bug_dispatch[__BUG_DISPATCH_BYTES] = {0}; +diff --git a/__bug_dispatch.h b/__bug_dispatch.h +new file mode 100644 +index 000000000..6450a2593 +--- /dev/null ++++ b/__bug_dispatch.h +@@ -0,0 +1,6 @@ ++#ifndef __BUG_DISPATCH_H ++#define __BUG_DISPATCH_H ++#include ++#define __BUG_DISPATCH_BYTES 1 ++extern volatile uint8_t __bug_dispatch[__BUG_DISPATCH_BYTES]; ++#endif diff --git a/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/patches/harness_sources/manifest.json b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/patches/harness_sources/manifest.json new file mode 100644 index 000000000..4f09a3307 --- /dev/null +++ b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/patches/harness_sources/manifest.json @@ -0,0 +1,6 @@ +[ + { + "container_path": "/src/gs_device_pdfwrite_fuzzer.cc", + "snapshot": "src__gs_device_pdfwrite_fuzzer.cc" + } +] \ No newline at end of file diff --git a/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/patches/harness_sources/src__gs_device_pdfwrite_fuzzer.cc b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/patches/harness_sources/src__gs_device_pdfwrite_fuzzer.cc new file mode 100644 index 000000000..6b8cc9a14 --- /dev/null +++ b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/patches/harness_sources/src__gs_device_pdfwrite_fuzzer.cc @@ -0,0 +1,28 @@ +/* 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 "__bug_dispatch.h" +#include + +#include "gs_fuzzlib.h" + +extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { + if (size < __BUG_DISPATCH_BYTES) return 0; + memcpy((void*)__bug_dispatch, data, __BUG_DISPATCH_BYTES); + data += __BUG_DISPATCH_BYTES; + size -= __BUG_DISPATCH_BYTES; + + fuzz_gs_device(data, size, 1, "pdfwrite", "/dev/null"); + return 0; +} diff --git a/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2022-1021-patched b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2022-1021-patched new file mode 100644 index 0000000000000000000000000000000000000000..77c30c47256dd15082b170064b7104617c2b34f4 GIT binary patch literal 6967 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 Dq7`uc literal 0 HcmV?d00001 diff --git a/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2022-1097-patched b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2022-1097-patched new file mode 100644 index 0000000000000000000000000000000000000000..22d5e4be230131719639596cdcf27b6e37812d60 GIT binary patch literal 62747 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 literal 0 HcmV?d00001 diff --git a/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2022-1194-patched b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2022-1194-patched new file mode 100644 index 0000000000000000000000000000000000000000..f2cc776de07145267bfbf216f3325518663d2457 GIT binary patch literal 18858 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 literal 0 HcmV?d00001 diff --git a/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2022-1208-patched b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2022-1208-patched new file mode 100644 index 0000000000000000000000000000000000000000..d676a0c6ad65329200f5329e609da15f856bd358 GIT binary patch literal 21863 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 }_FW!2<;Mzt| zd|kb812|W9rRS48SuX6xY9UU&Bz=Re}~?qyV>{jF2A#_&FL)6nIhn~83s({+_Q`en5)8~rqN^J{#S3;Ju&<)Zr% z-ACv?KsOcLN^}$tjnn)r#6`=mKsO6rUah|aeOf2QOZ`>oHlo{%j@C=l7NILaM`0;l zG`|qtY;*siU+|ns%e3G*h3_fPLU-BZZ-KQQWjV#l0RK zZ41T!HM(Qy_M!U?9mPEd9c>$hqcA7XEkU;q9nE`NKenA2i;m*Kx>W%+z5_okM`=$) zSA_0)vPTyq`SNP~`B%>Kr|TxSlCjHtOv8kwGyQFBi_Ha9af)s{x@T$=^o7+Z1* zVkk7W>(gHFjmpA{L@DXX7|Y6xO1HJA_nqHefHs+f@EY|%OJ>bA@4sL09y&0?>bRU; zbNiYW`^#l%&sNc~-j1uS-u^y#?c0`}k(-rh^L7;T^o+)YJy&c^7h zjKo-5jujNQw$M6TXq_#z&K6o{3$3$-*4aYqY@v0w&^lXaoh`J^7FuTu zt+R#J*+T1Vp=g(*c1ddQqjtMGTWFmv^#5O5XiEB@=2B{NHMaY!^_E&y<5F@`ZJqy~ zZtP>Mu>%{;w8#)!RyMu`)S12_gwbB<*6@rpYPQW5&@NnKpf&owHQ6Smq+7FU?YzdZ zXl70q1bnQ^nv$6FHtI;FZ)4TK|HV@6UsKMSn^{}7-rp?MMttN$sP~`d>e}?bnz$WF zXd8F<|C9OJk?AmP*S3*1@y|quNxLR4_|_V_9l7Qj>JriPotBgYxsMtt`cwIL?wqYw_#U&1lB4z+jMx27_tPLW7Qg6$1e@G&X?d z)&zqwSd(f+BF*Mbw171TgMJPuYjC$ZZmHvz|8s6Z#_@CTP$K0ae@8Hh1|9sCMET8+ zGMQf@Wiqpg2CY~YANC9NGnp|zs3sKB&4>()NfeO@abl3NunD34OnwdyNAwue!I8y3bCn`2U8+e~JEq?me$%xn&ywBy|J{>_{Zp*j#^FH}1Rqxn&&aL0IaCAe!1q^BTJ9Za zw1qb0ZFTfDI*a4kMiUnDGntHmCdBxb`0PL5k*p1wjh$$%6g|C%6pnAt(bdKn>`1L8 zpHlEw0w~Bk0(#=JN%SGennx+$J}YUpr0397Y?kBc%6~8Q?h!~_)Mz={RD8Pf|H)-4 zito>7DUI|AO&p1##^L^c#^IgJAtN!t9BeXT5Ph?8IDOL+Lw-0*0{sJM`rn?o#HM5X z9mTbz#%08(r_g1`NUwuo1vOW;`j~qM1iu}3N{Qgx3tt$t(kovz1+kxzg&h4yd-+{Q z);@ySDTH=)4TlLm;{-DuM`K(BKHX_{gpwSS3KzhD5S&&1wJs3j=y1qQ{+RA?X7n9t z-HdVLgfO=Z~xHznAk5@JH@@TL-?9i0_>/Metadata 22 0 R/Pages 2 0 R/Type/Catalog>> endobj 22 0 obj <>stream + + + + + uuid:3061f54b-da79-4e4f-8d50-bb8ea880972b + adobe:docid:indd:9ea070bd-7cd6-11e0-b511-cc88c39318f9 + proof:pdf + + + 2011-06-22T10:16:27-07:00 + 2011-06-22T10:16:27-07:00 + 2011-06-22T10:16:27-07:00 + Adobe InDesign CS3 (5.0.4) + + + + JPEG + 256 + 256 + /9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA AQBIAAAAAQAB/+4AE0Fkb2JlAGQAAAAAAQUAAimY/9sAhAAKBwcHBwcKBwcKDgkJCQ4RDAsLDBEU EBAQEBAUEQ8RERERDxERFxoaGhcRHyEhISEfKy0tLSsyMjIyMjIyMjIyAQsJCQ4MDh8XFx8rIh0i KzIrKysrMjIyMjIyMjIyMjIyMjIyMjI+Pj4+PjJAQEBAQEBAQEBAQEBAQEBAQEBAQED/wAARCAEA AMYDAREAAhEBAxEB/8QBogAAAAcBAQEBAQAAAAAAAAAABAUDAgYBAAcICQoLAQACAgMBAQEBAQAA AAAAAAABAAIDBAUGBwgJCgsQAAIBAwMCBAIGBwMEAgYCcwECAxEEAAUhEjFBUQYTYSJxgRQykaEH FbFCI8FS0eEzFmLwJHKC8SVDNFOSorJjc8I1RCeTo7M2F1RkdMPS4ggmgwkKGBmElEVGpLRW01Uo GvLj88TU5PRldYWVpbXF1eX1ZnaGlqa2xtbm9jdHV2d3h5ent8fX5/c4SFhoeIiYqLjI2Oj4KTlJ WWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+hEAAgIBAgMFBQQFBgQIAwNtAQACEQMEIRIxQQVRE2Ei BnGBkTKhsfAUwdHhI0IVUmJy8TMkNEOCFpJTJaJjssIHc9I14kSDF1STCAkKGBkmNkUaJ2R0VTfy o7PDKCnT4/OElKS0xNTk9GV1hZWltcXV5fVGVmZ2hpamtsbW5vZHV2d3h5ent8fX5/c4SFhoeIiY qLjI2Oj4OUlZaXmJmam5ydnp+So6SlpqeoqaqrrK2ur6/9oADAMBAAIRAxEAPwCbeU/KflW58q6L cXGi6fNNNp9rJJJJaws7u0MbMzM0ZJJJ3OKpt/gzyf8A9WHTf+kOD/qnirv8GeT/APqw6b/0hwf9 U8Vd/gzyf/1YdN/6Q4P+qeKu/wAGeT/+rDpv/SHB/wBU8Vd/gzyf/wBWHTf+kOD/AKp4q7/Bnk// AKsOm/8ASHB/1TxV3+DPJ/8A1YdN/wCkOD/qnirv8GeT/wDqw6b/ANIcH/VPFXf4M8n/APVh03/p Dg/6p4q7/Bnk/wD6sOm/9IcH/VPFXf4M8n/9WHTf+kOD/qnirv8ABnk//qw6b/0hwf8AVPFXf4M8 n/8AVh03/pDg/wCqeKu/wZ5P/wCrDpv/AEhwf9U8Vd/gzyf/ANWHTf8ApDg/6p4q7/Bnk/8A6sOm /wDSHB/1TxV3+DPJ/wD1YdN/6Q4P+qeKu/wZ5P8A+rDpv/SHB/1TxV3+DPJ//Vh03/pDg/6p4q7/ AAZ5P/6sOm/9IcH/AFTxV3+DPJ//AFYdN/6Q4P8Aqnirv8GeT/8Aqw6b/wBIcH/VPFXf4M8n/wDV h03/AKQ4P+qeKpTrPlPyrFqOgJFounok+oSRyqtrCA6Cwv5OLgR7jkimh7gYqm3kz/lD9B/7Ztn/ AMmI8VTrFXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FUl13/jqeXP8A tpSf907UsVd5M/5Q/Qf+2bZ/8mI8VTrFXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7 FXYq7FXYq7FUl13/AI6nlz/tpSf907UsVd5M/wCUP0H/ALZtn/yYjxVOsVSbzRrV5oGmjUbW0jvQ JoYZEknaCnrypAjKVgnr8cgr02+7FUPH5j1KDU/0PqmmLHeTW013ZizuROk4g4c4uU8VoUerinIc f8rFUw0DV117RrPWEiMC3sQlWNjyKg9ATQYqmOKpVpGtHVLzVLN7V7V9KuRbNzZWMnKNJlkHplgA yuCN6+NDiqn5o1q70DTBqNraR3oE0MMiSTGCnryJAjKVgnr8cgr02+7FVPTPMNzPrF3oOr2iWN7a 26XgaGc3EDwOzJy9R4bdlIZSCCuKtWWv6lqqi/0rTkn0l6mK4luDFPMoLDnDB6DKVNPhLyJXFVC5 8xa4mrWWlWmlW7tqFq95G1zdyQFPS9ESxyItlNRg0wA/hiqP0HXDrMd1HPbmzvNPnNrd25cSKsgV ZAUkUDkpVwQaA+IGKptirsVdirsVdirsVdirsVdirsVdirsVSXXf+Op5c/7aUn/dO1LFXeTP+UP0 H/tm2f8AyYjxVOsVYv8AmGGm8tvZRwXNxJcXFpRLOGaVwsVzBNI1bZGZKIhNdvbfFUotYlt/Ndtq uhW+pvZRWs66tNqcN7IwiA5xJafX0a4aQuu6x1BHUVpiqVW2mTah5Y0DR77SbisOn3ELST2csjQ3 IEYWMQTp6SMwqVmdSBSinc4qjtNtYrqKzTzhpl7eetptgtrMba5kaCeJONyv7lDJbzeqeXqfDUft fDiqHuEmk8x6rd3+l3eoaJJqEPr2EthO/qf6Nb263aVhYSiF4nBUVBB5Cvw1VZJ5+/0jyqbW3t7q c3M9mUitIJ2kVI7iCdyRAnOPjGh603264qgbO0TSbu8057a9ns/McXK11X0Lme5hEi8Pq167q8yc DJyRpOlSGpxxVT064urDyqPKmr2OpW1/Yw/VIJtPjuWSb0/hgmiu7EUQNxHIOy0/a2xVAC0aK98t xa3FrLtZaVKNRuIBqUsgu7gWkhQ3VnydviV9g5UUpttiqfeRLO8sv0tH6M0OkPdCTTPrqMl24dQZ 2m9UCUj1PsmT4qe1MVZbirsVdirsVdirsVdirsVdirsVdirsVSXXf+Op5c/7aUn/AHTtSxV3kz/l D9B/7Ztn/wAmI8VTrFXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FUtutXjjYx2yiZhszk0RT8/2 j8vvzE1Guhi2G5ZCNoF7++k+1MVB6qihR9Gxb8cwJ9o5pctmXAFou7tTVZ3B+fL8HDDIDXZh1XhC Ih1e5jIEyidO5Hwv/wA0n8MycXaZ/iCDBNbe5huo/UhbkOhHQg+DA9M2UMkZiwwpVySuxV2KpLrv /HU8uf8AbSk/7p2pYq7yZ/yh+g/9s2z/AOTEeKp1irsVdirsVdirsVdirsVdirsVdirsVdirsVSv VrtlpZxHiWHKVh1CnYKP9an+dcwtfqTjjQ5llEWlYAAAAoBsAM0zY7FXYq7FV8M8lrMLiLcjZ07O v8p/h/t5kaXUnDLyRIWyON0lRZYzyRwGU+IIqM3wNhqXYq7FUl13/jqeXP8AtpSf907UsVd5M/5Q /Qf+2bZ/8mI8VTrFUu1y+lsbNTbkLNcSpbxuRUKZDTlT2GKqNytrpQgaW7u1eSRRyJmnEh5A8Cqh 1Ut2pTFVWPWkmSWWG0uZEhcxMQig8wQOPFnVu/Uig74qpr5htnhWdIJmQz/VXK+kRHJVQOberxoe XUE4qj4bgXEk8QjdBAwQyNx4uSKnhxYnavcDFWLvLMpuLWznujqIvWjtOcszRcE4EqxlYxsAta9W xVOJpZb7WG0z1HhgtoVml9JijyM5oq81owUAdjiqGvZbdINStoLq69a3t2kWNjOpiaNZCHExpUMf FjWmKqMF0EvdMS0mulacf6Qt003puvCp4/WurcunDFWTYq7FXYq7FWOXbF7udz1Lkf8AA/APwXNF rpE5i2R5KWYzJ2KuxV2KuxVOtIYmyCnqjMv0E8h+DZvtFLiwhqlzR2ZCHYqkuu/8dTy5/wBtKT/u nalirvJn/KH6D/2zbP8A5MR4qnWKoa/sYNRtXtLioR6EMpoysDVWU+IOKoRtMvpxbx3l4ssdtKkw Kw8ZHMbcl5v6rL86KMVUxolybS4tpbpGM9x9aqISF5cg7I6GVuSGnSoxVa+nLa2d7azFrhdQdnVI YWBVyirSql1UVQcSaU8cVTKyt2tbSOBm5yKtXc/tO3xOx+bEnFUvTQ5TBcxXFyrvPMbqKWOIo0Mx p8S1leoFOmKqjaTctNFfC6CX8Sek0yxUjkjrXjJEZD38GGKrJdHuplvWkuk9e+iFu7CEhFjAcfCn qk1+PqWxVttHubj6pHe3SSQWTpIkcUJjLNGKIWZpZPwpiqbYq7FXYq7FWPX0ZivZk7MRIvyfr/ww OaXtDHw5b72yB2UMw2TsVdirsVd0xVPdLjMdlHyFGesh8fiNVr/saZ0Glx8GIBqJsovLkOxVJdd/ 46nlz/tpSf8AdO1LFXeTP+UP0H/tm2f/ACYjxVOsVdirsVdirsVdirsVdirsVdirsVdirsVdiqD1 Gy+txhoyFmjqUJ6EHqp9jTKNTpxmhXVINJHuGKOCjpsyNsQffNHkxyxyotgNuyCXYq7FUTYWLXrC Rx/ow3JP+7P8lf8AJ8T9Hy2Gi0ZJ4pcmEpJ/m2YOxV2KpLrv/HU8uf8AbSk/7p2pYq7yZ/yh+g/9 s2z/AOTEeKp1irsVdirsVdirsVdirsVdirsVdirsVdirsVdiqhcWdvdAeunIr9lhUMPkwochkxRy CpBQaQL6Ia/urggf5aBj/wAKyfqzDn2ZA8jTLjK0aLN+1Oo+SE1Hj9sZAdlDrJPGiIdHtUPKas58 H+x/wA6/TXMnFosWPer97EyJR2ZKG8VdirsVSXXf+Op5c/7aUn/dO1LFXeTP+UP0H/tm2f8AyYjx VOsVQuoQxT2zLKobpQkAkVIG3hiqDehKWF6okkjkT0ncA+pGWA79+xxVXGouz8Ybdnjqyq9HAqtR Un0+IFR44q5dRkdYGWIf6RGzrV+hQVofg/HFVtvf3Trbo0KtJPGZA/OikClf2CR18MVXrflroWjx gcy6hlfkQVBPxUWgrTxriq7SgBZgDoHkG+/7bYqjMVdirsVdirsVYrLqeq+XtSf9KsbrT7pyUmA+ x7KO1P5fuyuzE7uzjp8Wpx+jaQ6MmhmiuIlngcSRyDkrLuCDljrZRMTRVMUOxV2KuxV2KuxV2Kux VJdd/wCOp5c/7aUn/dO1LFXeTP8AlD9B/wC2bZ/8mI8VTrFVKeH14/T5tGKgkpSpp2+JWxVqS2jm 9IyVZoWDK+1aj5Dviq2OzSJjwd/TYlvSqOFSa7bV6++KqaaZCnpfvJGEAYRqWAADdvhAxV0WnJC8 TrLIfQUqoJUih7fY9hirl06NGRkkkHpszoKqQpevIbr798VVrW2W1jMSuzipb46VFTU/ZVe+Kq2K uxV2KuxV2KqVzbQXkD21ygkikFGU4kWyhOUJWObE2TUPJ1yZI+V1pMrfEvdCf1H8Dle8Pc7QHHro 0dphlVneW1/brc2riSJ+hHY+BHY5MG3WZMUscqkN1fCwdirsVdirsVdirsVSXXf+Op5c/wC2lJ/3 TtSxV3kz/lD9B/7Ztn/yYjxVOsVULu5FrCZSORJCoo7sdgMVWVv1ClvSbkQCFVvgr3+18X4Yqhvr t6LSS5rFWOX0+PBv5/Tr/ee+KoljeIH/AHsLFULU4MCD2qPVOxocVX2Uks1tHNMVLSKHAQEAAgGm 7NiqlcXrQ3UUIUGNiFlf+UvUJ+IxVu4mulu4oImjCzK5qyFiOFPB161xVuyuZJzNHKF5wPwLJXi2 1dq4qisVdirsVdirsVWSRxzRtFKodHFGVhUEHsQcUxkYmwxO7sb/AMq3DajpdZtPc1nt2JPEf59G +/KyDHcO0x5cesjwT2l0LJNN1O01W2FzaNyXoyn7SnwYZMEF1+fBPDKpIvC1OxV2KuxV2KuxVJdd /wCOp5c/7aUn/dO1LFXeTP8AlD9B/wC2bZ/8mI8VTrFUNf2zXUHGMgSIyyRk9OSnviraTXLgcrcx kbtVlINOy0bv70xVAGC6axltjbNykl5gFo6cS/P+fwGKq/BoxILaxMQkSj0Ma1pUKAFkp+11xVdb Pdw2sMH1V+aKqMS0fGg2JFJK4qovZ3FxbTtJ6kcsrFvSHpEVFOFG36UH7QxVuWO4uJbaS5sy4iRx IpMbDk3Hpyf/ACcVVdPt5YXnYp6ELsDFDUHj/MfhJAr4YqjsVdirsVdirsVdirRAIIIqDsQcVYrq OjXmh3J1jQK+n1ntRuOPU0H8vt27ZWYmO4dng1MNRHw8vwKdaPrVprNv6sB4yrT1YSfiQ/xHgcnG QLh6nSzwSo8u9McLQ7FXYq7FXYqkuu/8dTy5/wBtKT/unalirvJn/KH6D/2zbP8A5MR4qnWKuxV2 KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KsZ1jQJ7a4/TOgn0rlPikhX7LjvxHv3Hf55CUa3Ds dNrIzj4eXl3o/Q9ft9XjMbD0buMUlhO3Tqy17fqwxlbRq9HLAb5x703yTiuxV2KuxVJdd/46nlz/ ALaUn/dO1LFXeTP+UP0H/tm2f/JiPFU6xV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2K sf13y81zINU0pvq+oRHl8OwkI/U36++QlDqHO0mt4BwT3iv0LzEuoMbG+X6vqEVVZDtz49SPfxGM Z2jV6LwvVHeKe5NwnYq7FUl13/jqeXP+2lJ/3TtSxV3kz/lD9B/7Ztn/AMmI8VTrFXYq7FXYq7FX Yq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FUl17y9Fqqi5tz6F9HvHKNuVOgam/yPbIyhbl6TWnDs d49yO0tdQWxiGplWugPjK/hWm1fGmGN1u06g4zkPByRmFqdiqS67/wAdTy5/20pP+6dqWKu8mf8A KH6D/wBs2z/5MR4qnWKuxV5/+Z3njWfJ8unJpUcEgvFmMnrozUMZj48eLp/OcVYSn50ebmO8Nj/y Kk/6rYLRb0Tyv5p1PUNLTVNaaCHnGKW8SESM5kajrWRvh9Pjt1O/tlwwkgOTHSzlW3NE3Hmi8s7r 0riL4ZF5xKY+Dcf5zWZ9q+wOSGKJDbDSRndFM7TWHubUTOoiYRhmZq8STvRR16DInHRYZNMIyod6 Al81fVLhkugPRC/bVTUMOxWpND75H92SBe7b+SjKIo7oC883arETJBFE0Dtxjchu4qoPTc5DUSGA gnkwlp8cOdoKz87eYbq5e2+rxeohqY1jZiE6fFxk2oaZXgnLJOjyYxwQJ8kXZ+cr6S69G8MEcaKz SlVYspFdqc8zpYIAN8tDGtrU9b88XenaTdXtt6crxKnoMUISQsVBPEuGpvlc8cQC15dLGELYOfzk 82dorLf/AIqk/wCq2UW4Fu/5XJ5urQwWW3X91J/1WwWvEmmh/mzrepavYadPFbhbu6ggcqjAhZZF Q0rId98FlAkbevZNm7FXYq7FXYq7FXYq7FUl13/jqeXP+2lJ/wB07UsVd5M/5Q/Qf+2bZ/8AJiPF U6xV2KvIvzyUtPo3hwuf1wYCxk8xsIXF7AhWNi0igLKf3ZqR9s1Hw+O+MTumJ3e5WVjNB6Ka3cW6 SIQF4MPSLBfjAVgvcZm+ITHZ2wyylD0jfrSF8z38KmJ7eZJ5Io29KVyRVgC/FmJ9xvtmNlynFW3N iJSxRJIrySvXNeFze2tharJcRRdHg4iN6cak8eo+Lx+WTOQjkmEzDp9Spd31mbiErAaR0Wb1WqZG rUsK8hhsDet24wMY2Smlzr8Js30yG3/cMv7tyVBqxqQQFOE4ozPqaRpgTxE7scjujbmT0XpJMOMi gsKjanKnXJQxwiPS3jCOak0iVKhByry5U/Xk7vkyB70Hrr3Fx5fKKiIEl4MwJDsGPNQR0NPTOUZp EQtw9eQIbdWHrbtRgoQDsHO+3gcxOIOqUTFKDwB5GvT/AG8PEF5px5ShY+ZNILDdb61anenqpvgE t16vpHLWx2KuxV2KuxV2KuxV2KpLrv8Ax1PLn/bSk/7p2pYq7yZ/yh+g/wDbNs/+TEeKp1irsVeW /nJarczaTzPBUWer9aVMXYZVlnwsJmnmn1CWNi0T8wlSH6VI6Hi2VxzIEmYWWp3N0ipdtzuLelIg 26o29E5V236DM/T5xkDudJqhkj3SRyIl1FLeT2s94kChvRjUEKagAy0X7PAN0wamEZ0e5lqxdWUR cCzdJJbbisFUljjhIRE5pVg0a/tn0/D5ZDjF0C14+GAY9f263lwQz8hAgoAPiAr1NPc5i5854tnC 1ubjybK49S3RZGmaRgCWjYGjAABeJqfH8Mrhq5iV2xw55xN265ne3g+tzKDCSoJSppzHw1zZ48pE fU7TjPDclS0uZVZvTZA0qFSjBWqhG+zVofDbIT1cQNmPiRIvmiAvoxSzXKirQkRQE1C8/h5sAftb nr92UyIyQJPRx9RxZIknor23kqwudG+vRXf+mhS7WoTcOK1UNU7UHhkI4JSx8ThRwSMbrZjN95bn tZCkyyqOvIoVPiKqa+OUGZB5NR2KI8s2IbzHp8kCh447y3Jk2BNJVY/D7EdcYzPEF5F75mY2OxV2 KuxV2KuxV2KuxVJdd/46nlz/ALaUn/dO1LFXeTP+UP0H/tm2f/JiPFU6xV2KvN/zXEguNKkjf0yi zHfvvF2zF1cqIa8jDPRubtBe8KvUjmlR8K7Co+nMOUqYU6O1t7QKXPqXLMQJo2KgKvUVbqSPbDHN MG4lnCcomwn2kazqEFqbW0jiICuHdwP3gJJo5oDX4szMevqFEbuVDVbVLdRltzFEgsomjiSJBdqK 0Epr17dB4ZstLjAgPPdzsUQI78y3LHPaREXCNHI8QYhDuVYch49RletgJY/ixzxiRsdkPJcSI6Is JkWnEhaCn0VHzwjEMQAjFuw4YQGyWapc3thdoXnZrSFXkdDCyhZOJUAhwtd22oad8x84lIUWGcSJ voEDo1le6k09968tImCFndhvQV+EGp6jIwkBMR6uPhI46N2yvQrJRcqt5IHMilUEgDISdgCp26+O Zvg8UdyS5WSETYZYn1/RvRVw3pbIvMFokZioX7BPyHQZj6eEonhlycfFDGY8P9qnqsv6VP76QEwh iAFIQlRz4Oa+HTJarSxnHbowy6aPDt0Y/ppR9bsZbcKGN1AGC0IVfUWoFflmoxn1j3uAZX0esZtG bsVdirsVdirsVdirsVSXXf8AjqeXP+2lJ/3TtSxV3kz/AJQ/Qf8Atm2f/JiPFU6xV2KvPPzRkZJt NVW4h1lDeFKx9cwtd0asrDrfULqC29KCVBCxYNGwqQD1p9K5iVfNgEXbw2jeg0gcuwZnDGiE0+Dv tiGaowRQJEBEcAAcgVBbACSNk8QRWlyxTxXM4uBDcpV4IlavIozMPhNOVVBB2ze6HOckN+jttNml khVe9A319davLDFdSM5tjUtQKQPiNOS0r/bjmnATED3ss2TEJ0AvWNJXdoplKr2che9Nq5kk25Ag QOSnexqdPm5UdiTVWPIUK8egoe/XNZqdYYmo0XC1WvldCkF5dt57GBi09Y5yH47gPx7MO68l6e2S 0+oiZVyXS54mwUyCM9LkAoVIG/8AEZmxyATAc6GSMZcPNPn1e1NpGivznkq7yqWXgzH4l9M0G36s tPeGMuIT/H3rp9ctLaxuLJQkzeiYxNU8md67/tA8dqZRqZiMDv0cbUwHDZNeSTaFX9M6cCiuxuIj yX9n41JqBmjxG5j3upGxevZtWx2KuxV2KuxV2KuxV2KpLrv/AB1PLn/bSk/7p2pYq7yZ/wAofoP/ AGzbP/kxHiqdYq7FXmv5stxuNLBNAUnBNKncxdMxtULphkYJbzxW85MkZmUjanbfMWrDDkjg0T9X MhY1C9ApG3c9Mr4tl4kxhuPqEZd4F+NiarRjGwFAd+QpWhpkI5Fq1S1hNxp/12eeMzBuUnLitTJ8 QoPp7DNxpBwQ4v5xr9DstGTijf8AOUSJVVxbsJJZFYKADQqtG5Hbpt45dlMhXe5OeZ2rmrWel31x FLdI0ZitgJJB8PJRXpxbqMxMo1PA42TLnA36ofUr76pBJPcjd/3aIAByJB8Nhmtx45GThEKGmXS+ m1IecaAM8bEBVYmnJD+yTTtTJ3KJv5IBMd2S6KJbOKa+vLVpLSfaEOPjDUPxB6bU5bbfqzP0nFks z+ZczTxOUeo7pXMUnjIVKLC5HiAxNRVu9RmblMskSIHdzcsiQeA7oZRGQwoWc1UDagbamaTJllkN l1GXNKZsovRp5jrGnq0fpj63CpYCm5kU0xxXxj3tI5vXs2rc7FXYq7FXYq7FXYq7FUl13/jqeXP+ 2lJ/3TtSxV3kz/lD9B/7Ztn/AMmI8VTrFXYq8t/OSZo7jR1qeDCckCnUGGnX55TnjbCYYD9eiENY 4uMitRnZwQR7JmL4dlrRNs9yOE0kbGKTcSEELSu9G6ZTOAivJP4IYXUSQRsBPRqOSfhG56EfjkOE BYy3tdFDKI0gLVL0R4YzU0Ue3fNvoNRIg8X0h2ej1HEDZ2iiY/qtlbxXCSPFcwEbFaKa0/aDH7Pg R3zMjG5XezkgnLI9ygJRN8CXHpTN6lZJPsOGBIU8etaUwzPpO7ZMnhNBB3Oi6leelNfPFO6Bz6UT cxxOxP2ga1zQk8PJ0PGHWUP1Vp4bhCs3FAjEVjfhVSGAp1+H6chM3Fnacpq+oS20djG5SCEcQgAp xah6d+nfNlpdXAxAkPJz9PqYH6huhV53ZLonGOAH4auQR1BNWIqT4YdbqPDPpO5Z6vJ4ZuJ5oPka l/tcjyYDp881MiSXWS3Ka6PIs2s6ezR0YzxESdahZAOnbJ4NpAeaL3esZtmx2KuxV2KuxV2KuxV2 KpLrv/HU8uf9tKT/ALp2pYq7yZ/yh+g/9s2z/wCTEeKp1irsVeW/nLGrvpla1CT0NNtzF3yrL0Yy edR28cihWNPTHFem5O/vlBtAibTnSjqGnTLbxzNFGaPJGvQ9AAytsa18Mqlunwt2VJrlnKfq92r2 N1cfBHMg+BiRsAabHfpTKfCFEtU4GJSW90C4sZv0jYTsswo5laQcSa78i25qN8shkIFHki9kC+vG 6Ej29uzRPLShFaE13J6bkZmR1c4bbObj1+SFDZESWk04iWC8kjkAZ1VgBwkBbvvsKbjMUaiY/Sw8 WRvfmo6frzRyvFqNtEoVlCSBVBjdu4rvxJWu2SlEEWGkUEzmmhbl6IKEEjpQbeFOmYUocO4WQrcK tlKWT1udJakANvUVPSvzy3ibY7qsTvIHjPxq2+3Yj+bwxluN1kLCxuNxB6SM0brQRxiOo5EHpw+X c4Iw3auCVquhi5ttbtFkHAtcwrUUoQZVB+/J4wRkAPey3t63m1ZOxV2KuxV2KuxV2KuxVJdd/wCO p5c/7aUn/dO1LFXeTP8AlD9B/wC2bZ/8mI8VTrFXYqxvzP5a0zzDdWh1KUolukhVFPHlyMdSW9ts fD4mcIWOVqOiaToMqy21nY2r2lsQoLRhmdv5i7qWO3jkpQxgV1b80I4gB/ElXmTStFsYm1CP/RIR xP7o/Yep2WlRRqdMxdVp+EWGjNjnEWktpBb3E0F7PaCOOM/BJPQ8lPE7LSlduv3HMGQNOJZPNfrL NYGRrKETw3vNRIoLejzUlQAgOxr2wQ3BTKFC2JSxxadG+m2zmWW5Zf3XIFWcNQU222bb55YQZUT0 ZdAybTfrJsGup7OG0VV9ISTHc95WaiswauAxA5Ngyx4SCN0hv0s7z1kEchdDWOSKGTbanxc1WgOT x7CwQ1nJY5LNEuIZ4Gt3mS2aFTUyFVLCu+7Uqf6YckDdhJOyb/VeM6xyrI6BlU8QONG25d8q5thA rZXt7A28gDTtxMgShBLfdv8AjkJEC6TCQMbVmv25N9Yb0oKE/AECEKAm4NPtH6cnjlM73s2HJQW6 TfW8+q6ekKCMm+hZS7EtxMiCleJBr2yeIesOOQQeT1zNkzdirsVdirsVdirsVdiqS67/AMdTy5/2 0pP+6dqWKu8mf8ofoP8A2zbP/kxHiqdYq7FULc2UN1JHJNGsnpggBugr7U9snGZiNm3HmljBANJf caTdxsU0r07WE/EQrshZunxBY22+Rw48lE2LbY6kHee5UJNCvpZCJBbTQBQqpJyO4X7R+Dry3yU5 wnCiGU9RjnCiDaEn8r6ncKwdreoBCfGxO/ixhNM1h0sz3Ot8IrJPKF66iksQIiWPhyb0yUJIqDGf HIZNJmO0SGwR9NFi8H5U60Lj67dTWclz9YSU8ZJAhQEs44i3FDWmWnTzqgdkCCd2vlHzLa2Mtiv6 PeJ+SohklVVUg9eNvvufbEaUjqg499ltl5N8zRabDp1xNZLxJWWaJ5CxjO/RoFq3apOP5SjsxOIr YPy1EN5dXRFu/qsjwAk/AVX3iIFWx/L5K5p8MqjeS9dBMsU1qssm0lXcgiv83oj9WA6WZQMcgrTe TNTmn9d3gYuiiRBI6guo2b+6PfI/k5nq2RFRpC3X5eXt9ye4eCNmQLwjduHbb+4HhkoaWURzbIEB qy8gaxaatZXiz2sdtazRSvGhckhGUsAvpKvRcMdNISBZSmC9BzLa3Yq7FXYq7FXYq7FXYqkuu/8A HU8uf9tKT/unalirvJn/ACh+g/8AbNs/+TEeKp1irsVdirsVdirsVdirsVdirsVdirsVdirsVdir sVdirsVdirsVdirsVdiqS67/AMdTy5/20pP+6dqWKu8mf8ofoP8A2zbP/kxHiqdYq7FXYq7FXYq7 FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYqkuu/8dTy5/20pP8AunalirvJn/KH6D/2 zbP/AJMR4qnWKuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KpLrv/HU8 uf8AbSk/7p2pYqlPlPzZ5VtvKui29xrWnwzQ6faxyRyXUKujrDGrKytICCCNxiqbf4z8n/8AV+03 /pMg/wCqmKu/xn5P/wCr9pv/AEmQf9VMVd/jPyf/ANX7Tf8ApMg/6qYq7/Gfk/8A6v2m/wDSZB/1 UxV3+M/J/wD1ftN/6TIP+qmKu/xn5P8A+r9pv/SZB/1UxV3+M/J//V+03/pMg/6qYq7/ABn5P/6v 2m/9JkH/AFUxV3+M/J//AFftN/6TIP8Aqpirv8Z+T/8Aq/ab/wBJkH/VTFXf4z8n/wDV+03/AKTI P+qmKu/xn5P/AOr9pv8A0mQf9VMVd/jPyf8A9X7Tf+kyD/qpirv8Z+T/APq/ab/0mQf9VMVd/jPy f/1ftN/6TIP+qmKu/wAZ+T/+r9pv/SZB/wBVMVd/jPyf/wBX7Tf+kyD/AKqYq7/Gfk//AKv2m/8A SZB/1UxV3+M/J/8A1ftN/wCkyD/qpirv8Z+T/wDq/ab/ANJkH/VTFXf4z8n/APV+03/pMg/6qYq7 /Gfk/wD6v2m/9JkH/VTFXf4z8n/9X7Tf+kyD/qpiqU6z5s8qy6joDxa1p7pBqEkkrLdQkIhsL+Pk 5Emw5Ooqe5GKv//Z + + + + + + application/pdf + + + Adobe PDF Library 8.0 + False + + + + +endstream endobj 2 0 obj <> endobj 7 0 obj <>/ColorSpace<>/Font<>/ProcSet[/PDF/Text/ImageC]/ExtGState<>>>/Type/Page>> endobj 18 0 obj <>stream +q +0 0 612 792 re +W n +BT +0 0 0 rg +/GS0 gs +/TT0 1 Tf +48 0 0 48 62.6667 672.0521 Tm +(Black RGB )Tj +0.502 0.502 0.502 rg +0.028 -1.861 Td +(Gray RGB )Tj +/CS0 cs 74 0 0 sc +0 -2.028 TD +(Neutral )Tj +0 -1.2 TD +(CIELAB)Tj +ET +0.855 0.863 0.439 rg +q 1 0 0 1 451.2545 532.1 cm +0 0 m +41.507 0 75.155 29.252 75.155 65.336 c +75.155 101.421 41.507 130.673 0 130.673 c +-41.507 130.673 -75.155 101.421 -75.155 65.336 c +-75.155 29.252 -41.507 0 0 0 c +f +Q +0 0 0 1 K +4 M +/GS1 gs +q 1 0 0 1 451.2545 532.1 cm +0 0 m +41.507 0 75.155 29.252 75.155 65.336 c +75.155 101.421 41.507 130.673 0 130.673 c +-41.507 130.673 -75.155 101.421 -75.155 65.336 c +-75.155 29.252 -41.507 0 0 0 c +h +S +Q +Q +0.855 0.365 0.439 RG +10 w 4 M +/GS0 gs +q 1 0 0 1 350.1097 513.3745 cm +0 0 m +174.545 -157.091 l +S +Q +q +307.1826477 0 0 230.3869934 85.1999969 108 cm +/Im0 Do +Q + +endstream endobj 10 0 obj <> endobj 17 0 obj <> endobj 14 0 obj <> endobj 15 0 obj <> endobj 21 0 obj <>stream +H‰\‘ËjÃ0E÷úŠY6‹àGb™€14n +^ôAÝ~€#SC- ÙYøï;ã )T ÏÒ½’ïDUýT»~†è=Œ¦ÁºÞÙ€Óx ጗ީ$Û›ù¶Z¿fh½ŠHÜ,ÓŒCíºQD´9Ía‡G;žq£¢·`1ôî_U³¨¹zÿƒºb(K°Ø‘ÑKë_Û!ZeÛÚÒ~?/[Òüø\ Ÿˆ3ñÌØSË]šïÒâ¯Ù_‹¿f}>2‹§fÏ\|röÉ÷Â{fÑæ¬Íå=T8„ÛßrÔ5¸gm®!PÌkk×|9ÙÞá½û~ô@*žêW€ûm™‘ +endstream endobj 20 0 obj <>stream +H‰”—ytWÅÇ¿oæ7ïMò›,„!&²k‘AÁÚhsZj !$rBŽÊQÙ*%Ê–BpÉ"¥ˆ"Œ‘%ìû¾1¥”jï›7¾¦íéâ¿{¿3ïÎÌÏÌ{3?XÂ1£ÙãДZª¹<–ÿüðêLÍâ^ ºÑé¹iy7gÇS¹HìþbAÂ×ÉçªÞçÔ¸¼ÌÜ=ëã©Ç§«»cfÎÔq÷g·Ü<çI²2ÒÆžî1a0õ:õ×-‹*¢î5œL£>Ñ<+·`Êæ:¼Få~@×”œIéilhÊn ¬Ê£rÓ¦äE·±K€+÷(>abZnÆ›•£€«@°wÞ¤É÷N£¶ÕÏ bóò3òz\Ûkz&1î\CQlm„HËOƒ„ô©ù9‘™Ÿ1/deŒÉÇøœ´‚‰˜BQÖÈ” h|ó ({„ ˆz¨0·Du’z …B¢M%å>¯,0_3ØÄ˜ú6bHµñžÌ3H4HOÏÍà mçh»@Û"m‹µÝ06';›ÇeOLÃ6m+²'f`¯¶û³'OÊÁ!m«(0 g´½D$spCÛ»¹c³Q«íÃ|zlA[›Ò´ôL=˵bdÝ9ˆªù‡²àµ ­cƒulH^ÇJm½~Tfl=4Gº bF`Æ"˜ŽW±K± +oÂ¶ÜØyš°eEyÞ~I¯²%›PÙ"ßœ2$²ß+‡&ß×µäËu~Vè~ãOx>2ÎóõË)ž|£$ÏǤÐXÔÌF¯Ÿ˜ +3‹(ú%ê±#ˆ £¬i:=žº(ÐÆ˜˜+°$P&ûËdªLE9MNGCù²œ‰Ær–œ…89WÎG¼\,W!AÞ“5hll‹ŽÁä`2ºoo£«Ú£ö¢›ªT•èÖ=Â…5BXb¼»£¬DÖ…?HEz¢?žE +~‚1|LÃ+Dn1ÞÀl@9¶¢•8ˆ*œÃzûkñÈ +XÊÙ +îlrJœwµ/u¶i_æ¼§}¹³| ©?j_âìоÔÙ©}™S¡}¹ó>ù]T*¥è?i_âìÖ¾ÔÙ£}™³WûrçŠ.u*©TFÑj_âìÓ¾Ôù³öeÎ~íË(ºÌ9@¥rŠþXûç ö¥Î'Ú—9‡´/w>¥èò!’…7Dj ‘/4‘ZCä¾Ù1_2_2 ™¿èóÐðù«áóÈpù›áòµ!òG„>+šˆ´<"’yD$w‰È€GD +ˆ´="ÒñˆHé‘!ßÈ^ÀQœ!"·Pƒ‡³Be¨GD="RyDd˜GD†{Dd„KDFzDd=ˆŒòˆÈúí‘ \"²¡GD6òˆÈoÇÈÆë‘‘¹;FÆy|d¼áÓÄðij¸<áÎT&..‰†K3Ã¥¹Çå;¹ãiaˆ´4DZ"­ ‘6†H[M$Éigˆ´7D:"ɆHGM¤“!ÒÙébˆt5Dº"ßÓDº"= ‘ž†È“fÇô2džÒ;¦·!ÓÇékÈôóÈЗÝróÖ'Ð: &Ò é4ˆC $¯ø>RÕaúÒ? ,QGŒ*TGµJ¡ºcFª*RƒtÜq£ +Õ ­Ü¸“FÒ8±tB¶GwZaøFÓW½/až:åtÚéŒ?ÒY¤sþHçý‘.ø#]üv$u‹Ô`9€ênU¨îh5ˆê>3ê¿etÉÏ貟Ñ?£«~F×üŒ®ûÝð3ºégt×Ï螟QµŸÑç~Fôî[í­öt‰e±°X3ÖLŸÅts ë¬OÿZµhüï9cÝ/J± ‡i? ¬¬†V‚ÕÆêbõ¶†X/º7·àn0¶\«=¾Úû­b“zC«ƒ¾úÄW‡|õ©VîíP±Ã®f—ÉégGü¨£¾:¦§Y„#šUén& ™›Å2s¼NLCææTÄ>§È"vÂï餯Nùê´¯Îøê¬¯Îù꼯.h%hý£iÏ'¢£ó™­¦±è|fÅä?¤ˆÕlÙbvÑowÉÌÛa¯³Å´FkØzŠßÀ6!”•²RD°rö"ÙïÙD±­l;õÏõm4šÞ+ }õ]+Ò½RÛµôàmö6õ¹…â9ÛÉvÒýŒV›-%&`+ÙJ½öô¥×wÙPз­`+ÏV±UhB}¼¦Á`úß îÒýG雪›-¨”í¶†ìDZ­ºo8EðÁñ•VC|õŒ¯žõÕP­\^Qˆ¡ÿÍuËÝê Ý¢VGßב_º_VC-Ü™Ó9bϵç0÷çåôŸ‚+®ôü(‚ß´ã¹»û-»©ý¸ÛÎJÅ[üOà­xoÏ;ñnüþ*ŸÃçñ_ñ×ùb¾”ñ¼˜ÿޝçù&^ÊËùf¾•oç|7¯äûùA~˜WñSü¿Ä¯Q_wø]^ÍkD+‘$ž}D?1@ ƒÅ3b¨x^ ???é"SL“Ädñ ñKñ²˜)f‰Ùb®˜/^ Å"ñkQ(–‰ßˆåb¥X-~+ÖŠuâ-Q"ÞïŠíb‡Ø%öŠ}â€8$‹£â¸8#.ˆ+↸#ªE­x Ù°¶´•iGÙÑvŒk7±›ÙOØ-íÖv[»ÝÁîhw¶»Ú=ì'í>v?{€ý3;Íΰ'7··*¦lªÂU”j¨bU•¨Z¨V*I%«.ª»ê¥úªjˆ¦~ F¨T5JVcU–¯rˆð.¹{åhʛҴä-Áx[Þ–Ö oGkÝ‘w„à]yWØ|&Ÿ ‡Ïâ³ ùl>!|.Ÿ‹P>ŸÏG/ä ¡ø"¾a¼V/œ/ãËÁ—óåˆä«ùjÔãkùZDñu|ÝßÙ/Ó謪+ ïïÛyOÀo3 "D’0‡0Hb€! a SHB 3Ñ"RŠ• +E¦ŠŠ(ó¢T¨¥V‘ZPk-"E@ ”Å TEÒ“WÉ/ÿô³Öwî¾É½û~7ë<Ï9¯ÔÕ7õM©§›u³DèÝ"õu«n•º]·KCÝ¥»$R÷é>y@èi¤‡ô4ÖÃzX¢ô}}_Ô£zTšè1=&ÑzROJŒ~¢ŸH¬žÒSÒTÏè?3Ïé9i®õ¢´ÐËzYZê½"­ôª^•ÖzM¯IœŸ­¤Ÿñnè&m‘‚i‡T¤J{¤#]: 'zÊCÈD¦tDô‘d!KÑýåa  IBò¤Fb¤tF +¤ ŠQ,É(E©tÅDŸhºa*¦Jw”£\R03¥æ`ޤb.æJæc¾¤cHb¡ôÄsxNzaI&c±ôÆ,‘>XŠ¥Ò˰L²°Ë¥V`…dãe¼,9X‰•Ò¯âUÉÅj¬–Xƒ52k±Va#6Ê`¼7dÞÆÛ2Û°Mò°;evc· ÷3w¿ŒÀ;xGFá]¼+ùxïÉhÁ)ÀGøH +q ǤÇq\Æøyý±ãS|*cq§¥gqVÆá.H).ã²”á*®ÊxÜÀ ™€Û¸-ñ-¾•I¨@…LvêT¦¸p.S]È…dš«åjÉtWÇÕ‘G\]WWÊ]×@u‘.RsQ.Jf¸X+3]3×Lw-\ ™åZ¹V2ÛŹ8™ãâ]¼<áÚ¹vò¤ëà:ÈS®£ë(s]¢K”y®³ë,ó]²K–§]ŠK‘.Õ¥Ê3.Ý¥ËB—ïòåYWäŠä9WâJä'®Ü•Ë¢ÐöÐvy>´#´C‡ö„öÈ æ—VYb0ÈO­ºU—¥VÃjÈϬŽÕ‘eaò¢EZ¤,·(‹’Ÿ[ŒÅÈ +knÍå%ki-åekcmäkoíe¥%X‚üÂ:Y'yÕºZWYe=¬‡¬¶ Ë_Zoë-k¬Ÿõ“×,×re­ ¶Á²Î†Ù0Yo£l”l°B+”6ÖÆÊ¯¬ÌÊäu›`d“M²I>ýžöQÑÖÚ^ô†¾ /ê+ºJ_Ó ºIwèݯïxÚëýHëÇú©žÖ³z¡’´Öh8}Ù€!Ž|¡ã1ÓñfáI¬Çëx ¿ÆoüŒÚ‹8À!Æû8ªÇýñ$>Á)œÁ9\Ä\ÃWøß¹€ƒ«îjèd»qÜ$—„!¾*pÅ®gB»ün!«eu­5²&ÖÔÚÚCö°u±î–f½¬¯åØ@j#l´±q6Å¿k9Í&4[€N ÒiJ§…Ñ] µ}N_U£¯ªÓW÷ÑW!zÉè¥ôRMz©½T›^ªC/ÝO/Õ¥—êÑKôR}z©½Ô^Ф— —ÑHi¤(éA© mMÛÄÐ6±´MSÚ¦mÓœ¶iAÛ´¤mZÑ6­i›8Ú¦ mOÛ´¥ÚÑíéôÀCô@Gz H¤¦:Ñé.ô@2=ЕèFt§Rèô@*=F¤Óô@Oz =Iô¦úÐ}é,z =MäÐýé\z`€ß!4‘$zYL–‡ß¡ä7ü#¿ÃÉì2;’ÌŽ"³ùdv4™- ³…d¶ˆÌŽ!³Åät,9-!§ãÈi)9-#§ãÉér:‘œN"§“Éér:•œN#§ÓÉé#d³ÜÏ×ó2]c5N;h¢ÞÔ%º\Wêj]«õ Ý©{õ·zPÿ Òõ/zBÿ¦ÿÐÏõ ýÒïfþåÙ¼éÙlãÙÌÁ@ ŌƌÃLÁ#˜Ùx +° ›±;°mð;üÄø³žðÇ¿âïø ÿÄy\¿q·ð sî>WS¿DŽ«¯±®±›ì’<—…n¬+ íµ0«ffµ­ž5´Æmͬu´$K¶K·L˲þ6Èòl¤X±•ÚTÿ–ÓþOåÿLe% ä1‘<&‘ÇNä±3yìB“ÉcWòØÕÉzy[vËAù@NÈgò¥\—;>Kýy$Î'§$é¦_ù¹»@oûq¡~íÇEú­—ºEDw7Ë=Ü?¦¹'ý˜ñ#n±ÃØáv¸ÃϳÃlvx‚žbŸÁÜÜÊ+XÍ«ªæWUOWU ªªgªª…UÕ³÷*»^UÝ`ôäÖÏEðîJЯÏ>¥ú5Ú‡¿Nß'ÕüúZê3h@²|ˆ3Ÿ#+ï‘Ú¡=¿þN½t¯òóÁ÷ õg7|V;ÅëjêÏ~ÇþH‹ÔlZw­—ÖG{S뫽£Ô6j»´š[»­ÝÓjõFºSwéIz²þ²ÞIï¬wÓÓôôÑú }“^í0;ÂQ§ÃåhëxÝÑÛ‘æï˜é(u2%É9Ü‘ÎX§æLp¶vötþÕ90ŽÅ5Žs`0%|FŒÑ܈7d£“1ØÈ4ÆYFŽ‘g,0Vë2c›±Ë8d5ÎW]\]\]]é®þ®÷\ƒ\%IÞ6ºÄQ’ãgþ'gÿ+þnþuþkþºÀ»5¿ª¹[¨« Ô‚¬åb•:ö[’2,d„ª´•‹‹T}`jhJ5Çš§™ËÍÕ*½¥âf'‡ú/ÎSm ¸ ¶í²ÕÚÁž©¸Ûïj ÅhºÖSK}Æ­Ÿ–©mÖöh§´óÚ]í¾z˜âÖJï ¿TÏ-CqËÕ‹ÿ‡[/Ç޾Š[n=·&Š[S§ý·tç€'ÜôçpK­ç–kËë¹PÜÎ(n/×sèÊPÜÒ‡*nÑ%Y~ôÛü/*n]ü¯ú{øOø´šÎO¸éµ™Anu—L·•WgÀ/•%s³öƒ 7•«Q+Ñ P8hV•8õ×­Õ8U†ûF«YéU•å¾H_¸¯‰¯‘/ÔgõIŸÅ×ÀÇ}¤Pˆùàfð;Aå„'~|å£ ¥•ëԽ*·T½PÕ§2»rä…+2*>­,óº”X9ÅWPQZ‘ïÍ÷.ôNð. öõöS³$ooGo¼§‡§»§“ç%OЧ£'É“àqzšy"<è¾åö¹¯»¯¸/w¹÷¸w¸·»·¨Ñn÷÷wwwW÷+îx·ÓípÛ/c¼eAoÞ® +q/â³yáÓ7¥Ô9ô\è1ëM3„ôV-&«b®VŒÒT|ecÍÙÊÏ0«_ †ÊÔûðmOw §²d‘"Þ‹¨g±ÄW-QOMùžð3—%ÅÒ[ùXFýdí“'~ÔóöÔÇeÍ’ýl6ñçâ²3Í’^?~û91¯Y(ÿ¡eìÓ;=[]/³äÚÿ E0&„¤A¾RÀa +L‚¹° «Ó=[AyP w`2@"xà6̃åðƒêÉ÷žôé}°VÁ»Ðra€êØa/ì‡#pÁa¸ïÁ18 +å°þ·`šêèÇá¼7À_@|ƒ` †¡Xi€¡ðw¥Æÿ Ã0ø W½ÿŸÂg0>‡-°FÃ(È„1pª`+æc2 AšÁœ……8‹ j‘£€:œƒsqÎÇb\€ ЂRÉŸ…¸îÃ\ŒKp)–`).Ãå¸Wâ*\kp-®Ãõ¸ÂIÌÆI¸7áfÜ‚_b(6Ä­X†°16Á0¨„ ŽønÃHŒÂü·ãü¿Åï0c` ¬Å¦‹;q6ÃæhC;îÆ=ðÃE¸„êè@'îÅ}¸àA<„‡ñÆa<è£XŽÇð8žÀÿ@¶À–˜€­à2\Á“”M“(‡&ÓšJ¹4¦SÍ ™”O4ËO…4–RÍ¡¹4æS1- …´ˆÓZJ%¦ Ó *¥e´œVÐJZE«i ­¥u´ž6ÐFÓ`ÓÚD›i }I[©Œ¾¢mô5m§ô }KßÑNÚE»ií¥}´ŸÐA:D‡é¥rSÀTcª5Õ™Á¬Zµ9Ø©Íf2s³070[Ì’ŽÑq:A'é¦3t–Α›žOàù¿yÿ‚góI<‡OæSøTžË§ñé<Ïà3áTð|8à ø,^¨Î¯"uŽÍåóø|^Ìð…|_ gḕÒ= çù¾”—ðR¾Œ/ç+øJ¾Š¯ækøZ¾Ž¯çøF¾IÆÈ¦2V6“Í¥MÚ¥&uéN'ã¥!]²…lišnÊ]M#Ä«¢›è.zˆ_›†‰žâ7â5ñ[ñ;ÑK¼.~/RÅÄÅ¢·ø“ø³è#þ"Þo‰¾âmñŽHýDºi¦L­dk™(Ûȶ²L’×å ySúd•l/;ÈŽb²˜"¦Š\1MLyb†˜)òE˜% +ÅlQ$æˆù¡,4$Ôv¼Õx=xÀ{xàC|„±5ú1€5X‹‰JcCÆX313#Æ™` ˜Û0ɬ,”5dXcÖ„…±pmY$‹Âv˜Ä¢Y kÊbY3֜٘iJ«å(ÕáÄöØÅaGÏ æb-XK–ÀZ±Ö2Y¾ ÏI·ôÈïå-y[V‹½,‘µamY;–ÄÚ³¬#Kf/°ö ±Oìg#Øgìs6’b£Y&ÃÆ²q?r]žQYy¿wæýó¿sGšˆ Þ‚÷¤ŠØEQQ¤‰{EÅînbKbÝh4Q“ìÆ¨Qc¬‰-ê* b‰1ö–Ø Ö×ÈNvÏ~Ù{Îý4çž{fæ÷›y2LçÇÉ 2“Ÿà'y1/á¥ü/ã§y9?ÃÏòsü<ÿ…_à¿ò‹ü7~‰_æWøU~_ç7øM~‹ßæwøïü.¿Çïóü!Äó'ü©LâÏxÎ_ð—üÍßYd6ø€/÷ð·àþüOþªBTƒ@^‰êH :Ô@Š6dè… hªtU j«l v”X½Ñà„ /ú¡?VŬ†Xk`M¬…µ1ƒÑŽt¢ C$ …n Å0 Ǻ‘P,ŒÂh¬‡1‹õ±ÆaCŒÇFØ›`SpC(6ÃlމØ[b¶ÂÖ˜Œm°­x"žb;L‘LzI.QR`{쀩ØÓ03°fbfcæbgÌÃ.ªšJYEzcWì†Ý±öÄ|ì…½±öÅ~Øà@„ƒqˆx†C±‡áp…8GáhƒcqŽ'óÈ|²€,$‹Èb²Dõ”¥d™¨ Ÿ’ådùŒ|NV’Ud5ù'ˆçâ…x)^‘ûâ±F¬ëÄzñ­Ø 6Bñš<$èô#:Τ³UoZ@—Ð¥t]¥ÚÀºžnP-j3ÝBwÐ]t=H‹è1ZLÓ2z–^ —è5z‹þAÐGô yBž’g¤‚<'/ÈKò +Ch*6‰ïÄfñFxÄ[ñ§x'*Ékò†xÈ[ò'yG*©FuJ(¥6rŸ„A$4ƒH„–êëV m!:@:dAgèFí}a …0ÆÓPx&ÃT•ަÁ ˜s`.̇…°X%¥e°\u¬•4V×ð5¬ƒð=l‡°öÀ~8¤:Î (…2åp.¸Acá܃Gð ^‚*UòRYÞ›ù2Hï±,Hõ!‡Jö.V‡¹Y«Ë"Y4‹¡ Y}Ç«®”¨R+–L9kÃÚ²v,…µgX*ëÈÒX:Ë`X&ËbÙ,‡å²Î,ua]Y75Ò]lÛþ·>Ô ‚šÿ]ÖƒõfýÙ`6Dü`ê&˜hJÓ× 0k˜A¦Ó´ÌP3ÜŒ0ë™ ÌFf3³…ÙÚlg¦šf¶™gv7{™ýÌAæ³@\’²º~I¿¬_ѯê×ôëXih†nƒ6 fxÜ@Ã0„aÒ¨bx>†¯ágøUõúMÛ ÛKÛ+ÛkÛ›G”ˆRqJ”‰Ó¢\œgÅ9q^ü".ßÉä.¹'Š´-ÚV2‡©4»CÛ©ÒoiÛ´íÚaqDûP;¨Í¤éªf©.•)ÎkEú<}¾8JsigšG»Ðlšc¼3*…¦=×ï]½‘ ÂFØ&k{…ºt…—ð¾f±Yb–š§´Úí_Úm±ÞB[ 'éãõEúb}‰>AûQŸ(PÖ–A2XÚ¥C:¥K†È:Ò’n*ÃdŠl/;ÈT.ëÊ)£d´¬'cd'™)³d¶Ì‘±²¾Ì•ešL—l,Ç&#b—Ø-öˆ½bŸøIìÄAr”üLŽ‘ãä9IŠI )%§H9MÊÉer…\%×ÈurƒÜ$·ÈmrGqÞ\q 9KíÔAÔ¥èîýa€">:A¦â½ô†>ÊTèiŠÚÃPG¹'¡J”c`,ŒS>ÂHECi §u•ïÃD˜¤œ˜­Ì˜©ÌøX™2…FÐHåÇ"E£i=Cci}Ú€Æ)Þ+à9¼Pì߇ðP÷û럊ø`6TQ_À†Ñ{ô®zï+“ã­•3Wá\W„+B• ЖŰXe‡¥ÌˆR>4c ¬9mHãé3Z¡º Óþª8ÿyÔ©iäÿr¼¤6`^ aÊ*Þ>¾~þUªV¯Q³Ví `»Ãé +©c¹CÃÂëFDFE׋‰­ß ®a|£ÆMš6KhžØ¢eR«ÖÉmÚ¶Kiß!µcZzF§Ì¬ìœÜÎy]ºvëÞ£g~¯Þ}´¾ýú8hð¡Æ(9jô˜±ãÆOøÛßß{â¤ÉS¦~ðáGӦϘ9köœçΛ¿`á¢ÅK>YºìÓå+>ÓV®ZýÅ—_ýãŸ_¯ùfíºõßn 7}·ùû-[·mß±ó‡wíÞ³wßOûÔ.:rôçcÇOœ,.)=¥•.?söÜyí¯»tùŠfó™¯&¯¦ê¥Åk“U^p®d QFÒqt2CçªS¸„¾°I[ø«{ï(Ü… +u"°Zj7š²|Vé5ìû±ødöµ÷oj¿öˆ˜çì´Ï>êÁŽnPjÝÿÛ`Œ±¶¾—adÁ˜ Ëa1„@¦†:¦A5\‡I ˆà…*˜+àÔÀMX«`?ì…Õð:¼Ù0›°ÀQ8‡á\¿Áq8…°þ•0NBœ€·à;ÀxoÃ;ð. ‚÷ þƒáŸð>ü >€!ðoø®ÂG0>†O`| +[aŒ€á#¡*`æ`. +´¡&ÔBgbÎÂÙPõH(‘¡çà\œ‡ó1 …vTèÀ…¸nÁm\ŒKp).Ã\Ž+p%®ÂÕ¸×â:\p#ÜS˜‰pnÆ-¸?G'6Ãm¸›c†bø¡Ã1¿À‰Q8¿Ä¸ ¿Â¯ñŒÆX ë0[à·¸ã°%ÆcîÁ½pîÁ(Cº1“pîÇxáa<‚G1S0[á1,ÄãX„'ð$lÇÖØÛb\„KxŠ2iM¤I”E“)›¦ÐTšFÓiåP.Í4S(fÁRšMsh.Í£ù”O h!-¢Å´„–Ò2c ñÐrZA+i­¦5´–ÖÑzÚ@i“1Èx—6ÓÚJŸÓ6ÚN_Ðú’vÒ.úо¦oè[ÚM{h/í£ýt€Ò!:LGè(£B#hÔõFƒ &šÂ´™†išdJ“MË´kyxœŠè¢Ót†ÎÒ9*&yé<ù¨„üTJ¨Œ.Ò%ºLWèª^íå  +ºF•xÏàY<‡ÅèQa2D†Ê0.#d¤Œ’Ñ2FÆÊ8ÙRÆËé’n™(“T¸ŠP‘ª¹ò©åW¥ê‚*SÕ%uY]qÜt|ï¸å¸í¸ã¸ë¸ç¨uuŽzGƒœ(“eŠL•­dkÙF¶•i²™ª¢T´L—#å(9ZŽ‘cå8ù™Ìãe¦œ 'ÊI2KN–ÙrŠœ*§Éérœ†™ge®œ)ótýš­ëØ\9OΗùr\(ÉÅpŠÁ>8çå¹T.“r¹\!WÊUrµ\#×Êur½Ü 7ÊMr³ŠQ±ª…ŠS-U¼JP.åV‰*I%«•ªZ©Öª1Õ˜ÆÏCùYþ%÷ä^ü+c÷æ_ósü~ž_àßòï¸ÿžÿÀ/òKüGþ¿Ìæ¿ð+ü*¿Æå¾Üû3T[•¦Ú©öªƒê¨:©ÎêªúN•«€ªP]TWÕ'qOælžÂSyOçœÃ¹<“óxÏæ9<ß)œ6§ X…Õx½Xƒ7ð&ÞÂÛxïâ=l‡µÄ:¬ÇöZcЂSØ„!LAB +–°c¡„C8E3Ñ\„ˆP&ÂEv‘" +;ag-bD¬h!âDK/„Kkµ‰Zu$aì*’±›H©¢•h-Úˆ¶"M´SÝÕcªXy”W]S•ªJUó>Ñ^tE'ÑYt]E7Ñ]<&zˆŸð~> †ŠOħb˜.Fˆt1RŒ£Å1–Šqâ3>ćùåc\ÈǹˆOðI>ŧù Ÿås\Ìöòyöq û¹”/p_äK|™¯ðU.çWð5®ä*®æë\ã|šoðMþžoñm¾ÃwùžÈãÍ3”k9h†™á\Çõf„iF™ÑÜ`…–0cÌXËf–i‘%-¶,Ën)Ë¡ÕUœÙRkÓÓe9­fVs+Ät›‰f’™l…ZaV¸aEZQVôh.ðªŠ3 ÿ3ÿ™ ÿ™3¸àYH$,‚ "„%„ÂÖ‚"‹;Ëc¥.­ÄBd‘ jk)‚@ÀY£¡-;ˆÈ&È*p_º<ÿ3÷9÷žsïü3çûÎý^¹Un“Ûå©#u¥ž$K}i )ÒÐI•4I— i,™’%ML#“*ÙÒTšIŽäJsi!-¥•Ü)­¥Ü%mMšI—vr·´—{¤ƒÜ+¥“äIgé"]ÝYwNºI¾·>ÉWóâC碌ôé)½¤PzK)’¾R,ý¤DúK© ð‘÷¾º¿AÊ ,CäòK*Ãd¸Ü'#d¤Ü/È(yPF»eŒŒ•qò<,È£ò˜<.OÈx™ õt=C—é—õL=KÏÖsô+z®;¯ÿ _Õåú5ýG=OÏׯë7d’»à.ºKî²>éÞv ÜB·È½ãÞu‹Ý{¦…»¢Oë3üÿ–_à)ü"Oç2žÍ¯p9Ï ,àwx1/᥼ŒWòþ˜7poâ­ú®ä¼‡÷òA>ÊÇùŸá³ú¬>§Ôçõ}Q_Ò—Ms—ië–¸¿º¥î'wÕ]s×]ÂÅúŠþI_Õ×ôuÐ1+ÖÌè“lL†ibÚUï1÷âÛLgÓÕäƒG Á®ýÍ N£Þg0cÀ ›‰œö|Ú<‹tô<Ès*Èó÷f˜s’Ò\óªyÍÌã,óºyÓüÅ,2ï™÷Í +³Ê¬5šu ÛÏA¶ÛM%g›¯Í7æ_àËÜkŽKÏ€Q/™«&%!Ëß>½ÑÖæö6j²­dŸêL‹f‚<›Úne›Û–¶ Xé¤þN¶3W³]lWÛÍæÛ-°=m/[h{Û>¶ÈöµÅ¶Ÿ-±ým©`ÚA83Ø-sü8dÇÑ÷DZÃìHû íþ©ÈDù¨ftst[T7j¥FéQã(+jµˆZGí¢Q^Ô-*ˆzGÅQi48ˆFE££±n¯¯íoU{Õ>µ_PÕ!‰C +U¨CƒÐ„6L +«…†¡ £Ð‡ÕÃÂaͰVxcx“:¬ŽƒKÁåàJðSpÕmsÛÝWé¾r_»¸n—ûÆív{ôwú¸þ^Ÿp´Œ–ëi¶iv%­¢¿«£ô­ ÏÜFú m )\í –*rßP…š®f¸Ï¹„ûs)àbî&ÂØ]PÇœrZµvì½>xš>røÓuI®†«m¶EÛ£TN§èSZ@³T*SÕD5SÍR³Õ$Z­&;ñu|]_Ï'ûú¾Oñ }#ŸêÓ|ºÏðù¾»ïá |cŸé³|Ÿí›úf>Ç÷ñE¾¯/öý|®oîK|OßËúÞv¼`'én[ë>t¹Ý'n[ï6èÏõz“þRoÖ[ôV½Mo×;t¥þJ­÷éýú€>¨éÃúˆ>ª¿ÕÇ óöÐu±égJ8™ësNºG˜‘æ~(¾·écŠ ÷¡f˜˜ž¦Tû™©0¡Ü-f«Ùh 7¤Ã Y¦«Í±¹pG*œ‘ ?´³wÛöÜŠïäù¼™ŽéIÉuxÝAÄ8‚ñ]¢G|ÍŒ¥†‰1ñ¾‰~ÉÿQ*2ýÔˆ~P¹¸Ë멽M©Í¡nHäK©:=©6S@ ©3-¢T•LšºRm$ér$’!ÈáG‘n3¨€ö!ç6¢.Èæ·Ð]ñq¼ÐÔx ® +)É~­§Š©Žóu•…™ËâõT›2â­ñn¼›¬Ú(^Fù8ú–jR:RüLª…ôÿe| 6?,T“Õqj@Ã襠e0-Kíà€ªG½èI³[V‚fÒ[ÈÔëãýñ1ú$P gà‹©èx9­×M9ϼIõ)ÚS! ÇÙ§hÒy.ß§Çâr|ºÎé,½‘“ÐGu§¡`›?a7v!Q_´-,FUªÓf7z+‹ü +Ä1»·¼³©"™£6v«65¦œ+ƒ‡–ç;TX•üyÉItˆoŠoŽÅ1eÒtøü{„Ϋ\ƒ8…Çõ‚ñ¦ùõç°Â‘4”T‰>öaß/Ðe•‰:X•9âÒxQ|½T£djCE4¤TEGÆ]ý”>£³ê*’ÒÓz{PÿÏÂÞ¦Q'ôÞWã·_Â]ZN«Q»°Êš Ž\ÕFª¾j”*E­FžÞƒÌÕ@?¦¿ç÷y3ÿ;¸Ó˜¸-~骇yR)¨mèk*ÍÂzQmñ¤©l¬h¾Q·ÓQoÁÃûðÿX\3¿KHœH\§QTÖ û0ôx„΀”êƒcƨ'Ôatþ²^ÁÕ¹7„æ;r?ÈSyÁۂǃÅÁ?MwøyqÒðÄÉʸ ~{¡È¢¯tjB-©5ôóÔ4ý=ú‚œ Bœš‰^ߤÅX÷:PéNÚ j<¯¼•£Fcö‡ ºÔ T9Øo¸lžñ«J§ 2;è<ÝUÒ/ æàé´KÇux?ÃÏ¢^çU¼'  ë4Gå㩱Ðn1ä'ÝWm˵S×3¯¼¾/A‰ÛƒsÇâþñ“è?•²©):‚.Ë¡Á¨w¡ÄU´‘¶T±z=º5U ÌDFÎUT7ÕÕK¡JP¥jjøÏŒWl×ÿ¾÷îlÇI|ç$ŽÛ¹œ9~Ø©…–¤Y8áØ M)IHØ9ê„ t#l£U«Fcm²K6mÓZ˜¨ØÐ„èT©:‡²9@!ª˜6@¬? +Z'QuíÆ:‚ÐF'?nß;“4ÙÓîÙwßïÇ÷}ß÷}Þ÷‘^Òå2D¾Cö’ïâÙð²]öãÜãýöWö ö8–ð,û ùœü3nÀ|ÛùñÌ}ëq¦ úUº–v`ÙFwb¤ß¤»q…ŽÐ£t‚þ•²"aÛ…9Ïìmv‰Ýæ(ãâ\#·žÛÆíåÞáÞã.swøj>É÷c&ñ¶#ˆ§|âá~¼]^uÜu:œmÎ^çsÎKNÓA´ú-ÎûÌ~âŽwÈ·ø2n½‚û¢‚ òä =æ ìiöö>¿•Ü`2Þu6Àv˜¿`)z‹í$ëéi2sž¶ÆÀ$¯ãùq“þ•ó‘Nú7²ûù5ÝÉÔa Â_ä|Ü^þ*ýèód’þ3»½æ[ÐÀ$Wøƒô=¹i)\Á]=L÷a£ßÓ: +·Œ¿è÷_ò{ÐßMt„,f—¸ƒðSè?ñ¶ó +¢Æò87Ÿn¢õäuDÜ{D‚)² ÉË ’˜Sä€×Øò-ÂÕ2h1y”\`ar‰¹!mÙHj¨´Ñ´‹t¼Ë–‚(ñ>âÁK°Žc Ž@ÝÏ™C¤q â'ÅL`;ÄI!¢¥m{Ï‹r:±ð)õâÿ9DýVr¾MdÜY“°³4c\‘)ƒø;Š¥6"÷*üØqŒ¿k‰€“ïÄ(ÿlÂ3çÏ8~Ѿn8ÄÅÐj‘y¶xõ~ ¨X^‚ó„Âóhsîó6®‘÷s;ÎpϨ'ðL< æ>HàÚu˜{ÍQxÊi‚­Œ>\£ ‘ÑÅ”‹V{ƒˆŠ¬¸þÊÔµ¹’žGDü,ÒŠ’™@Cý4mD£ÆâÅV€8¸¢hc“Í/¯íÎQCeü û  }Û“nˆ£óÃakyGs*ô"c µky^†Þà8¨ñhÚ K39­ñuYš¡iÍLóŒ‚qü&žà>ÃU3óÄòÒdƒAÊÿ‡zK^ߺNimïÖ䤞yàÛÖÎ9\^¿bF÷€"y:Üà"è©Õ +†^G·f ðÇGRJr Ó‚[ m4J Òtž¢Afw…ñ»a¦g‹ÑЬ¾¸ˆÃŽÿ¾œÓ…lKˆœ2ÄLKþv‡Ãÿg£œyÃje¾lö`NFCt.ÿØ~ŽyE:Cƒ¹ÚÚÙ­ëî9º‚•®§9¥gôžœ9Ô«È¢¢O0iú`23½ü9óøhÐH¥qý¤C›Âª¬BFÚ³*Y×­MˆòH§6N MdV¥³óQ§MȪ-¥–ÔZŒl1xâá®§.»~pB²µœ-°ùÍ9¶Ì5-#°9Gó2qZFQÆåeª-³ )Úì°7Vº( aââ¦Ôk²”œ §0vÒÓãÀs9zêMn§E#Pérð§QO‘EP@vMPÿÕx¯ñIñfãš{°iñ.¾–Ô…½ao_$ÄÁ]™MÞUy¸ƒ Ð$¶Gñ^4CPM+²Ô2O-!Õ•ª $… ªšH!ZvŠ}~ü;ñïfŸ¨~ ILp…Ê« zSSJˆK .ˆ¯,©o¼ðî…xÜ[⯧¦®_#ñü#>?|挈ÿ%uA5èòB±è– +ªÛŸP*¼`0TQåçÌÉñÈrës´N[f£ÙßñEy±\“¤¼Øo‹Ç}öGÝ'–.+ +±ózáq!%®–Ö†ÓÂ×Ä®2MÚ.lû¥Ýâ7ìÑ…aq¸ä{ÒHõá€øSïiB˜ß +LHç…sâïªÎI —Å¿ WÅ«Òmá–x»ê¶+Zƒ´Z"–“ J’Bw° <ä–»¨3èòyË‚¾=’ Ê¢ +ÍóŠeÞA/±ÎwOŽžU½T*£Tª®: w\ŽS‹\¢À|åå.W+”#ÿV lC{ToŽÖ]+)G¯©Yõ´ynx˜çˆ¼C·V|ceàÞÆ©Šÿ]5°M\wüÞ»óÝ9‰ã³Ûg_âóÙw¶Éùãâ³M0Vr‚(4JBa‘,”nj7bC!Ðe¤SKµ +***LeT‰V®Z5@¬chÒÚM+ÚÄ(êD¦Ñ´¬X«FÖU¥6{ïÛ¤ùãÿÞ½ûýÿ}üÿÏÇU¸BΡ7г…ÿ~ýˆïÕHÙWŽÜòý-òy²¡ƒØÙ¥MÑOÊoê×|×"×¢uTn +~>i"›Ã¬h ¦ñhüÕåIë†CÁëO§ŒP¡5ýü²ß÷ ¸*_×?SJŠ-Å‘.Zð5ûݲ;êÒ©%òòôc`wCä0tp—ëäÜpn,w<Çú4_ª— 9Æ'û£Þ$ECÒïñ¯Ò÷ÉGåOt&3r½¹!8DXèf@ÛAoóm†ýÛåm‘ÝÑçè½Â^ÿ„>–û0y=ù¥ü­ì]ÏÚEÁ*9QpK!]&HÔ1gTQ&ƒó:b:™F3«{^ÔãqÃD3å`„1íssX„‡±É®î4>œ\¼Ôf´þȦPç×Z`K?¥Š±v|‚[’qÔq +(LS$…ëlŽ4A¨)pÅPbtSì5Øí8Úl(—íì·ð¡ýØ‚Ü/ÀB"Q£Í«êÊYUÍ÷Twª…¢Z(.^wŽh'ã·s¨¬W¹|3´T1 V¬­à¯YG™6Ç€Um×ï2º“éP”÷Æ'xHÓaYŠŽòa$™v„üaLƒvŒót Y:¡´uŸ"3:Ú\qy5Ùü€ÖmÏ¢(A©T"JEB½íh +Àíq»ši:$eôêÞéH8ÊH)¯+n·žÂÔ‡‚ŒÏÑÍi†|÷Å¥ƒc7>«ŽéýЧ5Ò£Ãå¯>öãê3ʦ/ZyéüæÞíÅ3¬½4ѹN€§ý‹6>ÿø¹~%*‘OýDŠ)¼üÞÎ-¯Ù¦ë§=;O¹ïnNŒ¬z©BuËïýÅbG^-h,²ú“ “dRìVhÁ'\(°^KÔylq‚ør´bVM!3éÐÕìÄÌ÷ÐT( gÒNYGHaäæSWD±sæµñë£;*¯<÷á.qKí« µ·Ï8 ºÞ?4Ñæš}õ–'kúïÏî¯ýñÆTí‹§šÏœúöüw¾ ËÜM‚†3߆Üé4r'd.#óDËΖŸioðeí‚6a×z‡éaf»Ç:F1ì„Õ*‹B«TDA•B¬Á!±°Rc£hX‹LÂ+Œ¡H L '@BÕ°U'Nª "ÎÅa| +þWLEïd«ðEKK+k-³,]îbö0`8fC¢gͽæ³v$Ê1UŒ'Ñ­OùÊT_o¤°¦73œ9ž!3gʘ3eÌ™8qAEnÀ÷Êæ¢ìËò±ôô90n6(Ûù*ÁBe¶p³úµZ(TP±bo£ú‚†šYhpQ§‹ +þm‚û§ +îX¿HPà0º#Ž Ø$G3F ­‘s2û¯Î0²hÊ m{$M+Jc£óÑþÚU.Ú1³íûZgwôé»_jšðøä>rÙ#.=}Ü«_„ÛkÑ¡–P´Ö½!â $;GkeÅÃCdñYT©ýéÉ^—#º iéM¤¥4(}uÔÒôF|QÈñœ²Fv ;ÂóÃÞ‘¶ƒüAï;ü;ÞúxrGýx=Ég¾Þìpöê-j:K5{ë/fÉe¬_ø;A§(x¤PÚTפ©.0‰êÛ +cqûј‡çƒt4F6FƒV ŠþŒ‰ßL¿ŸÆé÷Ž^çA'´;W9!áäœ{œ÷œ”“Â89S÷nžÆ—9§à7F}]¾7 ìa1 ‘Íepø1aŸ?œÙ|`N‚Xƒ·$òáB +Ãy“èªtU0dÜÞ·Ùt@e8V‰FæEÚ"$Ý€lÖ.9‚€È9µ.NØB(pÆ…„5BÇA½Ò'æŒ÷ØV窚˜ccÅ2EXp1§S6ËŒäBæI»ÈeMÑ""dõ”Ûc^BÝB4èÛõA­:^<|glÅ Ýb÷£Ðæ]ÙÚ¼mzmço¬ÝòîË-ßµµ£©I ‘€ûޝ~úwoýýRíâËaìÛÒ%…Ãi凵ÁÎÜwïÿkòõ_ýà1~ž+¤#äu‚€#HË"ñKc«djS2pÖ$#šñJƒŽÍYV äEÁ)½¢¤URÈ逰¼bܼ,N¸—·zƒÖavŒfÉ{,ÐØ^v€%7±ÙY’¥ðe¬©.vêÞ7§ñ½hR3ZM[ KcÒ´DjR¯4 ‘¥%8ø)B!†Dv=&vHy]8Ï/×ÿ”¨9ñÜÏk³çŽT/h}aÞV'Æ4 .i_öÚꪦ(J{`÷¿¹®ÖØ(®+|Ï{gc{vÖû°wÖ;3»c¼^¯wÍîÚ?º£B nd°M••ZšÒ‚ !DpyaÚàªM”6)$ÀÇ©J*j#$~ðƒ?müƒ¤mT7üp«ª1Þž{©¯fλwf=ç~ßw¾#ìÚ¡×(!>^zƒ7¨vïa†4rÍ£óh`Ct}…Ni?×.iïksðº­üvëVúbÅ ºh {» w4,ë1-ª‘ ±ÑÜýUõÊTQÁI®À.:GïØé@+R£?È)h¸\n.In>ëæIsŸÓ·Ÿ}Å +†™1×ð¸hY<0‘DÌ…/m½c%\oZËÎêû¾ø4;húUVžÇv i²´öØ·~õêNxE\ž6Ûµ}ÂwhM¦ ö–® DýÕÍ/(}Rú £¬íMS +(gëpþ %Ba MùÚ}|oÒi‰Š>ÃPÐɹuC†Ãº!0o«Ž†kFŠ(5£ZQ Ìâ[vÕš+àv¹€†kŠK ¬Q”¯W“3²- ò\iþ†×‹¢=WZ¼Á5³\ÆÏ%¸—+äíh ¸˜OЄ¯š=¯ën`ð¬\" &nv«QÓ°ý­ÕÌÇYnñ@Ø%™öqü)k$äÞ 'Wº ¢X`…üD¹‹ÉûDϰÝàRj”ˆ¥ô“Êù¦²›¼¤T~ —àÜT>‚ÿ‚ò9¦ ÛÈxÆ{^DcHKß­S +”Ö@E%îo³A lÕbÙg!ÌÃl…ìcÃGv•b)Å¢²ˇs3 ó`%üçfµEm¯EVÛ˜g¯·‘¢ Ãs|¬ð% #ÙìsBñ†=B·jnNãÌ`<_:®ïÏ,7¤‡âÎîÎHgyß’(TŽ6šfN›øâTÙº¥ß­^ W×7ù\„’!å;9 $G©=±m09ÄO œ¨¿»›zã¿MÑP4Ø<\à2ëÍ dvÓÝñCpˆîîÕöÌ)8©½™º —Í÷ê?H•â~‡v~?¾æñ·á7ôøÕÔïS2Ÿ§J© +… –* Ø«´t4wdÆâßI»TUÁ Wé1ÂÅ®R¢aUÙ´ÉŒÇ +Ø¢Bü +ըؘx›[– ûwÑvlGEaZ¼ R‘„¯¨¹9ø‰]µ¶!Q)v¸è´ŠÎš‘á< öúþ<ѯê´_¿ Sý¦Ü +6ÖέBkÎÉÀÉóàäà4~ŽT?ŸôsþûÏå·¿5äÿðÌ”L,b{‘dÝEz¥»H³î‚p°2È.,ÈXåŠéäSœ¨©•NV6‡’ˆ`P¬Z0ï{“'åòÃwZ2!¬jª¥.5S±tZêðÔl4eI,žÑÖf`ã0 +7±âA9‚ÍÒüŒd²j¦Új@¢ÎVsHâðÉMÙÊÈUBXÁÞ6(&“ºŽ˜Q¿æK€[m2x!BmüÚgÍB´|çòÙå|V«¨“Õú¾üÓ[«ÿ|tÿ̯/Chtj÷R·OuýáîùcØy¤Ëû'£(díÑ}Â.6*\zùð\ýò¡×†%ú\¤ñ‚óüöí?'“wä‡÷Y¡ Û»=êT–*­ hQk²pÑ5딤r˜ξFN{Nç%Ð!& e.µ¯¼Ï±^[oôuØ…S§»RÔˆÑ ›Ü½žÞü¦¶žŽÞî!ÏÏ ×q÷qOÕ–À±F +tÔ™%¹®æD*w ÂD"Réö¬Ë’<–ÄÞ½¶#/K›%jãiT4öKeRWˆIZÂcõ‡FB»CB:t»©W£Ø…ágºì.Н½'5‰î>y›^°½ežæÛ)Hš$[!I¹&~ wÀ±5{ v8â±Ò"fÔœ4§Í2Û|bÒIL™-2oÑ"?25jùç`‡]N[-¢]iiÈñIQEx"ÂfÄž¯ô|Ÿ³KÃDòëÌ/bfuûÎ6üü»ˆ¥bñé㢼0^X˜xŠÜôZlM2™¾î`˜š$Tÿm ¸Wl»¸ãÜïTcå¾¶öÖvêp9ÝNêÐ Í Ž¼ÇÒˆ7âS‰â«ŠV¨`Ä:Ë-•´;säsE•U¨4ðÔáèR WFO<1#ÚØØøCÆS'ã0>AŠ=Ã3+L oo´à›""çgdf+­6 ßU‰…yÛã±BšÇ +â¡2´×z,7ne[‹nŒnŒ.Œ®çUfõKÌ6Ó!2š3kÛÚ¶Bb‡?X½2×ÊZÔ`ÀÏû ÖùW$ïA£ŒStÃã­Ý#‡êých `ÖÓt½™¾vþà7:UŬ’%מ±–øYSÿºÁö¾ãßóÖ}©§eÝÁø©1Ãhêh^›K N'¢_MžXþã±Îj±¢«ý캟B±«¦iÔúÚsz/” ‘ù:ükÆY«Ü§µ.Ã.ÃÎ_GÀ¬r‰£ú”qóMFz=‚l½á«¦[qð§Y¦‘é‰ÔK w€‘ñ>ªkøºcØÛ˜Ê‘XOE±5X1TNUß–²òÇq8<¬Š;Ê÷—O’IýFø®ö@›'Ÿ”»Ú` †¶ª#±ÑШº?4¡N)¯û¦½Ó¡w°Ü]½ Â=ñ^ÍßÕÏ´E9èFeH9=­MÆžÄD¯”扆G7›D#OFÖam7%º¬kÜxïѧ±D]Ó™ÿž×ŸèúXäã*¨º0]bäTW}lS׿÷=û}ùåù>=Ô~6qlƒ[;°$ø•´~4 Ú¬@ÚÀJºz‰iÿlJìvS'V‘ª«¢L¤«&m0 º²ibÒ @Ø4Íë›:"EZÕA%cU;ÆÒeðG éιN&Å÷ž{}Ÿß½÷œóûýÊ‹ƒ[ 8pH_梭ÓíúA]ÐËŒëÜ2F¦È4i’kDÅ >þJ\ˆÓ#qŸ¥ºX”(‘˜”–:%WòJ}«úÎ ¯µ¸­QߺPkÔïÕkï× oá« užvïZ9äjƒÉ=Éç“âëIÈ¥údQ¥R¡¨¹/¸€!¸ ‹: ˆÙ3AÇË’S⢺y‚µ‚•‡†hBùµJèî"Pz…14ó\ö`¤†Zq)öw\zåG§tfâkÜ2}ííî}ä©7&wo[ßEŸ;ý;*]½Dƒ[så\øvª÷Ç>é+}Nÿ$D× 8MB$)¾´[% +ÝÑE Þ<¼Œp§K( ! Ø+,4\µ/!¾D‡)!J’|Zæ±ëdÏì§ïò'Àxû,Æ¢g­Ïǯ¹‚W¼Ð×j<*¯›å¹&fë^“áqrœ'®Ô,|­7*\e6™œ–§e‘€ ä‘¿çù±ç¤GÄWÉp4$¿\[›´3²SpN4á´~‰Ÿ:#‚S†a§L¾`©&·ææç`¯µóµZqß+ìÈ+áÆÃÑZl„Œ„Þ½±ôH8È6îJëëïRlL(ž*ºøôàšRWBŠ©»‚_Ž [ÏF¿—©¨J²ªèÞðÒ¤ð]iBÿ{5ù¦ðóèéà;Âeÿ{ì–ð_1‘G”18ݤú[ùþEpAnû¶ ª¿„’û{ÔÍÂu»½CØ¡îÂdp2öÃà1õ˜6«œV§µß  +×ô[ZH™—)‘çe¡Ž=Þ +ÇiY’_ò„Hg$Œ[ ‚’ï _ {ÂáÄŸ<Ôƒ2>äxŒƒØ]r8xÇÏ%(zD¾¨D + Ç¡£‘ý‘ƒ1r+Wh§2¥ÊAåª"2ÅUà$Ê´rM‘”ãFØC&1®ÄÝ@§á†H f¤ qÑ îD…»4úR}_hIM »­÷ê½ ¨ Š#¶ŒÆ0-Rņ .V «öBžB¢BBÒ©TH½FûvÍH*½ú§A.\3Êð6_»£»9mðQ0? ŽÜê$ì­Q¢õÝòHk´ÖHå#×P0ÈÍXÚtÚÒ¼à¡ÅÏðÑÐÐPP²PJ®·–ó=€ùÞ‘\‡d—Þ£{÷N<ûêCvøíüäæ¿Ïºpo‚þÌËb{z_6\|á…=/†&ÿJéå›Tþãñ‡we+îËÀ&!Ý{€¬³œÝÅ8çoÓ<±MÞRÞ ÌÛlsàÜœDÃ-â¹LO¾dÓŒ‚ÓrOFÒuhKÒM)‚Y l}‡?Æ­\ÆG\{‚±äò"·Ä¨i{ršï(ðÁ\áWâu’#Ýâu7Ðãªð =ëI.¦ó­é³âõ3ªŽëT0Oh"ÇB±\®^).€Üi6!O¡2mÉKÌÛbó;ÿÅâÚN²Rd&Üs~Çv„€Ä(ü¿®~_›òMé‡ý‡ÌÃCö甦91'>̆Íaû«lÔµ êÍÔ‚-Œ«/Ä þ ÿ‚ù¯€R5«Ñª]IWÍþ†öu¿RÖ°tG:Wvó™f;éÓlGÚÓΞ¡Ïø?`·™÷ óqû-õ-íoš×R#ÌNÚöç…Çü’ÏôÛâzÒŸ2liPÜ ¼;Äv˜;‚RÌŸL¦ìAÁ³ …åž(B]š2QËwÃ}K§ú>(I5)–×uxuFÀh¸ô¸îcq§Àøø,Â\©äTZ0÷œ#p¡sµ¹ZõÊ^'d \ÙNæ§‚YÌŽ§b¥Õ©|~•&¨)-³:•Ë·÷äË»S=›H™ø‚ŒeÓv(M…´íg¬“ +!J`Ž´¤ž¼à׋jë ±fé?Ý'£úEŸO“ Ðc±¨æëÔÇuaQ§óú5]Ó›ÈÞ–uꌸíP'“-‘l¹LJ¬4]j–æKÞ/M•„ÒHÅ™¥/žÊü¤pqÛ­z£Ö»•A…¹5î  Ù(q_õɪ½1<2h] ÖÛËëO +Ð eÙ ° Ên/Ü¥·—ËQÞNàwçeyî§Ñ¨#¹7hÿP´C¤M(à«Ú…€Cá“t!ð +~G@lð9>ìLÇßêÔV‡eÈ ÓY®F—uªb¨+Í|w&,I²Œ <Åâ´¦óuª£u|Ù…¸!ç;èöýº’ÉÑOmãÍ›»Wufc.õå…¥c¥­K¥ÍíaŸßHÇÃkLʼîÖßÙÐõPRH§…Ò†ËKÞ—)Z6KÃAësô+KóC•(ÍfMŸ•yJ|ìÈ–„Ù>Hó”©~@š0}­…4çˆõé7‰™Ò%*SŽ”cå˜Aá¬ÿ™AØã38Æõ™V²ƒT@Àã/§ñÝûk>2 @ø‚!Ž Ud‚°ü¹°œüsE,-ϳ P[®è‡|0€9 +a„Ç‘)§Ê“·&ñM-òdÑ[àÅEž,ºnE–“_o…Áü(&ÎNYMkÑ-¤øêæ.ì݇ ]Ô:Ù¶·gÀ¢®5`XcÖ”uÊúê”Ü¿Š®NIùöP¾mc0Ú[’%Ðl›¾ü3­¢´{C×”Nt:¢éSúQ}Q÷ê'#'ߌ¡¨Cærƒ¸®ö¶Â´ˆ ÒÑŽ6@Eòc£çþÈØëÚ²T­–â†Ljz|²ñ‹•d6ïÝ)º‡·Ä¸|Û¾= 5Hž^шk\ô›d[fž{4µ©É=lò±É=lÚ+`¯P¹&zÖ!WØœ7`ö®ëã Ó¢‘A”äÀÏÆöüh~^Ìä¨.ʤ:ήÞ#X}ìë‹àôó÷9½.ÏŽªûUA…ˆJ°SîvÓƒnÆ=~<ƒc£ŽÆYüζ׬þÝUÛÄyÆß÷Î>ŸÏ‰}¾;?rŽ?.ö™$s¾ê §$ | dšÖ@ÒÖ‚ZèÚ5¬•~¬ 1VÖJÐI›6Ö°-]U5 6þYÚHÓà/Ĥ†ª“Ha:˜ã=Ïk²V³õ»÷¹{¿ž÷žß=K¼#8p5ÏX(`ê÷]ƒ3Å·¬]m|´wÑZÕ’ì ½É”¨ûƒVæÌîA-óØâša3œL&ýr»‰Ž]ñ$_´Ê?¸å¶‹$LË5¾¤¢EÌ-¢á] A´|ƒO¥v•‰*#:]ùœ‘EEÖ Y@¸Sd™Šês¿f›¦á_ +‘¶<7Û¶p¹fÿë3òŸ AÃ?°|(Ѐ&ô³«o‰Æl½.„0¿anaŸ‹ºÁ”à2ÜA!šsCùˆ¥¬ˆi»nÍ‚Eáƒë“nUy8k±f溵ÔmwTË^”\†+èN¦°juIY쑪±‡E#Cg‘HgîI—𙮈bÚ`Ì3|`i£'Qзb +Œ{Šb¦kÜóâ.2F,v™A"ö ™_ÊjØ.jî„Õ0wšûÌ)ÓÖéêiúª1Ô4dØuQÝþ,ßK™ ѤýŽ˜8`¸RQqšU‰¤RºáyÜ’Kr¹âÆ4ýVÑM¦(õÐ}ô ýÚè4÷^1¥„ô¤¢lR«Ü$\¦TIgÔh¤K_zþ}”v@?`æm ÕÜM^@Íx¹•‡Šr8âñF˜;& ½N^wþX?e½Kæ:o + §S´¬\6+Q‘‹Q5¤ÅT’ËLj"ycJZ4BºÞž•4³¬¤SÔàÍÁ”¬î´IbÚäÅ„ª(”ÁÄÔÈ Úšm‰BÔÓè¡i*ïIô†tGâvJû¤Û/=×çÜèuòÎ瀮îbÔºê1¨Ç8‘ûµÑmËõå¸\¨£ó—ñŸ?Ï +‡Òþõó¥ñùò]ðw¥ñò†ÁÝ“¾õåy«J?…Ú@J„j©€5´}ƒ„U_¾:dq¹¸¼š˜Y@K`¥÷%šŸPUÌà!WS{ÁAI»:!l?{hÚÄ=ï[¶,~cÖë›-šMµ¡Å—»ßÞüµážöx¡EŠ­Nö/þÞÉþdÊŒšƒ‹yz/Ó¢8]©”-w÷ýçÉ#/ä²~OïÈî7M­‰¹ØKˆ½avìžúÒ¨gùg`p‚¿Ÿ~½„í/üëøýåWd"ºáÖ ãqÀ_$ÛerÿÀ½2{²ô׸E(ÐJ\çÈìÓ{Tí@dÆAr¯£fŸ:\u°÷ŽÁz¸ï)À»€ €(Žuý0>z|9ƒÜD~ 7ÿOŒ³hÇ x7ȱê7ó3î ò"@äBŽÖ…±ì{A;¢Îø-àÚÈ-äL½…þt÷·ðœÈ©%mžc{³o¹µ¤Í ÷±å‹ì n†¬@ÎVßu½ý/÷åÜUqÅñsï@‰ !> +É/1LcB + D¢<*DK™i3(–‡£mEê `eªÔ¶!3F`Ê„ +£<Ût(£mB[ -J[ž¥¶§”Ç€Éoû={ïþ¸Ü$„PúO3Ÿ9wßç·{öœ³Z‡ +¾|'Œ4úðýÔwRÔP?Þ;>w#Í^ÄåZŠ¢íAç •ÃhªØûŸï‰÷bêõüLþŽÛËÈŽ4Ñœ%ßÝ5!YËDZ­o`¾&ìe–l¦5Z¶Úƒe«å8›Ô§Î&ûYó”a¬&¯%lëiýõ`p6Ñ\|ÿÝiUJ¶ÒjŽ‘Xùà#Qÿ6xÜ•kÕ&ÔX»"S(vs§Œî•ÈDåÍúÞEQ?sçÉ*Æ8a5ÑJ1…Ö»›èÑŠsÄZözžáù!çÇí(lsmIKc¯H¾‰Fê;U¤þ¬ïU‘ú‹¾“E*æIºŸcûgHûæ¾Æ^ãvùe‰sû ÙiÀ>‹1.9l—aéÇ–DsO1æŽ5üÿµ¬Ö÷Iû9´½mú‡e||í²Ô'Ú7Óts¯Á0Eûû¾ÆysìX¥f¸O©bœšÿ¹Ã]yFmµ³Õ[ñ˜¥ß—¥™XÊûä4Ó€xÒߟE9žÊˆá^í§ãçIºÍ9£}[Ö—ï!ßÁ<ø½lÄñóê’L¡ÇÅJ"{Éõ°‘IÜ&èfq>w-õj¿xEû  +£GD.î0ÆbÏnslà”SÆžû@rëïJØ'û‚J”qVÆ/óÙ»—(d;§©ÿ9ê4èÿÕ~¼–2yôØEˆ+˜+’K)Ò¦\¿OT™‡|Aï|``/üØ\Êsº_Ñ6›¤Ç W—R¨ˆq6P!Öêµ*龄"ÊrªÕiW¤Ðx±—òE%ÝŽï4m÷Ë£r/+8b°Íd¯¬cµ–ꢎ÷Kt<ïãäÑTOp›Kݺ›‘h›MCÅÌóìê¾7+¥óƒ?Q_^õcüü„ó[ß—ßaÜ4”ïë ã ëS{ÛG·sLŒ¬Çö¦D¤‘œGrÞXRPæÔñû^öëxÒd¤jn³'Óa\™-Dª†ó@ñ1Íoàü¶Ð 1ñ{bc1bø8ìÕoišhÁ÷`Ô׃ÅÈýR’L¢9â(ú m>Æ5cŽõhg^À˜C›©D|H_MÈŽrŽ@ƒä"È™ œF[?¥û"Õ¸…ˆÉÅê5=?³P=ªY¸yÔë£u5t¦óÓÈí:ÑWëÔ“uìD?žƒçÕãÐGJJÂ>QOÆ&Ù«hXkŒ¾ÑÓÖFÕˆ}¢2X–#¬oƒ»åÚ –â{ä/Á¯Luà° sï†Üêâ©ÀØ£`Ϩ«µàצ-¯ÓY}§¿j¼¢¼±XgU#î/—R!Ö+”%ª‘Ÿ"†w ¥FSªÈFý@Œ •þðsÛ)SºÐNW¿üÀ>–]˼Vøîr|¾Qó]+8ß%`¦Öá4ü±¶!ºÉ: AV[·Á—”‡¢ÜÏì§9'Ôÿ@ׇζB¼çáúp9|®Ý•í­4+ˆ±ƒ¸=¬¦RFŽD.'|@¥Œ»m{:–åOºa:r”:Ö 6˜Ý±ìN lÆÎ„®i<wÄËûàW÷Õã/ß]ÆÞ†X âí#àóA`_ y_E×nÎÇœKø| _™lӑ϶P>äÃ_62xgÃ6®3¾¤³>¡»‘ßÕœÿOàî|ö‚_ý¯×²¶ +’ÎQ‹©Âœ³šSÛCÔ– +Ùq7¯ qµý#|?rñ½uµ+ ájÚb¨Wˆ#²^¦!'Z0Gl¾7¶ý~¼Òq•c¢ùޤ«¿aoðcù²ÄüçpNÀúaÜ »H}5¸®YƒXú-Œý9Œå]å6vƒÚ¹Öy±^Å:ä Õ°«Ä\#C±ûüöyï©ÞÛ¥T%rh²Žé«9fäëîïqX³lòÔUr!› ¿”y8³ÿ_ý‘SáL—@ß³b>ü…·?º¯[Cåî{`?ödüÿfJu†QªûMËñŸŸé¨?ˆèg`7Ø.0VÆùêJF‡ÁX–yaPÏ2ƯO ƒz–£Â ~T'ztÕ¯+=ºªÏ +ƒú¬ GWóf„A}ÆUô« +ƒúªèÑÕ>g†A}æUôõãÃzÀ?ý¼‹wéiÈÃðã¯zuŠß¶ˆ.±øÆûBÍõˇý~+.Ã?õ(˜éS³Ðo^u +à-¢&]&¶¼è1ë¨À×ü\¡Å{Ç[[ë篩Ç]w‡Ê·€íÞzzmÖ¿2Ôù}vþ‡ýr®ª¸ãøï<ï½!!!@ ¯<HH 0´k/[‘§”„âT-ŒAÛja¥L‡R¤ŒÖ2Ôiµ2cŠÅi-2>ª”A[ +÷ôûûíž›“Ë%™VgÚ?6™ÏýývϾΞÝß~W÷ûšwò)ØTùKï«w”z¯µ8`žâ~pÌ1ÐÜrçÁoà÷ý#xT =RÍKòàD{\ ãn>MwÎÊÙØ3V¬¬û%‰¹„³.+rVµ"æÀ™Têl «Üï#~mA\;NYn+‘{¨ÄïS8/*Q~bÅc(? iàÝ€˜¹åŸB{ùX‡ñ¼1}Hq“Ï]‰³õˆ»õ4˜Ï0¤ËäLE¼M̃~é}r;êÝBE±W©Ü[JU(Cî+DñFŒaUÅ*)ß{˜®JìÆù}/4½M œ›ä}ˆ|›ú‡ïä?@µîOhThã¯Cïà¼ñûRâô¸ÄK4ÑÇØ1g_Nõ­µ–½‡Š¿Ðë\¬|æ–ñxY£9¯Ã®d½œ÷r_LÅO%ÆSˆ¶Êœ¿R±#ΔíÁ~¾HÕñ1TæO£j<¿IÎÝ'ëg-ÊÍEùcÐ#‚ ®yˆaçPVhYo„sÀ} Ïjoå;IÑ,WóØR6lctMÆ:‘N¤ëšPGE4ë¤ÉaáûˆÅù¾ÄvÔi´ÓFý¼]ˆ'¬£Ò­“ʼ¹ø~ZÏú­ ,¥…Þ©ÙÝ„³|5Ç i]Êf}†3Vúã3Ú{:ÿ(eãÛ°&Sí‘`˜fUÈÿ=Ø£cÇ •/{y—6ëü;Á}`‰zÎÏ‚µÊ¿tZµ/ÏîSå/í…ÿ(‘e³U$ÿ¢¥QйåõñY›Òõüþ]ÙtýyE‹=Œ5ÒÑÃJOvaQ:.ø›Ò³¢SCÝÁ¢Ÿ!¢íÄ'µýPççòZãX‘nÛuõ•ìõ«ÒÀzŸ¥ö[º¾N³)}ÙνLw°¸ÓétºnïÄæëy‹»E?Ö ¡¹¬•#¶g‡ûSºåo2*R:k ã)p‡ÑÍÁëŽñ›·3 õýexCA¬®#¸3të '&/ÉŒÜ „àÇš@sŒA %Æs2#ß>áûÄÎijÎÙàBgÈX+ÚáûGgøˆLì3M[GÂyç1œ—ð½Ãñ†ý‡í~Þïøy¿ËõÞ= +öä{à]m ˜Lãæ5è÷ÿÍÂû¹\S€5s¼ >Õ8ná¹ó+¬ãXw‘:—­ƒ$Ý*„ß{Q4"ylú|”ës,”x¸:ãüÆø®PtþpÔùDîG¬½ÞsO«s c_ü(ôŠŠ9¶ÄIöxûKZ¨õÞ!­ý~Š}^Åz ÏsU¼£±sìo#F¸žÂ½m­×¼­Ù¤µßTMoÔÛû\§ú¬Zê×¢¿{Áv­·¯Öi|Aå§Ævc$1Ø#Ï œW¨Ê9†5>g9p¾ Ðo=‡ú¸Ó‘~ÚJéjÙ ÇP¶u¦€Ñ×;kÚ÷¶³“ª½A @¹“Q> Z°6TœÍá8É}á]ƹM”ëL„þâ3 +ýpn-ò ‹œ¹X¯S±. +ñÞÌr¼ûY…³¬£"ëipþ.äŸÃü΀ÿ"x@ÚûÀàO€ýv;Ê@Û5H3"¯öð-£°N+ìŰM°èË9 Û¦‚lm§ªzÖ#°ÛÀ +]n6yöc` übØJØçÁò¸=ëwºüìH™ÛÛËxÐìY i<öÔøØmX— Á~ë$Õ¹³©¾iŽº?$¨{‹è(¾c4­HÿÚ~‘æ0Ë$as°ß)Úz>Íq×Q£{÷¾Ðw;åz£q®~LÞP*u¤2´s˜Ì`ýüß­Ñi¡˜õ,ÆÁ¿…z'Þ@ …ÊÂþ ÐÚ»¬Õ¢òÄgõ¶[)2Þg¡Æõ Èö‡AGV‹vÊãg¨s?ëÑØ8óå|G_Ón ÆÅ÷GÞ ‡°^²Pg‚Þ¿ð>e¼®´\ +öÚˉï£ì¾Á~{ߤîmêN¬Q÷Û`ÚÝâ½LµŒõ`#Iïg¾è´{?î#A=üúËÓø–Ã5¾«¿ž®gܯ 3zr3×Uß¹«´ßDåŒ=}ôÍ^K½b«q¯äºE]§í—÷¬µòËÓx§qLê½»Jçà[‚p­¥Öó•ÞŸ‚g%îî¢^ÃE«ñ·ß`°ŽŠ£®µZ½½ûõ jðK©bßPuö#Vrìš8ͯÛkrJ,ïÁ1=ÒöyÖ­²>5Ç %ÆAûál”{k|­5n`Ÿã¬ì§‡p?ÄÖà;b‘'q…™¢cÐn&Øi—"o½Ä¢ÞÖ]°Ó…¾Öw±štŒªÀ»<©ã϶`‡Ä— :F=2ˆ‹ÖÏ‚õ:VãL*²7ƒ™: ƒeZA Ì{$¹A¬„= çRŽ“Üî ÔƒÏzŸ÷-Κ:Þƒ˜“™]i%œÿ‡µ&9¬u‚Ø®4a¤Þ™Lå±ÖgºG°Nª¡pcÍï¦þá ߬‚Ïko«Ä𱩻ˆÖøò}p×c+çøv¬cÄ”ô;kS γ1Þ2Êçs ót¼±s³Õ뙌³”ÛÖw°*Ø,Ö <}oè¹ï…÷8¹g8©Ág œ—[iÚ ¦„Þäy“;xyÏÐ5¬eØj½p+ìG°¹°ð½öø'üîÊ¿ô–¾ÃMÝ…^&èŒäzïMäÄ]é"õó7ñ}kâSºÆúMgPçisù¾üשxO«ÿ¿°“Ѐ¡·(­Šn‹Ùßi'g»"÷xGòïùï)X¥(ü­¢ÿ ™)íO4ð\fÊ+ÊqzU ìÈÐ? ƒÁ`0 ƒÁ`0 ƒÁ`0 ƒÁ`0 ƒÁ`0 ƒÁ`0 †ÿ1QÎ,ú„ê芑Myt-Í"òËÜÈCš¨Ö~¿ñßò˾EE’bߦîôˆöZAµïFÊxTHïjß§V\û1:bUh?N5hIù ZgÓ~޽Ù^Ã#•¿‘^¡ö-Êõ¦hߦ˜÷Uí;4Ê»Cûn¤ŒGÙÞCÚ÷©‡·Eû1Zä=¯ý8zÅÚOP£ßKû9Öÿf´l¹úÊŽíŸg(/¶O|_ò!¾Ìdì-ñãâŸ?¡çPùj•¯æPùj•ïFʨ9T¾šCå«9T¾šCå«9T¾šCö³"ãï&cûXüìH~wñ/ŠŸÇc‹«¾zÂψß+R¾7·,~A$¿Ô½Nü~Rf¼ø"eŠ#þ )?Kü +ñç‹_%þ +öã‘ñÇ#}eGò³ÃwyŽJh8f¤†®ƒ×L‹iìj£V°Š¾IË%§©ðùwò—H‰jJ6ãù2É-¡©°wK©6äÍCK\~Ý…–æ¡Nzÿµ]Ô.I«_‹Ê}¯Ôã,¡‘A ~Kh0Z_Bwàiž·ÑBô2$Ò¾j½½íi45š»Áy2¬’9š2Ëd4K‘ÇýüçóË­¶J‹ª^ RKâý7ãÕEµ…Ïÿ'6P¤‡®"E•P„€tÜìNÈ@²³ÎÎ&FDQŠ]l€@@*Eé6Š H±÷F‘wænæ½ïí÷e6wNÿï¹çþki^¾Ñµ #Gõm#ãÁ2¾³ –Öê*2Q“—c´ÓJÉ £ø¿Ž&‡|{¨®»kîY³@Ú°8rTѶÕ*Yg¼6Ð7}Œ¾_˜MºÁ!@$ÈÂ’&ÒRšißõ3™Y§ÀOÂôL²Þ$žYÆ£oê Ö1SS®A¡‡Lc[„Q'E)]»2ië•ÄÌžG4JØxLb›ob…õYzÜä:Ð k½ SEÄèºúŒyÌô]Añ.$c9…Â…¾’ÕgÆúWå®A³Àô§£ýh™îÉ,ŽUZ^ÑùþÿQ:á=R¼Ïžéd—„‹{°ôêOôåÉyµ.API²ßÄ+êîÀ²Öˆ¾É7•»æÄ”^iéÐI¨Ú…]~j¯¨úª—0–A¶yÅ›ôhæ¨ÆÿÜ£9VÓÆ¯²2²m««uý‚˜m]ëz1× ùŽM³ÚçäX=¡Ù~ÜêiÇm/ÏŽ¤e8¹vÜêfç[=ÝÜP´§=4‘òŠì["¶ +å­úØ^\}Z-Ò·°êtužw³üºF_Õv^]3NuàÄ­å{¡ˆò†[nÖÍ×r¢–¯²ÞQÇ·#V/?ä«§P4ÒÈõ,W%žvQßsìxZ±ƒŒàÑÑ å;Ñ¡V÷¬,'l[ ãhŽ] q<'îFX}œ°¯nÒC^ÄŽúV“–ÍšösVn¨ÀJÄm«yf¹* Å­˜íå:~CfɨSïôö*õÌ"湑DزÍÏvÂÙ%lõÛ‰†s5õ]+âÄc9@KP+Gª¥áÓ,«(¸Í)°ê8u-;73°:á+Z¤]jJF=ÔìÙq…$ X"¼Á²ÐWk“AG£øvn·çhÔˆ›ÍqC%ƒjÒ¡dª +v1ênÂ%|+bçàªN¶;¥"½m\sšCæœè9F9íÓaÚ©ß›^$+šÊ‘ä´M™œ²8eMÊ:ý[‘²2e^ ?¶S¼Þ««’1ì“<%'wIyT +R/Im’Ú%µsj}¶<ÉSTí»©^ž9ÑÉ;&‹0M‰j0gÚ«¦Wx… ÖÏñª[ÊG™wÀb©œ%UÙÝéÊäÎTÖVFÊÊÙRNyܹÊÇËK©(çK%©,U”V• å"¹Xª)3¬®g»†Ô”Kå2©%—KmJu¥žÔ×[ª¡ÎâFÊ +šèMÔLš+;¸B®TÔRùCkåûmäi+í4ãz?wÔ›å:é,×Ë r£tÑ;¦«ÖÙ]ùÁMÊzéýÙ[o½›¥¯Îöþ2@Ê ,Cä­2SçK0‹² Crtï†+R¹˜Üj˜Š¯˜äé4¼M'ãí2Bî‘r§Ü%£än¹GFË+ãä^åÀ÷Ëò <$Ë#2^•ÇäqyBž” 2”§äi™Œ™ª¿WžEªÍ²E¶Ê6ùH>–í²C¹÷§8K>—²K¾Ý²G;bŸ|)_É×ò|+ßiÇþ ?ÊOò³ü"¿Êo(ƒ²8[öË9(‡ä°‘¿ä¨ü-Çä9A9œƒsqÊ£*â|TBeTÁ¨Š q.F5\‚ê°P5q).C-\ŽÚ¨ƒº¨‡úh€†HC#4F4E34G \+qZ¢Zãj´Á5h‹vh¸Ñ ס3®Ç ¸]Ž®è†îè›Ð½Þ胛ÑýÐ0ƒ0Cp BÈDØÈÂPdÃÁ0 Gr…‹n…‡8|$‡|܆ÜŽ¸#q'îÂ(Ü{0c0ãp/îÃýxâ!<ŒG0â1<Ž'ð$&`"&á)<ɘ‚©xÏâ9Á§ø Ÿc'vá ìÆìÅ>|‰¯ð5¾Á·øßãüˆŸð3~Á¯ø ¿ãü‰ý8€ƒ8„Ã8‚¿pãþÁq +A2…©<§ó žÉ³X†ey6ËñžËóXžX‘ç³+³ +/`U^(Ïñ"^Ìj¼„Õi±kòR^ÆZ¼œµY‡ueë±>°!ÓØˆÙ„MÙŒÍÙ‚WðJ^Å–lÅÖ¼šmx Û²Û³¯eGvâuìÌëyod¦³+»±;{ð&öd/f°7ûðföe?öçä æÞÂ3f„6³8”Ùt8ŒÃ™Ã\Fé2Æ[é1NŸ æ1Ÿ·±€·sïàHÞÉ»8ŠwóŽæŽå8ÞËûx?àƒ|ˆóŽç£|Œó >É œÈI2…OñiýÍ:…Sù Ÿås|žÓ83øgrgóEÎá\¾ÄyœÏ\ÈE\Ì—¹„K¹ŒËù +_å +®ä*®æ®å:¾Æ×ùßä[\Ï ÜÈM|›ïð]¾Ç÷ù7s ·òCnãGü˜Û¹ƒŸðS~ÆÏ¹“»øws÷r¿äWüšßð[~ÇïùäOü™¿ðWþÆßùÿä~àAâaá_<Ê¿yŒÿð?Öƒ¶ЗÜØFcÛ¶ÓØ¶mÛ6ÛvƒÆ¶mÛÆ¼5_±÷!B #€P0‹pˆˆHˆŒ(ˆŠhˆŽˆ‰Xˆ8ˆ‹xˆ¿ ‘‰‘I‘ É‘)‘ +©‘i‘é‘‘ ™‘Y‘ Ù‘9‘ ¹‘y‘ùQQ…QEQ ÅQ%Q +¥ñ7Ê ,Ê¡<* "*¡2ª *ª¡:j &j¡6ê .ê¡> !¡1š )š¡9ZíFK´Bk´A[´C{t@GtBgtAWtCwô@OôBoôA_ôC À@ Â` ÁP ÃpŒÀHŒÂhŒÁXŒÃxLÀDLÂdLÁTLÃtÌÀÌ`åga6æ`.æa>`!a1–`)–a9V`%Va5Ö`-Öa}ð6b6c ¶b¶ÿ;±+ø{‚§°û°p‡pGpÇp'p§pgpçpp—pWp×p7p·pwp÷pððOðÏð/ð¯ðoðïððŸð_ðßð?ð¿ðÄ IÍC14Ã0,Ã1<#0"#12£0*£1:c0&c16ã0.ã1~ðH0!11“0)“19S0%S15Ó0-Ó1=30cðZ23 ³2³3s2s3ó?&? ° ±0‹°(‹±xðnJ²K§ ˲˳+²+³ +«²«³k²k³ë²ë³²³ ›²›³[²[³ Û²Û³;²;³ »²»³{²{³û²ûsrs‡r‡sGrGs ÇrÇs'r's +§r§sgòÎâlÎá\Îã|.àB.âb.áR.ãr®àJ®âj®áZ®ãznàFnâfnáVnãvîà¿ÜÉ]ÜÍ=ü{¹ûy€yˆ‡y„GyŒÇy‚'yЧy†gyŽçyy‰—y…Wy×yƒ7y‹·y‡wy÷ù€ùˆù„OùŒÏù‚/ùНù†oùŽïùù‰Ÿù…_ùßùƒ?ù‹¿ùGA +¡‚(É +(”B+ŒÂ*œÂ+‚"*’"+Š¢*š¢+†b*–b+Žâ*žâë/%PB%Rb%QR%Sr¥PJ¥Rj¥QZ¥SzePFeRfeQVeSvåPNåRnåQ^åS~PARaQQSq•PI•Riý­2*«r*¯ +ª¨Jª¬*ªªjª®ª©Zª­:ª«zª¯j¨Fj¬&jªfj®j©Vj­6j«vj¯ê¨Nê¬.êªnê®ê©^ê­>ê«~ꯨA¬!ªa®©Q­1«q¯ š¨Iš¬)šªiš®š©4K³5Gs5Oóµ@ µH‹µDKµL˵B+µJ«µFkµNëµAµI›µE[µMÛµCÿj§vi·öè?íÕ>í×Ô!ÖÕ1× Ô)ÖÕ9×]Ô%]Ö]Õ5]× ÝÔ-ÝÖÝÕ=Ý×=Ô#=Ö=Õ3=× ½Ô+½Ö½Õ;½×}Ô'}Ö}Õ7}×ýÔ/ýÖ9„C¦e;àPí0ëpïŽèHŽì(ŽêhŽîŽéXŽí8ŽëxŽï¿œÀ ȉÄIÌÉÂ)Ê©ÆiÎéÁÉ™ÅYÍÙÃ9˹ÇyÏù]À]È…]ÄE]ÌÅ]Â%]Ê¥ý·Ë¸¬Ë¹¼+¸¢+¹²«¸ª«¹ºk¸¦k¹¶ë¸®ë¹¾¸¡¹±›¸©›¹¹[¸¥[¹µÛ¸­Û¹½;¸£;¹³»¸«»¹»{¸§{¹·û¸¯û¹¿x y°‡x¨‡y¸Gx¤Gy´Çx¬Çy¼'x¢'y²§xª§yºgx¦ÿñ,ÏöÏõ<Ï÷/ô"/ö/õ2/÷ +¯ô*¯ö¯õ:¯÷oô&oöoõ6o÷ÿëÞåÝÞãÿ¼×û¼ß|Ї|ØG|ÔÇ|Ü'|Ò§|Úg|Öç|Þ|Ñ—|ÙW|Õ×|Ý7|Ó·|Ûw|×÷|ßüÐüØOüÔÏüÜ/üÒ¯üÚoüÖïüÞüÑŸüÙ_üÕßüÝ?üÓ¿üÛAPÀ@ Ôÿ‚6`w±Û¶mÛ¶mÛ¶mÛ¶mÛ¶m+`aá‘QÑ1±qñ ‰IÉ)©ié™YÙ9¹yùP…PEPÅP%P¥PePåPP•PUPÕP5PµPuPõP ÐÐMÐÍÐ-ЭÐmÐíÐÐÐ]ÐÝÐ=нÐ}ÐýÐ0ƒ0C0Ã0#0£0c0ã00“0S0Ó030³0s0ó0 °‹°K°˰+°«°k°ë°°›°[°Û°;°»°{°û°p‡pGpÇp'p§pgpçpp—pWp×p7p·pwp÷pððOðÏð/ð¯ðoðïððŸð_ðßð?ð¿ððÿ„AŒÁ‚!Š )š†f†e8†gFd$FfFe4Fg Æd,ÆfÆe<Æg&d"&f&e2&g +¦d*¦f¦e:¦gfd&fffe6fgæd.æfæe>ægd!fe1g –d)–f–e9–gVd%VfVe5Vg Öd-ÖfÖe=Ög6d#6f6e36g ¶d+¶f¶e;¶gvd'vfve7vgöd/öföe?öçä æå0çŽä(ŽæŽå8ŽçNä$NæNå4Nç Îä,ÎæÎå<Îç.ä".æ.å2.ç +®ä*®æ®å:®çnä&nænå6nçîä.îæîå>îçä!æå1ç žä)žæžå9žç^ä%^æ^å5^ç Þä-ÞæÞå=Þç>ä#>æ>å3>ç ¾ä+¾æ¾å;¾ç~ä'~æ~å7~çþä/þæþå?QPSp…PH…DIV@¡FaNáAI‘EQMÑC1K±GqOñ•@ •H‰•DI•LÉ•B)•J©•Fi•Né•A•I™•EY•MÙ•C9•K¹•Gy•OùU@UH…UDEULÅUB%UJ¥UFeUNåUAUI•UEUUMÕUC5UKµUGuUOõÕ@ ÕHÕDMÕLÍÕB-ÕJ­ÕFmÕNíÕAÕIÕE]ÕMÝÕC=ÕK½ÕG}ÕOý5@5Hƒ5DC5LÃ5B#5J£5Fc5Nã5A5I“5ES5MÓ5C35K³5Gs5Oóµ@ µH‹µDKµL˵B+µJ«µFkµNëµAµI›µE[µMÛµC;µK»µG{µOûu@uH‡uDGuLÇuB'uJ§uFguNçuAuI—uEWuM×uC7uK·uGwuO÷õ@õHõDOõLÏõB/õJ¯õFoõNïõAõIŸõE_õMßõC?õK¿õGõÏAÔÁÜ!Ò¡ Ó²ph‡qX‡sxGpDGrdGqTGstÇpLÇrlÇq\Çs|'pB'rb'qR'sr§pJ§rj§qZ§szgpFgrfgqVgsvçpNçrnçq^çs~pAraqQsq—pI—ri—qY—syWpEWreWqUWsu×pM×rm×q]×s}7pC7rc7qS7ss·pK·rk·q[·s{wpGwrgwqWwsw÷pO÷ro÷q_÷sð@ò`ñPópðHòhñXóxOðDOòdOñTOótÏðLÏòlÏñ\Ïó|/ðB/òb/ñR/ór¯ðJ¯òj¯ñZ¯ózoðFoòfoñVoóvïðNïònïñ^ïó~ðAòañQóqŸðIŸòiŸñYŸóy_ðE_òe_ñU_óußðMßòmßñ]ßó}?ðC?òc?ñS?ós¿ðK¿òk¿ñ[¿ó{ðGògñWówÿðOÿòoÿñ_ÿ    „„ „ + ðŸ‹òŽoâ¢p‚- û½@ %’)T¤€ll0=€cZ gé,>Ý édCzï½÷Þ{ï½÷Þ{ï½÷ä¤]‚ùg¿™½Ùy³å¦7êP€ôA_l€~è ±` 6Æ&„Á‚¡Ø›a†c6ÇØ#1 +£±¶Æ6Øc0Ûaˆ ŠÆ#Ž’˜€‰˜„í±vÄN˜Œ)H¡˜Š&4c¦£30³0s0ó°3æc¢»  ‹°K°˰+–cvƒv¤‘‰d‘ƒ…•è„<¸(`Š(ÁC]èÆj¬ÁîØ{b/ì}°/öÃþ8â ŒCp(Ãá8Gâ(cp,ŽÃñ8'â$œŒSp*NÃé8gâ,œsp.ÎÃù¸â"\ŒKp).Ãå¸Wâ*\kp-®Ãõ¸7â&ÜŒ[p+nÃí¸wâ.Ü{p/îÃýxâ!<ŒGð(ÃãxOâ)Ãçø_â+|oð-¾Ã÷ø?â'üŒ_ð+~Ãïøâ/ü¸×g/Ö°–boÖ±ž )ìþ܀ýØŸr#à@nÌM8ˆƒ9„C¹)7ã0çnÎ-¸%GrGs+nÍm¸-Çp,·ã8†a”1Žgœ &99‰ÛsîÈ8™S˜b9•Mlæ4Ng gp&gq6çp.çqgÎç.d+waq1—p)—qW.ç +îFƒíL3C“Ì2G‹+ÙI›y:tYà*Y¢Ç2»ØÍÕ\Ãݹ÷ä^Ü›ûp_îÇýyäA<˜‡ðPÆÃyäQ<šÇðXÇãyOäI<™§ðTžÆÓyÏäY<›çð\žÇóy/äE¼˜—ðR^ÆËy¯äU¼š×ðZ^ÇëyoäM¼™·ðVÞÆÛyïä]¼›÷ð^ÞÇûùäC|˜ðQ>ÆÇùŸäS|šÏðY>Ççù_äK|™¯ðU¾Æ×ùßä[|›ïð]¾Ç÷ù?äGü˜ŸðS~ÆÏù¿äWüšßð[~ÇïùäOü™¿ðWþÆßùÿä_ü›ÿÈz²¾ô’©•€%$½¥NêBé#}eé'ýeCÙHÈ@ÙX6‘A2X†ÈPÙT6“a2\FÈæ²…l)#e”Œ–­dkÙF¶•12V¶“q–ˆD%&ã%. IÊ™(“d{ÙAv”d²L‘”4H£L•&i–i2]Zd†Ì”Y2[æÈ\™';Ë|Y ¥Uv‘6Y$‹e‰,•e²«,—¡²c…à ñš‚©ØÑH4Qe4œ¨m*ÝŠÓÜŽhF« ¢õµŒjƪŒD"ÊO5ëùd0Õ^4»Ì QE(åf]Çì ŠÁ©i£è:ÁL:G8Ô¤£LÕ¤¢L…YFºì™A[a–𴫍•q½ZÛ‚sÔgGaŽŠrzèÄÚ‘à|TT˜¯b‹ + Ôd© +µ"ÕŒª ¯Š@kÑr²reTI­‘Œ—¨<»÷È“lÐl L3òy#°0gzFͼœ0ìBÎdLÛ3Bf¡dÙ~ö’•Í5žQ®)ä,);³XJ»E3Ón×™«Ó¶‘÷­ê%†“ÍÁ‚Yò“ÕÅ¢Ûm›^¨j• õU­lÎS3n·£¬v×ËÕé°ŒÃÿ¬ö’Yï½\å6 ›–ãùÊfÚ³\檲Õeئ“69·\2Å¿gÛÍZiÃv\¯¾œ-¶WøÏl÷ªEÆÃaͨf£bDÏGÆkNÐÔߣz>ªý˜öcÚëõñˆ¦Îiêøx\3¡™ÔÔzñ‰š)Í͵:S5›4›Z?¡õZ?¡õZ?¡õZ?¡õZ?¡õZ?¡õ¾~¡ÝvÓ!ÿn* (ÏîP,zÚ÷J9#cªc(ÓYe]‡eÛþ›qW×+«èßdÈ+ZF¶\P,j?ã(ÚÁ´ULÛfåtµ—ýE^ÅÒs¥¼å¿/#mú£ë?§¦Tv‚fÞµ•!P*øâµi»ÜÈ™†/‘±Œ¼ëd/—ôc1ûô°ý·Ü«eF/k%£à–¼¢[È™Á¼åTÿF3í/U+¬Ž1ÑÇ›ÒÇžÒÇ–ÒÇÖØ\ïLGÕJåt¥Šh¬ì¦œï°ÍÕH¯³ÕNi6„šô:S1ؤڛ©Ú›j` Í$¦õÈšýÖ¨nш¦n+Ѧ÷X—[g×No7е9¶x–1ƒV¡]•¥«jQUYªªÝN-EÌè‘}åÿ«ŠéêcIvf‹¦é؆“±ÒzRw,õ«…#ã㚉š&'[cú}o®.ÅÕ¥ÌU¥¸=(®%âI,èQJ©ÇFV6êU6Úª6ZVmÕÙË:{«Ê^VÙ[õFËz£m=²w÷°÷°×¬³~—Í–êS•þ]mÓ~¯\k†RMІY%æ–lÃÿ¡ª¶»Î®3*×6-#Øæ7;¿¶n…6Õÿ»UT[Æ2‹fÉ*Õu¯µ‚‹Uàš*dUÙÏSÙ•ßjÕKÇšjÿåº {ܶ‘0 $Ù6i¤ôw,LrHJè'K”€âp—âî +qºF½ë`×›´ùõ'YggóÅïp<š‡õRöa·}µ»?M=YäÕ´ÊÝ|’_¯N×Ó^-ñýëûÏ5^ÝO-nëWÇé5³½ºÚÝž~<¿@Lâât¼=Þ¿©Ó9~ØÌï¡s¸–×Ðyðr8-ÙW¿‰Vïnöó–,ƒßLñïnv¿/EÛOåOg‹nzW]”óë΋ÿÍï‰óbF\ü}ûéÓvzõß¼ÿ°}ö‡gÿ|xößý÷0Ÿýºþ¯ëãÅ¿ÏoÈÿl¾‡ÿ¼¿Þ?ÿõ~¿úÅpßòeÿ°}\äÎ.rW¹¯‹üéáé¥çä‹÷óäŸßà/¾Î“ž‡§ùUþb¾ðâóÔËÔožý¹ŸÌqž÷ó»ëãwç×út0ã«iÆSxqœoÚÊÞ¯·ßÀWG{Çì?ê?;M–ßq“z4 ‚F4¡mÐÝ Ú£ºüî“å>)\×Áup\ŽLqp\×Áup\WPø>G«p´ +G«xø¾‡ïá{ø¾‡ïá{ø¾‡ïá{ø~€àø~€Ï¡+~€àøœ¿Âù+~€à |/ð¾Àçü/ð¾Àø_à |/ð#Ü7Âp#\ÞáF¸n„áF¸^„ײÞvy÷¯]ýM°ôÝu¨G*hDëumÐíÐ-è€.óŠ=Ün·‡[ø¾ð}áûR¿g^…yæU˜Wa^…y• Êü +ó+̯0¿Âüøüþ€?ÀàðøüþHß‘¾#}GúŽËOàõfóšõÍ÷†x3ï—‰â~¾ÿoã¾îÇØ-~Ÿtƒvht@ÇE×þç.>4 ‚F4¡ +?À pÜOà¡¿Ð_è»øoRú ý…þB¡¿°.©œå/Èš¿RëuAtÙ÷Ĺ8Oçfâ¼Lœ ¿'üžð{Âï ¿§H=¾Oø>%ò‰|ªù€ +Ñ„f´A[tƒ2¯T^þ~øëÓuÎR:•øŠDþyÉŒ°F*ÆÄ%«¯A¨AmÛÄ×,p¾)5™kÐÔ %h×5¨ÍÛÚ¼­Í[yÍ;ÜN5YgÕÖæ-÷ +ôòãþv«ƒýíþ¤ƒ›Ý‡ýr]³5Äp››´BMËiðØrÌ-—ò¶Y¡çò%¹iW¨é1 {LƒÇ›‘ähËG[>šò¾_¡¦¼Äó€Åøº<_—çS r š°AMX×ÀÕÀ× Þ¸P;‡Ú9ÔΡvæ$è—7Ò¤ËÉÒ/Oþ¤­Ý¥6]Þ½~½œY“v(žõxÖãåÄ8áñÄu‰ëR­ÃM¬sŒuõ±®>ÕÕ3½qìk¢N/Õ5§ºæTû¥Ú/Õ~¹öËõnæºÞ\ïfµh“kç\;çÚ9×ιvnjçêÒ¦º´©.mªK›¦vnjçjѦZ´©mªE›åGÃX8¬KëòÝa8l¯Ïù¡á0ó~…ø@2ؤ›Œ$£MâDoè­½u¢Ï$³í=}c{4¶Gc{`\ßÚ’Ûcc{llŽdgË;[ÞÙrÜì­›§)ïmy!Yly±åÅ–s@z{@z{@úÁ–sùѬ?¬W¨M:’Î&y +‚} +OAf +Óàq +Óàq +ç#ˆ-[.¶œ''D[my´åSÁ>SÁ>Sg*d[žmy¶åmÁ>mÁ>m§-Ø×D°¯‰`_ç0Øç0Øç0ØçPØ!q¦|<–OSÎÞ‰·åÞ–{[ήŠÝU±»*vW…]»«bwUì® +»*vWÅîªØ]vU쮊ÝU±»*ìªØ“¢Ã)Ý`’†Š}» Û&ö6GìæˆÝY6çGV{>+÷÷ÇÓÄ|­I„o+·ñÛŠømEþ¶bYõòSЭ½ÓÈk4¢FI£¬Q£Q[£°ÖHAAAAAAAA¢ Q†(C”!Êeˆ2D¢ QFTFTFTFTFTFTFTFTFTFTFRFRFRFRFRFRFRFRFRFRFVFVFVFVFVFVFVFVFVFVF£ŒF2e4Êh”Ñ(£QF£ŒF­2Ze´Êh•Ñ*£UF«ŒV­2ÚÊpëµFN#¯QÐH4Š%²FFÊpÊpÊpÊpÊpÊpÊpÊpÊpÊpÊðÊPŸ;õ¹SŸ;õ¹SŸ;õ¹SŸ;õ¹óíÅ»ëãÝíÅñüùÛùóaþ¬êk§¾vêk§¾vêkÚ7×ÇãÛ÷ÇÏ»«ãÍûšWo;õ¶So;õ¶›¼}Ú><½V9êm'íò·`Ó½<ÞîN×û»¯N_Žçྩ±Û©±Û©±Û©±Û©±Û©±Û©±Û©±ÛÍÆ¾Ûr£¶W§'ËÎ~õáxz¿;¿¿½Úß]=Ü|<ìþ¼ÜÞmß/å1 ‚.{žò=ß¡±‹Ž±ƒž¢ÿL6 O²‘l|’MdÓ“l&›Ÿd²Í“,ÿn²ýSšíŸÒlÿ”fþ÷dû¿g˜rû§4w$;[ÞÙòΖ÷${[ÞÛòÞ–’Å–[^lùHr´åöAÊöAjÖ+ôÿl—ÝŽÝÈ „oì÷0Fd««î–ôy€`0»È±3†×‹`ß>ã9ŸÆ%â\ zØ¢X<Ý$K%î/Æ÷CÜ6u_Ô}QwcÓÔÝÔÝÔÝÙtuwuwuOl&uOêžÔ}esU÷UÝWu/lu/ê^Ô½²y+<6Û;V­ÆÚÿÂzn ÜÆÅ:©S#R uÓM†GÝuó è¡AÛÃ;ÖË.=[7lz¶]z¶Ñ³íÒ³-±›.»tr»tr£“Û¥“Ü.Ü8»v9»Fk6mͦ­Ù´5­Ù´5›¶fÓÖlyÓÖlÚšM[³qM[³ik6mÍÆ5µ]Ýuà¿âζËv¶kÃvmØ® Û™ÂNìÚ‰];±k'v:±k'víÄ®ØéĮص»vb§»vb×NìÚ‰=³™Õ=«{VwÊ©_Ê©C ýB rêZN]Ë©k9uÊ©k9u-§®åÔ)§®åÔµœº–S§œº–S×rêZNrêZN]Ë©k9 +ghá -œ¡…3˜ôC'ý‹!î:éõ5´¾†Ö×ÐúÔ×ÐúZ_CëkP_Cëkh} ­¯A} ­¯¡õ5´¾õ5´¾†Ö×ÐúÃPbJ C‰a@ £ª{U÷ªî|ª ýTú©2ôSePÀ£Ëè”éºI1-Æ¡Å8´ÇöŽUûeðu1ôëbè×ÅЯ‹IÍM­¹©5µ^¦K¾^™^™\í\Õ• œY7¹¦Yt“˘ÊÒ“#ŸM7;ðýÏÉN=ÙÉQÍËQMÚsj{NmÏ©í9™öó2í7p{xÃ;ÆM5¾¬§åëåU8|»pø‡oG¿et[ÞÎÈ••‚nËè¶¼MV¾¶õ¦vòŽ&Øa¡ÝXÑ;¸;bÿüe¨¤|ª¤üü܃.8tŒ¿?ÎúÐ1~p‹‡ŽñCÇø¡cü síœC;çÐÎ9ΤöÛ5ô5uxÎÛðDææ´¾ý—ßþ+oÿÕ·ÿÚû×׿Áó×秧翟ö÷ÔØ»á.ëþÓ—Ço¿}øßÇ_~ý{Çß^ßKéU˜}üýùÓeã{0ÙðèáÑc«xŒõ![6Ä#G=Jô(Ñ£FúæÁ5¥|ýåŒòjHÊKü Ë&_êëÂj¬ÎšXWÖÌZX+kcí¬ƒu²n¬·VZ¸ Ü^¯×Àkà5ðx ¼^¯×N¼[ë.ß×Áëàuð:x¼^¯ƒ×Áëàuð:xƒß5Àà ðx¼Þo€7Àà ðxãÄã÷MÎu‚?ÁŸàOð'øü þ‚?ÁŸàOð £qÙŽ×ö‡òò—><=~¹í3*Få¨\• £raT.ŒÊ…Q¹0*Få¨\•ËN>ŒÌe'Ÿó8À?À?À?À?À?À?À?À?À?nøöðÀº°«³&Ö•5³ÖÊzÆë¬ƒu²n¬;ëí÷ØþþþþþþþR~þçÓóçÏOO¿þ÷ÛÏ¿‹™,d²ÉB& ™,dbdbd`d`d`d`d`œ€qÆ ¸6¨ ¿Tyyyy8y8'âäãä³ò|åùÊóõ|N¾+ù®ä»’ïJ¾+y®œÏJ^+y­äµ’W7ƒ›ÁÍàfp3¸Ü n7sNü ~?ƒŸÁÏàð øü~¿€_À/àð øü~¿€_À/àÃ,³Ìb0‹Á,³Ìb0‹Á,³Ìb0‹Á,³Ìb|Æ`kàÃ4ÓLc0Á4ÓLc0Á4ÓLc0Á4ÖÁïàÃ<óÌc0Á<óÌc0Á<óÌc0 ð`ƒy æ1˜Ç`ƒy æ1˜Ç`ƒy æ1˜ÇƉÇï…y æ1˜Ç`ƒy æ1˜Ç`ƒa †1Æ&8œ ÎÎÎÎý¶ÃÇ¿ñño0–ñ1o0”ÁPC e0”ÁPC e0”ÁPC e0”ÁP¶ïï‰Ç_v v v;_ƒƒ]‚]ƒÝ~[ž•»Üy^‚]ƒ­±Õ·†Ø5Ä®wük°5¶>k!v ±[ˆÝ±ÏóÎç;»»ûŒC¬{v v ¶æVÂû%äVB¼â•›úÖ»†ØõŽ ¶save def % prevent left over effects + +gsave +/Times-Roman findfont 24 scalefont setfont +72 72 translate 0 0 moveto 1 0 0 setrgbcolor (Red) show +72 0 translate 0 0 moveto 0 1 0 setrgbcolor (Green) show +72 0 translate 0 0 moveto 0 0 1 setrgbcolor (Blue) show +72 0 translate 0 0 moveto 1 1 0 setrgbcolor (Yellow) show +72 0 translate 0 0 moveto 1 0 1 setrgbcolor (Pink) soh7w +2 0 translate00 0 moveto 0 1 1 setrgbcolor (Cyan) show +72 0 translate 0 0 moveto 0.9 0.9 0.9 setrgbcolor ('White') show +grestore + +0.0 setlinewidth + +/length 0.1 def +/width 0.02 def +/hsvcircle { +gsave + /h 0.0 def + 0 4 360 { + pop + gsave + 0.5 0.0 translate + + newpath + 0.0 0.0 moveto + length 0.0 lineto + length width lineto + 0.0 width lineto + closepath + h 1.0 1.0 sethsbcolor + fill + + %newpath + %0.0 0.0 moveto + %length 0.0 lineto + %length width lineto + %0.0 width lineto + %closepath + %0.0 setgray + %stroke + + grestore + /h h 4 360 div add def + 4 rotate + } for +grestore +} def + +/graycircle { +gsave + /h -1.0 def + 0 4 360 { + pop + gsave + 0.5 0.0 translate + + newpath + 0.0 0.0 moveto + length 0.0 lineto + length width lineto + 0.0 width lineto + closepath + + h abs setgray + fill + + %newpath + %0.0 0.0 moveto + %length 0.0 lineto + %length width lineto + %0.0 width lineto + %closepath + %0.0 setgray + %stroke + grestore + + /hê—ßÇßÌÉÏ ÆÖg-Än!v ±Û÷5öy&%Ü×iç`—`×`Ÿ±Kˆ•ïØ9Ø%Ø5Ø[ßX÷ž×`ëï®áýÞ¯!·âÕ›>k!v ±[ˆÝ±Ï¼k¸¯ÓÎÁ.Á®Á>c×+ß±s°K°k°5¶¾[Bìrçy v ¶ÆVßø;"ö==ÓÞoáýÞo!·r;c·p_§ƒ]‚]ƒ}Æn!V¾cç`—`×`kl}·„ØåÎóìl­¾5Ä®!v½ã_ƒ­±õY<£ø»b.¯ï¿~w8JÕQ¨ŽBuª£Pýáôffiu²n¬;ëí;ÊQ¦Ž2u”©£Leê(SG™úîîÒXÁG:zÔÑ£Žuô¨£GÝÀG—:zÔÑ£Žuô¨£G=êèQ7pÑŸŽþtô§£?ýéèOG:úÓ|ßÁwð|ßÁwð|ßÁwðø ü~?ŸÀOà'ðø ü~?ŸÀOà'ðѹŽÎut®£sëè\Gç::×ѹŽÎut®£sëè\Gç::×Ñ±ŽŽutª£àèG'8:ÁÑ ŽNpt‚o䵑×vÆ%¯¼6òBW8ºÂÑŽ®pt…£+]áè +GW8ºÂϾEW8ºÂÑŽ®pt…ïàïààààààà7üôðÀz‹›Vì›ûNÜwâ¾÷¸ïÄ}'î;q߉ûNÜwâ¾÷¸ï”O¼õö»R¿€_À/àS‰zHü~¿€O½¤~¿lïŸþüúñÓ§OÿzþöùñëØ'ŸB>•|*ùTò©äSɧ’O%ŸJ•<*yTò¨äQ9‡ +n···¯¯áßðïäÙɳó~çýN^sêÄëÄëä×ɯ“_'¿A¼A¼A¼A¼ÿ8ýÉoß$¿I~“sœœã$þ$þ$þ$þ$ßI¾“|'ùNð'øsÿë¿?ýùå7;'hÚΕ ˜‰‰‘˜‰‰‘˜‰‰‘˜‰ ‘˜‰ ‘˜‰ ‘˜‰ ‘˜‰ ‘˜‰ ‘˜‰ ‘˜‰‰˜‰‰˜‰‰˜‰‰˜‰‰˜‰‰Nô¸èú¶ë`YrœˆÂðˆYð$¶lYV°²•ï10tÄ 3Á°áí©nÖm7ŽJ×ÖŸ®²Nq†:Í´Ð…®´Ò6ºÓg½ƒžô¢A_ô®¿vÜŽÛqí„j'ÔŽÛqíŒjgÔŽÛq;nǵsªSíœjçÔתvPµƒªTí jU;¨ÚAÕªvP=pÜkýšäÞ‰íý7}úË÷¿~óyþæóò>ïß|ž¿¤»o>_ÿóy}®ÿÂ_÷ïüÖ™ºÐ•VºÑFwÚéAOzÑ /š·Îø3þŒ?ãÏø3þŒ?ãÏø3þŒ?ãÏø3þŒ?ãü‚_ð ~Á/ø¿àü‚_ð ~Á/ø¿à/ø þ‚¿à/ø þ‚¿à/ø þ‚¿à/ø þ‚¿à¯ø+þŠ¿â¯ø+þŠ¿â¯ø+þŠ¿â¯ø+þŠ¿âWüŠ_ñ+~ůø¿âWüŠ_ñ+~ůø¿âoøþ†¿áoøþ†¿áoøþ†¿áoøþ†¿á7ü†ßð~Ãoø ¿á7ü†ßð~Ãoø ¿áïÖÛ­·[o·Þn½Ýz»õvëíÖÛ­×=O÷<ÝótÏÓ=O÷<¿ãwüŽßñoÿž“_%¿J~•ü*ùUò«äWɯ’_%¿J~•Ó³þEƒ¾èý|ɯ’_%¿J~•ü*ùUò§äOÉŸ’?%Jþ”ü(ùQò£äGÉ’%?J~”ü(ùQò£äGɲ<<ÏÇ’%?J~”ü(ùQò£äGÉ’%?J~”ü(ùQò£äGÉ’%?J~”ü(ùQò£ä?É’ÿ$ÿIþ“ü'ùMò›ä7Éo’ß$¿I~“ü&ùLò—¬Ïºêç'ÉO’Ÿ$?I~’ü$ùIò“ä'ÉO’Ÿ$?I~’ü$ùIò“ä'ÉO’Ÿ$?I~’ü$ùIò“ä'ÉO’Ÿ$?I~’ü$w¼oÇÛñv¼ß$¿I~“ü&ùMò›ä7¹?<ÏËo’ß$¿I~“ü&ùMò›ä7Éo’ß$¿I~“ßtüŽßñ;þàøþàøþàøþàøþ‰âŸø'þ‰➸'î‰{➸'î‰{➸î…{á^¸î…{á^¸î…{á^¸î…{ánànà^à^à^àNàÎ ç…óÂyá¼<ßËïúÂ}á¾p_¸/ÜîËs¾ð_ø/üÄK¼ÄKœÄIœÄIœÄIœÄɯœ2Ýïí[gZh¥Ýi§AŸu¾Ö[¶ÛJ½¿”«S®N¹ú­ËwþþŸŸ?ýðË¿~úñ·ß¾LNåne:u¿ÌS)ôn:o­ô>|‡¨âU^4'êþûË|ëB­—ÖKëÝ_ê[wÚéAOzÑ êÈ›¿ÜMæ­3-t¡+­t£}Qëªoñ£‡0ÂPC! …0ÂPC! Åô¬ÓéAOzÑ /z¿¤! …0ÂPC! …0oáðÂQG!…pÂQGáðo!,…°ÂRK!,…°ÂRK!,…°ÂRK!,…°ÂRK!,…°ÂRK!,…°ÂRK!,…°ÂRK!,…°ÂRK!,…°ÂRK!,…°oáðÂSO!<…ðÂSOáðo!L…0ÂTS!L…0ÂTSáðBU8¼…po!d…Ã[[!l…°ÂV[!l…°ÂV[!l…°wØš¶{_½u¦….ôEƒÞûs›Ý7»ovßì¾{?L›ý¾Ùï[Ýÿ·ŸþýëßKïîx½¾£Ÿþúùß›L“ùurÜÓîéÌo®Í“?ÿøÃç/“ïl0ÓBºÒJ7ÚèNûÍ\¦y£yŒ´¡wK˜–u\±Q£}Œ¾þ +ï\èuß?é +“V5Yÿþ5ÞºR­kÒº&]eÒÂ&-ìv¹·Þn¾pù…Ë/ZglÜ~Ñ Ý`Ñ –çÿºÁ¢,ºÁ¢­ºÑútƒâVܪžû­×ñ¨n Ë,ºÌªk­ºB½[øTï(7Õ«ÒzÛ<÷6{‹Õ±©cSǦŽM7Úêëù¥ZùÝ—™V§?©ñ#·:F7¸ÕñŠ´ñc·ñ*Ý'ˆ÷UeÌ|Œ–1Z]õ13^¦}¼L÷iâ}Õ¨¦µ*l²VG¥ýãú¹§úÁé£úþT?OOõmÌ”1ZÆè©~3Û}ÜùT?VŸŸÕ1óÔ~Ž™gíkÌŒµÇ6›çgíxfÊ4Fó=«¿ÆÌ:FuŒžo&ÇÌx®aó¢ömp–ñÍ,ã›íÚ6jXFõ˨ÞlÛXa«®ãÎUõÛX}Õ¯£úUõÛÇÿFõ먾>ÕûÆû9wp®Oõ£æú1Õ×§ú1óñ|<÷öT?ªù¨ð£Ší©~TúÍõc®=Õ÷¦êÛ¨¾=ÕwéÙ±Ûx—ÚSûxoöQû>jߟƫaoö¦aovÓ°›†ÝÜ×4ì¦a7 »iØMÃnvÓ°›ÀÐXvÃoø ¿áïø;þS÷Ž¿ãïø;þŽ¿ãïø;þŽ¿ãïø;þŽßñ;~Çïø¿ãwüŽßñ;~Çïø¿ãwüŽàøþàøþàøþàøþâŸø'þ‰âŸø'þ‰âŸø'þ‰âŸø'þ‰á_øþ%JT§Ú.rt‘£‹Ýu]ä8ÍŸæÏgþŽ"¯¹ýáÞ!e/O«,£©•}£:FÛµ1ÚÇèÙâe4¶2[éeŒc´¶2Z[éƒÑc4·2šÛ2Mc4Q£eŒÖ1ªc´Q£}Œc$Ée$Éw£åŒlÚJûôù·_~ú¯‰x ó/÷Ùç­+­t£Ju«T·Ju«T·Ju«T·Ju÷ÙgZš´Ö¤´Ûr¦õzÒÙAOzQ×Is«4WµúêìP5ú:Û—­qÙ—­qÙ—­qÙ—­‘¶ÀÍ)óý×UºÑFwÚéAOz§ù«Y§Y§Yç¶ø£Íî´ÓãÖ2Ññ¶Œ(¹ŒÖ´ŒÖ´Œ0¹Œ}÷V«6¦­ë Ÿs± ÎÅ#”„À1\œ@p +ØÝ ‰_ƒ Œ +M²³ªæ#4Uš²´™ÖAI´eZÔe %KÛd ´+¬* .×IfšlA•¶©Ó´°¿S–Ð-û1mÒh»eêÔ=çøBZ)&ÍÖó<çý8ç=÷½÷\;¸zî‚«ç.¸zî‚«ç.¸zî‚«ç.¸zî‚«ç.hý¡|¬Þú'^ký¯m°´ÑÒÌk)¶ÍzÍìZéyÔêÕû:«÷™ŸÅH]½Õƒz«™Ÿh£ÕË®]±£–Æ,Ýeå×Ï‘}ì¯)¶…‡#ëØ=ÒÉþLFÙŸÈ]ÀF<ðx0 +ý/YËóìýT,ÐÓЪG¥š•907l ü”½¯L‘Í„Ãq×,(’‘;fCƒ5øB}fÚ²5p7’Ãî¿ +»Ã̬TÅ£¥ˆ +e/7¥„“1ö{b +ÑÙïR団7Ù¯ÿ{”ÓÞ3Õµ,øKö’G8»Æ®Z‘«©Üµ9ÎÎJæÁ À"°ØHû1†ÀFÜ`T­ÂÃ&Ù$ö9Žùnp5Ð 6´ðmøŸÌÞb‡Iæ~—'ë /±sRß„n€¾ ôuØBG-ûTÄ/ZþWa@_±ôeø‹ ` ýeŸ`ÏËyÏY:ÆŽ›%Ü)AÜ Ô £óGëÎÃ"`ʾɎÈJ³ÐôhFÑ®A³T“÷h0õÈúÀZ:ˆÖ¢sƒèÜ ±!4°’3ÉÙÊ3€œä  +5ì8êÇ #`àú~}~<,Hÿ·À#À˜°Ø×ÐÇJìê ;lVp™Í<ÙÞìšl=»-;« ±aÆ8«faÖÊ’,+½o_°/Ú—ìY^{]··Ù;íýö“öû˜={Ä>âP:]ý®“.æqy]5.ÝÕæÊ/usr/openwin/lib/X11/fonts/TrueTypâ:9ͺq™ìúÀ†'á÷²§€$îF­x +~&°<ÀÆ‹Ð,Xn乑ç†× ¯^‘6 è·¢öÕÈÊ‘¿$"ÀfDsáÍEoÁKb4ÃRa©°Td-(Ÿ`‡°h˜ô-xjÀ+±+Þ Øe|Iæ¬Ät1WùDïÚ<_IJ:VIG*© +Gz(///©%}Ɋ中OëóõUôÛZµV_kEë¸-¬…}áŠð¸­Z«öUWTÛ¸Æ}¼‚Û†[fZn¶Üj±%[úZ†ZXn]ʬª H-ó ½j®ß¨sGv(3¸œ$x¸ 0ÂÁÕ@èlÊ ˜+ÓðNÃ;MZ$…ÓâõæVLøGeLŒD\ùLœá§ÌíÁÖH3^¹I``X{ +ñ)™ÍH¿^”þV+Lú9xeà ®C¾æ:pü:ðòï I È"·Øü8+ƒ9ÐÌ6Öïv@™ÆwJ™b~]­]ÇIA!$o­Óñ(kð ¨ô-ɯH>#9,¹\ÏmVï7«?kV¿Ý¬nÆ@© ÎK.Õ]õJDm¨•«=BJ‰ª¬“lLÿ"ùqÉ~=¿Tý¸Tý¨Tý T}­T=Vª~±TÌÛˆ³«*ù’]‚éÉÍ’7é.®þ‚«¸ZÇÕˆJ/ST' ’K$ ¦^qGÝ$û:ýD±5C•<­)tÙ E ÿ1C»!ÿ6C—!ÿ2Cçø ú1•?iô¾Y~GÖÑ¿Ó&›°?²ôÚD&¡KÐCÐ ¢>è›fè”Èÿæ_„ý)sŠü×I›œ7J›¤ÿ5kÞM7ª^2ý_GÕ‹Ä/«¾lúïÁ{ÎôŸ|ßô ›>±ÁÃfh ¬¥‡H¹"r{ˆO;i±*~ +îÎLŽ™~1+* +¤i£©ÕB6‹]Þ i“帩ɋ,&š\b#Ñ䦋ˆOj.uËÍ«¤LªÓÔNaûß=þÏÐuqáäÔm^æ¼ëÛó´Éœä¿í2ù-šú®ñßh×ùÏËÓt¿Éçýi'7ýi…^å³h²\…^ã3þC|Z“Ñq QÜêÑÐV~Iëà¯ú`›ü”ÿ†Ø9Š+Þp¿“·„&ù._š"¬‡PLÏáÛµ¯òmp×§iSj’×–§ÅVj°Æä5¾7ir+_®{Gù„:-®zð)¬úô§°Ø¸ßÛn¼]œ0b°\œˆ»÷zŸlŸSŽ)}±èœÒ/$Ñ>G_PŽÅö?}!šXM#eJ?ÒHHˆHK‘2‘FÊhJ¦µÈ4<¦e±èlYY&é]Ú$’ðø¼+“eÖ*G ¬Õ&iJ )—k•+%" ÏCf1÷§[C¨[.æ^CäbEҬχ¿O¤ÌÖù0ë«“áÉaÍ—ÙN‚ødMÈ:”>È©Èäà)°r'rªþŸŸÞ†ÿ!™¦ºnì‰õj±N-Ö t/x¦Ð8Ùíõμ-^ƒmêìîyFhW¯q[뵨w¶«ç!áîÒ¢³¤'¶¯}¶Gïš]zWLëŠ&RCñÏÔ:³Z«qè!‹ ‰ÅE­‰øCÂqžµâ¢V\ÔšÐ'd­øžokŸu’†Dã“M)®œ‡Î¢ÒDC§§<;J _ü/•åïÒ0Åñ»¦uðW«.N½ŽG@RÁ›6qé’AE:u¸»Õþü:tqk° Ò¥ƒ›K7W77'¿/©‚û¼—{ï’îÞ%W~[k2I×ë­tPÈ ¼€BØÚ„»¼ ¹7µêŒß/C¸·ê-&™õ¿¦µ6„µÚX7ólÚZç8=:íÆ©JU”6/„ÓrØ¥´ãfe®ªÐW5T#5Q%k¸·çb! +ç¢/b(Fb"V(p?6ÕH| +Ç¢š¸Da–Ó¢Q×XMÂ@ƒ<´²‚]á´Ëq2÷بƒè€{†~ïà Ù-ôƒ)yÏñ"·RÆDÒGÇuüéîž¿ÿ{yÛN7·ÑInUà»°‡Õ Œƒ7g3èð>À7(9¾ãg·yÕ&šiÉñú CJKÃ%.8M·ÑR2‚ ++€¡’ÿ¯{Ƶe˜ +, e^M·Y²¿BÔåU® +endstream endobj 16 0 obj [/Lab<>] endobj 13 0 obj <íªX.žñ ñ=þð2»5…·­;Bx˜Äl¥Y>èÛgHWæÛý˜û“8˜26q•U™Ãª qÌSª]HÄhq\V¤Jº¯ž +Hâ¥Â¤hG;§™)j†*K,Ö5НóË—BR€§osŒ·+¼ Û5ݦ€ ' Æ&<ÉŽ“AßUºÉ€âùu²—IÀÇs-+ѽz-£»Š´» äf$‹Ø(ÒÛ¯ |»U /¹·ñ¸LOOGI¨÷´o©wíÝü½Ö²tëÚ8xzOAÙçBw ?O¹K$fì/5urŠ\õŒá&J™°ÊZÖ IHPmQSw*¤Üª•þñ[Ý^êv$§ÿkx¨Qþ£dõõP7)ì®éÕ©Ë•á3Ó·‰32~)9ï"c=H…2l؆#ª0êu¦žª4‚O›!šdÛD¡P‹a¨[›’I ík+µ°ÍRÛ JN‘¨ “&6ñŒM{KÉÕmr€Ã†Í¦="( é£^¢õ— ~ tÃ,cyÅpY?Ò“ ¡©Ä6¨/ä$„k¯‡ +lyv’„$ž±ÃÖˆ¬òçÖ‚E>fOK}Ï™B +šì‘˜0,³ó4ðcSQO ;ɆÉäÍò¢Æ7H6ÖãÀñóºù›éAŽ8b<Ç +yÞ¹IÕ¤‘îõ ¯¨ý'Ï™K 8lôÍÑÞ6H‹K#k¶è>=ø’Êí—i4§û6ôjQA®]ÊMô”Õ•ØýÌ’C:2•×»n¸¯5ºJ+ +Fíš– @n®m ¨¦«¨|3™¶Ç¶Û[Kkkß§=sÂ%4ß~”ª#e5`=êON³ ^TG]‡°‘fÖ;œYÜ:wó©™è¥æ“q*,B«êp–ˆ­DјR¢ÅnƽøAœç—)J¥$ÍR· UsÃépnšâ_Ïrtq檼IYר\gFdíê´¯Âk*ÌÜ·WˆSGòŒ×óÖŸåçç¼ï7ËÙî÷¾ß£Š¿œ3:5ˆóªþdwš§0tó ÍØ‡Ÿ6ŒÉ‰M,¤ .ãbOoo?™!±Å<õèlÍ +=;é®gþYÕGÅþ`*¼ñ!tŒ2›ßc|xMšæ÷®0TÉÇ¢’Þ]8£"¸õ¡º%˜qÕÂz…G‡á £ÔH»äq©ì~òx‹u.ó4¤¹r³'`§šqa"ùÐw›º5U¤Qeäj…ÃHj°«¹ƒ1ï¿ò\èwä¯ÙW¶¸ÒI;k.péæ7.#ˆS˜püw# ±Î]^kiæ5Ñ4ëÑ…ãþ?P*« …Esl=†Ö¿çÄY„*§KÈÕ‰ÙF¿Ò¾i‹¨ØÉTn˜¾wÁfHE1dŽIRfÇ,aŽªÌlmm¤ëÜrVìë{UšÙ%ÂÄ>u‘}“öªÞw—!+PKͤlñ±CçNY›/ã™_2×aUÀE˜0¦Ã§)ÑNøí$l  éÜÁ£9Õ¤iŸ(@Úš]âYS€jƒ·;i³"õ|y0ì`¼ôµ@•Xã½´ac¥ˆíãÄìo³ï­M­i÷Г7ÜL½ÆÕ£ž†…ڌœ㦭\¥—'ÌxÎ/¶‚Ï-{ÓÉ>†Jh¡H5'A¼½½„Û–wxÒ NÚ=–6§x ^ßH[ž¶=XçÊ\—ÓÁŠEú]Ò¬“)á‹[@e| ,+QŒ%C7Ÿ#ª ÛVÇÝS©÷ë;¸¶}E±´êW‰ã€Ã£ß5gÛ›œnÅÚs+%‡!ed¤b'™N1‡­ïԣuK,Tô»8æY±†æ| +¯ +©ÊðSRüÔµ`ÂÔ5U¬ÉQ ¾i#ËÔ12¯77z?˜5¡iB4“8; 8H¥ùŠñÜ#2²ÀH. ÇìÕÅ@qŸEF“%b~–:Û>Ò: +ü]eÁHž 9¥©­†—-æØÒ­˜]5_mµ¿r¾Ó7òîÂø¤©%&5;¿ïª| ¢,´q˜Y&ŽexŒkwpä×<˜²^Ímò•jeÕ‚8’º*LþÍaH'« + +zéÔŒÕÒlcù¨ãÃpˆÓhk ŽT¦¨ŽHìU yÍI2¸ÎÀ¹¿ /w¶îÜÁ…½^t+kò–YRŸy¢J“Â8OE3å®·a«Ãsmóf¼bW©¢L:•äˆÈžbµKF²,jÐտܑ‹TÁúæÄ¯GPñ6Æ  ©øŽc¾ýݾœúáNà­Fz‡ô¬wÞÛçï3{Á(üvUžþ ÝréÿK½,ÔôO¨2¦[êNUÌ•3¢‡“çÓ1­,Ñm@ ‘ Œ­É=ÆÀè3ì›.9‘m*A%Cd ³²7wvn/™ÈÔFÑÑÆhñç<Í“0l™Y›3ZÆÙfŽ‘c2-Xò$¶ð˘k¨áå…×´}ÄáÃãîGÞÞߢݑûEcXªŠõ{Ó|¹Ðÿ[«Éôf.’ã´”æIÖ†$Åè#¨xàPª+»÷mãÀWiöBÞñ% %> b IöÄùÒküÑv7kmôÂ’`ƒ„E塀s*bU³çdTËX¾*7GJ‘¬a—[®ºž.Чp8DŽf¶ùZ0š3žE¤£ÆãƱªv¦¦›ßF€9!† ½¯§n#Àƒ¶’8§5IØjD“,fʺ\š¦`ß=(²8ŒÞÎÇínÜnѧYlã^c/R•ŽÊ‡ê‹«yªYr‡'öS QbÒ«]˜i®ÒM‰íÅùJï‚Ô™£[çÒ@Ò6m¤¿@},õ.<­ˆæª‚Ôø5€R$ìZB-k¨Ô…âœë5µ¼0’)ͱ¸APÂ=´­þ©çÿäŸÊþXÛ›ó|;Úýûxp7Üúg ¤—1¦›ñ ,tò°ZCòÑbð–§pE™ÿÄG‡ßËÛgOÝ vж„‘&±äŸMu½S¤šzüB:j*óL¥†æ`n[èoÛŠÞ¾ ‚¡Tv0pŠ\ã>„«òŽKlñ†ãSÓ Ky6î%Gmö{8–ïzTÚR +f«kv\LˆŠ r¶oÅ#‡¢‘¡§«ˆ´b}9OtÑãË®õM8…'aáÑVÖ¤¬™¥oOºSQÕ|‡ŽbY«ZSAu…¬‹ ŒxÁí§æ{ÂûDÕØueDƒXaÏù7 +é4¹Ns£Œ¬HšûÂàãn5aß>èZ;nÄ‚UÇp<ÕŸ²¶h¦Î9N¢|£”½5D[wtkÜA±B8*È3ÃapÚáB2œáÛ7ÛT(l"ŽïAzÇ?Zh νA¯§Íy· Ž)óÓ˜+ª’žU…ÖŒo DwîÐæúŸpw¦Ï3´Jµ³÷D=5>vI¾v­Š;Ç| ðŒf*rÔe\?¦Á%¤ŽŸ2æÚ…¦ ¦HÚJ‡yÜÓj‚Þó8P|O×Êæ»Çck|†¿ðo¶(_½¤Xå«m§Þ{ØóŠ1^ý?g|±êÎýRÂ1Ü›•ºkŠSâ3SÔPÔÃU=U4éàŽ9Þb†rt +§ÆÜ4]Š×l¥$ŒAðÄA禊÷éöï²¥7l´©N ÈÒÀ™z}CôËÐUúsˆõKÔV£êvÅ8N[&'áðµ,D´HÒÂÊ ’o~“ß-E”éP@“ˆˆ8Î8ŸLEDù5Žôå™·åm•©mÀ!$AÆV>•I˜_Qñ^†úŸÆò§úzúÌ /ÓËQ&?[— jÁNüí],[jxح݈ºê@½¸ ßKÚ¼¾éå° P'£1ô£+Ý踷ÍÔÛˆîµ`¨N“$q‚duñÛC_ ¾¿RýFÔuGª˜†#‰Óå<=¥“ r´Ø­|nd¦¡’]ÖH>`$}Òl¥7f{мöÿ¼TžïVIñlå3˜åæïw6ò>åI<aÄÓßUÞ“ÌYŸ/E™ÿήÔ:÷Äqšûytx”Ø€/ ¦‘¥ ïÈtbYH±:$«.Å2`žõûp·*Ç8âÏZe¹-£–ÈId íÙ†<(?Ë‘ÅO‚>‡ÄpÚ:¸7®(¾ZK•*’Æ[x=dz…(ì%œÆÌ—Û ¹'IIÇI8‡;h™]—åWá¶ £ A3È‘³?󿧬ÅcŠ`¸ÄTðBÅ#‚dusp[i}¶·a{{O +ïþîAд“Ö ü(…îÁÔ'ºx‰OœCÎBèGIóD×)çÚän£R¢TÒÐ4Å[Ȱ„£¨ s:;\ÆÊ.º«6˜óû8ëÒ—HRH¢ ÈoÞ²qÄTÚˆR8ˆ#Ï…X|y[(ÔÔaY^–»–ž½pÉ!ty%¨ˆODåÌŠÀ û¦×ðo +ï1€œ8™ÆƒOå‰i¹ŒOº—iéܘ_¦ŠXrÅ4xW^&Ä\;+Ld‚h¥§ý0½Ð*ÌXÔµ¿{‰Ù-îð¥:[WwüJØ“ò¡e›‹™¿Þ!²R&NÁèi« +è»áÙ“?QK%F`\;2M¤éBØ‹O¶ÜF¾Aa¦‡_\ȾŸs\Ë1UÒ m´uj"xàAg΄9?d×·¹âšx$˜áýïM#0îŒÁ•sM6yÀëæ¥‘Ué±*i#Y\3ݶ›Ì +A=»ëkWu»NMx‡-ßQ¸(pâ0Šn¿e‰Ê³4¿nòþ ¨ ƒ´a|hjÈxNºœñÔ×WÖày†¶® +&¡‡}£‚ž%–½å!WÞ3l q®½yà m²C˜ó×RÁljÀœO¿A¯âƒ™êºÙ†dœ£ƒÍ ^aêÞC–0ºYi¼¶Ã±öJ-”êPCN”ûŒŠ¢ÊÎ7Ř€lóg-²U]<梭S`á…FwŽå.'¼%O+v™“V4… ô™ÒßJyÓÆ3Îs§é–QÍx¦K“!¬ŠjÈê¿—F\؊²I±i!· æ ©Ûv‰yšZw)gX3ÞpŒdÎ4ºÃ([nÿs\aóó¦.­uߢØWP1n™Ež%›Àh’)&‚“¨§ª®¦,´í‰Qâ—e”þb‚¬Í¶ç;¹¹×·-èv襒0¢à4˜ŠO“Z±kqÝ;x®å;âPÙ† +dè7\2ÞÔ¬?¨Íxcƒ-ï“ä1ˆš–MÈó£S´¬ €RmíSï_V[±Ÿ]fBÝ¥#½8€†'¤lhÆËzoï¯ËIq ÉÚ˜ûèÂà=dÃ!Í4½C¦‡ÍÙ£ ó_­¯Š A)j*¶WMÚ$ŒF¢1åíP¢Ëî­‡9GÓVLÕ¿sß¹ªA* +Ç÷±¦=(XÎFËyye·IÅP@Ÿ<)SÕTfõ‘ÆSê^?Q›ª0z³Uó˜£ü̦8‘B· ˆªU˜í@X›@P)¼N¶–ï›¶ž[¥ Â\޳1îÙEÖ{¥a–¬¸Ê56¸4žéþpéž'È™·¬ §Á(˜tÓÓÍ9ž¦žx‚Ñþ„Hè²#³\¡£U$^à_»¬ZYZ¶àÒ"@öM ìó7lmû®ïÁ²°8úlõšc¬é_ª>”u"n¥æœ¥S =U¤‹0a’¯é¡’O˜Œ$«¡xüÍ’¨pAÔr í=„¹™*åÂ]$¤‘øÖ5ï¦`·³7])j'«nÏ>š9Þ“}3^ð ¯G„u.áLÎpUcøÞ5T0ÕQÍ"RÒÃNvÍ+ijH$'@KÓS&v›eY.Xµ¥ÎñnA„Á"''ãC>Í7£,ÈíU޵( Ž‘Œl£)@³FL é‡P3µF1Œõ^¬Ða”o“Ž• ULñÂìÛ¼¨bf»i{ k~ ¿¶öÏjy-ýƒ@ÚpyÂ…¹?j6Åk»fßûŠu(‘²pzÉá” é'!õú3u'§ËóeæVÂiA%VN­TÍÓ•;‚¹Û}º¨:ßÑrLµû„ˆÖSTí'ÙOï /j ³~ô+Q•“2£‰ƒŒŒx×}iü/}2uG‰ðl-27AØ6jªV#°–9YØаøƒÀžk¸y}Â| Ю”üÆÏ‡B‘¤€E®´ú Ë?ÏXŽ…ød§/‘ÔFë¹g§ck©í¨¿p@<o6í¿–(%Î8¥\ì¤W™ ×0“³ ¾TUsçE²®b”®‡.…á.ðQ5*•,Ä‘¸•'½øMk¼m…@$Í5•:”€"yÛAvè2dœÍ]‰¼ë‹Ræ(ÒRfZ7`‹øxa›ïbnXJR"=õ¬Ô­h:+º:3ÆÔ):q‹Í&- +{Sy7¾¶‡N\!´£RI"›w,u6á[hKþ«á›ÿ©?Ëë~Cí|ç”Û¼Ëîòww·þhßs«ÙH?<º=TM}AäŒÝ„âÔÓã¬ðP…ÝJ¨X{‰Ú×âíÜÏu³pÛZ¶rg…'ò7S³&ZÆ!‰gª§Ã©åRc è“m‹ü8býq™ÎÑÑN~X)æŒ]_«L† + /¨xmF!Jð‡ù ‘É„p­9Ž“¡[)”£ºLY¯¦¹;3ÑÕu ¦9~‹>l4ŸeP[Ca`/ìá5Æð<Ëå©ÙL=p¢gLRO åÖàU +ïM,ZyE”3{ía¯ÄðÁŒá•¶I1F=ì$x`EØ}dxxŠš¥Ú\*¹ü‰à˜h´$\vׇIÛ@E^!¢hÑô_Ò?Ióõu.زTÑJ¿50—tw÷¬$éìà=íí¸iz– Œ?ZLÅÚ‘&c˜¦~«znÊt]I¬éÏG¥ŸÇ©¡3™b‘ÒHœÁ”‚.ÝÃÍÔß{žó^˜ÃÒò› ¤‚gÎ#ʸzyΧ¢¾¢òÎfê…FfÄ2ž;C,ÔÏyesKPŒ6—,YˆPø"ìï|íÞJ–IÔ$í=íË·iI2duÕ¡õ£ñÏ9¥“ª™ ‡(ôr©‚¾±š'«©ª‚vÉ‘Á 5$ÙWé$s$·o'ËÚ°}äDì0&=µ4ö{¹6l[¥wŠA;~Ôž"&“]=üU1¬¿—ñ\‘òîÔŒ–°¼´•2XÆÒÐÈÌ’+hÅ€+ð¿o¥­¹»I(q4˜ŸÂ”oogwþq·TÛƒ§«£ñ 2`ú¿õÇ„u'¥XU^VéÎbÀ)òÎ?UH¨6PͲKOTUŒ’C:®Ù$T÷n6 ~CÙåÝîõ¹Ý”C'¤áˆ Îrún2íMºTâL8 â`Ìžºýkä>ˆz~ϵG¢í%NQІ*ê6Ü$u­¨Äê¢5ÝŒG$h #Ú  æ]ÈÝedY2Y;A™#:gšÏQR±?˜ãñAYòÄESM2a ì1QôØ(Ó鿱Ân1x‰$„( ŒI÷õÅ ž”·8z‚­ê×]s>%u+*`ðáÙZ—ª–§tظs>æ}Ê©4¥­ƒƒáÉÓ´‹73äÙj‘„$¸ÿªv¡šåÖ–©±°a)if\ bBqÖNÍ´jrÏ«>–Uã’d¬W‹Å|mWDŽQ_ir©,{ƒ±ÚÄ×ï§Y¯f‰l:Ú#ûÒqõ<± mØžgÝ%ö[Ò •|È>ñ1ÓúÁ ÂòýV1„Ëu¡¨’ž8b–¥ÙÏ4û +]·}M­ÅŠìÇó+€R„ñ#O@æó~Á® Ê[! $€IÚdð}ôQ}hõ·ÔJÖgìG(ÕäÖ¥¦¢ªÄi«GZŽ¡&Ûj±ï‰6’;¶‡Þäoõ+¹Jc+` •†Ê§€qž=Ñ'lÛ†œ—%µÝp¥'d@0zøÍ#ú —2ZI(:®ã +\< Š¡±Ã“s½NÓ¥‡~CVYrXQCˆƒ†Æh ”%6ë=àˆá²’Þªçó +Ôä Óe*b US°Us&…M­ ÓžS¬¸T“·…¹wosf°ŒÐoPb¸muVsŽ0 [„¼RÈ‚E `­»Ùß”fÝ.(ÀÑuæjÁ·˜PƒOö™ëoÎ|÷ÍPü—ó­ž~Ãm¶û6íÆ“ØþcN1Ñh/©Ý[xÍÙž\{®Uð`ò¤Ø]%ypÍP¥Cud¿q†.Ë–¢NÐ)×% +l¨˜—N"Ê”I–ëå§Ä +Næ7+¸og m3•ºà)ÂxRæ–´§GM5c¹ Ìx•ò\Q³N9‡6Ù¡E,c@~΀ÚÜ:V`»dÉD[~ÑN`“&…®´ä¼W.äì«KƒÕ¾-K˜©ZJ¤€kFÝm£³ Üx‡9²µmÀ¬$ÍY»gåIlá”ðì 6<*«çs&6ºÃ© b,N€µÂ‚TìÀ„Ž5e¸ÜŸ…Ièİ\?cXŽ%&-µ'Œ 2y‰» Fœi½ä,í:€;)–Þt¤ê?P:]é—$Sd|Õu "¢¢¦/÷XÃj/©7ú-Æ\ÝËŒÉeJ>î«ÝåM–~ïØ|ê&®›®¹^‚L¤ô3d”›yÊHÜÆÖ¿ÕÅ6ÙÉÇu¯X8ùSv%™;©ÅóÎd6PâmA‹`r%D³ÆvIñêÊÂÄuÞCj»'ûñ!CdQ‹ Wx•DzA®-QŒRTÑ,5u‡T¹yÀ–P’1:³­õÝ}x,±ß[æ‘ yPvF'ñ¥6yÝÓ*ð,[`œ|è^¨èÇR3ßO*1ªÅa’o)]"AcÝJÝ|8gÛFspÐmÕêBxlŸZ彪fŒ V´ þ5'ÐÎFÎ>ž½]àD­©§¬É*Âë±÷¡‘š©`­‚L)‘Ky¸’„ØOaÁ_`È^w›­0A $ôpbŽwoNñjm•Tz0é"•ˆ.lÈþ¡úß6?Ñü!rÖU¦§ƒ ‚–´ùbqFªd§Ûåïó  Ü“rG&Æ·vᬿºuÉT“#„ðÇmI½˜5}”Yt³8CŒÇÊ,½…ãØfMwþPÍKrû‹YOŽ§Ç‡YFT¥ÛñÃßJ·‹3eû’NüԼ£GëN}¢Ê½9¡¨Í9Ë63µ5,ñÒ<“QÓ¼¯óÈV!!f ¸E¹gù[Êý¨^¦' ê£Ì¯zl²‹ua NÙˆ$A—˜v>ƒAI‹FõT‘…”ÊYˆuЂ­{ÃEIéϭ÷*XÀ‘Xjóf^Ét²æÉUŒeÌ +(—Àš$Ä(ÚF¥U”ºHtç9a™£+¤ØlÍŠRಾÈ +…¢>P–4+m`èökqc[ÀÝÎDÚ4€¶Æ•'£ úŠ0Üå~fÕ%6§£ úÔ.¦c˜ÝV&†ÒÖo™wqíÔ\´÷sxwºí°¤´“#ª…{½hÍ›ÁÇ#«Î‚j¤g€%‚:9ñìU10¹Ms"i`Hà!íñÍÒ£èhÓ2Þ%º?J0^›3þÖ\ÏMŽz…Àê²ßOòµC69SåE†á‘S2l‹îÛi”ñf¯ªœ§.½Ìާ¼(ɘLþhmÛ$ñ÷žŠoõÍé{ÑNoéÂgnfyzŸ…b4Uux¬’‡†Ž¥\”`¶ +JíÖÄZäÛvó;FTÑž¼~4MsfÖ`ÚÔó`FÏáv +$‘°ež¦eLÃÕOš§ÈÕu²ÿ<žŒÊÍM J=<ðY•÷º•#[²ƒèvòá‡Òd€#ÛAë Ûe»0ñÄd‘{ë¯Q~¨º[ÔÞ¨â9¯,Ó?ò:Ghpä@¢cL’ÈÑ´ì|µ20mÌB‚HPîÎé¿onŽ'oQ Ös¼ <ï‡`Âøu]s<9o-R±¬½KYŠCGUk×EEžJZq{ÊV"Ê<@:ÞÀ½\'+c¼_ÚHŽ„™áHÞ{wApxATwºaéS«¾ :a‡çN·cô¾Ÿ:)‡ªüþ ‚ÁY‹æšä…•|ˆc+%28k %œm½Ê1O·}r µþq°f"|^‚(_cÚŽf„4‡Ñ*1¤=“³ÐiOô+§TTQáý3Ãÿª¹nšG}>) Äê~ZÛSϨ¼–Ô›wím88ÊCwM”(5€˜*ë£ãR.âf6öÈZ{³€VÆØëœiËÈ5”ÔF¢¦%U«’qK2·– ê嬧i·cÁvêÙ6„B¶šK½Ùéuï0 ¡ãÒæ-"Í‘`]WÇ(äzzªpúˆUÍ3L?D¥4]$½Ê¶€Ø`\Í2g­ßqöꉞhh‘«—à Uº +Ý™ ª6ôl&Œ·PrWN:‡‹ã«Ñè1#—²u=1Æ3vZ¤|YÚJêréLÈï¥ã_yݘl"ÇRwŠÊë;É*—K{‹˜„ôá³ +nÃ0ºþ^„<´6ë¤éC°„J¶{ßesÈ8+Ó¬?ÄúÒØó•&!BU™ó\oˆbÊ)$lÇÿEŽ$2)ŽÊ6ÃqÆ{ñÙžònðB-ÛÊX"@:ëQ•÷黿_i/\‚1-«Hœ4ÖõozÓÉåÒ#QôÄ-´§­ÌýÈß%WÔJ:Œ#%ÒÁ&[TD1Àš´fX^Ž6ÞRì}á¨$°H°ý­±m§q$¨*1’dƒÓÇÝEyÝÖw˜[,¶à.¯Pd™ƒ¶q˜•4aÝHÉ]ê61‚fÚj~ åÜBæá^t~\IU‡Nm‡W±¢¦Zš\>bc‹lnï’E÷œ_ÇeyÆU“(¼u©I˜$cé>ê ZÛ=•e½å䬷ŠôâcW\tû¨Gü;=#âý ›õ;Õ*9°ÚΘšì-àò¡ù‰+颩œ(ûMæï¹g.4°¹>øï; ¢Íƒ=ä+ Gâzö‡¼Íß>›6U=ì)Jàqìz…%=zWêîÕs¯J2EOó*ôùz’jø"ª§]³ÖÅd{.@ nnNãÇ·?3˵îÔø*â`¸Eîfôåîeá¥\ktLê '‡ÃÙDÏ ëö]º‹‰ôŸéÇMj°:Šú ÁCPsŽ SSCWGQ(ä§Ó½=@¨0ƒ#pT“kF§ç³­8(=5ä;´[QQl¸­PAÙ"imééé׫~žg<£ =t«™(iêpªôqÍ%*ÓÔD]ÒDU1TH¾ÛÞÖ%ß&˜dÏ2¢I)™Ú#k}·o´¢Ú‘öÉ&z°ʺü›ÓZ¾ dÜ×Õ<³6]Êk¥ÓËY3PñáÕ, 2ÒÁ< Ã,ˆû&ï}‚‚$§cÿJï?t—¯u¢O…xŒÛ ôöm¢]Ãì™vÍ›ä( ЄA&8‘2§²‹5D²hêÞG3N®Ò«)=ã´/‰$ ßãðæF&Õ $$pÀŠíîÓnÞ1ñ‡fü+§X9m-6c˹—› ž:ôådr'¦­MŒHšžxÕ—Ú»û®×]’Ý©·€*ˆ3øœùÑuýƒ—Ï'»™ž $²niËø=dõ±TR$p숛ÆRG’7G#¹ ªÀø{gžÛ)R"Œ2íØ¼³¸ÐF*ÇÙ¶ŽW Z™‡¦¸½VO«Ã—2GŸ%£J,>ž8é6Ö$1Q#“ +€ Å +ïb¤³ Ç[žo&â[fl…•hÓ>-²6œ&«Úobö9í²/wjhQñxq'NÌp£_›}IzuëV¥è'P ®Â«ðÚúi¥J‡4ô¯ZbvZ ¤…€tu-¡÷[O‡¶9-þP¥­‡R\)>%ZOÛï &WØžöd9Z³KE!@¥[1V‰¬8{E>£"ô§Öì7é'Y²~„aØì¿+=B”‘WR¥+2ÃWAPªÞT‘“»m¬A*êÀW9ÙÝÅͲT·5;8œHžzj¹vàç&ݧ“pT°™…IÄâAš:OѬK Ù—£Øöaúƒ†dŠÚÿ/3a1yt‡ ªë)ñ¨*“öh¯}×±#ÞâÓʳµK$Dà@'œhc’Ù_^Ù!ÇQ¥@ €p1‡W^ÊÃÖÌ/9c½Ž +yÎjé§Qk#’¥ðÀõo‡.É2á³Ôþ‘¤O&G@Ù@7U·ìrÔÝ\$„í ÿ0Ú)6agcu|”…)5ˆ‚¹þ #`3×9GÓ¯OúŸ“ògN:_RaYƒ€f +¼ËZ&Ÿ\3©–$ÃfòaŠžIázWSb§|d )áUûwö >êÑ‚N˜Â$uq<}†“ä[èîD»›µ´¥ :~¶[ÉI%Äžó-¡×Û~%o<¶H('ÅU¾¸U­Äíᶆ®³`Ù‹"tÖ‡«½HŠ“+àeÿ:•ešd©zˆjx(]ä¼¢&•°&ÌEù#}>v£g–&æÝÅýФàL¨`Dû*Eì›Ú±aAã§P1Ò0Ø( ¯Èµ³2áᨭÂè± ©^Jˆ¦’Ž +‡Œ¼è‹kº#EÍ®y›»xÎhÛ.6¨èÛSFãçö¿‘"eP¡z¨cõyÑ z\êæQ…âµØÕ3ÓQãÙ_3ÍTj*¥@d¨-.ÖWB-ì±?º9ÕõÝÚÒ)%*ÇPGœãE;•½ßλÅ- J5) LAšãÕ/Ä ÔÌ}MÂswõ’wÃ`¡«¦§Ãb݇Ìû|ÛH¶ùâF"[(÷®{€x†õ.Y¼e´÷D@ô½¾ü(wº=žîÊ2bÃvà¡Z‚‰!8mÛìÙJî°~(¾ª:ƒ—NXÄqHru5}0ަ,"FÞúÙ‡™ï?ƒ[áÅVìØ°JÛlOI“SøP)ìv¬.´7$ŒÇ¡ªíêN0LS>ÓôëLOê>{Å_©ªbb‚U-+Tl+¸&ÆÓ`Ýq­Ï#=ðÜk»á,¡s¨j•m3>Ê#Þ­ÙmYt‚J•âÕ;§ÂŒGNr.+”òæéª+óMEþdóŽ¡ ê:f$‚$ñš‹ï7í‹çÖ¦R¤¶£á¶? ºO‹Õôï¨XfzÎõšŸš:È)¥ŸÈv’AnHÀ+ØØ…¸°½¸h—›q`löÕòì×ùk‰yi+8{ š°L_7æ\óÒŒ;Éu53åœÌ"ÅR%i£M÷$RWTbQí}WB@«x®žµ*hœxOA¬ƒìï6ËóSq S† $tãCî#žr/N2§NòæKƒPä¬iq|R¾:üOÄ$‘¥¨¨Å+EçÛcì¨ß¿ ²—P›pTIQÚN†Èf]Ü_¾ê¼EJÁ)6ÓH ç¾kÁüºŸ‘Ž–uÍ* Ý7*ª–ÓÀi÷ñ‹×¥:4“«F¯v.jù.'h# ¾ÚAæ ¨jâ5rÕVQü³°z"b?1#0V`t[Ogôâ[ÕßÛ´¸ »ê©s‹J·#@™þ(49zõþbót¸ÎgÁ£Í“GƒTÒPâ­;FaŽÛ”¨¾Ý¦ÄÂüÙ­üÊÉ-¨é8ìÛÎ4GÚnâÿ2d¡—´ @ì›DH÷áÕFKÒm%o¨ÏPõy¨5 xµJšô‰”³G2ÛÈYÞMJ¶îl¼O©Œ¬©å#3ÄôcE}¥o}¦în°f F™N$Ltâz(aê礞›åÚŸ/Ǫ°\ÕÔÊhðꊚz‰*b¹ÝR¶™ÝËø.e;ßyv™Jej€ ýN>•îwj×—æRƦÒ¥@Iè8ã;{è g|ÑœpéªrNOôã +Æ^¿8[ÉÕ³Å/»QVì×k¨ZÀX`8¹[¼‹ðä’5zºJ/§.~Ý+S^2 ðcË÷Ñ¢ü3ñ Ÿ†fLoív†f 8GY—±$…©%¨FBjÒMË}Šl#ìÞñÐq®Ôuë í tD|ê*íë$¹~ѵ6ØQ +ÁBdˆŽ8qᲆl§…ú}¯ÌØþÑúÚ gZµ’¹(dUZ'5T%, 4†!US,€ H@ð*~ÿ9e¦×p™âLˆ%C‰Òǀƃv{ÕÚ4åÛjƒ¤+jI|"<…ÿÇJx2¥>EÍxd0fØZº›§†ÂIRaÃ;áx$äYÛ¨|îënAЗa3ýð2°P3=Êî˃ªAîBÊRNÉ"J}ÔH2ÏS豜F|? Ž—«ŠóÕ¸Ä ^öäCq#IÆ(.»=xM(rÖAɸÕDßÖ:Ÿ–zô¼Ud‹¾¢öÓ¿nÑE½G(k=moÉŽºåý^ËŸÎÿ©ŸÍWù_ûÍó¿ »»ßŽ,jc(îmûí:‡¼; ªËtGš Ï_˜*ÌED…Eõ6ðïíåU°›}Œl ãË:‰'wÈ™f«5ã•ÕJ`£‡ „ÊjdÐ3(Óoo¿…áæÚ´’qè¦Ú•¨Éu7Æ©æÆ)òÆaTÄ#«”7K/˜m¯ÑƲ‚›­J@ˆ«[_¨ˆ‰¥Vsôë“*òö"ë,´Ø½ÝCX¬v ÊÚ›[]G r×\`É´ûÐî#u'²Þ>ZÀèê1i«¡ÂUŒìVûÀïb~€{qIu¢TLÁ¥fýä¤ 0øR¿¤½DÀñÌù3MOü‡¦•B‚ ++ªÚþÞÜD¬¹ [ù˜s¤Š~¢}UÉQÒïê&HÕ8Œ³ +gbm…´2(ú¼9«†š}´ê3ëÌ#áYúc™&Í}6ʦ,f¦,Á[kH;Ý®/©¿Àpѧ[ü†„˜žbmÄßPècÃ:AU–%s†âÕРĈÞöé¹{“}Iá;Yƒl$ªqÙÊ­r¦ G—΃Üáœr=)Ä3ÕUrÍ^šihièsZP*)̯S@Yó5PäiºÇM¼“²;k†³Sr”;2“Ñ„Sd™f`Æt«„¸Ô¢ƒ¶0…GZ¦8ÇVÎ'š*p©Ö’…’Z×ÓiÔöíÞÜ2Ì씢U¦¥\ƒ7E­¶ƒ‰ãM¹Ï­øpê_é¤ô‹ŽãÙÆêbaNÐTI#D±ººÚ@Û. +‘áñ½°5»K2ÙXHF1Æ€«v­c’Ý$wdê Ž=~ÊÓì´ùÓ«¸¾t££Ž›áÒÑÃQ´ù“É4ÐÇ+ÄÖÕU¾¹ñîOkÌ7Á/\x{ñ¥)œðƒ³ǬÐkw»DKÙ‹Jx©éÒ™Ø"S$ÆßžÊúe˜ðl;̘v-'Éc„  $ì23ϘKZûJHÏkØ”½‡&‹ØÐÄ +Ø0|.1ÇÚ)9Tiß+ …±öêtQñâœÑIð'+.ñÉãOøç@W*䊡æ<ê£Eó=V"˜"‘%ý*VnCy,-í¾„rÙvdìéœ#õ¯9snòËiV)ÛÓÕI¬ÓÒ®£ôÓ6ÈsTu €â& ªá© f±M"%»çGžÍ¥Çb}æÝ~ó1MØ\¥ =ñÊ!VH.o[»΄‘£¢OÜ=„ô§¾Œàùʯ©Ôµ™ç£Åð„š¦ZÊtŠxR"’I2²²²áJûn/pí®âÄîÛͽP€8“2#Ù=TYÚæglÆî?ß! ñTÈ7z·©ÞZƒª’ ·Ëòøx®¤@ŠZcø„”Ý=«h¥ÁrÓ™ËÒÇP-Lª ïŸß2Écc¶ê46áK¬3pX³`¿©I"zTh8×lhzô¢Í…=°@HŸ:hÂðì‹!çæŒN·)GUV!‘©¨W Jcwj›µE(b¯.Ë‹†&âÖ2íÝªÚ + Ÿ2>óÂ…jÌîd¥¤ê18ª1‘†Ã·;½£ékô¹…æ|µ˜r÷CúËÓjy§ £¡©U}T´»àš|FIfÖDB\[G!X»Ì±¥:ÊÎ$€è€0ÆDŸJï3™æ[(?lãöÎ@^¡©"`€0ðñ$Iô Cëtêf/[MâµæyÇé$ ZüF¡¥vIÑ£x–IÜY PìMµ#‹wúÂääêEŽ”(l”áìL{ifô\wyR™³dœ03ˆ=8ÖN˜ç\§ÕŸå9W¯ø]Sbùm>KŸ. +|.ªh!cjjÄH%÷žáö‰.MÉ¿;%¸ÎÎZ6‡£á‚@$ã´Ç•5»YxŒ³¿u`:²II’8c$ð˜˜(`õKÔ®žô“¢o…a1tÓÄh›.ÐFâjö{l2¡ŽËܳ’Ú÷6&Ž_0T¥ëëˆÐ?*{sSz¬Å2¾öÕÀ^Œs~W£Àñ¼½™q V§â¯ËLj±Ó+·›,û“ü™,]˜é~úž7ºà›nø¤’U‰Äð¡i™£ᢠ+Q¨’¬"z=” z¾êD}Lê³KŠÔæü† +,:¦}çŠ%mó–» )?hjm{/ë{›¼µ´i¥ÈÔ¥@À³W;jí×y­ŸËmkí•.6`p×Ká=*¯ÄòÀÌTŒ©˜#0G2ÞÑ·^Ü‚n\îLÔO™% vR04šÇ1 k&b©A ²Uà»"ar¬Úk¯[æN8Ðm#½´BœR‹ú¤ßæ£úíó+ü÷æïò÷ÿs¶ëö¿Ùøñ7çLúÕ´«íÂh½f¬Kƒ;K’òóKµ dÌLdNåOí⻚áÆCî¤jáHnì; ÚôµÇ-cÑQÑÏ&/‚;ÚE‰ˆ¸ÇQËÙåÍAb&™fÉ3Ò+meÔZ*€²Ãƒb„‘¬K-†€ß·åYRaA1‡E)opãÃJªN®âób2åT S<åÔ»XìCÛÛ âŒÅ…;o Äm¥ ­DÅuˆfŒCYé°hel¶]Ðí®GuûÉá*l*ÆšvÑkQ aB_§ºL0S¶˜¢\3 +¥O3æ¶ì³ Ôa­ùu%M§TiëµiXOuMƒIEŠf +™¦ž +†‡ rniî·ïÚ÷ñål˜ F“ëKmßiN¬íè¨Y#Ô~^ÈmSCQn†ÐNéeØÜ²µÀî8¯2Ë_K@6DuÒWïÔÑÒ<*wP:¡†â3œÍMº¿7Ö¡ O3!@_yvÞ×B~®s½Ûº¸P.ðƒñŸ•6êuPD]ô­½;¡¯¡ê‡Túu–ó¦7€Ó¥,«INò¯’į–’![Ý»•¿Ç‚œ‰Ê0•¨Ò~&š^\ê@2>4ÓêÊÞ«z¡‡g<„MЬɘš:LF:""ZÁOe‚EŽ +£§‹ ßM4ãìï;¬¨ 7¨“ÀûéÛFõ¨…ÐIÖ/MÝoéUYâX†1ÓΦc´ôoU/ÌU+Ã3º†'U6„ž-ÊÝd-Å’ FÃ…n³¶¥JX&@8péúÃéó¨]@è¾1WãX ùZÚ*ݼêv;Ýcwd +W¾Ö;~® þŸûBÌìs^é¶ÂÒ½©H‰Ž$utЯ²ýå½g1@m¾ñ$ÁD GQ;é¡ã ^¹1Ì‹ƒÕt;«ØõÛ§Y€T¬ôÑNø]T•d´¦¢h ŒÊÄ©66*ËuÞyù•éq ¨Aô áÌÖMï‡gö™¥°¹`ݬò ÈŸÄc8¾\¦ŸÌ’;M@#cX|Sõ=¼è(“@粫¦U2|è#Ár5f9Ô£Õšè?•UÑé0š Ù^eSi«›iÚ¬D†Ê *>6äÚæGšçY™w¸)`Td‚8Ðzw5Íó~ùö´²‘âÄ™ÂâhréÞBÅpܧQðÚœ/.á4©Oó4u•) +ß- jä„îÌÅG{AÙßfæô¾«´%)m+ aÂ4 Ë·G0Þór +€ àü0?JEu*—5y?9€:š„ÞÆ”¨ÿTºäã¯a§'¬³ùµ‘Cï «¥ ÀöÖ@v:ÍËM鹘ÁD@I÷Ô,¥6j‹5Ù™g´Qþ‰efæ±Õ $•{ÛN{+¸¸ScRQèì¡6õ¾È´ê0˜ÁA ‚g¦‚SY®_•e(îݾ¯ÒH!!@™çeZ¬ÉƒªfŒê2¦.çÈ&Ì-äÔwFŠë{oAy®ùæY‚õ¼ñQ1ü*ÌókÌÓ••³ð¬™‚Ÿ7çNz¯¦ÄófA=Ôo†—ÃêNép¶òˆ‹…Víyr€à•$X¼ÅØP6õ‚6(sˆÂ‰®m³rLé; +'ýF ©È•°ÁMÕ9?y'Þ­R0Gò¦†eRÆ*ˆ r¥ôaqu “ì¢Ô)ÒOÜ‚8ÕFV÷iq=tc½ôÃ/u“¢9Ž“ âôé×<¯ˆŒF—-UH!©® òæˆ<ÇFV&ÚöÓQÄÖ×up•(BHÛÐjÁÒ‰Lí¬x†iĤËfž¢¢¯Ç0fhk¡vhdBŒ­ª›G)g×–:û•”êÛ¤ÄÑÆMŸ;mnt8Q;`‘>ÊPa˜^šp\>D|ým$5%ÛVvd‹6¦á®9‘=œ·n½ÝeÆñ*HÔI$Ï&jWÜ]ãU­ƒN¶~䉜qã>´ù„`T9MRL2?ôpDެMÚÖ6'¹¿ÓÃtÚ[ÜÚ)— +‚#£œÃ7þfJ\Å$Dp*º£‹Oˆt²›Ë8RÁ’ó4•¸u\©•4ó,n‚æP fí¸…$iȳnЬ·K;º·3ùb²Q:HÙˆçGŸï¥®íçn6é&Ü©IÔ$€AÚ}”‹‡ÓïU³ÎLƱhèSÊùR”Mˆb˜œÑPÃs¶4]î$•äpV$bIíãɃ"ßÜ¿4p¦Õä¸F& Àé=µ-å}¦nân[|-R”x‰ö =bý8>dœÇ-%x¤¬Àfiij +‰"i7\Æê7oÔ‘»A¨×‹ò\³òϪâIŸºvP£x7™—í0GÓ\3=v-…b¢2Ò +Æ1Jû¦ï­ÇÃ^ +í3]3®AIâ ŠYÜ5÷¡AI;2 ?ôó¯˜Î™?ždyV,ÓƒSÊÒuÈàø%c8X‰1jzµìÔþû´›ÃŽ[\›uj'ÌpŠq~2ž¬'lÑQëÇâM…zšÌ¹{(á™vŸ d®æZ¼V‚²Yyª&§‚¢Hª sP öpW˜dM³dµ­#Ê OžÊq¦Ö¼J|7Èùç•ÙΊ_‘§È¨²WbRkO’m ²Ht2(ÐÞì¢Ú‹œv"ÝöYz›å6KIð¬ô†;Aò¡ßeYàÊóÝ„KHûýp1íšeÀj#˜½\ñGSI_KO;€7,©¹Y¬lÀó no-•n—Rd8$yVH3¼ìÞY%Ä/À¡Š„B Á×ÂßW/“f6W¶Áb@â#¤@¤–7¢æß¼H%' ƒäAŠjÅE=--^`ò**`¤I(£†J³y˜(UH•ÛVìð.Ìs›[#í#i>@LÒ=๴µmj ðH£Ô™¡ƒªµQz}+×aO5f%ŠÓTPÉ_ÁQ…ÃP¤Ô4¾m•ôj\‡Ð,×=Ú5æPó‹zÅi`¨”©:fx•'†®Æ£û¾ÒÜÊ.}ËE8F©Ù*ÇÛA¾%›°¼n,s éþ9‚æ¼{&£´ôôò‹Ê|¹6ùs9Áб¸ƒ¡C}õ —)).4ãaSŠ’0Ž ¦.þ¤Ó}i 3ѳžŠ‘º³•z™ƒQÕK448Ž1_I ÑÍ,´‘ j¤lHG¸íý©CL[-O,„¤I8ªvs…,?QVï2†XeK}P i“†&gÝRóïW(R¶—¢Â ¢Âè”CGÆÞG»¾jéÈ,òIå‹’nO°'ß â³ÝkU©n‡/Ä™˜1ÀpJx +w<ß[=ÔµZ’ç{zæ*3‚LmŽpM Y#Õ–FÂ:qC–ŽV4Xv9]çVLP>ùdmeca ²`,9 ï^õÜf +Ôúå@<‡Pþño]öjï{rJŒ@èS?^zÓÌsY²r³NUÀéáõ÷àRìܬL +.ºy)8ÏU`ʘ¶+€R4ÔB¶˜¬€ºÝ•ïVRÚÜ-nåÏ'¸NœãJ­Ä´R¡"‚>¥Ç•©:Ý$}Q£LÉÒÞ¦RÅ_ˆÔSD˜]GòñâRªZÊ~Ä® ²MˆÔöÊýwVð¥Ä’À(D”ˆt]Ü­‘-‰`ôSrèBtû;Áš:;ŒO—^‚D¨¢<´ïp×Y)*ícm/÷ò™nú-ÒY}:L|E<õݲÒ4œ¸Ñ›é§X²7¨œ äÏW™v +¼Íµc¤Í¸t1axÂùiµZªh¶ÓÖv¿¼öëÏ9dñ4¨=œ+]ëŒmÄuþWÈý"ÈÒaÙÞ‡¡X4Øæ#u3458µk¬2šˆ§U4b[ë¸Vݬ%¬£&ÉQ–¶Â€p€Fb5+Ì“¶„{ã» d–á/'V­%v$&5ñ‰;xÔßÄ_ÑÞ~Íø6^>œ2¦I3TŒ~› ù|*ò:Ä ¨u‘à‹ËP²Aos¡¸8Ü›ªÉn)(J`:0^Æ÷‡,°¼uO$ 8u™/:'½(¢Åº„c[ËUÙ¨ÒaUQá2SÕüæ'2ËUy<úDò)¬#òi…ðÜpwo•¼ïìÔ&6â uœzªhÞk —’Ò€´•ˆ ž“8 +GõÖ1ug¬ê&c©«¬ª¯ž8ªªi㎖–dMÑRÅ@ÑB ëã­î·zíå(èH$i€g¯ÛEŸ™›5ݤjq' +ž±ŒFŠ\£ƒ`xdøPjür²0Õ2«é¹õU>Ë_°ÐknC™ïnY£9ºí¬t”êÒœ$“³§¦£Íìú‹Înó…ÛÚ”iFOžž'…6âÞFê\†&Ç1 +Y„õì!P†ºö¿vÚCö™wäÜw]ÂÓ㈠í{"•oïkvyy³jui‡ƒ´aìêí’0¼cÌ Ãé7VÔ Úô[÷äAzГQ%ÍßzvãYqlò–tŽ‹<"S´Ž&Pš]l}€öç®ož¹{¼Z¤ôÓW¹‚Ô¢J¤ñ¥N ‰äºŒrHòñZ:cMºVšÇ{ ì ý<ºnIÃa¤Mwë$ð머†lÂc‚ypªxš¾€yˆ×[Ø«—K”ùSŒ¨ªSH_ëÆ/ýbþco÷á»ÍÙskÛeïÆ>®¾ŠkFD{§øž%ž30˜£Â¢:ö×鿹¦Yùf6I;iC¶« +[ÊØ~3 ä+$×iéΊÜA· +Ý.þX¨ãæ^ ;cuÙw1bφctÐÅ ¡¦h€ Š·³‚¢÷Ö÷Gd²H)>tÚî΢™ùRZ¡ÓôÃ=H”®+0Êw>\äÉ`E‰ÓÇLJÙn^—!cemO»ª…œÖš&Uª‹ˆŒkVfQ¶ç²°?_‡æ¹:ÙN4ÁCÁ'ªžòf^Ëõ9F ÕÕ‰ãÌØœà½<¦Ì ¡ xNf”»Àšu*H³*"I¥&nÃ:UbtX6M¦l3¯¦3¢b&÷Àéôqó›¼Ö*TüiëlÀ$„¨F×óÚÖ¶€S&ì €eŸ¾Ó icáÄ7î¹pHj×Y˜ÒÁ\i®¢lcÍ”¸-ODó—ž0PȃÂÖöp¡7&ÐǤyÒwu)a$AàhOÅzmó5ÐâÙRì¹Y‚ÓÞ®§ß[Ê»•ÑàtØ&HÌω½n†P5dŠ<›k*Är±2 8m>ö-bñª,årt{2iýÑnÕç JTá˜V$+L†ØŸÒ¥ÝÛÜ6YÈ.¼ +€+Æ6ã™±åA¶=ÑLã]¢êV_ÁŽ ‘ñìZL+È_™²ž‚…vZË%R£HJ­Á°Ðñòg§s¯­¬›Iu—!)•J›8m'œpÓF oû[±vͦŽñµB@Ôu ÈâfF8ˆéˆ’;!«éÏùDz¶xâ€éÚ©(æ«_2:z ÇÌwd‘[ܵ‰±¸ã›÷žf¶›Çkb”xV°‰‘;Î4-=°æ6ÛÁobË 2䕯BÙÇô¬} é^`Çò¶9Pq\6šáoŒË%R(ÚXh¢”S4–Wtï`Ä~N¦Àpß5¾FZÊßZI D 1Óåì¥=©oNUdèyÄ(Pq pòöROªXÎC’ñL/šŽŸù†1JIgŽ9'Y ;#‘—p}Àtáns¿¹CùbÜKÉRH# I'„mžª æ[Í‘~In!Ô¬` &6EÞ›:y]Ðì¨3Vr“Å0ü÷ç £8ö-‹bÓTAD‘,fy`€O*<¡ŠÝ.6’ÂØû½™‹9›Èm Q¸ÌŽÃ³£ÛP›é-7¤I¥+ëýK–sÎr®pÿh¬ûž°Êd¨£ËÔuu"ަ¢8"¥¢5;¤5R0R»cK+¡šüïf×9fDÑC€8¥–Ð 8™Àƒ†Þp¡6}ÙkùfR›—¡d‰*âU à—²„zH_éÖø¿\ò.bÈÙwuˆbUÔ3E +Í!´q¼»J«3h"üïâæ¶è©¥a´íöœh7odR“ c‰ˆ5ƒ\3(Æ”u6#Y‡ä¡¯î›æÞ<]e…Nbbyã[e‘´™"’øE'ggÅêi¢La,nËÈÄX[^&V@Ó»LÙJU”þcöš9u¯¨Y[¤¹j›2õ3h Ž™ ¥£¦Uiç‘ÛEΗ$è=¼0È·Qû‡û¦“ÖIØ#]ø™ƉóúÍ™ƒ©˜æ79•aŸ‹ ¢„Ù–ž–?Ç—B5)R{¥—T P}jÄã2T; >*sc»ÂþÝ~¹«ÆÔÒ‚zj©¼t" ¬ÒæœLÏSFŠÒΈ$£7T\öæ›´:p4ÛÅrAÓßóœüØZ¶ëÍ|¯“®ï³»wöñGòÑÝýØÏë^ïFTYrÿD3~NÁÿ­ttç¡£•ši4nºkwàÃ6Î g +mYš•€4Ñ–q1œÛYE4_5UTC«©±!Oî›xÛ•º¶,Ûˆ¥·a4³¡ÌÔÖÔÕRÓY°²°¯›£%´m÷áC– l ;ik÷­,}¸Žq¦²tx¶mª—…­ H£]÷#Ù¯‡ØfÈK N"˜Y šsÄr&…ÖEM‚Ë4TQ°šž=£q Z÷·Àñqž¸¹M'uxŒgª”‹&c«Ž 4FÕj‰aŸÜ+¡±·€àiÒÊTI1Ë+:iÒ§1ÔÑáÔ¸%LrÃ=@05Käí¯³_Þ*â•LSŽ-QÃPdÇ¢ÂpvÌl{ÁjQ×}Ú&…ˆ,‡Àž=|ê^µ ûO¾·¶ñ“*ʳ‡XòRäZ|Z**| 2ÓO#í[)Š×"ÞÛ|8E’Üt©‘s)•jyÙS3·¨|—Ô¬GƒÓW͆çÖhà«ùu"3j-âÇ‹ÚeÞè/HƒƒË,ý`ªÅ¶yÕì6ge§ù0ÒŽìÀÁ~UÜ¿conÀÔ·žJ@;1ÚO’hß"ȸ¼m€1RÇ–ÑFÏÐ_³ßDs%%4Øoùß +Ÿ.ÿ'©™if4uŽî´Ôõ+ù'{ÜìµÉ#¹æd›T]Ù%¥`SSÀ¤a‡#S§i{¼Õ냤ÈÙ cg¶§úÂõ5êƒÏøó¹@Ár5LuVñ¥%%*QWSCå…˜{— +@u^ÖE¤vgŸ¿Ÿ¶û+ÖÒPuH ’N;cªw݇Ü\\&á§ÁÒAñ È$’¹áEÇ.ur {5 ­<²Ã # +<—G^3&Ë› ánJÎç,>‚LÀÂ¥·wEû;^ô($0¥>aÅ0ì*l¦Âqt0ÕÒOç$sFËm„Àð8ÖÆá‡nfyÌ©·S(P ‰#oX¢üµè(X”´®ôCÐ̹Šd¾¨EÖú%Çú_Òü­U‹ä +eˆ–­ÅÚ#,…ݦp´Òá‘…ÖÌϹA7&1ÜÞÃ,Q¼+Ô®ó¹)0gb‚@€pÃ({7k,ÎÁf +dH; ÏžºÍÔŽ…gî—åü³š3öRªÀJ+ðLB² "jzªP»! +Òc{²“{p-É,nžI~¨(A(3°`yô¡[yvd²…”¢RENèGY³¿G3­>kÈÕó`¦èab"‘!7òfŽûd]T‹p弪Ùl”© ¤í«7ÉmomËo @ôí¤U™ôWÖ_C}YtOÃ1*œ;Ì‘a•˜Î_©–/1’hJšŠhÜ–’-`@¸:lH7<Ü™¸°VÒŒLlŸáW8Š7ƒ²œÇ.ÌRB–Ù"ŒNÅÆ«!eªž¤Eco<â¹6Xâ¨v «-G˜©:‚H* $ Añä5ÛÿdlnõÐ[2ZTÀ8‘DÕ{DÜKLžñ%²BV I'¢z+ضG©,I˜Z:g¬˜5! F¦ìAQ¦ŸF–-¡K0 ±yä …ÄtA½nuë]qIr©/ÓœF‚C¸6è©B¬•ýã,œŸe‡‡$ÚËÛµ·­¸{(¼:…(¨™ºE6nÍõ9"x¼Ùó <Ñ*<Ô’ˆ”\ØØmì|x]¼Ì‹v‰8=XÓn"¥†E\ù>½ 8••‘‰)59(ñ€{nTííŒåŽ)j*Ÿ }dO(ƒÇgN8fèÌv< ŽÁ‡bs?™ù±ÏƒÓT×"+¤¬©Mmoï\x‹³ëT¯6SGø¶Q^𼦯“€1¥"iÿ–õK8$Ø…&IĨ—lµ5Ë+G4ÌÀ$ B²7¼nK‘eßÀ­ÀìÕÌæà²ÒÒ"eGÜ<èßq;?¸ÞkÂÃK RD’­‡ aVsøzz'É”8^^ëFš[3c¸]þ­ãK†˜Ö‚YåŠ9dJw ¼ùqÌ!g¸Ýc`qwdýœÙ~eôêRJ‚F l$ÁÇltxRû{rB®ñ¹pôD˜ã³Ë¦zïè£"õ‹Ì’z~Ài2/Pú?ŠáÔÕôU4N2³Püá&‰Q2š”!öûö³\D½•XÛeÖ¨û°ø*%°I +ÓœyÐë³¾Ôn20ҮܖŸ +W„ I éÇfl¢{›óNZèæ1‰eÌëÒ,Éžqß{ Ä §«|ƒ +xyÍ%HŽi%•Ô‰Œ EeÔÞä)ÚaÀÙ=r]AHR)…,+#€Ù'·÷x3 ’–í^Ô•¤*[I$ƒä +"ôÿ×>º3–eüW Ãê<ê¬Fž )iÂhÕ340ÇÞþôƒ}CµqiiejÚ”¼@ p ÿÔEï{mmn¤DljŒz¸PÇòŸA“#Väü¶‡ ê‡L²ì8¶bÌ2âTøÍ5DÔî´æŠž:¨g¨’u¹º¨ScsnI}^ß3hÛxœ ƒ¦’£² 2dfɰi×Òòñq»4é°8‚:ý´fÊœV—ž»9¼³®Ð¥Z×=¹‡¸%Ȭv¾l„˜¥®=„ÕÁ—èó¶¥0èR6ØnYö‚tÓÛæÃ, +Nÿìâqüiæõxmh•sJé Øb[)Üöa~5k™½1á4Ú”  Óv~è>C†MWŠ^ž v |¬p_a×póWI»»„ªb´¼µM¤)Cm`¯¢éLÚ³ «hs†Ršcï;m[Xý’IöÛŽ£/Zœ=™|$’gŠ ÿßÿõgçþV'Í·—å¶ýŸãÙßo÷ñÎí}ìF4ÏräÑu©õ‰æLr>9MåRÉN#&2.Ì¢ÃAÁžaº.,jJøÖ›Ýþí@ƒ4Á—óbEŒÇ-$"LMõ=×±=…½œó¹qÄáO©ŽíXÐ¥•²†+ÔšèRSNk\|ô’5¬ãÀùëÂ|Úå´(…*jåÑKlá韪\Õ=,˜žä’žä"w;‡³ëáPwA1[N’°M&“:ùÙ !+GO¦ûiìÛÊ[夰•&•‡’§$mŠjÍÝZ+#°—Ȫ˜ : {€q§·i.¼Hid·\^;jnHͳã-)‹ÕG[ºAOLª°c©îuïÄwû¨Û^‚Ó^jÌ%8™3²—ø#[EWU„åÀ‚»œR´( q¯ÆÞõùK[»àÑJìZYN„ Ûés7ÖäYñ¢Z«Ë MD„›k©[kðâ+üšæÚã¼e2˜ƒÓVÍá@hØ6ÔL…Ñ>¢M˜(qÜžjzµDI–"Qíw#jö¹¹íÆ’’0Äc·¦µh´Û¼ð¥ÿQ:rV—º»Uš²îpéŽjÇ¡Àª"¦¨Ic£©ªW(jD{ØF Mׂî3å *"gåU·ÍÙï{ÄœøõRGÁ#ÊnÌXqŠŸ|7† +¨á÷#ó NábÁ ìši¨à·°{›<»2´vé@%.(NE#ãCíÎÞK[|Ù‹‡ $LðŒ"MHÌPÀ²ýf„Ï%[ˆÕXMSC•QÒ©MÑÉ9Œn:.|mmy9¯k.W|†œy!KØ“ŽÍ<*DÎ{OËò÷’ +µkLj'Ï…(z¿IÔ¼rL›ÔÖÄè³VCÛG(š¦9$‰Q¼Ô†_,ÔnÒvKR,Ö#o¹f»“¬‚=c <èAºÙÉyÀ©‰ÃÔ + ¨²Ö†g5ÇH)(§2¬mÃÍ«{ö%(, íõñe» ·p_Nì¡[9ôÛ‘ ©B'¨uPÏ䜷œrŽ#›pÜN4`4WÑa5°í»5#£Jd–WV#¯´*ßíý¼È.wmªÕæ?ç¹åõÀBY Oj>cI4žéþU̹A&ιŸ•±,ñ“>çÊ”ÐSÑÕ: +Y©ÿGgM¹Ãv&Úó]‘ºþeoüÍJ’øûSö„‚`u¸ÓyüÂÂÌ©Xaö€6DühFõ›ë®ýMʹ:˜T¦]¬éæ#[=fÃi¡Š¾ù‹m@E¯ozݸ}~‘`Ú—jܸbAƒ>‡Î…=”n6Qhó¯%µ@2DDôaLxf#Oœý6Åš14ž¯>Òf¹jëé<˜"ù:…W"X„K&²H,÷ ‹{ lÝBTD1ÇÛNo¥˜‰(ˆ#ˆ? + ²œ™³#õ&Ÿ7eª†£’:تàªVÚŠ"Hиа;@#ìxKx›ë[ð¤«Áš;±Þ†—hÀ’#ié®U½{Á^ 5e<^‡—2TÔGŒ%3,iYäI¶lÚÄØX|4äõÚkÙ»­Ú¶Ê“¤’IâvBbk{dßÄf¤4„‘Ý“:¢ggI¦\ó×:l[ õ”y3¥Ì5ø.[‘ÓÔ-L¨õºûÁXÄn#^Fö¹{­¼×x‚™#h#  ]µ‘q­ARDáúQIèžLÛ©tX}qò0ªZÖº±Œî11=˰ü8/ÞÔ3fHÚ­Ÿi*1B¾bʯé×Õ.Ô×?Íúœ+Ò¡çUºÅ=EÒjym`¤ïb¿ê·ÀØ¡›ÏÎejd}ÈÑN¸F í§ÏP9V|ÑKÕÜ…EQŽ'Ä#†6cNEŒsɵlªF„“ìö߉7S<@ýŠÈêü)öµ’P“†>T8ä,¯SÒNŸdέÉS‰Óåþ®a¯M]†RÐ +Ú„­Ä#ÐS}"x›ÌW-k§U6%ß[7̈)â&{Ö“}p•+iS/Iº#œéñ,''âõ#©™'Oç˜VC$ÔËOT±ÍµÇ EÀm9 {&×owsœÒË8eX. €d§­„ÑÖâ\§)Î54™L"=6QÁè÷â=E)Ó¦uX-“ò™ùZhp +F¡@±÷VŽbŒ÷ÜI$µÍÏ~f&]¸û¼íŠ{R AGJ§dfhßz•+YëùPSÔÏ^sÅsN#†ô²º¿§›ñÊÜÅâO,QÚŽ8¡‰Á +Ê!¥¤A`Ä›h;ž.»CHîÛe”¬ˆOˆ‰Æv“49ÜÌ÷u»Aß²‡ÚB@Vd©?0“ÑPÓšu§£Œ¨ EÙ›V:„X×(ÝË+KÅ\ …! `@àž5änEƒwã)Ðèô°y~&žë=#a™.²—)uç©ù'¦rgœ6¦z9ðj‰q–ª¥H 55ZÅ +¾h•‹9$YMÈ;n]¾™ùæZ¦ÙC¬ž2F£—²ƒûëuy–­Vì<’^dÉLí1ÙE‹ +Àªòî5Œel{¨|r¹©g¦i ‘(§ ¸wÜ.†Ärì‡yó¯zµ¸YV¤ªxp4ì“yï•:ÕÃËQ 8(“ˆ#4 áY +ɹo +Îõ“ÿ¿é1¦1»Y<Šj„b¤vÕT“ 9íìía»Íí¸iF -±?¥;½ûìùèÕá ©=RŸÂƒÎ¦C‡Ôæ‰qêwòpÜjS*ÕnÆöørmÍK8{ª-rá´ ˆ¬™o1bxsüŒZœ-cåǸ €¾¿G)u)¤]áïf&”Y+ |_iŒT/(o0j¡œƒìåo‚]d¥½¤m­ Ž‚1Ç<Ú^¤Ö ‰)ñ ³ T”ý–Jè>‚5û¸Yº›¤r˵8&zM/Íóar”¥B4ñ“N…a¹7®ê¾gŠ,Há’‘MNÑÚký¯¯‚ƃjkR°ŠHíÛ]Þ 6S7õ·ßýkù>ÇÍü®ÑþOìû?ÃÆ?>ìOðÍ$îßþëÆªÖjYp¼úø…de)Äžêý¥²žß$Þø?m¤SÊTµ… 9KªB“­¦ˆIHâ)¶õ³Ö»lJVM%¹µTIÆ•´~«£é¦-UU”pØêéñØ¢î?hÛŒ«³³xØÖá˜w+/cKŒýøƒu'6å3”0É £Âf ¼¦ Ò|#Ony­Åm‡%F|ë˲RHñP's›£Z¯-¦o4#L 16·¶Ç†'%Q°FÊx4ˆ§L)éëgÛŠóã;Dmcpâ÷ñá6ub¶”BxÓk +K£E8¥unPÇi~P¬”æUž‹µ±íÛÙÄvöâu(ãV»QIÍ/òÖlŧê,ôÇÊÍBÈt ªBÁPª* ãru&æ+ËDQ¹p4ñÒH„õ¡.ÂeÁz¶ïŠàÙ骩«é0ˆ em4¬,sµ<-¥ä#l»Ô¨ºÞê+;÷EÒÚJ0î' è€ õŠEx¼Åj*mÚLzÖyg¤±úêä¹¢0UÁESóé¾&V6‘ãiç¦5A7$.ñFˆFö‚Û­ ]pÒ;¢µ˜žŽ¸¥V·–·+x„ª1ªxÑ_õë裫]õ7_Òü/þµæª:Z3Œ&xZ¶ªœùav÷&Kº›ŸA½±ç™EŽb’§¼N¨Ž²'gUB}¬½`íòkíq:±Ž¢'ÝN>˜}æë5^£2vfÊ9.9Rg|8ÁD±¢HLoón[°Qª‘ké äqŸou’Ôt<£þî:h¼Ñ–—2'g8Óžcè>Z³if¦lµA¶'xI׸ù`«³ž^„„¥Sì4ò³;’¡Šqê‹5ôž„G… +Œz²ÃSÍW´^ò—˜©Ü|9g3‹ô9¤¬ÇXeÞ8¬$êŠL`ƒ©ÐRçì»â§ \#µT†cO1É +NJ,ˆÑH!obØpÊÓ.¶qÆTýxãÓIßϯà+0p‰£ëÒoP +ëÏ¥¤xÃÕd•§ÁàÃp¬q >]'…«S-<ú±jrý"ÞÁˆ ©~}d¤«JŒ¨O¯³W.©XÓEên‘`ýÏX†VÌTâyŸòêñºˆ%hâ5M/š†TȳÆÑ,gy;šÚY‰MÃ…Å·¤ý¢è^w3q[GRž¯æLÂz{†UC„Äø¥<£ðеŽYYMXQ2Å©6aÉt{NÏUj‹žÒ ™þ!& ÃÒhûv÷ç::,Óp •;$ôíô˜¬¹ëþ}˜j À%¨›æªÄÒ12º’Þô¥Ø­ïíדã÷v›·”•©DèL’N$õž³SÎGqm»ùZž_Ú„˜“‰ýI§®e왂eÃs–9C¬¨§©l-IS_<^ ÔQBލ’Gt6$‚8«q{D;Á— ”4¤ ’¢‘¶1“ì¥{‘ÚBs«4ºÓ “´¬êè÷õPgÓܯ‰çލá¸6lÆé0VÌÕíH1lRi(Äî‰óL嶪©=—Ú\¹p·JÔ©;'`è,ÞçKöêHPÒ:¶Oôý)Y3ÔØV&Þ~;—q‰°Ê§¥a´ñEÕGÊ“VU,‹ó±“ †Ð|~9¶P5FR§&kÕ½^ÍùÞºÅ&ÊÓ8ó£bUHÅ´ú=œZÕòÊt41d!`zP“ýWÈŸ=þôEü»ùfÿ6Þçkyw¿·^ü5î™î6ð­þaßJ¨,^º +ªÄˆ#ƪ738;ŽëûG~H [¸„šZ„” +Å–W..1$uª$YÌ]Ö±°½ô毗pÙTºQ™”Î'€×VË”‡ ¤¬ŒE4J ¯˜”wâpƒûEOAª<¥HPKž›uŸ'tÃ-Õeœ[‹ÅeˆÇΖ!ŸA{ÛéâLë%züê +*d…‘²i dž›®®Š(Ö ¥ù Xª³]€EøefÈKII;0šPÞRËÓÓt·9u†›«øÎ!r¶"²¥N-‡À˜ƒRJÊ|—’)¾ Äoƒ[±¿gV¡A$O ÙM8–[2 zâ&^!øGú˜Ç(†}èý~VëïKq•aØžZÙ%÷”Í á<¦ö¦âGkðŽéO[·ûF”HÄ{©´!·¤‚9ÛH\Åé÷Ò²Qpå²ÝJJ˜Q£Nù𛑽Cg®ŒçÜ72ôz¾* n3GÌDTR´$:¢í$0{m~É#±áîk¾ICzB°"pŽ&,7RÆæÙKsö« Ó"‡¼×5u6XƳöl¢Ãó'ZñüNlÅ[KQK5-V-ƒÄR½ ÊbVh)Ü !]ä+Û^W—«:.šR0 èèg<6Íc?Ô>ZÅŽwÝ0|!#06à>>´²Ï>¨ºbžšáõ!6UCÄbãš–\>°¡ª“É’9ã +ûÕÚÖ +O{ð u»k}âÚ ãî¨õH_wû©“½Eú;ëÖ - Ìùw ’•É<ñùmö‡Ì…SûÂۮίÐubx Ž}µëwže{H>´Ì«é³,cì8nfÂñzÜˡˆ¢«Ž”÷ +°Nb(Úë£}'„™ÆbŒ¹2ñ§hêr-ía”ñ“°ÁŒ(,êg¦|¡Ô:ZlÍ!¥¥Æ)·T:DæzjÑ $©Iˆ=; Ë ”`Ãvàn,^È;DËÖæ–xlW ò^)Óˆš,ºÍžšlÇ2Æ`†´Ö`­:É7™¹A3‡³ŠÚq¥/Z¨8dÅ(º7WÓã›*(:ÁMO_IQ(\’5¸iðå >’šÝãKQ1MØV]Á³öy®À²¼LJ´í!ì±£{5°ín;t­/ãH­òõÁ¡CüÄfÿ•þ ü…WÌ|¾bߣٷ·™}¿Uø÷ò§æigòë®óNÂ*¨›v= xÔI2áíicSb²þ<”Xq[)¤ë +ÇÔ¬*“硇)…üË‚#Ø‚mßÀéǬ¤(…cNáJeÌA³¿‘‰4UPÛT’äF–ð½ÇïEËBЈÛMß„×}gÅÎ0árÒD“`ò<22YZECe-ogîÃaåIVÝ^Ë›QßKC.#&'Dâ›ÝÉbVúÛR;ówW +'²´êŠTz)Ã"e*ŒkFØŽ%)fXãRìÂ0Xè;Ø ñ&oz£o' +eöÊüÍ_K~¥úƒéÚ*ŒÁ—s½oO°È$ý …Îj'«h¼%„†…T‘b[_`áVaœf­6¶N©ÚUöޱ?*bã.•øAž”eº ø¼gŒÇŒÅ‚ú‰Ëô9û&b•V‡ŽœEW³¿AµÂéೞVVÐ(q=utå)Dƒ>b3›ºaÔL…I>KñʼZ8åÃa¥&ËP·™JÙ@k›ž7»;jÙ•¶À xìL ½t¿BˆJ†ÎvÒG ôaÆ©Žƒ¨YD³´†;i#=ËZä ÞÜîßdùåËââöäê8éNÀ:1ù +ÝËZS§`¨ýOê·SºSÔãw&QçÄŽc“haž;}°é/{^à§ÝãÁyÝë[yÔ t‰ùRnéÔý {ª¼zûÕ/Z^¦ãÄ2¾)„Á”úw‹Á%i‚±© §ŒRJ¤yÕ2¸Xܸ"ç¶œY“·»Ö!Õ¬•ƒáÛ8ô4õ“JL¨«ß…Üç•1ü­ŽOƒf:¤Ä¨ä£FIÒæÌ$„º2n +µ¾ÑÓç*Ì> ³w¯Ái=Ûh)$®­˜ü(zômê—¥¾ªòÆ éç®2Rôï­6©–·§ùŠ(Á£©’ªMòá~ð1ÇU¸¤I ë!]é³¹~ñw3!zOGW”aÑ@ìÌ®o®Ôû¦JŒ“×ÀGº„J˜—EòEn|ôï›k¤Æòâõ2O”1E‡}œNè `H™€7¨°`ïÂŒõ«Ä¶…ŒSÁCo¯E5’X[¼æ¥O–T*Åé×Òì¹ñ^œd,–¢š_&ŽJš8ª¦°#Þß8w'ã~Ü_º¼ +•í4¢úÝ)'J`ùVL.ä øhò&6ëS‡,M X˜ le!NÄ}Ü)Þ}Üg0@OÚgîäkvM¡Æ!dœ=˜õÐaôÍr…P¬é õÕi†Êcª¡¨R"*€)ÜhÈ·o£€ýí쌆µ!z”ܽÛi ùoSxì5bØEV &_ Â)p\a~i+¢k #;ìw #[‹iãÄ;¹Ú +­SÜÞI¡ÑÖ)«låÆe·ó"±`EÌùO3KŠ$”ñâ2Ñͺœ…;è]õÖÜws4¶]¸ ñfdQÎG˜8•BNkŽMê.`ƒ%ã8ž-$pÍ›% +pÕPYÙ‹Y¬vNóo¼ðÉîè¨(‰¥ùâ’ʇÀSö[L/"CKŽâ°èªXyé í°Ûöu:Ü÷ãw6m­Z‰§¿”²ïƒB69Ö ³O˜jKW‰’¨”Ìoe¶ÐÞ×ãËCjoîÆšZÔ‘‚)>l­Æ±ª|Aj¦¿ c§‰ – mu»16½¸ýÆö­9P´Jt‚­K?ÒèCãKìó^@ƒªTzz¥/Æj\Õ…á4ø”þuµ_/([*–"öpm|xN–Õ)œÏ-p”’¬ ƒAÞeÈ}VdŸ&ã.)©ç¨gGQlo¸m½ºp—3ݧ…øy&$l¢6òå ²¥v:?ÑŒù,ôm‰C9ܸ‚F$“ܰkíÃÙ¯+žn½ÍÙ +J ìŠOŸ¯—¥5u ªÐus‚ƒ(QlÀc„„©óÁ{›ÛÛðâ›;eÚ[ ÚšO—Ø8JU8PY‰Vay/ÂðìÁZ˜=\†¡±X׿këŇ —þe!ÄêÆ»Æª²¥-T،ĴñOæÁPÃsº5¬ º¾Þ+UÊRà@ÛJÝy†‰Œ#ÛJ.ŽbÓÕTãTˆ¸m%-§Us³pÝ{G{^übùÆÚTíšcóIQi{þÔT¿Í~Sù¼ß+æ[Ã~í¶òý»~7ãÿÏî¶G‡¦“ÿ:¾ïgQÓ;*¾2Ò GÄ%ªŽ6¢žˆØÔ[zvï"ü’®’´$ל.%ÁA–lÁpün¦¦¶•OÊQN±S>Š,‡[o4ñiN4¡(:iムÊxeV/†Tù˜°§Û ”n k‘§ÚµøS™‡._JHðÒk›e84ëӺ̭S%Q8g âÞXi+CæhYNˆã¹•²š@„Šm–ÜiÑ +TfÜ2£ÁÆMÍÔ?!†ùqOK2Ä _±ñÐð¶Ø÷ªdÍå,!IP8ŠaÂz5_-kÒżaX¤LÑÏ "†¿´¯·^>»ð›E<öK +Œ+žféŸù¿ Ž—–¦ NήlØ›|uãjÌÊ©¼ÂܦG·ßM¹3"à¹LgÌÓNøö`¡¨ÛShhâtf v“QÛAÂlÿ+zðiJô§‰j÷, 5ÇW¸aB¾Wõ5׬‡KœòÕ]&7C†§–rýTb +G§C¸%8Œ)ÀÐôäû«–å“ ÛµS*óš.Í·?¾O€ÂÇNÃéF_Ó÷âoé߬¸448Ö)MÒ¼ú–Yðìq„t¬îlÉ AÚ,{ë´ßÇ£wßH +G>ÃríÖ„9¢…ÜÁˆäüÝ€Hø|±b¨¦•%€¬§g˜’)(ñ›ØÛ·ˆá~b¦’Ú‰Â0މéüiûD‡Ä&$É~T]ó¯@gÊÙ€â;ü®=*# #°mí »­¡7Ð÷G ]É€5 'ß™M–• ÁùÐgê[#äNã8Vkƨ°¬[Í’®Y­=<墫1k¤x"Àê8ê¬ËÝ’Ü&há›ô^·¥Ã àxQEõƒ‘ò¶_Äpü[$as`µ˜ƒŸ:()ßäXH.S( +\ý»ðûps«…%I[š“Ö|CçMªÉÛu”©@ùP©Ò]˜¯¤Kø@ÌX}M^uÎÒb2ùøŽøeðù¥i¢Š#å0†OÒJ6%¯b8`¼¶Û0}jD HŒHàH¤ÝÓ®,„ãþê :WÕ|¿žª1Õ‹V!Ìx¾+QYV†=ñ¥,j¢/,(. í}ä5Oýéµ¹B›D8’qèÛJ/ú4ƒ&ßÒ›*ýMâY{©¸mf @™¦¢?ŸB¥Ö²“kÔÚ«0¹R–Ò×Ó‡ùñfy5‹ˆµr¡³£‘G[¥½¹ÆNÚ…»ÅFFhBè.9Ó|ùMž%«Äñip¼È) tV¶XÖµghÁN©o%mp|46#€ ìµÎo¯ÙrùR±‰3 ˆŒ=»+wùÆbâÜqÂVFÕcøÑƒõ3éÃÑ÷P°ŒG.[—¦øvEŒá²Ç]Z,gôÄÄD¤±¹ÿÅ‹ÏUd,˜'§å5•îÈii//ÂxŽ¿1A—Kz'Ó<qÌ·„áÉ‹eSÊó´ÒþŒr/½Mˆ7¾ºXŽ_çwÎ\¥dÉéœAÛ"ŒìUn‡‚‚LÁé<¢Ÿê[Ó~sôÏ›è1Ú1UK•±™LØT÷+=$°°q Ì "Ü#¸Ôv䇺{Ø/Ûв5½c¤|é&{•÷ÃHìkªùûÎc¨¸Ž%T3›˜ê'Ä ˜æyc°JÛ_tv<´C!½ xO\ËA# +:^™?jz¼¬zkÔ:y°÷Z \;ôU&DÕä[/–í¸m ü8ÞMÑîeÖñHÚž*}»ï ÅGø¿CÖ\Ä0zZ,c–ª‹RÓ¬ÓO3Xη;,uµþî– @VÎ`ÛM%¥$pâxÓd½U¦Ãi©Ó%âͰêYZÅ`±—f±:µíß·]Ý%JÒ¡¶›º}„))iR8Ô~¤Ó¡W¶hÃiF +Ôô{ªN¨&U¸µ7:iìú8ß½Æjî×¼j5}#ÞL¬^,)Ú ³˜õ"CPí¨‰WÉj‡¹uŒP0¿½vÒöáwe™ëIÔÂŒ*d`QNIz¦ü ÁùRÛ øôxÝ`Ãñh©æ‚•Áž®@=¶¯½}5öðn‚\:1¡Up„¯NÞ$Ÿ… +ù·§9w2T¦[µç¢óÕ¢¹ŽRÄØ¶…ûqÇÚ)Âví£v¯qa  |é+‰!Á+"—XM,ÉåC~à]E¯õxŽ# áÓ^½ÃdE0f‚‡çòÕ+QWHê¡»;I°×N(MÂ#nÍÖH ÚO +Tô»Ÿ ª\«ˆˆÒ‚†91*âÍiK€·Ôû;x[ŽZ(ΞRSÝûj/S3…PAŠÕy§Æç·Í"³¬Íp¬ÃK€@7ãKh<²©˜áDW—%¶’«>áO9g>tÿÉ#%e™›9â%£W‘-`£{1vÝaßQÄÙŠ{¶ŠŽÞŠ*V]pûÁ(ÄžªXä>e|ó‘<:®5aÁ£¨Šœ ¶»Y‰:[M=—¤­‘"f·{–9iâ*ÄtP)êÒnUȵ˜f+GŠIšjqIšj€ò‡Ø¾Ñ°­µâÅYº’i»WBÎ8´âx~1>+äT. ¥T>äq _…n£K…Sˆ§ÙaõŒ)YÒÜBZyÛ'òh\¯“9ÜX%‚©[ZÄë¯Ýnh¹Ýá)u¹QHVÁNŸÎ2Ïõóùòö½üÏ;MÞoø¾‡~}ÈûißÌ;®cÝòªûé/O±n¦æ£þaO‚|½7ºy t€5äµ{t–“15çàãN9ÞsCŠ.IuZZ|£ ÊË!Ðt¸#7.$¨m<+i“\š³§e 4 Úä­-€?—¥‡V©˜¥Vá=ÞÉ¥F ¸’’LV/'9aÕ„áâtr ›ß蛸±UÃÃIðñšõöZnNTñG?Qóu=9š($Ä(©%X‘ÛÞº)°[xr‹³¶BˆAÛJò¬¤¶Ü…ù3£9_Á_ZÃ.vÅ©üŒ; Ie%± ¦æ: ×·~]¸ê©´ÄÒ»–ZÅK<"‚|çæ|ÃQeüÏM$žM™àžw¼KfuÑÃf;Y»Ô}ÉØhšù.©a=z¨e¨À1çÆ°l#&ÒɉQWIO¼‘¹îìFšâ8–ÙA +Ô®º8U Z“Cõ¡éuMiÅgÅÿKU" Ãà +±ª¢€Ä’ˆ=¾þ7sn5+Jš´"äÎ=NªzGËyË*ã]GÈ8ÍUÎø“U×åüB¦4®òÔVAç¬Jµác¡Y“:ëKÒT‘Ñ´PK}lPÕμW²z<éékÕçWúœð¬µA‹Ë/N1Nq,.°ùÔ™U&‘cmÛYU‰m¨â­èÊÛ¼Ë]J„ +ƒÇfÑmR•êNjÍr[pK©éŽt©†›¥ˆb8c›î®ÃÊÞ&[ý¹£¶Q¡÷K À1½ÐÍÃÙx Æ"QéøUTH׸g¬½Ò<å‡ÑayÏ +¢ê /SóPSãQ#Â@Æda]J‚4pu¸¦f^¬z‹Çó6lI(qéªFÔò8Gü¨|š "ãj¤C¶—¿ÇƒnÏ­݈ÆgŲ08Ѓ%·)n šÍ鯤ÙϬ­Ozm¬ê6sž, …dľ#(‡|®vªÆÝØtå7³>E›’¯´bxìáN]»ã >ÞÞËŸ„ÆóFÙ~Ý: öq©½ÎIuK À0–YrÍ<-O,‹`Á扶¨&á€7ã‰ËÃ+[M5e©K$Θ5ƒÕÄÕZ92M}/ó*L:Ä»6ºsïku7×Çžo1üÂtá„ç¯f &D‘·ñ4F:¯Ò<ÇÓº¹eÅ¢ùÌ"9 +EV—` ‹…iµ¿QÁöèï;7 ‚º:|«ËiHpŠVzˆêEó–RÈKÒú +œ:䬿MA‹Õ*ª£½0RGÝØmØ)ÉòWØSšÕ)Q'¯CgnðZµ (gôáÖŒ½Õ›Öa‡L;ªÙi âšÂ:ê4PVPÛx7ÀŽç€Ýðȱº +lÒŽ=G£ÊŸµS…Ø&žð|ÇÓüÉ¥>lÌ Eaš–”ª^TÐmtø[ˆW’:¬'žª\œ¾Ýj +qqåOïTf +Ï+ÄF)€á0˜j %(;‹“ì qC:Ï)«¾í0äT|êø%5€™æƒ£?/Š )æEmtR‡_‡îkÖYÜ6e3ªNØ'.9H7É@Æ}ÔçÓ ? ¦bªšy7ÔRF ó ^Ý.G÷pTíâ­î£ëGi@DŽ4%C׬’¶¡’„ª"Ô)B;GÚ¹å® +ûÀI’hÁ¼Å¤˜)¹U笗Ÿ²ü”õu0ÅXX˜]ÞR¢åµ¹rʹR)üÓ+dcIÊN¦gJ<,el¾‘6Õ:¾ïÒÈPé¹›·ÖyëK¶PaCÅî¤Î<âÀŸSKÊŽÖõ¡1œ*±° +Ø"QˆS#€dŒ(¹sq©¹¶¼x­%"ž¸ËÅÊ5LŽ&kd£Â0,C%à‰IŒ×ÓÓ=…Q ×±&ÚMþ‰XƒTŠ(¼Ë™Bü8¨°|GËpçì¿–fꞄѡ K9*Û +‚{½‡·^.]‘¹V‘ˆiSCÂßwЉˆë=¸¨è©®™të7cø¢Vå òž)E‚ÕÁo6¢®·QIM±œ3*:±·ø”¯*ÏÍmn^ZÓ m Áã;"¼ÜkÄ¡ÍQŒ%DÆÈž‘J.—úy~•æ¬"ÖÞ2¹Kæð™ñÚ| Îj1VÔÃE,`0ŽiƒÜ!7jÓƒmÒì¢ï1q£vàe²5 {)~îv=¬kp€„D$ÌlN΄슞:B™ÓÄ3ž\‚“¥ù/ÈHé0¯5ªœùjÝò·¼Ä/¼oÞö°·½ Xå‹ÌTlC)À‰1ÄùÑ.ôæ–ÍÜ+»HØžta9w.äY&ªÆæe¤­$(ðRýë‚¿˜´-gG—\´’T­‡e'¬Ø_õ‡Îù!ýWÙ;[^û7þ§žï:£Ò·Þ¿ªtáD«$el6¯©Ì¯#Šê]ô±…™u­ÜørXK¥ Ò8ÒælÛ8S–Ò§f:‘˜æÀ1Xè'Ú)¤žžXâ>`º²ÈÊÞúò×zÂvÕí÷~ãL”˜ò1GÇÐ_ü'묞 W êרJ¹ºÐ꘭œ˜ÛÄSiò%<‘¼qFÌ4’P.¶*Ž<3Ë·eNýÂ'`ãF)bÝ”„©}æyô«"éá7ø`äÌ´™v§*SõO2XRÔb9ª®jœBF`E‘i䥂+m:ÃÛÄß^/³Ë·âhDÎ;<éEîUš[xƒP˜™ GLyáIQøztÄ1¿Ms=&V­„« +QµRÇÂ×V +#a§ÚW#Ù~3üÅ T„“&*¹§hÕÏÔ:¿p, ®ÆeÌ5X¬òK‰Ó°xÞe‰$–7Vn÷Óu¸ÕÆnû§#ÛE·§>¥„æI ßÕW¥{ª’Ÿ£tM›ó†R+– ¬ZhcÜÓ5•C"Ú@·{r¶ÐÍ­ÊVêÀl~¦wÅÜÂPú{ɧ_HŸ†·N0¼³ƒb¾ ê0ÜõÔ$Ä`Åð¼7¨5” ¢ºPâ1 R¥½æXÐZÄou$ o÷<û.¥:OY=` o¥>èCÚhÆúÞô¯E–ºW’ú—–ëe¥ÎYZ©0ºšè[ÊŠ™%®¦•J«…0ÎÒ¨6±2X’ Šç(ËÚ:µáÄœ}õ²’Û ñÜh+é@;ª1™!Îx÷õ?-åšel^› 1 +§™Y[å%u) %t$nebVÚ'y>j»±¬©áåøÒe4Á3·ªŒ^YË.èP©¡é–O`ô”f¦¶XFú© –’¢iÛt„…$–m>›V™YR[€m8˜ó­wëX„ˆF]sÁ©±Yu8‚6œº¡*êȊĤŠÅN~犵ZaÈŒF8m¥³eð™ÕÒ(ÙúôëWõ+E¨<O—1LZ)ñŒ +¶˜ÒËKYM =3È“½%òƒ`tבŽXó–ùê­ojT6]›wœPZÄê&’ž—0*üñ–ð~•P=0¨Çª>rw®>M,1ÌàyµRYìºØ“{IáÆ²ofÚ<évS D-^7™ÏÑ&PÉÝ;þ_cLAÌ¥! ŠŽ(=¡€§Wó'‰~çA¦«Íÿ%| °äÑöídæ.¨'øz|©cé;ÑB2C¬ƒ03ã]EI¶|WÍfÈ=äT¶ÕN€¯ݰ§ œ0ŠXî5©´Z%J™3²‚lÿ‘pìå\0õ'ıLi:‚»¥PÖc¸­¸_{eÞNÚŒ75­YeF‘ê&( §è¬ù§8cVmŽƒiB%%Eš0›Ÿ;½ûý¼4·)e ƒ +hnØkºXYDxz±Œhµzˆè)é×=A0êTÄ:m]_²J]â­i$Œ,G87ºŸ-›ínàðQ»›ÅüÁ‚ÂÕF§¯Ï¦—-8…©¥Pœzi™³ÌC©ç#ÒÿUé*ªþj–™7mEnñkpAì|5· ʦÔ6áœ#õª0ÒÒˆVÚ8þúsÒSÃýAãÔ´X†ˆí«Z9U[ý"Š´.}•‘MŵÓKsƒvÓÅ™0Ÿx¡W•Û›4¸°á–XN?”àÇñ Äh`¢¯ÍÓn¥¡@N›ÛUˆ>Î6ÝòÌ$ÈÞº%Înn¦$Ç +gÅsŽ ›sìT)˜¨K±8F²ÆI7Qm  |ySb«’…¥0’Û-Ç^b)ßÎgN©©±‘¥ª—Ý « ä÷bJ‚O·Š¿•Z(iÛF-Ú”l1I O©ùSªÕK_"à5õ.iÍ$ªÀ=»¸¶ëßÛo¯‰ï7yàÌqè¥KƒÄqÙgÎÙr“§96›9áµi#d + Ì'´{…ÛNçûx‘¬¸Ü¯AV5ä²”¡·e4aýEÌ•8P†¦$Àªk_u<àŽÃ[ ׉NPX^­¦¶ây²U´ì4"e¼ý›²þ†¯¨ª’2Éݹ€RI xqÆÝ}¥NÊ[—Z:ØÕ¤(bè7•º]MIQB”T+ʇ!fD ÔKv+ö#VmN¶ãê¹*I¥önÛ>¨Ò1é¡7«4Þ:]ƒdjŠj‡©Åp™äÍ%F5qMP^€NÒ$òTárx%É•–Û´ÏztªIQFeå™eµ¥ãJq0”8ÉöôÒªž¬³'RñlW©‡(Òåo—ÇgÁ 1JtŽ«CÏp¥‰aïvµ¯ÀþwÛm®mštBJ¼'¨ „ÒÛ,Ã*lâpœz©?žóGE½Aa4ýcÉ+Q›1ØêÚž W«««Æª§%UJ0ZxÔ‘d4à³yó†×f„Éœ5)J’z‚FÁI7Ÿ{ÐržáGŶLlžª ëpn²ãyû Àó ›.åZ‰YR®Y¸ +’PÚ: ûxÍ3`¦|îò¢Ÿ„ôuRû­>Ÿñ¼³…Å™±V›6d©è÷ÍU°ªÄà_vßzÿX/E£®Aô¤©[kT¯gÂëÆKþ­/ù”þSó?'·gîoúoßáðá‡ò×;¾ºUß9ùyœ6zQžü<ÿˆ0 n‹?z³¨ÃòÞi§Š–éÚMO‹8ªw 1F»Dá"S"·ï1[¡œ·wr…¢Ãï7Þˆèõ"†¨ËZ°Òî‚´Ž ø}µf˜'IñŠh¦Ã³¾cÄóŽˆFi–àŽA"ì1Ï,© #M»BÛKpû3Þ;g‘¥èOI‰&™ÌwÂÈÇåí’‚?ˆ’U=D•êötë/M3ETU°Ó玜ãSUa•w‚†z§E “™~AaÜŽÖ±W»v™}Ú+LI{èO¸9ìæöˆ ©›„(ŒT•‚v¤`=Ý¢‚®…áY«­Ùºš³ +£¨&PÖqLRV1•_(ÈÑBÔïu6÷Iø\UŸo]¥‚€#Qôðœ(kÚ6ôeyZ¤…‚éO uÀ&FÁ·®(Ôâι‘ˆPÖRÓÀ|´Gº"E÷Ô°‘í®V«ƒáP“ס+-ÞrðÊ’O ÇÙ^óΊT="Ï%E8C,lK2y • ÚÌ@½¹ëŒ¡ÖÒ  ãÀÆØªÞîóì¤+I Î1±øÑRõ?ÑŠ\ê# ê¦\ý>Ÿ©j ÎU…b™|´H¥ a´ª‹kq{öàS´íÔ/Z›´#d%qÑÁ_"|©n÷e+ηt\%0å± L–ˆ&NÙ)=U½bèçMs’šLÓ…Å`ùjO>޹jž®8d$˜’hd+»FRH:®¼‹î˜JöLŽ8b*8¹ "0è ;¨½zèŸFë讇g|Ý ‚޲d¥‘D·+4¤;©ao¥¸…9Qq^#‡3éH…±&D~Rk%o¬öZ,ÁÊôU±‰j䥌¹H‹#y)YìXJ³ôÛ‰\ÉœmÑ¥2}ŸÖ…§®yáOž˜ð¬áÔ,ó–ú‘“p‡ÉÝ$LI`ÆF-¸Y”ÓAˆ`‘4cyªz®ö1î$Þüm¼±›7ÖH€±8l +G¨ÇÛF‰io! +QÅ'°vQµê6]êïAñœ+ªctØ#¬ ¬“áòù‘+ OºD~>á†nÃW™B´ã„ƒåZ HnJúÉEŠz]ész’ËÔÏŠf< +¶8“ •k¡CIˆù5MD‘ˆ‘ãYJî,µÚx‡vrTÄ. ˆàq=5f2*ĺ¾j¡¬ÅšªÌ ÐJŠ‚M¾¦ì.F—öñ>ú%Í@&@ÂŽ2léᩎ +èÛ=Td2M›«½@Ã᩟3äLVZ9 Ÿ*G¦ºÎ’<’×ïn¹`-×;Äñó¤nØ:Íßt¼5lœ)Cƒô>¢àí *6š¤¼ë\X*¨U¶ÛÜ {ZßO Þe°àKpSFnåíÛ+AÛXq¼,Џòî{Žk0[Fͨù“ +j\€„ßocÅ7·Šy´èÃåBPË a: A"jn+‹t–.ž¾-YOI„æj7ß yh6Æ»«jtÝ8’à–1IÛñ¤¹ë–ˆ`­*ÇÊ„ÿOØ^EëwB³V ‰¨Å©ò½ 5n! + +MiCyg¾ Øü-“ÝJ” ¤cAlË= i4㞘*q¸aªÁ¥§Ã¨ðéŠDÒÞfR§v—Ü,-ÃÞ´à: Í7BÁ7¬6ùÅ(q^—õ{)`Î)é&Ô4ÖJˆÍ‘@PnO»c®¶âWŠU)1yy`ú™*IÀsÂ…|™ÐJÌc£ø®?R”òf̽„ÊÔÔ4‘P­]-Kù/ÆUÿIßR|xÍ.®sF!&xâ<§o•e÷)Ï ´u©¸]]nçˆðê,ñ–IAŠT<´«K袑 ÷ÄXKéâ4+Å't3vÊÂÉ@I;DÁÚ#áFù‡—¾8tq:RÒK«kq앜°¬/ÊÕ³E[‹bØ5|´rÕ%_¼R™gÙ#FSßD‘âÚëÏnÆëºõÂ_^¢"ç…]¢OíÒ4ÿz`“×øk(}ôÓ(`Y‡¡˜®)ˆåÿ™13ƒäæ]Ú™ÖH÷G´b +èx7Ì7BÌZënà­\A‹/l¥%ITü3óŠ +ºáê·.õC:ÿ+é­ÿ|蔊±jL­öµû|8Ia–;`‚\PÒ&‰³µw¤€Wñê²›(ÉÒÌf|_0ÊÔk >MO$FišÊ#[!-rmn*ËT²ØP »h¥·µ¥G8Qsþ·gŸó‰ýDÿ6øŽÝ»’ü¤ß3o/ü¥¾ÖïÎÜSå>›1ŸeWû^ç{„iŠ»<ÑêÛ3Òõ—ùŒ—ƒÇC_]AŽKT|Å“É]õ¥#R$¹ ºj>'(ÚÜ6›¶Zâñ@$c³ŽÎš¿Øy¦27æÖDjRpcö»6áC&5×îŸ`uX¶ GT3oÊK'ÌáÀ‰÷Çš°nö%oc¡×Nåû—~ûh^˜B¿‹hÛ>q@쓲ÜÞñ-8Q¡§ VȘá?»•_½uõ£Ô¾·fŠÜ`ÒRœ +¾S ÀÒ¥©bJtbwŒNd’FµÔ^À X*ÎsÆ·i‚ +¤Á3œb¦ýçìºÃ³ýÞaÆÁqjWípÄŒ €"_à ¯ÿgé:‰™mE˜z‹ÕK%(ºÇM+ÐEN›»ûл’u;½–á5Þ|ö`ÚV$‰áî¨KµMåw2ÌAVĈ¸Ñ“ ’©m[BÐýübƒT f.¤ä\£Ö–éäY}¨ª±Xdĥļ+4Œm, ’BŸ,û5¶šðMacuu`_Ä`Ô6×RNI¹¶c»œüÌ¥$ #Œ¯g•7c˜Ö ›úŽ™3oæT3`x“¼3 šf÷GaiZÀx ñÛ¬™#+P#À>DqùõÖ™ÊܳʊÒ"TŸ.'ñª†üA}hõ7£™óôõ• vˆeš‰0ïçò‘4”óF®‰]Æ9ïî Ð9ïâÜYfn1 %'ÔŽ:*8íG(QÍ +t€m ‰ùÒ+ÒŸ¦Î©õoÿ›;Jé—ËÚ¿6æT–‹'½/’ i*^ä"¸&Û™o¬Ä(9Ž#dŽ³Â‚Z•">›z è7C¨ÏR3»ÍÖ,ñEz¨±\Æ¿è½(Ü^‡BÑ W#as#û·ºt†àœ:Ôíçe6.RƒÔâk&9Ö\ÁƒDÙ¶¦ª²Pîµ.òTI3Šžš]¬ -¹ãY•“OÛhpJHòª´ú›^°^ª:1êw%æ {ɘ%,µ˜ÄU2Á‹QÓ´[&šp¨j#e6IK+‚ª†ä5$íÏòõC.kk Á@{ ÑîOeËÔ‡[‚¨Çh"£bØê+ÍÝ(Æ(W¿«õø5}P¤˜õÒÌ´2•xT1¤XêØ ~šZš +‰2{½+«(qáý!ORê/Zß"K'K°¨hò¤é'Í3HdsÚò!ÛqЉíŲ¦]IpGÂ…¹ùÕåÊq¥ &p&Hé¦Ì™›36aéŽ-Ô¼_¯Á*SA†bXV"|ÃRÖ+c¤êȱ’ÖüN–)íùÃt„6Ÿ “'«¢‘Úæ­£JœIìŒ)#•ºcÐŽ¡Ç_º‡¤éD´Ø¼X5Mns¬š›zGFÕPMK*¬¨ÛØmDZ°±ÖåY»|Ù7+Яï=´kwyjúB‹Š×«í‰go¥&óVÊu]m¢ê·Pqéªh1Zhé +³%b +lô1@‚c»@¶UaîðAdñSbܤ»(¿=¿m¤“³ŽÌ#Oõ;ÕWF²ÜÕx,Áªð,J'¥‚(×Ë4÷koUP¶¸ñ·}x±yCÊð§`÷Ò,ªÑÇee2 Ùc/EK +õw¥YšYóPÒa¸!NóbÔÉ#17¿`/ñâÆÐû*náÇÒŒÝVDê%\áçKìW¯ÝxÄ£Àón}¤‹ ­Ë‘ÉF°©Øïèî»ww›q]–Ú[„¥ƒái4]˜nú™LL™¬Ÿímÿ_ÿÎOɧõßËùŸ2Ç˶íŸkgìíÅÉÕüïó:¼1A¯ì£Ýüɳó«Á=3Öe¼Ý._ËUÕY Æ™ðº¶Ä‘LâKä~‚²*²‘'ºÀHæe¡Ù²àG>Ó@çê‘†Ž–XK­ááP)Ù"c³HŒÍøMf¼/cÓÜÓAT–R«‰C6v©Ô§5 Ÿ¨}\]oSWwEn·á;Fß9õƒa™·ÝÝÛ)ûÒ=‡O΄\¯Ôl·èƒ¤¸GJóKšú‡O•õtâAäSÉ]!¢I·ì‚tÐ’no¯ä[Œ3… †Úô잺;¹jÞì͈t´ÄÀ1‰Ž14Â~£f CùNVÁh§¯¨¿–ˆ%“brò1`¯‰6·Ïdùci’µP>Tt;ɘD¸ú²ºé\½@ê¾rÌÝLÅñ +HépŒ>*9ê#B|¹f])¤bdD +º€FëÜèÍ—Z%¦CrB¼8ãëFÛÚe9>Ymb†É%E@NÑÀ¨l&zDŠKâ¹§&g,ïC[€VÂýQéêŒ2žJê¹è)ëéêLs)¦…LЦÀ½ã&ë"âÇwyRV­Zq:Rv"6Õb Zç)Sl¨¼•Vuø1)P™Lcáejn eŠŒ5I<ùw‰éåJ)ä¥# \:2²‘ì¿nVêÁÇ@QQ²# +ai3çAdXwEºS4Xu <ň¨é䬞LN±U4I#Ï _áÂüÞÙìIYž•Sn¼$Ç»™¦¯C7¥§Î5˜å;É!Æq:‰B²°™É‹c‚—=Ô5ô Û›ËmAGǧe¡Ï +ïÔSz‘Ñ?X¸ŽtÀ㊷¦Õ8‡fz +·§X&ÃkœTÀª’Ÿ¥¦k°?¾å®¼0ݥœ¶Re$jp#˦~4Ýå&ï,B…¨Pá\ÆÚåŸñ~–u£¨™{6I6^ÌÓæœ"§ L:¥› x¦–f0=$€´La)t{BÉ0¨W å ×ý r£ÄÙïŽ`¥$I€võb>ú+{1RTH(Ìúlé_Dý&äJÜ/'#×b9™™êñºÀ1¨P’ Ьp¢M†áô~0sWÞx—~á„l!L=™©IêêÇßIþªdì73×Á‚H£©¼±À|ºµ6ÕÇ­îI×_‡¿Cn#‘M6ôœ?^ô;;tÀ¤ êVWEÔ:ESC-jLJUª‹/— 1´m¸êâŽâÕ¦*TpäÑžJãkXlÀ'aœ)û(u*‚¿¨´ÅõºÛÆÄ{‡Egõ º]•r461åEš'eÙT’Hï Æ,„˜Š–qk›qfæ_Üæ‡PÀšTÞð[\"ÔõŒ ôͺüKÉ}Gê³.%[›r¼‹2¸zrª©# ­!Ü›·á~ Ëu[¨$ ¬¢ÝHºÉÒzi ÕÞ”ÔæîªÓPá¬Ô˜Fo‘–f_t»øñNO™wvÄ+î(Hœ·A`3Bz{Ò.QÐtíç®êý A‰ùj'±[îÚ ÚàÞÖöŽæeÃr +öz©×]·KP“ +z|é-Ô^¦ç_åxF1šR1ˆ` 4Ž¢2Ñè H¦Ö¿ˆøð»8ËÚ¸oJAáçM<Ê‚AÚOžÿ®8þ¥ÿ]¬±ÿ\|¿ù!Xy>_›}»¯öíðþž1ý´Ìÿ+ÝháŒÆÊM¥½Q8ì«Ûè²àV .W¦¡@±Ë¤­+ÇûÄ­îÌú›xé̮߾µøŒM7åW¯8Jå3L©žáÍ‹ ¶ŒåÌQb 5>%AWFö¸Y%Q¬}p9˜åß´¨u(tÍ3\VªûÒ¡Ò•î²õ§8á™^«È_/YapÉ:ÑO •KQå#7•‘õ´µïÚÚß„»Äõú-«`’àƒÕ¬•«g^wp™ˆë3ˆO]:ùYº¢i}@d|ë–pü˜ +:ÓI6<êj¬1š9™âgÞnQJ‹ûÆê ¯d»íœY2û.¬ºD–ÚRƒÖ0#ÌãÕ+îà åö nÑAz•‰HR’HPŽ…2fΧ†Ë³`ÝË5Y{-µ"M]>O[ŠUKæTâ<‘ 'ì1]t*i*úéÖÛ*–¼cPè P+Èa=ë¯/øBŠRÂO·Î…œcù“(úÄ*²…6!™óna¨­ŸކžZ©iª]¼„ޤFŒÈÂ(ã{0{eés0JÞ ( 0Iò µÅ·æw© +¹!% iÔ@ž8‹VJ’º¦…gÅ ôÍFÈGƒ´%œþŒ}¦·ÞÜÙÜ#gQ÷TÍÀQP"=(oéFzõ7AÓAº1‚âµYz*6ICÁLˆëö¥Xãˆ2Vä±ÛØÛ[%fòýÔ~Ñ0?½÷úÑS°„ž"ºÆsN26OþmÓü. åŽMS,X~X†:©¥«¨uEóš•dòb A’W²¢ê{omgj§*ƒýñüM^Ý r€'ÈO@è./™3n&ù•ãªÂ0ì[•é(+!«Ãžž¢ò;¦Ê¸)%2‡Y‚Þ5b¤êF…Ì¡/ ‚vg Ú”¼”¶13ðùÒË­4}Ã:¯†ç©K‚VÒ`U-Dx^$ñKó(+bÔC2Ë$;Õž]!»¢Yh  ¶2Tõ O•[zo^YQ):dá Ão3Uë²,ňú‚¬Äs‚ž·¥O—¦eZjjZX&–šicx<¸+“ïî.u'™Ø–Uge»èm¥¥pN¥%AR­¦HãÕÃD—L„dDðÃnÊRþYï¥(õ3”sV²ÕUòF.òaBžf†©àz¢È+`€y޲Äí¹oѨÑ~÷Ø·qhâVáH˜Ÿdü©„÷¸…`Dâ0õéô¥G¯¼$zí‰ò¼b¯‹Þ̆ êVe÷l÷;Zþ7á&âî\¹‘´cè<©Ë[–²p•²0žŸ!Bÿ¬N¶ + +ÏÆsëSÃ!xk"¥J—Ð4®RÍoð)¿Ä/Èr« ‚ÆÙBk§2¼¡ÉC©Óã êÒ¥ =)‡Ñ–%êw&ç9sîrZüÁ‚â´,˜4øžÊhÎû2Rnh¦¸²)$Û½­å\[´¤¦ÝŽ™š·dÒRBT!@œ €F1· ÙCž1ë¯ÔÖ+Ôº[–Ú´Š“çF{ð¬ëïWz{Òšü¯ÕLžóF·¥vXÅðüÅcÉÙ-%.Ä%ã6Ü6\)½í~ïž[ßÜ ¡À•ñGY¢üဇ56Aâ}´áꃫ]võGž0ÎÍ‚gOM¾›&•—Åñì§.ÂÐGwi*k*cXÑYRʬÀ\‹ß—Ë›E«$¶R§8q õtÕhƧ#¨N´j½T螃dÌOÌy#wŽš¥±d¬¥y7#™ ™`y/«iõp9yk|«ƒ­d™žƒå”)äíZpëš(ŸˆçKºŽz³é¦.e˹{/b;?¬•QÕ@<š\:£æ}„6tgŽ2t-oÃ<ªúé–]„(˜ë4·"hRG¦À=¦¬ +ǰ¬G.6%5,´ùr±6I u;SmT[1™FÕ*;‘o«…–›.£:Å1w”Ü¥:”Sþ$û ÔT2†UfèÞSÄ3žqÀ°ã*>ZTZihîI†ª5VI¢"ö!o²A¿<ða@ã òÚkG'uvÅдý TŽÊÙ—!uk#¶;…Qâ=*¨…É«£¨¥j8مˇŽ_%YüŠ“Ê'ó,Ÿ‘ê}‘4 Iû°”Šê¢`XfVj|J–†¿‰¶AˆPÕ fpæÉºäg@/©]ÿO±kw!I‚#§– ”i”AÓÝI,¥æü¿…5'I‰æ +ŒB$8EUt›Æú·c¸¬“Ér`øÄX|R5$«O;,ÊÀ‰Žëƒ£ ;5¸æìdÙ{)!…'¨ˆ¡¦à‹FÐJ1'oHô©ùF¿ É#ÇúÉIC•±D­×Åš5ÉeVR›bmn­;¶S¤I“´cteŸÞ¡¥7)*Ç£ +KçÊNáÂJœ½#†Ó5+¬Ë­ŠGˆÄ_M·ÃŽfŒ2…'A•Qž^âô¨(xvòiš«Â(ij¥é®óyž¶–C]™¥¶†bwðóámͪIñŸ> endobj xref +0 23 +0000000003 65535 f +0000000016 00000 n +0000016265 00000 n +0000000004 00001 f +0000000005 00000 f +0000000006 00001 f +0000000008 00001 f +0000016316 00000 n +0000000009 00001 f +0000000011 00001 f +0000017534 00000 n +0000000012 00001 f +0000000000 00001 f +0000064834 00000 n +0000017758 00000 n +0000018156 00000 n +0000064716 00000 n +0000017647 00000 n +0000016666 00000 n +0000133054 00000 n +0000018810 00000 n +0000018423 00000 n +0000000113 00000 n +trailer +<<2F906DFFBCE6D040877907067CF14093>]>> +startxref +133230 +%%EOF diff --git a/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2022-523-patched b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2022-523-patched new file mode 100644 index 000000000..6f1b5c838 --- /dev/null +++ b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2022-523-patched @@ -0,0 +1,1506 @@ +%PDF-1.7 %âãÏÓ +1 0 obj <>/Metadata 31 0 R/Pages 2 0 R/Type/Catalog>> endobj 31 0 obj <>stream + + + + + uuid:7bb34414-aa43-43e4-b5e0-bda0b2b10220 + adobe:docid:indd:a5afd9b5-ab2e-11e0-8bdb-9544086fefb6 + proof:pdf + + + + ReferenceStream + 180.00 + 180.00 + Inches + + uuid:7CECFCBEBBACE011841685AA9CCA09F5 + uuid:C377191EB9ACE011841685AA9CCA09F5 + + + + + + + 2011-07-12T12:26:34-07:00 + 2011-07-12T12:26:34-07:00 + 2011-07-12T12:26:34-07:00 + Adobe InDesign CS3 (5.0.4) + + + + JPEG + 256 + 256 + /9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA AQBIAAAAAQAB/+4AE0Fkb2JlAGQAAAAAAQUAAgag/9sAhAAKBwcHBwcKBwcKDgkJCQ4RDAsLDBEU EBAQEBAUEQ8RERERDxERFxoaGhcRHyEhISEfKy0tLSsyMjIyMjIyMjIyAQsJCQ4MDh8XFx8rIh0i KzIrKysrMjIyMjIyMjIyMjIyMjIyMjI+Pj4+PjJAQEBAQEBAQEBAQEBAQEBAQEBAQED/wAARCAEA AMYDAREAAhEBAxEB/8QBogAAAAcBAQEBAQAAAAAAAAAABAUDAgYBAAcICQoLAQACAgMBAQEBAQAA AAAAAAABAAIDBAUGBwgJCgsQAAIBAwMCBAIGBwMEAgYCcwECAxEEAAUhEjFBUQYTYSJxgRQykaEH FbFCI8FS0eEzFmLwJHKC8SVDNFOSorJjc8I1RCeTo7M2F1RkdMPS4ggmgwkKGBmElEVGpLRW01Uo GvLj88TU5PRldYWVpbXF1eX1ZnaGlqa2xtbm9jdHV2d3h5ent8fX5/c4SFhoeIiYqLjI2Oj4KTlJ WWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+hEAAgIBAgMFBQQFBgQIAwNtAQACEQMEIRIxQQVRE2Ei BnGBkTKhsfAUwdHhI0IVUmJy8TMkNEOCFpJTJaJjssIHc9I14kSDF1STCAkKGBkmNkUaJ2R0VTfy o7PDKCnT4/OElKS0xNTk9GV1hZWltcXV5fVGVmZ2hpamtsbW5vZHV2d3h5ent8fX5/c4SFhoeIiY qLjI2Oj4OUlZaXmJmam5ydnp+So6SlpqeoqaqrrK2ur6/9oADAMBAAIRAxEAPwCbeU/KflW58q6L cXGi6fNNNp9rJJJJaws7u0MbMzM0ZJJJ3OKpt/gzyf8A9WHTf+kOD/qnirv8GeT/APqw6b/0hwf9 U8Vd/gzyf/1YdN/6Q4P+qeKu/wAGeT/+rDpv/SHB/wBU8Vd/gzyf/wBWHTf+kOD/AKp4q7/Bnk// AKsOm/8ASHB/1TxV3+DPJ/8A1YdN/wCkOD/qnirv8GeT/wDqw6b/ANIcH/VPFXf4M8n/APVh03/p Dg/6p4q7/Bnk/wD6sOm/9IcH/VPFXf4M8n/9WHTf+kOD/qnirv8ABnk//qw6b/0hwf8AVPFXf4M8 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 + + + + + + application/pdf + + + Adobe PDF Library 8.0 + False + + + + +endstream endobj 2 0 obj <> endobj 7 0 obj <>/Font<>/ProcSet[/PDF/Text/ImageC]/ExtGState<>>>/Type/Page>> endobj 27 0 obj <>stream +q +0 0 612 792 re +W n +BT +0 0 0 1 k +/GS0 gs +/TT0 1 Tf +12 0 0 12 180 515.6797 Tm +(RGB Image)Tj +0.083 -28.667 Td +(CMYK Image)Tj +ET +1 0.9 0.1 0 k +/GS1 gs +q 1 0 0 1 463.1364 189.5939 cm +0 0 m +30.451 0 55.136 40.535 55.136 90.536 c +55.136 140.538 30.451 181.073 0 181.073 c +-30.451 181.073 -55.136 140.538 -55.136 90.536 c +-55.136 40.535 -30.451 0 0 0 c +f +Q +0.79 0.12 0.83 0 K +8 w 4 M +q 1 0 0 1 463.1364 189.5939 cm +0 0 m +30.451 0 55.136 40.535 55.136 90.536 c +55.136 140.538 30.45ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ1 181.073 0 181.073 c +-30.451 181.073 -55.136 140.538 -55.136 90.536 c +-55.136 40.535 -30.451 0 0 0 c +h +S +Q +BT +0 0 0 1 k +/GS0 gs +/TT0 1 Tf +12 0 0 12 428 166.3464 Tm +(CMYK Graphic)Tj +ET +0.145 0.251 0.561 rg +/GS1 gs +q 1 0 0 1 480.2273 557.8364 cm +0 0 m +30.451 0 55.136 40.534 55.136 90.536 c +55.136 140.538 30.451 181.073 0 181.073 c +-30.451 181.073 -55.136 140.538 -55.136 90.536 c +-55.136 40.534 -30.451 0 0 0 c +f +Q +0.188 0.639 0.38 RG +q 1 0 0 1 480.2273 557.8364 cm +0 0 m +30.451 0 55.136 40.534 55.136 90.536 c +55.136 140.538 30.451 181.073 0 181.073 c +-30.451 181.073 -55.136 140.538 -55.136 90.536 c +-55.136 40.534 -30.451 0 0 0 c +h +S +Q +BT +0 0 0 1 k +/GS0 gs +/TT0 1 Tf +12 0 0 12 449.3333 533.0131 Tm +(RGB Graphic)Tj +0.561 0.137 0.78 rg +/GS1 gs +72 0 0 72 70.6667 428.7448 Tm +[(RGB )18(TEXT)]TJ +0.592 0.859 0 0 k +0.019 -5.037 Td +[(CMYK )18(TEXT)]TJ +ET +Q +q +127 186 204.8 153.599 re +W n +q +/GS1 gs +204.8000031 0 0 153.6000061 127 185.9999695 cm +/Im0 Do +Q +Q +q +/GS1 gs +204.7884369 0 0 153.5913239 115 531.4086761 cm +/Im1 Do +Q + +endstream endobj 11 0 obj <> endobj 22 0 obj <> endobj 20 0 obj <> endobj 21 0 obj <> endobj 30 0 obj <>stream +H‰\’ÏjÃ0 Æï~ +ÛCI›6N !°¶ rØ–íR[é‹cœô·Ÿd•fpô3²>>KINÕ¹rÝÉ{L´³Çá ¯S›lg¦û)~Mßx•Pq=ö•kU|PrœÂ ‹';\p©’·`1tî +‹¯S½„¤¾yÿƒ=º ÖP–`±%¡—Æ¿6=BËV•¥|7Í+ªù»ñ9{„4ž7bÆ Gß »¢*Ö´J(ži• +ý—Oïe—Ö|7A)_^¯)¨b—F¦@¼Þ2gÂs.œ3„ÌGá#óYøLœ‰fÆšÙNxǼÞ3‹NÆ:z™±xÐìA‹Í´xÐìA‹Žf-::êˆÍrycÎoÌÅnν Ü&š&>stream +H‰”—ytWÅÇ¿oîoÞ›ü~! ˆ" ‹la- öEq)K›ÓZKa34äX¤‘­ŠRT(ô‡-‹”¢‚D ˆHÙQŒMˆKjï›7>Óötñ߽ߙwgæÎgæ½™50„áý‡ ëµU?˜Â5[ Ò¶}ía™9@ý‡¹nxv^Vþ²Qý.p¹htö£…iߤWVðŽÊ·cuî±ßÀm7:÷±Qó¼Ý¸¯ÐåÅ19Y#+W3¶rÇpEâå”)\¾Âå&cò +'•?“~˜™ tz(wBv–8½í`미<º%ÂÄ­îpûë§oäääw=³;άÕ@;ðçÅrgdVAÖ¤e?V‹¡£ rÁÃcrF`\nVáxLâ(gØà>iH¾ý·‹C µPñ~‰ë÷…FM$"‰ *D8Ê‚P9¡p™1÷;hè€4n<Øg HÎÎÎËÇTcgûŒ±‹Œ]nìš‘¹cGc㨱ã³ðбåcÇ-ÄNc÷Œ8!û=ÊY¨0ö$“ÌÅYc/å匋kÆ^/àÇŒu9Mß[2J°õç ÿ©æ{åðÌ}WÍF«YUÍÆW³ž±A?±jV[[ MÐ +Ñ}0CñF"…˜‚§ð `)^„ëø±³ aÇI ¼û¸YeG¥rÙaß„gÃ>nOPަû–ý +“¯ÝbýîÀ'èÀ×^ÁñìëÔ|Ý^AûºKx,î¿î:[.·³Hä_#3vMëûøèæu3¥ÄHa¤7ÆäÈd8‘ù‘"ÕK FDeªL$«Éj +RÔjnQÓÕtÔW³Ô4PóÔR¤©Ëê*ZÇZÄZ¢],=–ŽŽ± ± è¤wèè¬wé]蟟Œ®ñuâë Žçï(§‘èHý"™¨nè…{0?ÃŒC&ãI&7ÏcÖ  ›QŽ]؇£¨Ä)~û¯á¦q´·ämðŠ½—/ñ^1¾Ô{Õø2o ûbV[/ö^3¾ÄÛf|©Wn|™÷:û7¸TÂÑ1¾ØÛn|‰·ÃøRo§ñeÞ›]âíâR)G¿e|±·ÛøïmãK½=Æ—yåèRo/—Ê8ú㋽}Æ—xï_êí7¾Ì;ÀÑeÿBd òùŸú9hf¾Á;dɶdŽX2G-™c<Îï=Ëç}Ëå¸åòåRa‰|h‰TZ"Y"',‘ ‘“–È'–È)Kä´%rÆùÔ9k‰œ³DÎ[",‘‹–ÈgÿƒÈ",Çj”üG"—,‘Ë–H•%rŹj‰|nˆ\³D¾°;æKKæ+KækKæofÇ\·|nX>7-—¿[.ßX"ßDøCcˆ(' ¢D@D‘ODE"JD”Q^@D©€ˆŠûDvb/£‚‰œÇU\w„UÑ€ˆŠD”ˆ¨ø€ˆªQ5}"*! ¢jDTb@DÕˆ¨¤€ˆJö‰¨”€ˆªQuƒ£n Ȩzu«¿cTý€j`ù¤Z> -—Ûý™ª4Ëå6Ë¥‘åÒØripùÁD.†DšZ"Í,‘æ–H KäK¤¥!ÒÊim‰´±DÚZ"é–H;C¤½%ÒÁéh‰t²D:["?2DºX"]-‘n–ÈvÇt·dî2;ænK&Ã’éaÉô Èð—Ýñó6'Ð|> 4Æó ø4¨¦Hg^}p?2õAþÒ÷V?ŽÌׇ¬*Ò‡ÌuG¬*ÒGYõ5qǬ*ÒïåǽoUSOÈ6èÂë1?ÁpþªâqÌÖÇÑ>GªGú0©2é£p¤áH7’>Ϫ¿êÍu¬*ÒêËuŸYõß2:fôI˜Ñ©0£ÓaFgÂŒ> 3:ft.ÌèR˜Ñå0£ª0£+aFüî;mœ6|©'êÁEcsóÍ-¾ƒ¹òªMÅ-ÿž3–ðý¢¯à ïã¯yk'ÅIsîp::w;œGý›[l;„XlÔŽPíüN‰wX=oÔ¾P½ªý¡:`”;Ôâ ¯Å'l™g‡Â¨Ã¡:bñ,j I5-üLæ +?‹…&æXµ˜áç´H¼ âÈEâ½°§÷Cu‹e<ŸÏb9û·8b™ØÍv¹ø8lwÒÎÛÏŠy¼F+ÄjŽ_#6 *JD jŠ2ñÄŸÄ&$ŠÍb ÷Oæ6šÿ×ÃܵüÛ)·]ÉÖ‹õÜç&Ž'±Mlãû¯¶XÀL ^/˜µç/½¹ËFÁß6±D,A±T,E*÷ñ:ÆâbqȈ½{Ãô?žW¥ú›ÌySîó+£„j`¨î Õ½Fù\Q—ÿG41-¯šVŸ›×Lô&òKÿK"®r †|^¸³Ü™Âÿg@d¦MQâÿ¤I›yps¿Ë·¡{›ßÎÉÄZ:OiÔœZQjOéIzŠfÒlú-=Kóh-¢%´œþH«im *£´™¶P9m§]´‡öÑA:JÇ©’NÒîë"]¢*º*›ËVò.™!{ÊÞ²¯ì/Ê{årˆü©ü¹ü¥Ì–£å#r‚œ(-#ŸÓät9CÎ’säÓr®|NþNÉ…ò÷r±|A.“+å*¹VË—äŸåËr‹|M¾!wÊÝr¯Ü/ÊÃò˜¬'ä)yV^”UòšüZÞtáF\åj7ÁMt“ܺn=7ÕmìÞî6s[¸-ÝÖn[·ÛÁíävuït3Üžno÷n–›ãNŒmŒmŠmÖB»:ªkèD¢ëéTÝH7ÕÍu+®;ê.º»î¡ûèz~PÕ™ú!=\Ôcô8Ë„×"ÿjÑò4£fÔ’Zò´¦Ö¼Öí¨$u¢NpiMƒGÓi:Í ˆ£Y4 QšCs£¹4šž£çOE¼z5h!-DMZL‹‘@ËhjÑJZ‰DZE«P›ÖÒZ$ÑzZä°_¦ÑUVWÞ÷î¼'ÀÝ "D’0‡Q ÈBæ™BC£ ""RJ‘"R † +«bA†E)XK­µ,¤–RŠ B- P©¢¤'/’_þéÿf­{¾ýå~g÷Þužç|¯¾¡oÈ#ú¦¾)uu§î”zú޾#‘º_÷Ë£zPJ}}Wß•zDH”~ Ècz\KC=¡'$ZOé)‰ÑÓzZbõ¬ž•FzA/ø•yI/Iý\?—¦z]¯K3ýB¿æzCoH ½©7%ί€æÒÒ¯‚VÒ +]ÑUZ#ÉÒ©H•¶HGº´Cwt—Ç‘‰Li^è%ñÈB–$ ¹ÒýÑ_:b0K' ÇpID>ò¥3 +Q(I(F±tÁ$Ÿ\ºb*¦J7”¢T’1 ³$s0GR1ó$ °@Ò± %‹°Hºc1K,ÁÉÄR,•žXŽåÒ +°Bzc%VJVa•ôÁj¬–l¬ÁÉÁZ¬•\¬Ã:ÉÃl¾ØˆÒe(“þØŠ­2Û±]bvÈ ¼…·d0vc· Áì‘¡~åa8„C2ïá=‰÷ñ¾ŒÂQ•||„d4Nà„à$NÊ¿®?‘BœÁ‹s8'E¸ˆ‹2WpEŠq×eÖG^µ<Ë“2`d“ ±!²ÙFØÙb£m´lµ±6V~eãm¼¼fm¢l³+ñù/èŸ]ŸÐm¡m5^oë2}I_ÑõúªnÑmºK÷ê=äi;¢Gõ#=©Ÿè=§õJ?h¡·Ñqº Ù苊‘(@&`2¦ãIÌÆ\lÆkø5~ƒ·ýŠÚ‡8Ä»8‚p\Oúã)œÆY\À%|Ž/p_á|ﮪ«®WíêhŒ«ïJ\G ôU¾+tŸzÇoᲚVÛêZ}kh¬µ=n¬³u³4ëa½-ÇúÙ f£lŒ³)þ»–ÒlB³è´ ¦tZÝZËÑWáôUúª*}U¾ +ÑKF/U§—jÐK5é¥ZôR½ô½T›^z˜^ªC/=B/Õ¥—êÑK‘ôÒ£ôR}©E#=F#5¤m¢i›Ú&–¶iDÛ4¦mšÐ6Mi›f´MsÚ¦mGÛ´¤mZÑ6­é6ô@[z =ð8=Оˆ§èô@'z ‘èL$Ñ]è®ô@7z ™H¡Ré4z È ºÓ=èLz '=ЋèMdÑ}èlz ‡È¥òè¾þ ¡¡ô#ÑýÉò²<ü"¿ƒÉïò;”Ì#³ÃÉì2;’ÌŽ"³ùdv4™- ³cÈl!9KN‹Èé8rZLNÇ“Ó ät"9DNKÈédr:…œN%§ÓÈétr:ƒl–úõzY¦k¬Æi;MÐ/u¹®ÒµºAËt«n×ݺO«‡õú'=¦Ñõoú=¯ŸéUÿ4ó/Ïæ—žÍ–žÍôà Ã(ŒÁ8LÄÌÀL´ÏÂ¬Š™Õ²‡­ž5°hklm¬½u´$K¶tË´,˵þ6؆[¾Z±MõßrÚÿ©üŸ©¬à1ž<&ÇŽä±yL$ÉcyìB»’Çnä1™<¦ÇTò˜FÓÉcyìN{ÇLòØ“<ö"½ÉcyìC³ÉcyÌ%yä±/yìGû“Ä$q ID“Á!dp(F‡“Ádp$EóÉàh2X@ÇÁB28– ‘Áqd°˜ Ž'ƒÈàD28‰ –ÁÉdp +œJ§I àóªO5²YvÈ9,ÊÇò©\•[òÏ?d‰óÉ©£tÕ¯üÚ]¨wü¸H¿ñã½ëÇn‰ÑÍÍöcŠ›ãÇ47×?Òákvø;|Ë߱Ëìð4;<ÃϲƒÏ`n^ŬæWV *«ç*«…•Õó•Õ¢Êê…•ݪ¬n³ +zòÎéy|{ôû³O£~öaÅïÓÕ¤Šß_‹}Ö H–qæsdBÅ©:æùõ3õڃʯß7tÜŸÝöYí,¯«¡ó=íþ½ûG½ÆÇVõ/˜“í?UtùwX~/38*òòr?{5²ý%Ѿ¿?ùáÕÀ"ÿWëm櫈}Vk¿c¢? —D™(F‡ßÐFš§Ót¦ÎÓ¥~ïØä3ï×aÕÃòPQÞ×𥧹޶jø_ÂË8ªãÃݳ»=ÃÎ +„$ŽÝ÷v¥· !@&˜"c „G‰[(œX€*8ÄØÙŽ,B Ä%‰û¾d ¶¹oáÜe%îce.®]I™J•”ãò«ê®™©é÷ê}¯{úªS¦R=eO·°ï°ï·×;&8ŠÅŽ;ŽGZ´f×újµAÚkÚ`íMm¼¶^Û©×<Ú-ížV§7Ñ]º[OÖ»èÝõzO½žª¿§OÐgèôÍúm§Åélæt9ÝÎöΗœ¯8S™Î™ÎrSb½‰+ÂíjáÒ\ ®¶®þ®?¹†Ç±¸ð8§S’8܈2bVF¼‘dt1z# #ÓÈ2rŒ¾và +x †B. S}8ì}pÀA8Wám8 +G VŸá&LSÿ‡¿ÀuðÃïÀ#á](Qa4üU©õ¿Áû0þc•6øŒƒàCÁ&˜àcÈ€OàÔÀÌÇdhB3Z Aœ……8‹ ꣀzœƒs±ça ÎÇFhE©äÑ\÷á.ÂÅXŠeXŽKp).Ãå¸Wâ*\kp-®ƒ‡p³q®Ç ¸7áf ÃÆ¸+° †cSŒ€j8‘…_âVŒÆf˜ƒ_á6ÜŽ_ã7ø-Æ`,¬‚ÕØ[à܉-±ÚÑ»p7<‚Çp.¢†::Ñ…{p/îÃýxâ!<ŒqºñVâQ<†Çñ_P­± &`"\‚Ëx‚²iåÐdšBS)—¦ÑtÊ£4“ò©€fYâ©fC)ÑšKÅ4Jh>- …´ˆS)•™ÓÍ#¨œ–ÐRZFËi­¤U´šÖÐZZGëÍ#Í£hm¤M´™¶P}I[é+ÚFÛékú†¾¥´“vÑnÚC{ií§tÑa:B•æ ¹Ö\g®·€EµlK¨c[,dáaid±Z$¥ctœNÐI:E§é %yéù¨Šªé<] ‹t‰.ÓºJ×T½ß ?ÕÐwtOâ)…Oå¹|ŸÎóø >NBχӼ€Ïâ…ê+R'Ù\^Ìçñ>Ÿ/à ù"8gÁ£”ð)8ÇóR^ÆËù¾”/ãËù +¾’¯â«ù¾–¯ãëù+›Ë²¥l%íÒ!5©K§tÉ8/ é–­eótsžèm'^}D_ÑOüÒ>À‡øc[ `k±“”Ö†Œ133 #Æ™`˜Û1Él,Œ5fMX8kÊ"X$‹Âö,š5ØÌbX,kÎZ°–¬³3Ó”fËQÚÃ…±‹ÃÎ,žÌÍZ³6,%²¶²‹|Nž•é•ßÉ›ò–¼-ö°$ÖŽµgX2ëÈ:±Î¬ {Žue?{Å>6Ž}È>bãÙÇlËø×å•Õ‘‡ñ{gÞÿ0ÿ;w¤‰Øà-x_@Š ¨¨ˆ]Q¤‰{EÅînbï{‹&j’Ý5jŒ5Ö¨«h,€ˆ%ÆØ[b/ˆ•ìžý²÷œûiÎ=÷ÌÌï7óàË?ðPü øórÔPG•¡ +R´! Cäˆh @Se¬jP]eÔ@°£Ä +è‰^à'¸ ½Ñ}±"úa%ôÇÊX«b5¬Žˆvt ]$-tc0†`(ÖÄ0 ‡`aFb-ŒÂh¬u0ëb=¬±Ø‚‚±ÆacŒÇ&Ø›asl-±¶ÏÅ lƒ ’IÉ%JC +l‹í0Ûc&c +vÀTLÃtÌÀLìˆYØIUW)+HOìŒ]°+vÃî˜=°'öÂÞØûb?ìp /q0æàŠÃ0‡ã‰£p4ŽÁ±d>Y@’Ed1YB–ª¾²œ¬%äs²’¬"_/Éj²†¬%_á8ñJ”Š×â y$¾ëÄz±Alß‹Mb3ÔoÉò”N¡Óè :‹ÎQ½j!]J—ÓUtjëèFºIµ¬­tÝE÷ÒƒôÍ£'i>yF‹èz™^¥7é]ú'}LŸÒçä9yA^’òŠ”’×ä ÄBh(¶ˆÄVñN”‰÷âƒø(ÊÉ[òŽ”‘÷äùHÊ©FuJ(¥6òˆ„@84‚8ˆ‡¦êëæÐZC´ƒdHƒŽÐ…Ú!zC Ã`$Œ¥Áð L„É0U%¤™0æÂV_¬/Ñ—êã´=úx²º Ò.Ò)]2HÖ–tË`"d[ÙN&ÊPYS†Ép!#e-%;ÈT™&Óe†Œ–µe¦l/“d²La£Ù6Ž{Å>±_ÅÏâ8,Žär’œ"§É’O +H!9KŠÈ9RL®‘ëä¹In‘Ûä¹Kî‘ûŠóÆŠëtÈ€Lj§ê¤.Ewè ýñ)ÐRï= 'ôR$B{HRÔƒ<8®È=ùP ,£aŒò!†ÃLCh(­©¼øÆÃåÄeÆ,eÆgÊ”I4Œ†+?ÓIkÑ(MkÓ:4Fñ^¯ T±ÿÃE¼—bÞç¯*âÙ`E}BÒê}¤o¦o¡œ¹7á–ò TÙ¬lƒÖ,ŠE+;,eF„ò¡‹ci]Z¾¤%ªÝ0í¯’óŸG]‘šFþ/Ç«AjæÁѦ¬àéåíã[ѯ’å*U«U´;œ® –;8$´fXxDd­¨èÚubêÖ«Û a£¸ÆñMš6kÞ¢e«ÖmÚ¶KlŸ”œÒ!5-=#³cV§Î]ºvëžÝ£g/­wŸ¾ýú8hpΡÃr‡9jô˜±ãþö÷O>?aâ¤ÉS¦N›>cæ¬Ùsæ~6oþ‚…‹/YºlùŠÏW®úB[½fíW_ó~»î»õ6~¿‰nÞòÃÖ·mß±s×îŸöìÝ·ÿÀÁŸ>¢=–wüÄ/'O>“_PxV+:W|þÂÅKÚåß®ü~õÚuÍæµBM4VMÕC‹Õ&ª¼à ɤŒÈ¥cèD:—ÎS§p-µI[ +øª{ï<€u"ù±jj7²lVî14`p@NÀÑ€Så“¿ \ø<ð­ÝÏ`oeO²gÙ;Û»Ú»Û'ØwÚÙ‹íWìOí%öO‡ËávD9b qŽxGKG¶#×1ɱ̱˱ÇñÌ N_g%§ËévF:“Îlçtçrçq1—§ËÇåçªê²»B]a®W/W¿ ää´4‹X¦åeU´*[Õ­V¸cÅYC¬ÉÖtk¶5ÏZj}cm¶¶[û¬Ö1ëŒUh]¶î¹ãÜMÝÍÝ=Ý}ÜýÝ9îÜð¡áã"ý×;×Ï+#eõÊâÊâËþMx™@Ey]qüÞ7óÝwgÞŒ² +È2æ‚»&Öä´iL¢µ6imÓ&m’*'1mCLZ[Ó4&FT4Џ¸â†¸ïÑ,î+âΌà ¸„AP4n3@ê¡íIsòsï÷Þ;÷~ï¼ß÷Þ=ÿ×ÏÿœƒÿŠ¿9ðzãOM‰Mæ@s³Þ+N(ÒJ+^¼"Öš’t%ieÊÔärMKL¥¦;æ6æÁZ7L3J뺒G뽯woš šÜðØ=±Mq—¡ÉÅ58Àép::?"7Ô‘áØêØç8ã¸àhpÜv‚3D“Kuör>ÑJ.]“Ës}‡Ü ñ/Æ¿ªÉåµ’ Öä¢â‘KKö€œó{È n%——\”¼²•Ü!Mîœ&÷d+¹7;¤kri]Fhr˳üèõ÷Õäžö?ëà?é†4>õ€œ³)£…\s€¹^[€ñm)-¯é­o.Õ­Tî( 6éwÙŽg]€zSýó¾1ºWrÙ¬[á¾P_°¯­Ïî³ù”Ïê³ø¤|†Ïä>¨iùSàðÀgzïU–x߯Õsy·Õö¨]Pû²7Û;ºò½Šôм;|Gªºxs}%ùž|ÏbO€§¸%·"Â3Â3T÷zxžöôö$¹¸û»ì~ÂÝÇÝÛÝÃâNpG»ÃÜèªsù\W]—\[²\û\»]»\Ûtk¯k™k«¿ëW?W’+Á.l‰ñìhñÆ.}çé[ÍYøp­ú®ö”½Ü~ÂVc€é–Ê„zõ¦M)MÇÔ–iLÖ>ߨ©£ƒ´=©¿±ëa6'iëÃ}9‹-ÕÖ˜–QkäCÓ~üÀcík}Iû‘ÖŒÿõÀgüÿŒÿÉÎj1kö£ÞÄÎhÍbMkm¿ö=1ƒ¬Ã´×:îáLF7ª,µþ;Á&X™0Á4òá2L„\Èù°–Bdk¬ãa\‡0 + ÜP `%Ü„¸‹a5€}°^‡7 †Á!xöÃA8‡á…+ð'8ǡ֟¡¦Á)(ƒ“ðø|0 Òá-xÞáð.Á_aü þÿ€÷`$üÞ‡«ð/À‡0>‚m°ÆÀÇc¡ja;æc +4¡ ðCgc!ÎÁ¹ÐMH(‘¡çá|\€ ±¡­¨Ð†‹q ܆;¸—a1.Ç\+q®Æ5¸×ázÜ€qÜ…Ó˜9¸·àV܆Ÿ¢ÛàvÜm1ƒ1¼P‰¡†ŸáN Çv8?Ç]¸¿À/ñ+ŒÀHXë1 +Ûã׸£1c1÷â>¸÷á"T¡ ¸àA<„‡ñÅc˜ˆI˜Œð8–â ,Óx +v`Gì„)˜ +Õp OS6åÐdšB¹4•òhM§4“fQ>Ðl#‰ +iÓ\šGói-¤"ZD‹i -¥eTLËÍéæ·©„VÐJZE«i ­¥u´ž6ÐFÚD›ÍÃÍïÐÚJÛèSÚN;è3ÚIŸÓ.ÚM_Зô}M{h/í£ýt€Ò!:LGè(£ãTj˜ÍMæf 4„a2̆a! 6,†UËÄTF'é4¡³tŽÎS9¹ÈMÈCä¥JºHUTM—è2]¡«ú¼×jéÕá<‹çð<–£K…È ,Cd¨ “᲌‘2JFË+ã¤C:e¼LP¡*L…«¶Ê£*”WUª‹ªJU«K겺b»eûÖvÛvÇv×vÏvßæ·l¶&[³ì(e’L–dGÙI¦ÈTÙÙHVíT„Ìcå89^fÊ r¢üDfÉI2[æÈÉrŠÌ•Sežœ&§Ër¦œg BæÃ9Y gËB]ÁæêJ6_. e‘\$Ë%r)œ‡rpιLËå²D®+å*¹Z®‘kå:¹^nå&¹YnQ‘*JµWÑ*FŪ8åPN¯T¢JRɪƒê¨:™§›gð3æQü,?ÇýyÿÌ<’òÏyÿ‚Ÿçø—ü+Ì¿æßð‹ü[þ¿Ä/óïùü +¿Ê¯ñyå4ó,•¢RUgÕEuUÝTwÕC]UߨåSµª§ê¥zóÎ婜ÇÓx:Ïà™<‹ó¹€gs!Ïá¹<Ú…Ýd7CÖãu¼nlÀ›x o㼋÷ð>vF?°›°‹ÖZ ´ð&a† ! ‹°bW¡„MØEÑV‰`"BEvá¢vÇ"BDŠ(Ñ^D‹+â„Ck¶ÉZ{$`Oì%±·HÉ¢ƒè(:‰‘*:«ÇÔãª\¹”[]Suª^]çý¢‹è*º‰î¢‡è)z‰Þâ1ñ¸è#~Äø %>‰Ñâc1Fdˆ±bœ/2Å>$&ŠOø0á£|Œs)Ÿà2>ɧø4Ÿá³|ŽÏs9»ØÍØÃìåJ¾ÈU\Í—ø2_á«\Ã>®åk\Çõ|opƒ½ßä[ü-ßæ;|—ïñ}‘%&AF0û9`„¡ÜÈMF˜n´3"¸Ù´#Òˆ²˜,f‹a!‹´°Åb±Z”Ŧ5V´£5jœá°Ø-m,m-A†Óˆ7ŒÄÓ\`ZTW>÷ž¹w9sçRÅE–¶…]v邈ô……¥,@¤Ø(ò –DA¬kh‰AP4l`\©«! Ò‹”òmÊsžùŸùÿ™ùï¹w¾oæ{¥’T–*r‡T•;%Yî’jr·Ü#Õå^©!)RSjIm©ã¤Jš¤K†Ô“LÉ’ú¦®I•li %Gr¥‘4–&ÒTšIsi!÷IK“fÒ¥•Ü/­åi#J[i'í¥ƒt”Nî‚»(%Ï[ŸäËyñ¡wÒEºJ¾t“îR =¤§ô’ÞR(}¤¯ô“þ2ÀGÞûò¾‚ ”A2X’_È/eˆ •aò° —òˆŒ”Qò¨Œv—dŒŒ•qò˜<.OÈ“ò”Œ— 2Q&ÉÓz¶ž£‹ô+z®ž§çëúUý𻬝_×Åú ý½P/Ò‹õ™ì®¸«îš»®Ï¸·Ü2·Ü­po»wÜJ÷®iì~Ö?ésü<ÿ†_äéü2Ïæ"žÏ¯r1/,ã·y%¿Ç«x5¯ãü1oáÞÆ;õy.å½|€ò>Χø,Ÿã ú‚¾¨/éËúоª¯é릅¹Ï´tﹿ¸Uén¹Û.ábý³¾¡oê[ú¶N蘉kfô6&ÃÔ7­À¬˜qu;ÓÁt2yàÒ0l?3ˆSÀª›‘f Xt¼yšÓÁ ÓÌsæ$¤—À¡3Íḭ̈ç<³iéuó†YÈYf±YjþlV˜wÍûf­Yo6™ͧ Ü/@¸»M)g›oÌ·æŸàÌ£œkN€OÏU¯™›& %!ÑW§V±É|ÚV©¦ØšÈ÷µAŸi`ÒLh›ÃMm#ÛĶ3=€ìßÎvàr¶£íd;Û<ÛÅvµù¶›ín lÛÓö²½m¡ícûÚ~¶¿`ÚA82Ø­vü}8dÇÑ×Ç>d‡ÚöQ;Úý5R‘‰$òQ¥¨jT-º7ª¥FéQ½(+j5ŽšG­¢6Qû¨s”õˆ +£þÑàhH4<ŽÆºƒ>ÙߥªCê;uXQßKR¨Br„&´aRX.”0 ]…>,V+†•ÂÊa•ðuT ®ׂëÁÏÁà¦Ûåv»=®Ô}í¾qw{Ý>÷­Ûïè“ú”þQŸv%´šÖè™¶D5¡u´žþ¦ŽÓ´–>w[éÚBÓ¹$ÚDÕË}K%j¶šã¾à¾Üûó.ä>a"ŒÑuÂ)§UsÇ.Лƒiô‘ÃK×%¹Š®R´3ÚíŽöP1¥ÏhÍSm¨HµUO«¹jžš¯&Ó5Õ‰¯îïõ5|НékùÚ¾Ž¯ëS}šO÷>Ïwñ]}¾¯ç3}–¯ï³}ßÐçøž¾—ïí }Ÿëù¾¾›ïî |;ÑN²“õV·ÑmrºÜÇî÷©Ûì¶è/ô—z›þJo×;ôN½KïÖ{t©þZ£éïôa}D¯êcú¸þAŸ€Î[C×…¦éË)\“kqm¨{¸aâ{˜ž¦ô>Ä 5Ãà|ÓÍt‡j?7%f+”»Ãì4»à‚ f¢™?Ž^ÊQ +µ ^4¤TFGÂ]ýŒ>§ ê&’Ò4½;(ŠÏÇó°¶iÔ½÷ÀÙ…øïY¸KkhjfY Ä‘«Z¨Õ[RE ¨ ÈÓ¹jé§ôü>oçÍŒ‰[âŸî¤·õµ}Í y˜ï +*¡m ž4•íÃõWu+Ýõ&<|ïÇ¢à–y)q8q:q3žIIPYg¬Ã$Ðã1:Rª Ž£&¨£èü½–ËsE®Í·å>}’«óp~–ŸC-æõ|   ë4BåᩱÜn1ä%=\nÇ­³·3o¼}(A‰»ƒ¯%¶$NÄýâ)è?•²©:Ž.‹¡Áe¨w Äõ´•v”±z½º5e ÌDFÎý7ãUÕuÅÏýx»Ë +á¡ÂÂ.YÞòvÝEƒ/¶,»Á Ì.côñ¡‚I+ÖŽNœ05Q|Ð6í4j2©Õé8¦M&ób»¨L¦N’±i¢ILÚIŒ‰­§5´~¼ž÷ý£Ó½;÷{ß=÷Üsç<Ò@ +°­"mØ:±=Lº°u“ÒíI2D¾Oö§07.ÅÚw9î4J «i;¶Ít+¶AúºOè8§ô}¶€ »Ù6¬y^a¯³óì_œò¯àu|-ßÌ÷ð·ù;ü¿) 1¡+‰×mÌòˆ‡‡ðëò3Û-»ÍÞjï±?a?o7D«?à¾OÀì_…ím²]Xȧñ^ä³AaéDÙh{Œý½+l"×™„߀`¿`qúÛJÖÒ3¤k…m‚Q0ÈK˜?nÐ+<—tÐÏIÿ1ù ÝÊ¢Ôf."œã¹|ðýº›LÒßce·Çø-(ÂarQ8L߉_¢ à"Þê}ô Nú# #àÕÂM@¿ÿRxý]O‡Ébvž†ËL¦ÿÀ¯ˆgɃÜO×Óåä%DÜÛÄ ×È6$ÏB„œÂš" „¼ÈŽ“•4OK§Yä>p–ùÈy愤i#)¡¹¤•^§ì´íO¬†D‰waa¤cgúw¾7à§´1-†hrŽTA>D¼¿qç´‰ØÂaãì( A;TÂ#ô-Pðn\Æ–€½P'1‡¡’‚'Œ!Ò‡¸¿ +ñ“b%°*ÈÆõÝP‡öuÁQB«%Dæm8ã…;ÍÁ¶Þ"v£ÍõxÏ[y3"ïc îpsÔJ̉oÀ€q¢xvíÆc6Gu°Ö/"þî0Æ`ì’t­äÕˆ±oßa>ú3AÜn†$®b{í¯NÆ?@ìl0F÷ ýQŒêÁ,ú | ¾@¿5³Ißyˆ¦Œ8Ä uÚŒãFqB¿ñ"ïi8f{†À+ÃØá›h%Ú»ð»¥ë„ŸG;;" õߨ»_Y^{ß²šêpÕÒÊŠ%å¡àâEe¥%¿\쓊¼÷zÜù®¼… æçˆÙ÷deÎsf8ì63J “㪤—¨:/‘››ËM^îFA÷,ªK(ŠÏ£Kª5Lš;2‚#7ý×ÈÈÔÈÈÌH"JuPW’b²¤Ÿm’¥4éjK ýƒ&9)é×,z•E?cÑYHû|8AŠå÷7I:Q¥˜ßѯÅÔ&|]jž3*G7:ËCrÎCrRºKLW=±êŠ)) +Ž,4JwËM1½@n2-ÐY Öݧ·¶%bMŸ/YÒI´WîÑAnÔ³ƒÖˆZË趨n·–‘ÌÝÀˆ” +Mj£izÔ`fŸÜ×½.¡³î¤¹FN×mÒ]»>ÉÿšÅ—Ï&öÍÖz˜ËLVÓöIú‘¶Äl­Ïì“I|‡NqU‹ã£è–5®EŸN&tò4.(™û0÷4µ»rÌ”¨[$=Cn”ûµ-*Œ[Ó¡}§oÌíŽL—À“´Ž„ìÓšÄMôC›BcJ&Ãm©^Ó•˜¤áŽÄ%4ª6&S~Ô%&$€ˆ%¥¦ÔšŒd2˜ñðVŒQ‡5Þ3²´ÜX|oš€%sLËô¦é”Lœ–Q”ñ)YÄ’™?)¢‰Ù1`]¬d9PRˆ…K¡À°¤^•¢ä} Ka;=3OÓ×^eà´›Ä ›põYäQ²òƒâ?ën×=$Þ¨[u»oa·´Ò—ãË `G +9Ü’Øä­ˆ7±šÄµŠ1eŠ ^,0jéîHety÷ðwø9÷ÏJ_v¿\ú¹ûj镊ÌZØUº3ü|Õsácþ_…/¸/”^(sr%M¯Œgo^¦¤ÉñÂâjóù8×UŽøBØx««"rvž{«›üMýîÉûþ—vî'¬*‘åÚ<î…Þ<^Ynå’ª˜ÿÁê‡I¢ «ôÍAT:I—_U•!åˆâpWº«Z‰v·ß[VPÁm”y]ÞÕáaÿóþÃvI‰(­J/íeª ÚT»Z¹Ã¶Ý½Ý3èý®{鮲§l{={½? +)oV|TñWÿ¿ýIGv‘'ÃW,yò|rØ +•š`‘Ÿ/ª …ْⲚšŒ¼Ee.W]Ræpd8ž)!%¸Ï1¥Æz4š¡ñ†oV›ìx4n=# Q¾rC!qz+ ia'Õ†–š +1V3?Âp +Ø]⌛BgVN5p"qÂÓä?T— lçÇï}Ͼ;Ǿ_bûœK|>;g;¹8¾øl—$.¾@SQP kÖN³JÄG7AEœòÊé´-…QJA£Óeb“«²© -eìCêºj uí6U"“jÖMY·b³÷½¤ëfçÞ÷¹×wçøù?¿ÿ=wÅÒ:©ÆF8Òéáy<²,#¨Gà8‡ñ.´§÷ p…P‰QÔàHº¾rN×óƒU]×kÅ’^,-}ôÑM&?–í©ú˜.äóya®8ŽÑõqT"Bo^±'U=^¼õ<éz·±t‡ÕŸÊDRÐÍrP†kÓ fÆRÌ)ºÛÑPÌ$3 Û$ãr» g—Ih­“¥É¬‰šZ!¯çÑ—}áÕñ zb Œã%B_øu’Eàø}MU³fuMÞL<fÕtÀ×5¿ßLçP3‹Fh/ŽQˆbŠ&_{îÁÑÉ«¯Mš#Z 5>hÂå/¯=|ô[µÚã=Ï\yifÝЖÒÙ «/í_ü¨ Ï„–|ý{ëÏh¹è8¹éÛj§&µ½¾}ÃKÕÁÂŒùE@WÅz˜Þh,ŽdS½M"¬Z#ç1û’3¬,Š@tl‰g(Mã8ñá‘úûBbÑõ§¾a,îOlýü†aèá@sÛ°áðñqŸ™N¬wÂÚGÑ®-õÄÚ–h¢Þÿµx œZ¼«^Ö‚µ–,=Jhõ6ùx¬è2ÄÒÏKP´†vÁ`¼9IÂpÎÊ­ÉM0cÒXp¢ã€t xJ:t'SÛÜSnRÊu5åÆrû¯8fsù}÷ŹŒ )²ôIDTä€ÍØt¶é§Ñ½t…µ´ûÅ΀$E¨D'É%". +!Ö$d§?Dáô‡"^ïx@„¼¸J„„(ˆ»Å{¢Ct`D±rïÚ|˜XŸYî†üP ð1%‘Íß²|™˜€?=”]·wAÌ Ò-…|x)…å¼Fª…*–Lø‚Û̈́uZ`´D¼=Þ')²Y^õö°"xi½!I°Q4a®pÅ©$pk\’˜7N!/`í˜T·5ÇÆŠ1EZ†iê N½Ø,³ª™'åó"—µ¡E…3Óþ€}ˆãcTÃ;.ÔkS¥ÃŸL®Ø×¯ô? ÙàÊÖ¦§f÷Ô·ÿþÈê ¯zgùŽÍ‹e<|ì+[ß}å—êÅ4ð솂‹e´'룋{ï¾ùÏÓ/ÿê›_•Ú}Q)oœ@,+Ä/­ÍªÍ¦jᬩV"TG½ërŒ"C5")²¨F‚Š Ô¨K‘½jTôB)±nA'<èÀ§#®1f’™eÈ{ 0˜!f C>Î\d.3$ãÀ‡16]LåÞggð¹(¨[­¶-Œ†ÇÔIuV% uH]£’ÕË*ý©‡Ã" KH»A[;D^çé…GÍ÷?·¨yxòÚÀ¹„µóÆpLb”NÀÝÄ‚lCX74Më?MnzB Š’ß}ÁŽ1¨sþeh)”qý‚Â-®¥¦øH(xÀGø È—üAY¢$¦=&Çûâ›Yí7ö€;Žv±žT-/[=KËæZ¤9¡Fòý÷Ëy§Ã!;y›sE‘ãj´/Ó+÷¡Ç±Ç6qÛOø¶5ldš #C6Óï0ˆþŒ£—ÐãnpÑ47ƽÅA.F;hÚï–¥|__"¿¿··½=VŽKE9ãÐÉä:8ÃH9&`Ì œ¸ÈòXì 'YpŠlþËêLñ¶»ó¶“ð¶»ód/¸ÀìÅ®¿ÐÑÞy»U ~Ñªé ¥uÕjØò˜dyDA˜kyáË÷üÊP1…r…þÚ¦¸.}—ðk4Ix–¹ÊEä xú¿Çºÿ0^®±Q\g>ßìÛ»³×™½xwfvgvíõîŒ××YŠw6¤@ + VmØ@¥¦æRŒ‹µ¡Vh¥´ +„*ÅÅ"*à5P5nZGAmUÿ!¢—´"JCC"'U^÷;³&!­*u¥=çÌ{dŸy¿÷{^ªì"»†–ö.µ-WVÉ-µVú+YL|Æ¢N>ÔPZ$ôÂäüÍK¬n°n&çoO¸u‚;æÕÔK¯¦ÎãTƒôŸ~ŠH +qX&“¥a¡ ÚþG™`tv‘.åèž›qØÌf˜ùéÚ¹‘b›¿£Úb–K~î—•Ñ#yµ%ÁöBSO´¹€[V ® +]dîV=#ýØ®Ò<¯´Ãª+?«.¬4‰§kìE›«Oû·».ç’² ¡Ò²ÀåZÕÙ?ĪÓàšqÛÛ89w¸!ãiò4[5‡o ,Qûù0È?£óGá¸ú[þOümø;ßÐÀ#&Ùµeš¥“ïÔ–ó––æÍbçmÇY²¤ ¯“"§óá­TX]$È>~8¼G;Lžçi/‘£Ú8ÓNÎ~Ç]ã§ +áþÈÏîpïòï†o>&ŸpÿÔäð·L€~núunø ~Z{‹K{›[s×ò‹ˆFD)oÖ “ˆ:Åd-шf­ÐH @ø00ÏÓBéÑÔ€ÆsšÊ#ÑâßÎEÂaŽq9„hZ:ãÔÖ¡c‡Õ¼$âIñœHò¦h_6 +P†>¢õ/Í"­¦u¢oÒðùeJ.tñ¯®V±Ðd\2G¯Wuæ³6*^'Š—.øš¤P¨ôÝ]¨Õ +•fTeõ%¨ ¬Îó^g}:qò:79?s‘Ó9- › ¢öíL¢©ÀÏë6?€‡|ú¡Û`Y67•{µjF[“ +Ü+Ÿ€gá=¸ϪkS¡˜Ü«ÎMik“¡¹¬{ïï;˜h–åvaȲo Ó˜–ïýÙj^Þ?üéÃ÷¾‡‡G’è胨­ igc"ÅSOMg•ÀwH™NNç,¥~’cø—ß’²¸À%+òrÒ;˜©av'v û¤ýòaŽåÎÀùçÊ/ró© ]x¾Ÿz.}{‹­e&zßp£®¿n½câÛ°×ØkÔcH¥FÈxòÿñ6ÌåHú­?ò(uþÄמ|-ª¬Vç~Eá• ™ö/9Ö¶ªúú“©b×½Ùo­wû·¯‡zªtlgñTK––ó ¥¡ ^«ƒNZþvÁ^ìÊȸ0XÅ+’¼U w3 +vÚØøK% +BìÜÌÌ{P[µ¨Á{¡!ìRаŸ|C´ù(4ÃíÑÑu¶ld²¥LOò…D²}Ùï= íÌÈ—^JŽÁ;.ŽKãɱܸz5yU¾ª\é¾Tz“ŽN oêSåë¾ë¿êî–c>•|’Êfòªº„Õ|š°XìLkÙåͤ,”µòLÙúFö侩Ê>¯Z—fûëûE‹+N†zJå•‘¥i»/‡Tþ«â)ñTÞº‚’5R6š¼Jžñ1oÊô(¢{ÄI"ªt+ $8=½0ÑC¨˜45Vær¢ ²’—•|%9_ÉÎ"F|J:—‰¦õR1ªÛá»~4¬Hô©jW´;'±¬¹@N-aŠ£=OP‚ æE/±šHzww:­0Øüýœƒ%(e‘’= €ëa#ì„s07zÁ$ó‰áyTxBØ,X„‘NJŒ4Éüú’Q~Q܆É/ûqe¶‚0w«ò™™Ü†=¯Æk£îƒ5`£‹bûÿG~åHU>'SA[ÁìZÚwI…&Ií± ÓÑ +Ø*nÎîP7–Mƃ!t ÚM=[Ò[»™fJ{I¶Agñ ½žäëô<~“+Bº¢…èþÔ¥.eBº•â_HPw«3[/CCoOÏ9}º$øônʉ=]›|“ó7pjS¶6õàtÞcvéÏ}jiþ‡†ÄDŠÖ‡Àh$ÅÀ§{]Š’F\¤»œß_û©Ú-YË£Þ;0w¥ F]íê­œ¯sU5Ñ&÷ì\Fõ£gŽmbv÷.Öf>hö×{ò+à¯zªsà+ÌûÕÇ/l°!Ö¹d?Çy—Ãúê‘b:(4[dÙÆFúÖÁ=± ¯,ù˜¼¼z Z;3Á ôny¸Ç·ÒºGKµcÝçáú¦4–åéR‡¡=Å?îÕ¬-Ü7¬ §ÿÍuµÆ6‘]á{gì¹3öÄñÛc;c›LbObç1Á¬§6!,Ù Ï횸T©%v$Ô‡(n¢À¶¤]©©ì.ªªíª °ÙÒY‰v»‘"•®ØJ[òƒªÕR¤¦Úzîªj¥øž;××™{îù¾s¾s±s.Ë…ì!ŽAºŸøsŠ>©Ûívð"çglI¤à.’ËvåÔ¼®ïÀ¦þ">H^ŽÌMê³Ü,™ÍÍvÏèMÜäÎ’³¹fwS¿Üý&ôjWô;±ßÇÖtåwžœÏ±˜0ÜN؉ŒI \>‚Ú©;ŒEâ]hwRÙŒàOxžÒ#•ÍÁS.˜é,äˆÎçH6´'$豉8Mõ¥ÇÿZ¤ù&‹4¥Ó‰é¶2uÊäÆJó°ö®•éßV²ôäŽ%«gÍìdv&ÛÌÎgIv‰ùá%MHÚ¨jaÈÞåpÐÊáV¶þoh" Ÿó¶¼æ¢ŠÑìqµkùÓ–çÿ;kl'ŸÅ‘Ì4šÕCOT%ªCÚo`ͪÞvšF8';+ˆA +aÑ mC}M´Z +\À¨%hŸ—–™voC‘‰1­Ü™4»Š?‡¾T~ô^4óRH¨ ^}¶0îË0Ûã…=Ûp;ʱÁAû„šßÿ¹ÍÍGo?-'ø3ÌðÑþ´CU{zº?Ú…ß8œö„¨¦{ÜbçØwP?ÚÆŽµë‹©TLzÛ“FÆ!y•w:©Ò¤«*‹mÎÊ̾b€nç?.Ò[¤ÁóÓ­½EƒX–ôæiØ~’/¢¸mK^Mþ©hÆbtôÀWâÒã{fœnEÛé Z«AkGPRã¤ÜcC…V¥uGÓª²Q t_)lÒpÞÓVp¬°¼ü‰¦Ý‘î­ôéš1O8£ŠŒ<5ˆe%a4+?n9XY“O¡SÅo¡‹Î‹\LŒH•fÅ&D'ìÜsÊs©‰³2ã.¢ ÔÞåsŽ ìÛvÀyÜyN8ë8ëtï œ 0‰Êt…©ñET*ç·ô–nã‘IO0Ĝөïá‘Iœ†šÈ*–9)ÚÄ2àä¾¹Åiì NOÙBðt ~hB=ÖËf™·gz›½LïÜÛ»ÃôØœùå^Ü[SQ±CK%¸øÿ@¸}ÅÛø8ê- otHM¨Mu^µ™êºÊ4U¬Jt“z›EùAï$ ÿ>nÆ#£˜.C]Þ$¬Dð:Á““ÑgF¿d)æj½ÑÐv·6Zš´©Áƒ +éI#&A{†*›«R«^i5 diƒîÑ´B›;×YsZ+®>TòέѴÝ;4<8ÌpïàúÎà 8 ybÞ(’½îDG§Ò[íF ó%”œrTŠbW +†®E–Ч’øÓº»»¿Aµ5†âzÑêV‘­º ¡°u±<ÍÓR$Yæ–ËR\´ÊP¦*T9¡:)N£>QŠö°Óp@(‡rÔ:À:À +`}ª ?UH¾ ÍJ´Ð´…7çïôµ×‹ýÎt¥ü¿-ãiÙUìgv~»kpÛô×â[~û÷S5Ã2jaáòW_Ø•nIô—gŽõàôìÙ¾xâì=¡o~a´oû—÷wÍK¥zFòý¥Þýó[ÏjçýæÌVé(ûk¸ZõÔŒç§i}Ùñø!;ÌOâ^çmø)÷™0gµNœ¥°9‹¿\@u ¤–œÖ À|“’>¶.z}Ì>˜|p‹fƒX ôêiÕʦd\Ž(rMNS +Ìv÷–Pz´£:ØÙqÀÎD½{mSö)n/99%Çí'íMÔL.‚˜\UÖПìÂÞ‰÷÷E§Óµ`-z2؈^¿ã÷Ì-ê;éø}|—Ü ý•ý›²ƒ3./&.*ÍôzšxüËÇkHO‚bˆ’G—’¸–l&””’Jr2Iýš‡¶r!¹œ\M®%דÉc±nì¾P£ªÃgPcË8éL~˜ññ’Ȉ éÈD54ƒæÑZFkH  zk6|&ÌL†ñå0/aÑ”×9Œ8‰S839;7š}ùn»mÔw·ªúf½ú°Þh¡ +Üb¥Õª[´{(?¿Ž©Øçc³1öµp©~X4<<Œ‡qö t£àFRЈfoy »$цrp¨^¾&µÁеC‡päP:Å ”P±ŸvŠéTÖ*<©¾6.Ùqõþ™ÿãÅó?ïëÙ÷8ÓégŽn{ñõ¹#/ •ð+7…¹÷±ëÒîL!ã?™ˆyýê¿Gó_ï']Sìò¡{ê ¶r|ÀçG¢Ð…\–qYðrùua.’AH‚Îj!‹NLÇ3䌨‚ˆDB¿¦¿&a]ù‘õ ˜|ð.Å¢­Ïé´®‘ÖŠJ˪ m-T~¢-V–)0Û÷ó7Ñ«X±dÛ‡h¿‘§/1»hÚ”ˆB‹H Räb#ß³½a»nc髸F‹_¦£ƒÛçó%âà'‚·nÎò èXr¹qu¨RËÖleuÎZ½S­jýÖYá¤+´[ ÉÓÁj¨†j¾X{H‰BBŠ3j$è©£ã%>A Eoär%kyª;_Šp!á ÷p`ºóåàgóG^´ûǸ9æUî¼xA:{“ùYð¦÷ó±ûÒóÖ+×HŸïæ„÷ɯÝëòé8˰Â/€CäÅñAa³SØ“ØËìŽ0 fÎ;ú‘÷ªpÕ±Äßw™?3kâ†ÃǯŒÈ*aêÔÒ»›‡K[ 9eó!=à§Gõʆ<í?í¿ìà·ùý‘ßÙ0Dpèf£ÉØKÍ}óyÙ wüJÓˆù@.b¸øDàtàR€ lø|Mëü<Ïèü%þÏJ¼Éƒ'ü¿Æsü[.¿ ÍQ\±=¦¬»Lש®ºØ6Ž#|Ë#â‰?Ç‘G‰’îÄãt:‰’ø+ÉæÑ’‡’,Ú–-ˬ\5öKÓQDâ~¨í¸iš°„Nê  i‹ô!ŽÁØJQ7naHZÅF[h 'Žô!1 5MŒ µäÎ,É4q·³³³s·§ùf¾)ØYÆ.Ø%;»a'v| |KûXÇØ$…£ +Ånzs:È…åªPÑ„eCJ-;á_Ue©ª +ÂQÀ)5ƒÄI§™å2v°Â1Ä`Xž§eö'eÊÍð´æ`ƪk\MˆÏ(ÒD8Új³¶ÚZ}Æ×f|mf¡3ÝnÉ´þŒ_rflp1ˆíÿ«Góóónèå`2å«ãÝ…xÉ€u;÷7rôèÓ‡žÒ:[ÞþñKÿëò on>M~iüG’ûNFþøØcGžð<ó!ý˜˜ÿðòðA%­ŸˆlÛš`ÿÕc„y˜™gŸ×Ÿty χÏ%YFІc=Çö˜®Ûû¬d̦fŠK©ÇÃ¥âŠqÅtÚ÷]q%ñƒí§w®L~oæ¬ï¬xnfÍøº©â«ˆoÅßš¼V¼Y¼]Ü(¶µJ-CB“ì,š~Ñ”OfÛ/›”ómŒÌåv›µ™·XÜn¥ ¨+„,Ô9 „`ðX³8MmΞ½z#ĆÖÈ‹¯TOÊŠØ{º m]çåWä7dV®ï¡#l‘ÁVWó$¯ƒ6¯ƒ*ß‹y%_ðÏiÒÝKMäDNpÓ”àΑ±5v@·úó|¿Ÿü'ýÿUßޱ°ÓÌ(,ñœÙ¿‡ìéíuLÿ–A®é€{†™fcz§#K±•Øù1·Å¬˜rb‰L{r–ÌâÙlPAx»"x¨ðe|³HOx¤—ÙPg”DñÐ^_k|%Jf¢¥èµèͨ1jGËh£Ç៺ ‹|ôq©+êÅ ðÍMEÜh¶Æ‹ö•ç&È劒—8¼%ï ÚÚƒOt'îóZ1){é;z× Wu÷¹,ÉÄØk(°„aÖÀâ§ô·Çé^Y|<2®àÙo*þš< „õQUïaÄŽ€AR¡ª–?Ôå{t¢–yê²ðá§0-W…j›ÿ@xf…jp ¾, =B+7ä÷e`´üiuÔ¨ ½M¹ÑÖBÚ6˜éñɹáJ"Ðî‰)ˆ°\.<î õ„„f$0Ò`&Ó³ƒd%f›)` +Út€Ù«ÎJd\œý‘¹90×>Üæm#ÌÔ@^"“ùDR7ŒIÀÀ¶Gdwÿž³¯{ÄìôŠ^Jdÿw£ã—=ê)úGÊ ˜h–iZÑù>b4!¸Ñn¼ê¢•~zÉßÌãôà ëÕž’MýÑ$HXáGwÚ~bêHÄ#aÂ}uóÄì¡õ §¯ÚYÎÄ:Ôo§¯¿4þPo§ ”ÞÙ¶°ôèOþó»§&› ó×ãj†´äŽÇ SìÚú¼?6|ôjåWCñ> »»4ÿý뺉³øZy·«tò²'œñ8%³‘5Yl¥½ËG~87˜ÅÐË‘ÎÎàaÃÓÇŽ¿8·£|üü¡÷O  Å”í'vŽ^#$\ÆÆ0ì¿Mg˜¤a¥Î:ÚÓ:Wà|² ^Tp.¶âš¯Ï)&Ddý”øŠv R1¼öà#€%(Âr<шl´ZöR²&¢míÁÔ‚p¯‚ Zc ÜÕ¸]£þ4"9ž½Ã¸à +Á…+ÂÄÙ;º#¡[`o"ÉDœí½F3„uö– +^½{‚’ÔúZJ„ëo +×ÕšfÚ\`ØjƒÉŒ»’ z‡'Fâà]:#¼u<‡D„§Ü„©J¤*‘ªD1"2UËT-Sµ §Ù Ù„O*¸Âý+¸¦iéTÎàëÕ ¾<8E5{k½ÖñA·éýi½'Á§³8BŽðÉôjÚx1}-}3ͪ)¤Ó%Téi"5‰ÝÎ5Ö¡;»´îŽH¾‹ïîòA¹»#¼ÆÚõ¾`"Ò—‹w$ƉI2ô”PÒœN÷‹Še•'yâàKüyþoä1I…4FVú:µ‚¶¨•4ãImU3\ÔT,íšvS3j‹©ŸŸUhg! aU߬L–¶¹p–Qg&óYõ>ù ?>MžÖ€©‰ µ…&€˜›ZÍí¢ìC§´ý$¼q;“É $ïP‹œÀ²œL8ã´›i?Z Þ ¥9"ÓKOæv—ÚÜv>¦omoÑy¶s<6ðh¾%3±5¼-è­-ývâ2Ù|äøÎ_Ó_ÞúÍœ$%v“ñç÷Çg¶‡û:Åͧ°Û~º«U– D£p3^š™.ÃÃ5ļÎ(PÚ1œ]6î6YÄH–EŒlÙ-²¨ 4—ƒp›¾8.ƒðÎe´¶ØÄFÆáN¥·Û ¸½ûE›´ðÍÈKò (Ã]K€áEŽp:í>¡t\A\çfú³ïBR__nÕh<Y퀜©^Çk Á&Q ÈôŽ~*““u!—« º?•âöëØ”]à øP†‘ä.³wOàN‹E Ú(l {Åž¬†Oñš+5)Á¯` ÆïáÝo­g×(¬CÁ¿ªE¥¤¬*” Å$)Å ãMÁ‚98§cz¸6j±Ú ÑQïó·Æ î|—­»Ã°ˆøsR‡7åÁ§M5öM5òÿTÃ_è~´âÑÍ”J·«t»šBÒÖŒŠ”€Û`þ½÷¥è8E‹š¦ tÝ€>RNêÃù_Ϋ5¶­³ çÛDZcç8N|Iû8¶sâKsOL.MNhnm줥qšl½mË:Ô–%i¦AEµ¶Vc°Ñ!± L¨ ¡öÇ +´,Ý~U°ò'S…è*øÃuS»5+šŠD/³yÞÏvêuð¬m˜ú=Ê^eƒ@#Д½z¶Êãõ€4s¿éj}]›|qú†KZD¸Ÿ&–‹Ù„ãÓ 35âó,‰wÏÔ&"¾ftkm2âÞ\ëˆøÜà³3ÁXÄ×´$ÙÎû#¾!ôÞ`ZKõOøÒæH"¥wFêÍLOn§‹ ÇK-VÙd0ÊÃCÍM·eÚí®R¡@“*Ì©§UQ]Úõ²D¤!úJSB˜KœNˆ js¥¶÷‡’IjKJ\LO‰,¥¤ÄÂÀï*\m©=SÓKâ¿ € —„™£±ØØMÊÉ{R +=s‰¯äDÏØà£!Яÿ¥pV}<«¦tš­1e+kC¥e¶p°.TX'ØËjíáb®UÆ„ùˆ`EN•ÿ09ÆÔ8cÊî{±e­Y.bÒ/DœVaËLùú¯·N®|ì…ÑMó—ÍÒ±!Óãì¸-†jm²}R+»†2ÍÉN«1ïhß¶ÞÛ<šéîk©âÑI+*bâõ™²ºèÌîoަ»gžœT] V·tlž›kÐÛG¬±Ì(gÛPÈñ5´5ë5ñD¦òŽêP¨º;-ìz9à‘LÌÞÊl–ÞB$ÓX§X›e‘nÜ´Å%A)e­N/S¥ˆ“Ç"§êâŽLùgÁ·y R)nÙxêc廩ê-ä™n¸º¦Ú¶wL›d\¿„é%Çø8rMx9ü'¿¾Æ\º¹¼¬¼ WFmå^–y޵dïž%/j±PóðdÒÒÝí8=:¹§:Õ\P4‘RŸêÕܱUŒª7Ù5&xíPÆJÚeú”\ª(äÙäÅ\6¹ó©ÖŸ²to„Cu*›”•ï9 ÇâBw¼¯{4þ`|Ÿc_|Á|Èq(þŒùuùšùV‰­©{ªuºí@›AïÍR}¤Ü ô«uµ Óãš ˆå±zÉРt¤‰(“N^½¥Ùo9n÷X-oX$Ë'ªè\Ó«UuK`. .P§Ë‹c`O×ùÑOXh+±cÛLïÖúTScHê<øþ¡‡<ó—ÕŸ©,[Ÿ¹¶«Õ .kóŒôðt“Ç~$sr6Ø55¶÷ÜŸçÇ<å,÷öß„-× gó–\å–lò»ç.Íãòä\Ìeþ‘ú Dê'›q!û9Õúù+ÊÏ9ŒÉãò¾ ãö°:˜³}\›ÕŽh’V/{J%˜Ô +qÖ*ËñÅB5?œ‚´\æÎ–)K°€ÇM¹9;8'‘Ž·¹9û‰ã‰V¨ð&õùýÑȽ7ÖG¾·²²síéS­Ï" —µˆ-eº¨—}× ëQawTð“-r8Ô4µ¿Î§ 0‹5ê¨PÁàY¤ÔM)J§%‰Éˆñ»MÒUSƒ?*D™#ä÷ûUaQ=®ŠLUó—Õ‹ªQÝùåãžØ˜rs-j¼2ŸKÚ”Õƒ«;¹èÜÉŠ’·ƒóŒân%ÅÛ\â–£îµ'I¢øM’\8”i ·W–W®orÚ¾Ú›‰ Õz-F[°Ê¯Y„Jé÷ÞÛ×:+"»2›’_ÈÅ#ä#'6¬£Ð{aÌè¸^ß{%¹»¬çŸf¯™ÑïÔœ'ù§ó­/ßyâó(ÌlGµãi 2ƒl»ÂîŽòÀ†9=bgö”(oÀÙ8P.1ïÍÁxtœAê"ÅwmÕ4kF¤ËBµðösé2ûµa‚Uð}_`vÚ7í¹°'ÒŸtú/"ýŠ‘Óƒtïéö%ˆ÷áQ©•ßÕwò{}M\asÒ‰ìg(Ml _f>ìï:Ði˜a^¹&{:n2žaí¨›­ù;&Ýd:úb¦—`73¬WlFG{ö¶ømVc +³aìçÍ4è>M¶[aÜ6>†ù ²*”ulþ#~F9ŒàîG!7âÜ?5³ì*ÖØHÀ:ç€w0ßï7Òн “™S{ }ß`#^ÀþïsÆšïôÓ7r÷ÀnƒÙÐR@þ~ +°ÀÏÿ$‡ p €¾ûð60ÔЬëÂxôxŠl†l“ìƒlƒÛ?ì‰Û,ÝãΆl,ç3¯‹{Ù³@71v,(Ær¡{$Éhm²-²™‚D]Þî¯Ó>ɦŠdÐçßæ>H¶U$#dû$%ï!".³ d³¹³.H®Ã ù#ùDAô!ÿä>)ígN:;º÷‚,œÅš<ÁÂèKÿʆ ÍxÏþö¿å- œÏϸÞ0ü˜]2Q^fqÜ%ùî«÷ÉWò%aÖ[ÆYÖVØ«\^k —£ñTöšñ”øT…r±¼Âr®$¡¸ïmÿ ¾o<Åö¢ü±ñR6k¸Ä~D!"4jA¢ý7À"5Ç„WÌû…%9ÍØÍM`Ö ³.£Î†eÖg¨ä~F{úßÜ—kpUÕ€×=çÜs_‘@!\BŒ˜%Ó4(ŒPyFD(ÔRg:(–×hT¬L–ÒŠÂ8”‰ +cyh±UÀ¡ŽZ -ÖV¤VJ;ƒtjy ˜ÜÝoísN¸œ$„Xú§wæ›uö{ݽ×^kmæ.õꥊqnb»,so•µþ³r½ûGΑµœwäEçGÎm¶£¸Íµ´%+#{mEêèI{§*Íûö^Uš¿Ú;Yi2”46¨¶ñA¬oîÙk³]>It"Ë>cvšeŸUŒë·Ë¸ cK×èž2æR5úÿ­¬³÷Éú9Ú~õËæñ ò’Ó`Þ³~x·Lî5\ iÚ_ ý~˜óÖØ±ÜLó™iî3ÿ¹Õ_‚üÄlrŠÌ Í15-å¡/Ëb©îSr·ônŽ£iú³´ÆSo=1<ˆ£=mü<"—'?±¾­Üê«÷Pï`)~¯ˆ8~ÒœñòdŽ»LÄå^j=62QÛ¼¹ÄýŸ;F滫Í>÷1ëƒF¹¹Ý-á3–=»<éHïdŒeŒØù´RëTßÃ>ÕÔRæ¬"¿¬g®P”<&üçt²Áþ×´õã+e€îƒ»€¸Â\©Éó) û¤í˜Ùä v?ðY{Ææ¡:§‹µÙ\;æ:s&'O*•ä:©`ý´]«V¾˜S)“uæ˜Í+òdœûº”¹µÒ—ï|k÷KˆQÅÄËZâ#¸!ƒmvÊ6V[iNÛx¿ØÆó.ÉR¹ÍæÚæK¿X®Q¼BÚfÊ`wó|»:Ã÷cl~ðé¡kS?:ÌO4Opì}ù=ãÞÁzÇToTŸUØÛ^é«11µ–=ì¬/—„摚7–ƒ>g4uüa†u½™èç¼+uÚæL–¸2EL½æî~™á>Ãùm”~îTâ÷.bc1| {õ;™âîá»?õ«a!¹ß|ÉõreO™qN9ms·›9ÖÒ®<ĘÈ Rí¾)ßp·“|¤9‚ôó §CŒL<'õÎi©÷+ˆÉUæI;¿2ßÜaYKÜü(buhMç{ÈíZÑ×êš­§êØŠ~:‡ÎkÇÑÇó$—}:é@f&:ËåYxÚÙOß›åžÄz³}£6»ì I|®ñ†È‹pßW#_AYVÁ{ð sï@nòy*(ÎìIÝjX oEmÙè:­Õg“¼Òl;§¼…X‰ãf›ïïÝ'¬WáU›mŠûbø‹¥Wj¡ôr‹¨ïøX9y%~n‹ pÅœjO§óÁ¯,k‡_ȼPôîj|¾Xó](œïb˜nu8†?¶6$Ýï˜ȺÄ;ÄíøR <˜rÏh?£s¢þq[;?lEtÏãõñrü\Û+;›dF6‘4Ûà +ªxÃèñrÎ2TñwѶ«eÙûy;L%GY¥:aƒE-Ëþx)Rœ蚯c¸sÐ\Þ‹_íkÇw%^‚Þ]ÅÙL,†æö!ø|ÈÚ× +ÝWwUÐOt.ñóA¿áÞ˜J>»GÊ“_ŠdöÛt¼.ò%­õ‰Ý²¶æü‚»ó&¼¿ù_¯•lºƒÍQ«d”?„œ³Nˆ©M¿iì…ìI\àæ5W›ÞæûN(áûEêV"—"q5ê qÄE®öòÉßE–sdæc›N¢`ަ—E>ýsÈü`|ã#Àù6‘™5n†õ°jÍó廑¯Q¾1˜«‘ï¦a Œ…²ñaÐöN¬ñ'ÍGZy‡^TÙÖûãBeôΈd‹7DGdÕÉsÞÑù·'£·D+ÒîC¨¿Ÿ¥Ïyß8‘Ä~:eC.]¨9¥æÑšË&ÉŸ5l–ún«µ²g8O$s5jî¬ùkò:ræàW’õÅlßš8.«¡;\Êzúœæ­³ß“‹O=Áÿ{F¡ÜMãÌ^¾s‰u¯jänÊÈQL‹|k ÛNL»ØåŽÆÈÏSËCfÄh«>â !7)ñXÜQÚ‹ÝŸ9–·£³ãô[Žâ|D§¡R®¤†›mJªúK)TA¼³£³Ö·'kq~%¢ï\oª9áíXØ®"wÃó”s)ã«Í§>Þ[)ðË? +¥àçÇ(øìÑêëýmŸÚjÜ]Ü‹ƒRê9r«7ÏÌVŸy~±tuR&ƒ.¤ÜŸ¾=ˆEƒÝå +©Ö™{ÃXU›º‹ù—®c^1§½y¬;Oæ¸ćõòyg»xŒíÅ:Ê¡ÉOl\þœ?ÌêÑ…º|ô+ö&H S]amWÃUî#r½;“±ÌŸX%kœa²&‘‘Îèw¨3:vš,…©åRCUœêÍ<ß’êœCæ0¹Ùa¿Rº„ñÊÆU‰ÑwªÀü½¹)ŒeÊêè?ÇsÕqýœJóµìu£q©ŸK¿-ýÙŸÃÙ±¼­ÜÆi0û˜kMëM¦ER‡]5s#‹õìó÷ÙçYº§von±L¶1]cµÆì·CÝÃ=Žë­…M=O.dsú{^)gVjN©Q©g¥¶díi91Ò“/»ÓäFîm–áîdÿ³¬¹ÏÓèÂÞÒWTGÍ1µ/§HÒÈ +ÕŠ÷”Ts†Bz`eV—3ØêÖjd¬7Û®óï³HÝ3¸LËî|šÂ~©>Šû]óò îÝ?ÝÓYr—»œW»Ö¿ÄÓ½sOç7ÀôÐN§‡w«Ö}]ÊôÿÚÿHNÅ™.Fßãî\üE°?¶¯_/5þNØÇž<ˆÿß ½’×J/ÿfï-á?ß Ô¿K»BúÀÀÄPó‡Ä¯¥$çvéãÎænÍ/±]–9G¡A~ ;à%8¥$ÞRi˜¤8 ‰~´……áwAðM]¥lµ„sÀº,ègþév㼦°ödæß„Žøf·;vƒ1w†h^~™Úw>ê\FÆa¬ÊÒ8Ô«LÇ ëóãP¯rDêG´¢G[ýÚÒ£­úq¨xôhkÞÂ8ÔžG¿±q¨Û=ÚÚçq¨p=ÆÅ¡~\\üÓßàUÞ¥ÇàÇŸꌾm‰.™Ã|ó¾0w…åÂ~KÏ¢?sLÆ™ôáÍkŽo3ñ,™ðp0&ZÇ<_s…=ÁØÌËÁÚV¿pM;6ÒuG¬|)l Ö³k«þÛ…°*ìób¸îÎ@ïÌJäýAÿ¦CÁ´ãvžÅ¸p í}‘Œ7oÁ$HÁ%°ˆ~§a/ßW ߇·á*ÊC‚}ɼ ÎúÙïåÉD÷¤=S}éUXŸ+ĺÎY±j>¿€˜ÔÏ}\.ó~Šÿú~m¿töæˆø¼C­ÿþ˜xQBÿ1øŠåô¯£ ÉáøÌuô_É|yØÀnÚ/Å'³†-ã75îZ?[ß­–AÃ(§mLÅßvú*ùKò“¯0nŠôI½"EÉzLñ^ɉÏÉàTÉØ/×પ+ޝó¼7!!"hrAÂ#„k€¡”l¨á‘ à´€ ‘ˆ$i¸©VëcÐNm­q +#SéPŠ`)S±†vZ­t”Â`qZ§v:ö18Ô*ƒV+9ý¯µ÷¹9¹¹$ê?ìd~w­³Ï~Ÿ½×þo*ô¦«ràü¾šÞ¦œ›ä½‰t›® Çä?@îOhzhã/@ïà¼ñ‡S)âtuÎašï£ï˜³ié¶µÖ²Ÿ¡"¤ïGõº—&>sK¸¿¬Ñœ`7²Þ.xùH/¦bôgú3 u•8§bÿ 8?¶Qžûù%㳨Ä_LI¼¿IÎÝ&ëç>ä[ü§¡?¦]óî¢ÜвÞç€Û@›Io:¢Y®ã¾¥mXǵÐ5Ð×ùôçL]ꨈ¦`´ l#XœŸáø#¶»Þ˜O3œáíGÿQ"Ëf=ªèü›"x ŒŒêTÌ-¯²Ø´®çñ÷e3õç-ö0ÖHMD+=Ù‡Eè¸àŸJÏŠN ut7‹vÆ‹¶œÕöM^ÀkcE¦íÒÕW²WÔ¯Jë}–Þo™ú:æõuv»º‡þîfq§ÓÏ™º½[¨çI,î#Xƒ†°VŽØAÝîO™–¿Éô HëX¬%ôg¨;‰nî ^wŒ_‹¸­ï{à]B ±ÊîàÎЯ7|œ˜L<‘¹Á4æ4ƒJŒçdG¾}ÂñÄ>Ô”+œ‚‹½!}-í‚ï½á#0±4-Ý ç=œÇp^Âq‡ý Ûëý¸ßñã~—Ojܽõ= +öäëà5m‡2ÙúÍkÐþ +þ#š…÷óXÍP¬™óàðžæ”Àq ïß` ü ë.R¦Ç:è¤BøM°E#!’Ǧ ÍG¹<ÇB‰‡íYççúw=€¢ó'£Ì»r?bíõº{NëLûâ§ WT,ű%N²ÇËÝ_S£Ö{ǵöû)öùDÖKx_ âÍ‘˜‹8`1*ÀðmÜÛöS‡æÍv­ýi† Ü!ا£8I賤”¯@{wƒÝZo_§ŸAçUzºoÇїу=ò¼ñºÁùMtNcOÆYœoè´[i¯¢«Ý%x~ ÚJé¤ì…ÓÈ[‡2 AhŠœ{»ö¶³—’ÎÁ  ‰ÜÈŸ -86¨8›Ïq’ÛÂXªÝ*pæCñ…v¸·iÐEÎj¬×EXÃ0n¦cÿ@á´ƒ­Td= .Àßô1¿Ká? Уö!ðøó`ÏÀîFhc»Ï̃H+†ý +ø*ÈWXçö:ØX´åœ…­‹@ž¶‹T9ëØ] Mç[IžýM0 ~1ìØ‚Yäq}Ötþ•‘<_êÊãA³ç6Ò\쩹±[±.«‚#ÖYªtWÒ@|Ó|uè<©î-¢£øŽQvâùeûYZÅ /7 +;‚#ÎX ­çÓ*w+ÍvÏãÞ÷=šâî¦oÎÕÑl¯ŒFºR ê¹ ,`°~ÞÁw›íÔQÌÚ‡¾Dðo¡!9/"†BeaPhíÖªSiâ³z; ï³PãúCÉö'AG&E; àw(s?ëÑØ8óå|­¦/j 7 ýâû#ï…ãX/¹(3OïßyO ¯+­׃ƒv+ñrº=<8b/滂”½UÝIƒ{Õý6¸õ~×{Ž*ëßÁ6&ò|„ù¤ŸÝûq˜ +fŸÙóßr²¦Ûwõ;èÆýò1+¡'wpYõûzökh,cFó<ßGƒcí¸WrÙ¢¾ŸíÈû@ÖÚØžÏS5“w_Ïùø– \kéõ|¥ñS°Oâî~Ì1\´ûýÁQë¨1úZ«Í´·a¿¾HUþHŒØW¦Î~ÄJŽ] ˆƒÐüº¾÷˜ÄòÓ#u_`Ý*ësmP.q :Qb´ÎF¹'±Æ×Zãóìsœ•ýôî‡Ø|GC,ò$®0 u :À{í‘HëX4ÄÚ»Dn}»¡FǨRŒå;:þì +öH|yBǨǑqÑúyСcU1Τ"{X¦ãÐ$X¦$À8Þ#O(‚°Gå\*×q’ë]ŠrðYïó¾ÅYSÉ{s²¬/­„óÿ„Ö!'´NÛ—&Œ”;Ÿ-?Öú2÷$ÖI:÷7ÖüÞ º&¼sᛕòyíí”X3'}Ñ_¾îzlåßuŒ˜’y'pmªÃy6ËÛ@…|nažŽW#v•‚c¶:£cý!“q–rÝú66—u÷CßúGî{á=NîÎ1ªòæâ]ÎËTzg€%¡·ó‚Š{xyOÑÖ2lµ^Xûlì¾÷¾ Þ‡ß_ù—§ïpsÒw¡ç:£³Ã{ éÇpWºD#üí|ßÁšxÆX_¦% Ê<É`.ÿ¡}Ÿ¦"?µú@T$o°Â?£ˆ¿¡Èµùw) +^íIaJ1èåî\õ<Ñðq½S4J‘øšbôjÅ8ÜÊð>ù—îLÙ×ÅgRŠÏî1 ƒÁ`0 ƒÁ`0 ƒÁ`0 ƒÁ`0 ƒÁ`0 ƒÁ`0 Ÿr,¢ü›é]ª¤§(F6  ëi9‘_â¾Ež‰*ì_â×!þ»C~Ù·¨HžØ·©?=¢}‡Úh›öÝH†ÑkÚ÷i”×~ŒÚ­RíÇ©5)?‡¶Z»µŸoï°ÇpOåoªû+í[Tྯ}›bž«}‡¦{ý´ïFòx”ç•iß§ÞíÇh†W§ý8 s«ýší}[ûùÖBï4j¶\måÅâó ˆ•‰ïKz¥ø2“±ùâÇÅ¿Eü=‡ÊWs¨|5‡ÊWs¨|7’GÍ¡òÕ*_Í¡òÕ*_Í¡òÕ²Ÿé?éÛ:ñó"éýÅ¿KüÜ·ØCâ‚_ëp$ÿ©gøC#éWKÙÃâ<Ï‹m$OqÄ-ù/~©øoˆ?QüwØGú´•IÏ Çò4%h2fdHP-­£µ° ©…šAжP«¤ÌÆS|þ]ƒô&ɑě*ºÿ ZŠ´ÛQ>Eåi-ìZänÇorÖâýIMÐ"ØÍ’«ikPç¿6¡¦5(“Ù~E¥å+°C¹íºŸ šŠ”Ó4xãP{Õãm Þ·P#Z©_ÕÞU÷bZ†µ}ö IÞ¬)™£äÙ ½Y4nçÿ™ßž9kÓÞÉ»y›1öÕ F¿–¡÷îN¤lÑí¶IO¹Ö2¤,—ü)IOÐé/÷¼i ¬Šé4ëcÞoÂ3‡ëÙ$ß–GºN»QjLÉ ðs«Ìÿ¼MáŸW@‚n“²)=ÕT‡öªtÙ¶È›Vù6 h¥^jl’ùÝ,mÕã7{»ê™óÖc¼›d ’·¿ ò¾UÖÇée³¼m•ùP5ÔëºÔèym'zŒ¼Efs‹¬£&¬›„|åÛÒmeëWsºÿ÷Yꪽ!ýÛd¦¤çõéµ’}ôªõžýš™‰KJÚ W!ׯÆÚ€”Í2òYÙÙGªfzÍù®訪-zö>¡÷ÞáÑ %„ÞKè-”$‘6d^È@2f& + +ŠôÞ‘jCé¨HQ:JiÒ•¦TEPªòo&–ÿÏZsßÜ9ý¾{÷Ù÷¥UµoÖóϘZUêïD3KŒV Û¤ç;7ÕOŠfœÑø¿ïh™U5´J¨k[á·ÇŸœ`[M=Þ×áwyÜ!VX\œáêë÷Y¶Ïö&ÙÎ(W¼í³ÚÛƒ¬O¼Ãa÷KŒsxŸÙ×}Elý#¯ÛÅöúŒO«FHh-«\¸+ÚëñybüÁ}£Ðîõª—ÏrX~¯ÃiÇ;¼,OÌÿÎ÷ùŸQ)C3¯cËÝÏê㊶­JV¤ßᎳ“­×åó¸+Z]\Ñ~×jçð:m·ßªR§ZÕ×<‰V¼#ÙJôÙ–?ÖÄŽñ‰Ãg%ØÞx—ßo;­¾ÉFb[Í;· 3Ro`’àõ8£ý–Ëm ŠuEǾ`kž.wt\¢Ó˜ú=–ÓåKˆ3n§±r…h£e‡XÖ³àw\²UÎlÙñ}S¬þëËýLû_S +¨;SjöÚ>¿×TgVå…ðÆü¹¯z ʹL¿Ÿ²„^—‰êô rÇy/5I;RSµ½–©×cB™1ÑŸè·œvRÊâX;.ᕊ Ò{'ÔØûæl"‹Ù{ýÍî»Àåg²gHëLEP«kôkÝb¾t£.ÁOжëùü'3{1†ý’§T4~Qî–ä ¢AU‚Úµ j`Æ:/yrûöF/)pJSûF,Vc±!‰)Øf4½æÌ¹1˜JŸ7ºÿòÉÒ„"Èð… ìÒ•Þ0¦Œ’I2Ká².œCrJ.É-y$¯ä3ì«€”BRXŠVVÌœ×âRBJJ))-e¤¬Aš`)/Lç©dðµr€wT5¦ºéÏ5Mw®múM]ƒMõ¥4”FÒØdÜÄôÆf¦[´–ÒJZKikúF¸©³ƒéÍLŽ4=±³éd]¥›ÁëîòºôžÒKzKSe_ƒ)ø`'.óî˜•Š¬N‚ °¿Y“$ƒpƒ Ú ‘¡2LÞ7e¸Œ·äm)£äyWFþ9FÆÊ8/d¢L’É2E¦Ê4™.3d&ÒÈl™#s‘V曻¤“E²X–ÈRù@>”äcÃG—ɧò™¬•²JVËY+ëäsùB¾”õò•l²I6#ƒ|#[d«l“í²CvÊ.Ù-ßÊw²GöÊ>Ù/ä ’ÃrDŽÊ19.'ä¤á½§ä´œ‘³rNÎËùÑ숋rI.˹*?Ë/fÇ^—rSnÉmùU~“;æVsWîÉò§Ü—òPÉcy"Éßò‚ŒÈ„ÌÈ‚¬È†ìȜȅÜȃ¼È‡ü(€‚(„Â(‚¢( ÅQ%Q +¥QeQÁ( +¨ˆJAe„¢ +ª¢ª£j¢j£ê¢ê£¢# MÐÍÐ-ЭÐmÐíŽö耎è„D" +Ñ]Ñ ¯¡;^GôD/ôF8ÐÑpÂF ú!.ôÇÄ!nx€ðÂ?‘„AŒd ÁP ÃxÃ1oámŒÄ(¼ƒw1ïa ÆbÆc&b&c +¦b¦cfbfcæbæã},ÀB,Âb,ÁR|€ñ>Æ'X†Oñ–cVb•9ƒk°ëð9¾À—X¯°± ›ñ5¾ÁlÅ6lÇìÄ.ìÆ·ø{°û°p‡pGð=ŽâŽãNâœÂiœÁYœÃy\Àø q —qWñ3~Á5\Ç ÜÄ-ÜÆ¯ø wð;îâþÀŸ¸xˆGxŒ'ø ã)… © b¦e:¦gfd&fffe6fgæd.æfæe>YÈü,À‚,ÄÂ,¢,F‹ÅY‚%YŠ¥Í=j˲ƒYžX‘•ÂÊ eVe5Vg Öd-ÖfÖe=Ög6d#6f›°)›±9[°%[±5Û°-Û1œíÙÙ‰Œd;³ »²_cw¾ÎìÉ^ìÍ>t°/£é¤Íöc,]ìÏŒc<Ýô0é¥~&2‰ƒ8˜É¡Æ7ø&‡sßâÛÉQ|‡ïr4ßãŽå8ŽçNä$NæNå4N—yœÁ™œÅÙœcnó8Ÿïsrs —ò~Èø1?á2~Êϸœ+¸’«¸šk¸–ëø9¿à—\ϯ¸¹‰›ù5¿ánå6nçîä.îæ·üŽ{¸—û¸Ÿx‡x˜Gø=òóOòžâižáYžãy^àü‰y‰—y…Wù3á5^ç Þä-Þæ¯üwø;ïòÿàŸ¼Ï|ÈG|Ì'ü‹ó©ŠB©ªAšFÓj:M¯4£fÒÌšE³j6Í®94§æÒÜšGój>ͯ´ ÒÂZD‹j1µ´¸–Ð’ZJKk-«å4XËk­¨•4D+k¨VѪZM«k ­©µ´¶ÖѺZOëkm¨´±†imªÍ´¹¶Ð–ÚJ[km«í4\Ûkí¨4B#5J;kíªÝô?Öƒ–À$ÓÝÛ¶mÛ6vcÛ¶mÛ¶mÛ¶m;·ï¾¢ª–X Õ¶:V×êY}k` ­‘5¶&ÁöXSkfÍ­…µ´VÖÚÚX[kgí­ƒu´NÖÙºXWëfÝ­‡õ´^ÖÛúX_ëgým€ ´A6؆ØPfÃm„´Q6ÚÆØXgãm‚M´I6Ù¦ØT›fÓmFõ³l¶Í±¹6ÏæÛ[h‹l±-±¥¶Ì–Û +[i«lµ­±µ¶ÎÖ½`£m²Í¶Å¶Ú6ÛþÿvÙî )ì úÂ~;`í¶#vÔŽÙq;a'í”¶3vÖÎÙy»`í’]¶+vÕ®Ùu»a7í–ݶ;v×îÙ}{`í‘=¶'öÔžÙs{a/핽¶7öÖÞÙ{û`í“}¶/öÕ¾Ùwûa?í—ý¶?ö×þ!‚# !8B"B# Â"Â#"""# +¢"¢#b"b#â"^ÐK !!1’ )’!9R %R!5Ò -Ò!=2 cÐ]2# ²"²#r"r#òm&? +  +¡0Š (Š¡xÐqJ¢J=§,Ê¡<* "*¡2ª *ª¡:j &j!¨:¨‹z¨hˆFhŒ&hŠfhŽh‰Vh6h‹vhèˆNèŒ.èŠnèŽè‰^è>è‹~èˆAŒ!ŠaމQ1‹q ˜ˆI˜Œ)˜Ši˜Ž˜‰Y˜9˜‹y˜XˆEXŒ%XŠeXŽX‰UX5X‹uX ؈MØŒ-ØŠmØŽ؉]Ø=Ø‹}Ø8ˆC8Œ#8Šc8Ž8‰S838‹s8 ¸ˆK¸Œ+¸Šk¸Ž¸‰[¸;¸‹{¸xˆGxŒ'xŠgxŽx‰Wx7x‹wxøˆOøŒ/øŠoøŽø‰_ø?ø‹ Æà A#HŠÎ ÅРð ÇðŒÀˆŒÄȌ¨ŒÆèŒÁ˜ŒÅ،øŒÇøLÀ„LÄÄL¤LÆäLÁ”LÅÔLôLÇôÌÀŒÌÄÌÌÂ¬ÌÆìÌÁœÌÅÜÌüÌÇü,À‚,ÄÂ,¢,Æâ,Á’,ÅÒ,ò,Çò¬ÀЬÄʬª¬Æê¬Áš¬Å²6ë°.ë±>°!±1›°)›±9[°%[±5Û°-Û±=;°#;±3»°+»±;{°'{±7û°/û±?p q0‡p(‡q8Gp$Gq4Çp,Çq<'p"'q2§p*§q:gp&gq6çp.çq>p!q1—p)—q9Wp%Wq5×p-×q=7p#7q3·p+·q;wp'wq7÷p/÷q?ð ñ0ð(ñ8Oð$Oñ4Ïð,Ïñð!ñ1Ÿð)Ÿñ9_ð%_ñ5ßð-ßñ=?ð#?ñ3¿ð+¿ñ;ð'ñ7ÿð/ÿ)˜‚+„L%¹B*”B+ŒÂ*œÂ+‚"*’"+Š¢*š¢+†b*–b+Žâ*žâ+*‘+‰’*™’+…R*•R+Ò*Ò+ƒ2*“2+‹²*›²+‡r*—r+ò*Ÿò«€ +ª +«ˆŠª˜Š«„Jª”J«ŒÊªœÊ«‚*ª’*«Šªªšª«†jª–¨Úª£ºª§új †j¤Æj¢¦j¦æj¡–j¥Öj£¶j§öê Žê¤Îꢮê¦îꡞê¥Þꣾê§þ ¤Á¢¡¦á¡‘¥Ñ£±§ñš ‰š¤Éš¢©š¦éš¡™š¥Ùš£¹š§ùZ …Z¤ÅZ¢¥Z¦åZ¡•Z¥ÕZ£µZ§õÚ Ú¤ÍÚ¢­Ú¦íÚ¡Ú¥ÝÚ£½Ú§ý: ƒ:¤Ã:¢£:¦ã:¡“:¥Ó:£³:§óº ‹º¤Ëº¢«º¦ëº¡›º¥Ûº£»º§ûz ‡z¤Çz¢§z¦çz¡—z¥×z£·z§÷ú ú¤Ïú¢¯ú¦ïú¡Ÿú¥ßú£¿úçÁ<¸‡ps8]îÒCyhãa=œ‡÷Ñ#ydâQ=šG÷Ócylãq=žÇ÷žÐybOâI=™'÷žÒSyjOãi=§÷ žÑ3yfÏâY=›g÷žÓsynÏãy=Ÿç÷^Ð ya/âE½˜÷^ÒKyi/ãe½œ—÷ +^Ñ+ye¯âU½šW÷^Óky€zm¯ãu½ž×÷Þð?‚à@`¾Ý½l×gÛülÛ¶m}î³mÛ¶mÛ¶]3ÖÄšZ3kn-¬¥µ²ÖÖÆÚZ;ko¬£u²ÎÖźZ7ën=¬§õ²ÞÖÇúZ?ëol  ² lCl¨ ³á6ÂFÚ( ¶Ñ6ÆÆÚ8ol¢M²É6ŦÚ4›n3l¦Í²Ù6ÇæÚ<›o l¡-²Å¶Ä–Ú2[n+l¥­²Õ¶ÆÖÚ:[ol£m²Í¶Å¶Ú6Ûn;l§í²Ý¶ÇöÚ>Ûoì ²ÃvÄŽÚ1;n'줲ÓvÆÎÚ9;oì¢]²ËvÅ®Ú5»n7ì¦Ý²ÛvÇîÚ=»oì¡=²ÇöÄžÚ3{n/쥽²×öÆÞÚ;{oì£}²ÏöžÚ7ûn?ì§ý²ßöÇþÚ?„@H„Bh„AX„ƒ GxD@DDBdDATDCtÄ@LÄBlÄA\ÄC|$@B$Bb ’"’#R"R# Ò"Ò#2"2# ²"²#r"r#ò"ò£ +"…PEPÅP%P¥PePåPP•PUPÕP5PµPuPõP ÐÐMÐÍÐ-ЭÐmÐíÐÐÐ]ÐÝÐ=нÐ}ÐýÐ0ƒ„Á‚¡†á‘…`ŒÆŒÅ8ŒÇLÄ$LÆLÅ4LÇ ÌÄ,ÌÆÌÅ<ÌÇ,Ä",Æ,Å2,Ç +¬Ä*¬Æ¬Å:¬ÇlÄ&lÆlÅ6lÇìÄ.ìÆìÅ>ìÇÄ!ÆÅ1Ç œÄ)œÆœÅ9œÇ\Ä%\Æ\Å5\Ç ÜÄ-ÜÆÜÅ=ÜÇ<Ä#<Æ<Å3<Ç ¼Ä+¼Æ¼Å;¼Ç|Ä'|Æ|Å7|ÇüÄ/üÆüÅ?†`H†bh†aX†£$EgxF`DFbdFaTFctÆ`LÆblÆa\Æc|&`B&bb0 “2“3S2S3 Ó2Ó33233 ³2³3s2s3ó2ó³ 2…X˜EX”ÅXœ%X’¥XšeX–åXžX‘•X™UX•ÕX5X“µX›uX—õXŸ ØØ˜MØ”ÍØœ-Ø’­ØšmØ–íØžؙؑ]Ø•ÝØ=Ø“½Ø›}Ø—ýØŸ8ƒÄÁ¡ÆáÁ‘Å`ŽæŽå8ŽçNä$NæNå4Nç Îä,ÎæÎå<Îç.ä".æ.å2.ç +®ä*®æ®å:®çnä&nænå6nçîä.îæîå>îçä!æå1ç žä)žæžå9žç^ä%^æ^å5^ç Þä-ÞæÞå=Þç>ä#>æ>å3>ç ¾ä+¾æ¾å;¾ç~ä'~æ~å7~çþä/þæþå?…PH…Rh…QX…“ ¢$WxEPDERdEQTEStÅPLÅRlÅQ\ÅS|%PB%Rb(‰’*™’+…R*•R+Ò*Ò+ƒ2*“2+‹²*›²+‡r*—r+ò*Ÿò«€ +*P…TXETTÅT\%TR¥TZeTVåT^TQ•TYUTUÕT]5TSµT[uTWõT_ ÔPÔXMÔTÍÔ\-ÔR­ÔZmÔVíÔ^ÔQÔY]ÔUÝÔ]=ÔS½Ô[}ÔWýÔ_4Pƒ¤Á¢¡¦á¡‘¥`ÖÕ8×MÔ$MÖMÕ4M× ÍÔ,ÍÖÍÕ<Í×-Ô"-Ö-Õ2-× +­Ô*­Ö­Õ:­×mÔ&mÖmÕ6m×íÔ.íÖíÕ>í×Ô!ÖÕ1× Ô)ÖÕ9×]Ô%]Ö]Õ5]× ÝÔ-ÝÖÝÕ=Ý×=Ô#=Ö=Õ3=× ½Ô+½Ö½Õ;½×}Ô'}Ö}Õ7}×ýÔ/ýÖýÕ?á!=”‡ö0Öù9œ.wï<¢GòÈÅ£z4î1<¦ÇòØÇãz<ï <¡'òÄàI<©'óäžÂSz*Oíi<­§óôžÁ3z&ÏìY<«góìžÃsz.Ïíy<¯çóü^À z òÂ^Ä‹z1/î%¼¤—òÒ^ÆËz9/ï¼¢WòÊ^Å«z5¯î5¼¦×òÚ^Çëz=¯ï ¼¡7òÿ\•u`ÇÆ[‹"Í76efn-9’“²l+‰CN»NÒö½w’ÖÒŧ;åÀvRffffffffffæww»NÔêýf÷fç›ÙÛ›-R‰Ê$¨Ÿ*T%ÐT#“,ªÓB²É!—<¤!¦E´˜v§=hOÚ‹ö¦}h_Úö§è@:ˆ¦CèP:Œ§#èH:ŠŽ¦cèX:ŽŽ§èD:‰N¦SèT:N§3èL:‹Î¦sè\:Χ èBºˆ.¦KèRºŒ.§+èJºŠ®¦kèZºŽ®§èFº‰n¦[èVºn§;èNº‹î¦{è^ºî§èAzˆ¦GèQzŒ§'èIzŠž¦gèYzŽž§èEz‰^¦WèUz^§7èMz‹Þ¦wè]zÞ§èCúˆ>¦OèSúŒ>§/èKúо¦oè[ú޾§èGú‰~¦_èWú~§?èOú‹þÆ2XMˆ ŠâH`’H0Fc Æb–Ãò°"VÂÊX«b5¬Ž5°&ÖÂÚXëb=¬ °!6ÂÆØ›b3lŽ-°%¶B3ÒÈ E­˜ˆIØÛ`[l‡í±vDmhG +˜Œ)˜ŠNLÃtÌÀLÌBfc'tczЋч¹˜‡ùØ»b7üÿÅÿ ¡ˆÊèGUèX€¨Á„…:†1„a,ÂbìŽ=°'öÂÞØûb?ìp ÂÁ8‡â0Ž#p$ŽÂÑ8Çâ8p"NÂÉ8§â4œŽ3p&ÎÂÙ8çâ<œ p!.Ÿ—â2\Ž+p%®ÂÕ¸×â:\p#nÂ͸·â6ÜŽ;p'îÂݸ÷â>Üð =Ãxâ1<Ž'ð$žÂÓxÏâ9<ð"^ÂËx¯â5¼Ž7ð&ÞÂÛxïâ=¼ð!>ÂÇøŸâ3|Ž/ð%¾Â×øßâ;|ð#~ÂÏø¿â7üŽ?ð'þÂß¼ /ËMá(Ç8Î ÅIN11˜y4á±<Ž—ãåy<¯À+òJ¼2¯Â«òj¼:¯ÁkòZ¼6¯Ãëòz¼>oÀòF¼1o›òf¼9oÁ[òVÜÌiÎp Oà,縕'ò$Þš·ámy;Þžwà9ÏmÜÎ\àÉ<…§r'Oãé<ƒgò,îâÙ¼wóîá^Þ™ûx.Ïãù¼ ïÊ»%K>6%fI/³A'Û¬˜ŽwK'[¢[úÚsä¤B®Èe[â=ÒÉ ëµý ‹yÁ¿ôhU­éø|gqCœÖ6ÅöØ­VÓb=Uáj‘ÙU=¦õª+ ÃÕ¢îè†ÝÑ+5-âj^¤^ÕÙ3ËÂvJ–-ÊE#)†K†V ,ÓñêÂÖ-;^Ž.©Ù¶5dˆ~7Z^=ÒÖ+UW>,[C¦´Š–[M*·²‰%VÑ)Ëv«ÁûÐ è¦ëk‹’«[&‰…ž>¨Â,‰XÕòÁþ›6¬Š^Ò ÓrSsÅÖ ·¾Ä,ºáÙÉÊç3£Ø.™Vóé ŠÕóŒšÏ¨q‹·¨qV­Ï¦Uül‹¢òÏfsŠ­ŠJ/;I1¯Ø¦8¢Ó¡XPœ,™Sú9¥ŸSú9¥ŸSú9¥ŸSú9¥ŸSú9¥ŸSú9¥ŸóõëEÃ* $üw0&GF¿¤íª±ëTµ²ˆ…ÿ‰ò@Èd¿nþ©±†SÒ²ý7™pm]«xuI[˦¤Ñ/évÉIÝ,zþ"7°ÔœSÓý󥕄0— "ŽgÆûEÍ?Ñà/æÔ}ñhÉðŠ±ªÐ|‰²®Õ,³L5ÏQ‡EŒn°ýÓÜÔ9­I_@¦V·×¶êU¯éfø=Š’¿T¶¢f¹é´ÚÞ¼Úö¼Ú¶¼Ú¶öÉ)«.L™"_ÓJA3Ð$©=¨Æ«õb˜JKmù‰6çÛµNHÆ ²Á Ùàd Ë)¶Ò”†¨•GͨöI+ªÆ’i¡© ëªKíèÔ¢fG«þ_¼ÓÕ²ˆë!*+]eÕ)³ÒeVª¡ê’4­!ú‚gÕ¢²oiÅ€ßþ…ihfY/©IÕ³ä§ÖœžUÌE +f%"üÎ×¥R±T*]2«aƒ²J"ÛJsRq +í +uƒB{e¡ž,´WE÷Tô^Ý“Ñ{U¡ž*´¯!úPƒ=¯Á^´ÔŽù}¶â¤òAµß+GÌD¾ ©‰ÔåšÿA…¶µÔNjÁá5„®Åûüfçç6$Ñ'o€!éÕWÖ…-ÝIXñyÒqQ^èùq‚ªüV+OzsK!jè¶–Žë¿hÿIúUŠ “WáVýw%m‡úõÁŽÂyP²ü‹F+•„éŽ ¯†‰˜k™–Ã#é„£T>¸‰By…ƒQWÎ&;-e¡«¦¯DzœS]5Q‘Nãtßý +±P!ÚæßU±ŽðÂS:ÑùÁmèëD‰Øt­^×üË¿V,kM3½¦Y^Ó\=¡4›fë‘ޑ=š—Pú‘öª™íèèlÐ£ŽŒSÚÒ"Ec‘b¤H}¤ÈñÞ?—†“Ñb|%¸Ã£‹ƒ¤ƒ¡\æÑ`alàÿ\—ÝnÜ8F$› džÄÉâߥ$J·{µÐqœ±±wàØÉÌ<ýª[‡åŠoü««ëP$?¶u™úqŸúÃó¿þºßÌq™÷ow§·—öí +`Æ7ÛŒ·ðÍé¼hWv½>¾‚_ìŠ?Û?éŠ_œ&ƒC=PA#šÐŒ´¢#:¡3º û~²ÿ„o +×Áup\—+S\×Áup\×5¾ƒÏÕ*\­ÂÕ*¾‡ïá{ø¾‡ïá{ø¾‡ïá{ø~€àø~€àséJ€àø>÷¯pÿJ€àø_à |/ð¹¿Eà |/ð¾Àø_à ü7Âp#Ü—_‰p#Ü7Âp#Ü/«o|ÞúçÌ«1¯Æ¼ójÌ«1¯6¢Ì¯1¿ÆüókÌo¿À_à/ðø üþ¿À_à¯ô]é»Òw¥ïºÿ <Œãžï¼6Äãy¿L\ˆçóú|‰ç¾ë´û}ÓÐmè‚®»¾·ûtSTЈ&´ ðÜ7À ðŽÀú ý…¾»ÿ6¥¿Ð_è/ôú Ï%³¿‚ ¼J CCtß÷Ľ¸O÷fâ¾LÜ ¿'üžð{Âï ¿§H=¾Oø>%ò‰|êù€ +Ñ„f´ Qæ•Ú»?»ËYz@§{‚V+¨•‚5QP\|Bz×?ð|ç5éÉ܃҃JP‡ôæµ7¯½y•¬õõáøÔ“}Vµ7¯,A^®Ðë/÷Ü?Ü?éàëíçûý{e=İÊ%]¡¦å6xi¹ Î-÷òZ®ÐKùžëjzlƒ—Ûà¥Ç¸’\mùjËWS>ÏW¨)oñ2àa|<ßϧä”°A% =p=ð=è zçÐ;‡Þ9ôÎ\óþƒ´é~±ÌûÁßÔ¡½»ô¦ûO¯ö+kÓ Å²Ëz¬œ',žø^â{©×a‰ûcúØŸ>õ§gzë:÷DŸ^êÏœú3§Þ/õ~©÷˽_î«™ûóæ¾šÝ¡%÷ιwνsîsï\zçîÒÒ]ZºKKwi)½sé»EK·hé-Ý¢eÿŸamÜÕ-¬ýy{¼?w—üR¸Ë¼¿B | lRHŠMF’Ñ&q¢·NôÖ‰Þ:Ñg’ÙöÀž¾ØÅö(¶ÆõÕöI޶Çh{Œ¶ÇDr²å“-Ÿl9nöÖÍÛÀ”϶¼‘l¶¼Ùòf˹ ½½ ½½ ýb˹‰üjž? W¨M:’Î&9Áž‚À)ÁLa¼La¼L!p>‚Ør±åbË99!ÚòhË£-çL{¦‚=SÁž©À™ +Ù–g[žm9§-ØÓìi ö´N[°?ÁþLû38‡ÁžÃ`Ïa°çPØ!q¦|¼”oSÎÞ‰·åÞ–{[ήŠÝU±»*vW…]»«bwUì® +»*vWÅîªØ]vU쮊ÝU±»*ìªØ›bÂ)Ób’†Šýu¶Mì%!lŽØÍ»9²oÎ<í宼ÿ~:þ’8×$ÂëŠðº"¾®ˆ¯+òëŠý©ß_îs7x§‘×(h$E’FY£¢QíQ4RFPFPFPFPFPFPFPFP†(C”!Êeˆ2D¢ Q†(C”••••••••••‘”‘”‘”‘”‘”‘”‘”‘”‘”‘”‘•‘•‘•‘•‘•‘•‘•‘•‘•‘•Q”Q”Q”Q”Q”Q”Q”Q”Q”Q”Q•Q•Q•Q•Q•Q•Q•Q•Q•Q;à ƒFN#¯QÐH4Š%²FE#e8e8e8e8e8e8e8e8e8e8exe¨ÏúÜ©ÏúÜ©ÏúÜ©ÏúÜùúæ?w§Ç‡7§Ëßÿ^þ>Ÿÿö +õµS_;õµS_;õµ õ÷»Óé‡O§·7§¯Ÿz^½íÔÛN½íÔÛnóöÓýñó¯ßUŽzÛIÝ_ ÆéÝéáöéîþñóû§Ÿ§K𽩱۩±Û©±Û©±Û©±Û©±Û©±Û©±Ûýx`¡7ÏO¿™ÏŸ˜ñp_:Hõh@šÑÐÝŸXF¾?òýÝY›î+ »³6u(õõ»s6­(¼‰',{ù|¡~ßéíßþSOö56­¿^þÛOë¿·›ðz»èÏ7âõvÏo?R÷ÿ|¸ îooŸ¿ý®ñçÓχ”ý¸}|zwŽ¿œž÷^.¾ùyø~<¼ÿyøñ÷Ýáë?‡·ß¿ŽÇoîož¿~9Þþu}x<|ÚËc@Ý÷<彬Ð:Eǘw°ìÍ›EæM+›ä)G›ä5('›äe'Û—Ì{M¶ï5™÷šl_G³}Íöu4óÆ“íÏ60åöu4O$'[>ÙòÉ–Ï$g[>ÛòÙ–7’Í–7[ÞlùJrµåöe{„Êp…šòmðR¾ L¹#él¹³åΖ³ëÅÛro˽-ç<”`˃-¶\HŠ-[.¶œƒU¢-¶<ÚrNWɶ<ÛòlË9wÅž»Â¹+Õ&9]e´IÎP™l’“Rf›ä<”f“\e±IŽBYM²²áu°IÜZcö­Z·Vv§Z·Vö ŠM²ÒÕZ¸báj-\Yäj-\YµjW­²jÕz²ZOVëÉÊzVëÉj=Y­'++]­'«õdµž¬ìAµž¬Ö“Õz²²;u±åöŽß¦œ}«vßFöm´F­QGkÔ‘{wd'GëÀÑ:p´ü?Ûe·ɃÑëÍÈûƒ©ßKQUõy€…á›Áά“ ‚¼}Ú®SCô…A³[ÅÖ(~ÅÉO§¿ÓßÀÉéO§¿ÓßÀI]L§¿ÓßÀIÅÌê—W¿¼úåÔÒôµ4¹–Ó_ËI-M_KÓ×Òôµ4©¥ékiúZš¾–&µ4}-M_KÓ×Ò¤–¦¯¥ékiúZšÔÒôµ4}-M_KFÙ˜/óec¾lŒþn¾¿ß·Ü÷w£ºÌW—ùê2_]Fu™¯.óÕe¾ºŒê2_]æ«Ë|uÕe¾ºÌW—ùê2ªË|u™¯.óÕeT—y90/æåÀ¨;ë~y÷Ë»_NË3ÿ‚bþÅü ŠQÀæ%Ä(Sób£ùb4_Œæ‹Ñ(Fóâbô#ó¯æ_)Ì¿R,Jnù’[¾ –/—åådqäËËÉâ`——“Åñ-/'‹CZ¾,Žbù°Øðå5f±­Ëoëb[—ßÖÅ>-¿O‹«¹üÕ\þj.5Ûº|›ßؼí/y>ìï¶±ˆ[º%ÿ$wqóš½qã6¿ÉÌi•ù¬nWØŽea>«Ìgõœ{ï–·„sî½Ûsª©;ïþ;Úsνwˬ°ÃÝ™vø×Ïbª×4´ÃßáïpŽéðíûîüµÏ‡oßxøö}øö}øö}pccccŽ+©ý<£K´–ošëlšŒ³5—÷ÿêûíý¿þþßxsßàåëËóóË¿/ÿ55>;¹iÃîß}yúöôˇß?þô3ÿz{,ç·ùëã¯/ŸþöÁk,÷ÆW”¸¢¸VnUš[ÁnE+j\ÑâŠWô¸¢¿¯à”ò‡ß¾þôN{s\Ê)þw—R¿aV°ŠÍØ‚­Ø†íØXÃ.ì†=oRpÜoÀð¼oÀð¼oÀðÆÅ;onšü¾ o›ð&¼ o›ð&¼ o›ð&<ãw<ƒgð žÁ3xÏà<ƒgð ž]<~ßb_üÁ_ðüÁ_ðüÁ_ð錉Θ¶ãíë­Ýÿò‡ç§/ççtÊD§LtÊD§LtÊD§LtÊD§LtÊD§LtÊD§L;ùÐ1ÓN>;ûqÀ?àðøüþÿ€À?N¾ÜnØ„¬b3¶`+¶a;öŠ7±†]Ø »cÏß# ~‚Ÿà'ø ~‚Ÿà§öýÏ/Ÿ??==?ÿüÿoßÿêVI"“D&‰L™$2222222v@Øa®¤« òòòòPòPvDÉGɧð}áûÂ÷åúž| ùò-ä[È·ga +yò*äUȫ­p+Ü +·Â­p+Ü +·Â­ìS…_áWø~…_á7ø ~ƒßà7ø ~ƒßà7ø ~ƒßà7ø ~ƒßà£,‚²Ê"(‹ ,‚²Ê"(‹ ,‚²Ê"(‹ ,‚²Ê"> +#(Œ ø( 4‚ÒJ#( 4‚ÒJ#( 4‚ÒJ#(Lø>Ê#( <‚òÊ#( <‚òÊ#( <‚òˆÁCyå”GPAyå”GPAyå”GP±‹ÇïEyå”GPAyå”GPAa…FœgÁÙàlp68ÞùeƒÃ»¿ðî/(–ð./(” P‚B +%(” P‚B +%(” P‚B +%(” P²ï?¿üüüáüújƒ_ƒß‚߃?þé|÷] ±Ûƒï[ð{ð}l¿¶‡Ø=ÄîÖ÷àûØþ»b{„ØãÁó>öµßõ:ƒà×à·à÷à_±kˆõÈoÁïÁ÷¹µð| ¹µ¯…x-äæ×ö»‡ØýÁú|Û7Bìb{õ’ü¿m?<ÿñõã§OŸÿóòíóÓ×ÿñ9ù4òéäÓɧ“O'ŸN>|:ùtòèäÑÉ£“G'Î>t¸î î î Þ Þ`ý`ý$ÏIž“ç'ÏOòšìÓ$Þ$Þ$¿I~“ü&ùñŒxF<#ž±Þ®õägä·Èo‘ßbû¸ˆ¿ˆ¿ˆ¿ˆ¿Èw‘ï"ßE¾ þ‚¿öü÷Ó_~‘«ƒæí²d@ÇÈtŒLÇÈtŒLÇÈtŒL‡ÈtˆL‡ÈtˆL‡ÈtˆL‡ÈtˆL‡ÈtˆL‡ÈtˆL‡ÈtˆLGÈt„LGÈt„LGÈt„LGÈt„LGÈt„LGÈt„|°£Ç¹£…ÎPn +XÅflÁVlÃvìob »°vÇžù—wÀp¹ …›PÜ—›Q¸eÀpÜ—›S¸9…›S¸9eÂånPánPánPánPánP™p'Ü•ßÞäîol÷¿Û‡ç§/ÎOÎ×~w~z}»sþ +~¾Ö¿rÓ~žóÝ&¬`›±[± Û±;±†]Ø »cÓ&ø ~‚Ÿà'ø ~‚Ÿà'ø ~‚Ÿà'ø ~‚Ÿà |/ð¾Àÿ“ê²É¹ã¨Âðµ/ @Ax@ò Âê®ÿ%Uuú¬€”– ‰0“LØJXäoBÀ +° HH°ƒÐþê©sÃàÓ[.w×sºo×{Þrð|ßÁwð|ßÁwð|ßÃ÷ð=|ßÃ÷ð=|ßÃ÷ð=|ßÃ÷ð=|?Àðü?Àðü?Àðü?Àðü?Âð#ü?Âð#ü?Âð#ü?Âð#ü?ÁOðü?ÁOðü?ÁOðü?ÁOðü?ÃÏð3ü ?ÃÏð3ü ?ÃÏð3ü ?ÃÏð3ü ¿°^a½Âz…õ +ëÖ+¬WX¯°^a½ÊóTž§ò<•ç©Å¯¿RüJñ+ů¿RüIñ'ÅŸRüIñ'Å?RüHñ#Å?RüHñ#Å?RüHñ#ÅÔ-χ)~¤ø‘âGŠ)~¤ø‘âGŠ)~¤ø‘âGŠ)~¤ø‘âGŠ)~¤ø‘âGŠ)~¤ø‘â?Šÿ(þ£øâ?Šÿ(~£øâ7Šß(~£øâ7Šß(>£ø‹Æµ.õã'ŠŸ(~¢ø‰â'ŠŸ(~¢ø‰â'ŠŸ(~¢ø‰â'ŠŸ(~¢ø‰â'ŠŸ(~¢ø‰â'ŠŸ(~¢ø‰â'ŠŸ(~¢ø‰â'ŠŸhWàx^Wàá7Šß(~£øâ7Šß(~£eñx^üFñÅo¿QüFñÅo¿QüFñÅo¿Ñå7~…_áWø ~ƒßà7ø ~ƒßà7ø ~ƒßà7ø ~ƒßà7ø~‡ßáwø~‡Ûáv¸n‡Ûáv¸n‡Ûá¸î€;à¸î€;à¸î€;à¸î€+p®À¸Oà <'ðžÀ8ç€sÀ9àpžïàw=àp¸Üî÷à9øü¾ÂSx +Oá(…£pŽÂQ8 +Gï9n›ßí©;êЈ&´ t­s_¯KÓ\œ¿Ÿ’«•\­äêSý[?}ï×Ïž¾ÿáožðâÅ›ÉÍÍæá¶NQócÞœCgÓ95¢óðå8D9Qî@uC¹¾ÌS=ÊzÊzÊzó¥žZЊ6´£”:tòýl2§î¨C=Ј&4£‚(ëRŸçG†„0$„!! aHCB’m­Sцvt ‚èüH…0$„!! aHCBoÂáMGB8‘Ž„p$ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ„#áð&Þ„°$„%!, aIKBXÂ’–„°$„%!, aIKBXÂ’–„°$„%!, aIKBXÂ’–„°$„%!, aIKBXÂ’–„°$„%!, aIKBXoÂáMOBx“ž„ð$„'áð&Þ„0%„)!L aJSB˜”¦„Ûª„Û®„Û²„Û¶„°%„-!l aK[BØ–¶„°%„-™akKs_º£õè +:÷gÚ¹oç¾ûvî›ûaKì÷Ä~O±|åçÏ?þè®Vî8Ž·Ð§?{ö«÷˜T&õ~ÒîÉsZõ תÚä/?xÿÙ›É3ì¨C=Ј&4£­“é·}³Ñn#Zˆél ›vE²Q¶Q±Ñý¯pv`‡ŽyÿFWØhUëÏ_ãÔ€Òº6Z×FWÙha-lºÜ©ÓÍ=.ïqyO딄Û{º§xº_ÿO7ðtO7ðt£@7 +«n„©g~õgKétO— t­@Wˆ³…oqF¹-Žˆ&”¯çN;_1u$êHÔ‘¨#ÑR<Ö/5[Žödûs´Qâ*ûB²ýÖÙ¾¤y€8¯r6sy®ºÍØ·Tì[š‡‰ó*«¦Z…Õª¨«z«´Þ®¿Í­êS­úºªß·U}¶g#o£U}±™d£Û«z[}_«7›Yµw›Yk›±µm—íûZ[ÖŒÛl´Ûh­~ØL°Q´Ñz3j3ö\æ»§ödooÆÛ›!Ùåd5x«Þ[õìÀœl…`«»3P}²ÕƒU¬ú@õéöV}°êãªÞî³ïs·op«z«9ÞFV}\ÕÛÌíÜž;­ê­š[…·*ÒªÞ*ýÂõ6—WõöÝd«>[õyUoßÒڱɾ¥¼j·ï¦XíÅj/«ïÒ¯ý:ѯý:Ó¯3ý:s_¦_gúu¦_gúu¦_gúu¦_gòBƱ3ü ?ÃÏð üÕ]àø~_àø~_àø~_àWø~…_áWø~…_áWø~…_áWø~…_á7ø ~ƒßà7ø ~ƒßà7ø ~ƒßà7ø ~ƒßàwø~‡ßáwø~‡ßáwø~‡ßáwø~‡ßáøþ€?H‘Cm%qTG%qT®«$ŽÎ|g¾¯ù™Dó_g=ÍYOs%Ø(Ú(Ùèvo±ÑÚáÎú𳾿ª1ª1¬³9ël®£Ãz›³Þæ·ÍF»œ¼‚¢’²ŠŒa9Ò[Ž<›ˆü#|lK.?}öâÃçÿ7aq×áýnž|N hDšQ2] Ó2] Ó2] Ó2Ý<ùl>“Õ2m:ÎÆÊf íè@¹Ž,Èr‘N99Dú|ÜÙƒ1؃1؃1؃¡ì€Éqû|žSç—¾OÇscž¤NÝQ‡zt]Ñ„f´ mhGg–™u2ëdÖ™ßò¾´ mS݆Ú×bIÒ[gòÖ™¼í;oûÎÛ¾ó¶ï¼í;oûÎÛ¾ó¶ï¼í;oûΓ'C!‡ïäï½£®tT\F×;Þï>óîgWl¹ð +ï`v›Sï†ïëß‚¨r=ç ^>½üøúï»ëÛßi߸þãò“ë¿.Ÿ\ÿyy}þ}éòèœytŽÞ9ÿ>:ÇŸŸ_þü/×ÏîŽÃ½ûÇSøô^_>ùûôͼüÖwÜŸ®Ÿ=üýåû—ÇçÄë—ßüöýÿ¼zÙ;ƒTæàîí¹×í«×W—ÿœ¯¯®¯/Oæ]wOžºÿ¶¯®¿½|ýÁƒËãË﮿üáü{xy÷ú·»ï~Ï}òçë_ÿÇjÕÆ6uásîñ'Î7Ð@H®íCR;J›RàŽ\',qÔÂÀÎPR: +rXb¦uIMÕQ u,Ñ`´…•¤ÉPC”›k`æC#ê´MÝ‘i‘­üÛ¥ecêÔ=çØ@+ñgÒ®ý<Ï=ïûœóž{î¹×Fþ÷ìcr@tûØ”K0àïØ/‰—(ì*»RÈ\É—4È0;E(Y/ËÀ +`!)ö ’ÆyÀBÜ`¨:y„ͲYÌsýÝà: Œ,ᇈ¿Ä™]d‡H}ÌÎÕÐ7Øi¡@×AßC¼ú.Ú\' íóPž?Wˆ¿öè[}ñrèY´¹þ¬Ð>ÆÒ¢ßHA§Ø°Y©x"•Èû€z€áì ÎÎ`éΠEÀ”½Æ‹J Ð葼b¹ÆL¿*îÑXöéµ SXÒ1,ýVn +7F,H>ôŒæ=µlžQxFáŪԳaÔÆ #`àÖ}ëÎãxXñ‚'€)ÞbßÃ:Ö`V'Ù!³ZÁ&;˜Ý¢74Ý`/`©uöBvmEÃøã–s߈Ð₺¹wPd³Î"Ì®«È+\/EŠÙù ‘Rpð5 +XØ€YU§\gÏ‘#¢+)Ã2–ŒÕR¥Þ[¬t9¶¤—Õ †%©ÑÆ^çó¸“yœ>g½Swv9­)–aãŒ)¬Ž5±N–dÖ܃EÓ¾u3DßiÛºyÂ5å2\‹®%—Õ°-Ú–l˶›Õg«·é¶.[¯mÈvÜ6a›²9'lv©×5ä:îb—ÏUïÒ]].«b§S‘¬—IÀ`˜,Xã$â>ö<ÄÝHb)žGœ€ Z` çËP+ZnøÜð¹u#êF”€y¦ è† +YÛ£ÌÃ>Ü¿Â3ÀFd‹-ÆÚ.ƒWøÐŽ–Œ–Œ– ×’ôfèû€.€‰Ø2€]~˜«/ä{›È¯ÏÜÎûJ_è}k¨QC§jèD Õµ¦Hƒy½Þ¤š &«“Ó–”š +¦ªSÓ–Nµ3ØYÝ9miR›‚MÕMÓ–:µ.XW]7mQT%¨T+Ó–ñŽùŽ[·;,ÉŽTG¦ƒ5âÖeÍP}ƒÐ@ësíº†Fwd›4ËI‚'?Œ(à:  Hi¬HsˆÎ!:G:$`E9þz+…OŠ?ãyé+y† ¿dnÝÜiÇ+7 L c_Bþ’pçÏæEÜ/‹xgÁ?%â +øa†\xÍõàñëÁË¿‡$!ÀJn³}øqØÇG+À0XX>ûØ>iŸKÒ%ÖåM«²f !Ä[âðDªž#aQõM3|ÑÓfø$ä§fø0dÜ ò 2µg”H =Hª$î A‰Ï¤£Pñ›ù0tg¾s«æ½¢¼@޶˜ê&ÈF>Ë›T%]¢œbªâ"+ˆ*†XOT1érZLÝbò2 u˜ê«Åv9xWù§vƒ_8ùu›”Onâúö¢ùÚfÎ*¼Æ—ËTn‡s4xUùƒzCùMUŽî5•ÅpÎÄ­pN¢W”,²¯D¯*óáƒÊœ*²Ó*²¸Õ“Z­r^íQÞ¢m*¯†oòi#¸â½H'ÂÛ•mVÙÌQ¤u ÅôUÊVõ»Ê„ŸÍѶ쬲©*ǧR1f¯*Ï âULå[×¥¯;Mëaûˆ½ß¾×¾Ë¾Í¾Ù^k÷Ù+ìëí¥¯Ãã(v9V9›ÃâÄQš{°¬‡žÂR›‡‹ÍÂÙ"Î=gëKÔ!áÙ1žb1)ÖÝL oŒÄö4¡XÎþ`·ñl(f8º¾_ ô' ´ éG9JöıAyèD¹ám‰_#”Ö8UÎuôÄ©D‚ÆŒÅë÷÷»q«võVµ¹Œ¬9ÖTÖäÝ^²eGô Ô[àÐã£,ô壬Â8ëŽV$Œ~ò "3vvûöǯIG¥Tkôš4Ä%¿F_–޶îæqúr4ñÈFÒlDãÂmYà6 Yaë6lÓ@kt!È›>¢mÜ„íó‘0ÌU…«‹ lR%©cUI•܆ýÌýåÁŠu‹ÁÜED ¶ž›‚AXÂAnYh °léÙÇi5˜ŸN‚E Mˆ:”>öTç=Øä€'ôÿ<›ÿ3ÍöÝ90Ð:¨¶öª­ƒ@¯ñƱËŒãý>ßÂ;<á3؆Þþ¹ö wÔÁ¨q@úúžàé>5º@Z÷ÄôÁ¨Ù§÷µª}ÑDv&ÓûJ­“jµdž0X†ÖÂkÍÄžŽñô ¯ãµb¼ÖŒ>#jÅv7ÓXW|ÁAš-ûóš•\«ð<ô–ûÍk`ã‰ýñ«º6ø[€¥±›èŽÖ¨¨™†âË›#éa~òåBéPK< ø·Kñϼ–<¨Àf °’_ƒÿ|Ü,ä5ðià} û_D˜u™u]%2]@6Fjƒ + f£Í¦F;€tb„Ž‚Ð®~ÚÆÑHHo²7ærä6¼vÉS@| ˆ_ñ/ fe6b6^ +Iµ‘Å ÅÚŒ@ç39% ¢X»„QÈ`wI±¶6ƒ80€JµQÓ=cq)0(€¤€ŠÀ¢Å m¥ @ +³ÄÔ +endstream endobj 16 0 obj <>stream +ÿØÿîAdobed€ÿÛ„ + + + + + + + + + +  + + + + + + + + + + + + + + + + + + + ÿÀ€ÿÄ¢  +  + o!1AQ"aq2‘ ¡#ðÁB±ÑáñR3$bC4%‚ +rS&c’D5¢T²s6ÂÒ'E7Fâòƒ“£³dU(ÃÓ)8ãóGHVe*9:IJWXYZftu„…gvwh†‡”•¤¥´µÄÅÔÕäåôõ–—¦§¶·ÆÇÖ׿çö÷ijxyzˆ‰Š˜™š¨©ª¸¹ºÈÉÊØÙÚèéêøùúi!1AðQa"q‘¡±Á2Ñá#ñBR 3bÒr$‚Â’“Csƒ¢²c%4Sâ³5&DTdEU' +„´()*6789:FGHIJVWXYZefghijtuvwxyz…†‡ˆ‰Š”•–—˜™š£¤¥¦§¨©ªµ¶·¸¹ºÃÄÅÆÇÈÉÊÓÔÕÖרÙÚãäåæçèéêòóôõö÷øùúÿÚ?)†ë%ˆ"ÃÇR<8ÌÆ‚bjÏk"böówñ¹ûïÉ +â4‚¤ nœJã:Õ Í{hÛP|Ù%‘–O³ñöòÊ­ìå{°“¶¼„VXQv—eÛ¼ý:öü¹Ú.›´ïí·*âñŠÚ”®æ•TùG[þÞrYJ ÃÛß^[¸J¶« +Ò±4׋ÒÔ ÖXAg}tÈ“¢.Õµ¾?Ã9n¢®ºØI&gS–Ž%XµµÁ ÷”caa§p4ç(œx°-ßOÔsÍ2¥®"®£1Mùò§ÃcG’ k\ZÜ”®_h¸,€-}~ž7z\kVÐLü«n!iÄH|? +Ãg>uBEP­b› iknÞ‘jƒ´¶'vÝ–}\]apØggž2}ôõ£` é§|#;ÍòbkmeÐ}@s‰â˜Í]ËÔuY‡1æzè0Ì7ÃâzªªÊÊùii¢Œy$v(þ>Ü­ÔºÏn{¦Ä˜$Ì¥)T¢p4©o!)Ö­›:|„RoÔ'_ºqé·¥¸ŸTú£‰C”rVYˆKWW y¬íTU@ìÌÌlª·â“« êŸ@3œÝ3ëfˆôÓ¨8}4²áx¨ÌõÈ^)•¡y£tm¤]X€ASbâŒÏtµt¤­aM™6Á饹v^£ + ¤Ÿ}~šýdôkÖOäêwEqfÌn +©0ê:9(ç‚¢¥¡¨ŠUÐíuaqb#NÀ'Ó·E}EúÎͧ­”¹¶OMù{ +Æ2¶^”ÍŠãUµ+üÑá$¬¯H”F¬åû€Dއïwg³ÌÚx]ºyM-Ñ÷%´!$ Êñ#§dÑ­Íš¦@0 ó3º« þ7×Ìù?S²×C°Êúœ? I„61_M ›c¬¨zƒ b`§ÞX„7é­ýœº¾¢RÕ®M†aQT6S)‘Q&ç(ªJÆ,Wj³[wôr6݇›ï”µ‘¨ +ŽÄû)~é<Ïæ·5FG œ}ÕZ|CáµÙCÒ†S¯ÍY¥ L?ÄÚ³jkMUF•¯î$ƒ$IpP6ø8!¹f÷|¯Ë$ÊS¥‚U|‰÷Ñöyuu½×iCSàHJg«H÷^ä~¥~#^Š:;—èsOSóþ“p<Å †’z˜«d!„dC¤1@{øq5¿`ÛØïy¦ØÂ>âT€ª”(¥îÌ3æÒTX0 "=³Ny?%æÎ cðå\“‡ÕfœÉˆßåèh£3Í&ÁräØ{8A=^þ'>—:Ù˜ñl³éAsvk¨Æ =N=˜jâþK—’?˜H©R­\óO$€Â"YYî@±š¾—·0vé-Ý8Òƒ ÂS*p`L<0#hÕÀT•Ø‹Îæh¶¹Z +R…(F*ÄìùÒ׫~”zÓÐ|•…ç^¯á‹‘¢Î•‡ÔËÖÉä¨w’Hbg1*‚œ†¹ï ¡¾©tŸÔÏK¦èóatùO;tîe–RkN%÷ß^¥Õ¶ðvÜ¥¸ú‚Ýçtóq}Þt‘:tè#b:6léó¢Õrû܇4Æ×³ÓÐ(7âc¬žšª=1õ# õ•¨åªÊ¹ +°WâÔQ³F>\¦Rv’²“´é§ ÷µdonVæVêÀqÔéBºÑ#Ò•nîõ7žZ*Û_‰C:÷ ^ê7£Y/ Ï0cTPå¼Ãe˪¶æòʃ}Ëâ9ÜöYŸ"ýËrÊ»Ämò隞̳¥Ý­ Ù*N'˦kÜRtò|3Á4PRÒa³æÊ‡­¨4»Y¤?äãz†^òyQ  ŸvÛ|8Y¼¬ºÍÇr¥(†ÀHžH¢IóÛEùí»–ï÷JQ:0¯s.jÈY?:Ó|®o¢‹0P #É©ÜñûÝÉP@'”É÷Š÷/V¦PzFßmS*Ïnì ,¬¤ž#o¶½Ä¿Dz•z/ƒÉ—²ºÉeEU<§Ë­[–÷Ú×’K¡šä(é6ßîÑ/3çÃŽÆ¢z`{‡éÆŒ·»~®3b’¯ºQâcà:ºkÜzêWV2/H°ª|G9V +zœn¡h°Ú(ÇW[P÷" +h…‹IÑTÌB‚xUîÝædî–“1´ð¤žz¨¿&Ýë»õÒ §€ó5¤˜Ÿ¨ÜÃOÕ_Suô9?¦™6¤Ôå *„š )B“ÏZì$¨yÕ8ˆjìcšîm£“•[Ž¼Ñ’|\5$ c€$õôP›vsKœ‚è‹"VñII"ãåS?™Åü¶’6§š¤Ÿ›”¾ñ*«E +TØV÷æþÎ)ºáŸzKÕŒ›&—¤;ã™}M¥Š8žÞ_™xÚ3mm®œö}»yÖM|è-¡x*bHÛÍ,ìû!Î2kÞñÏÙ¥X‚O1š‡ÂK”:™SúÄÁèpç’l+-Å6UÙILÓ<…@Ð4€Ÿ¯“æuº–Ê܇T¡âY +>ªeJ™µ£nä++Ú³$ž³…{‡Ñö5ŽÕQ¦%„RK]Ó¬å-Dôõ°‘)*b¨’:Ši}²! vÚE»rí¿/¶JÊP68*8{ê+írÉ”©M¸ n0®Ñá´£0gføŽ1JÏ;4ØU3Ó ©ÕX¦àÚ=ã{ßû~Ò7”7od§†ü)A‚”ŽÞ”Ai¾yÛA«r³ À$á3½Îº(°‹a™º®5ŸÅ¡–¦9JȰÏ<’GÝrVÔ{ynÒåÎ|ã 0”D€4þû—.s•²“@=M{Œ¾£óÔŸM9ÏÅðè±X[¬”Ç2¬‘£SDÒ¬ÀÙ‘”=ïn.ìÇ(,Þ«5¡Â?h‘†ëǪŸÜì‘Ûñ…¥Â!cfnÊ÷*ŠŸ¦xL“Î2¾#OGœp­³®.úy¥Sg+¢ñ³‹ßË}¦Ý‰:s%ûdíá{•“9˜Þ²Ud„k2“0!*"g¨ÖIñü½”¾ì–ŒÉ™Ö r†/:UˆsmÍ{‰°:s‡¨lcÖ¥Ê,¡êL:zÜ…KQ,˜f;7—á5mYd“ Ånز*24r(ÜF„²‹@»ÃÛŽîv£•X´•[ì)Ò£À$p¡ãï¾áï«ÙZV™X˜Ð¼6);1[<©Ë.`®QÈ«RIºC·%…¯~]õé—¨½ +Äó'A¢Ær¯R†ç¿LÕME=Dò1’–§b,ôÒ² ¤v + ª›Ž}$v “åN·f-—5q:ˆ'ŽÎ;0¨{{{Îwk1î.JTÉY-)8HŽ#EMêKÌYB¾¬OIˆÅþ‰<UbUºí]U—x܉ñïÀ0æwÅëªjjßY7ÛÞgn㙕–eA–ÒE ²·Òžžäˆ+fÂòÎ)˜u‚› ž§{©º#l]5Õ­ÀïjûÔÎG’Ü],€B—þ•$üª§yCŠnÍØ^U¦Ýçfa#W„ØÞðó›±ñ½øuú3ÖFù3¤ÐfΠdÜ_¤æj¤5ÔX-tÔ¹–º¦‚C¶*Ó"Æm¤Æ»FëG2³qsûíÁ‹ëe~ÍÒði=•ÃZ-¸k?ÎÙô8Ž*)(ôD™Š-}EÊT99We,?¤Îp`rù ˆPÇQ2H oTZ˜álk©ºG¿U^­ú}˜r»e‰$X–f¨Ähi©ê)£'ü‚Aïñ &þÇûÌ­®ûüÀ¤ì Q!G¤ãî¡fênÍ̓ÁëƒâNÍ*$½´É±&`©ªLW +28ŠxÞ¬G$MºŒ€UÀ#Øu䫜eùmݱbáM‘ˆZ¨¦Å0ꪈƒy´r,s˜›Ì +J_FÇ·ß³+ÎrnûN‚°¤(±[œ8ìéþðÜÛæ™r”¡¤ªR :÷½[õñÕSª¸–YW<¸VVŦZ Ë"SMWO1æk64m"ƪvÆM‰ïqÃËúrÊÉÛZP5-Ràj "a3 ÄÖ²MÆÊí²Ô¬ jPQˆñ¯s¼ÑÐÜ_íÛwÚÞ-ÐP·x­ +T)>(¤‰þ!nÚÕ¶ø,VZ¡8Œ5> ñã×R0ªõÃ+R´Ä•fRKì%0Üq¦£œº÷—³þKéNZªËuUx®5ÒlÙÿšÅŸU¾†£jXê•ÝUçH–Ž5y +ê¬Ö׎ýYehËÝeĤ!à‰3á'¤ÎTŸ-Î[Uòž(.!±²6'ˆá‰5°ÆÓoˆ[ÌEfíö™AkZÖ'Nqè‡R1,çIœê)Þ kÚ+;n-r»€º5ïþë4»° OE*Í-ZzÜ¥&±pŽ~ ݤôÿëw:e|»¡ÈYJ^¥eÄŒZ$ƒ5‡5ÔðÛ°‹‚ ÚÚÔ%˜½Ëìs%}å*·w­Æ`$«üfÊ|àÔÚNR-/b$ÏÈÕÙÂ~ýFOÔßJu½Æ%–¯è–(iiïï±Ãñ;Í¥ûmëkxãÀj')¨6¾– ò½!à½`Ð.åZâú±l')SÉDÕ•:¶»‰°ïã§³žYÚFA ñXÖ®n´ùÓûc‘ÓF°… È-¸_[éÎæß£Ô“{{~²<9[!ñ¯‡< U):º*m+Ò½7Í£o·C¯·¿1¥4Œ òÃA÷ñ׳äGÛ¶¶oPP3Y—2ÐREy˜ƒ²ü<9É)JÈ>ÎôÐÜO(æd• íƒV˜^^§ÎUÈÛC.ëíÆÜ–·Ú5:pŽçJ”J¶Rgß +ÓV/‰BˆÓJ¢ZpI¸¹ý{rm ¼Ÿ…›ÀÝIÓœ§ ÿ;õ6 +ŠÃÐJaÚ4$› ¸¥Ë8æ)—k¯Ê2Ò 6¹·Y›) +Ô…Lð8Síµí4X}Fô{¥ÝÊóà1âÉ„ç0ì°#¾ØÙ­}¤ûtâ‹Ì©™çŽ¢–òhÀ p‡{2æn™”ýÇèøÑUåü/ (³d¾„b Ãñ'4bÑPÄ…ÖWüFÂooo¦ h¡xå]ãØ/³·~ÊC*)AÔ)§sg»²“@åNhDz7P$’¦® +¸KPÿ(Ît&÷7QÜñ£ ¯¬Âª„lJ„>èc ¶œ'nõÖ—¨EzÐw£R±m,36^ÁsÞø´*µ3˜—æYEÙ®×_cÀ(èn¤ýÜÎ颇ú“ÑWÝ"ÆÄîkf vÚMhöâE"UáöVˆê¨þTiqÞç[ëß<»EÀ½üG,Í®­¦®Ú&kœqÝw mØcóÍÊ–(­ØqJl0b¶YÐ'i¬UqÅ yçíF¾<“#ˆ·†!€ÖÆúñ×Éï"0¦Ôü˜ÛMSæFÄ>Y½öC¯¯áÎl¤ÊA-{wOiãÈAŸ06þ‚®‚S„a\§Å¡šCº¶[ÛÙoiæf«2þ‰·îÒÚvâ÷ìíƒ~!çO7¥)ŠˆËE=(Zʰ:ƒßB=œt…¡5ÌÅî£ë…/ZÜ-cGÛÇa÷šN½^”ãtñb[iAHÖçìíÞÂýÇ1É*3“«÷}\½®ZãigÇÖ–Z£Ã‰§1f§Ø„‘`B…Ú4Òäž-½*ç¨:oë¤ýàLF,«Ô<:¦8%Ñ¡¢¨†f7Ú ² ¸Ôwä³ôµ‘7˜ßÞZº­%ËW€>€˜p}º»¸Õûí´³°g£l{艀p|cü<ó=f®ña¸® =BÇv>PÄbVsìv§‡{þ9‰äÞ¥áõÓ¡üÇ;æ§­éüøVåY^£1ÕÐRÈÀîT WpÿøgÙa×ùê²ç@.%aq±ëPIBûÍÛºËò{‚èÁ¥%@ôχ<*´¿ŸYmérª”xIJ͖åÊ«™à¤ UZ³”SíKJ•Û}¤…öpóþ¿†O=ô^*³O+ê>áô²gÌÞ妞²²5ÞÔt…Éò¨ ybmqï5Ø“ÀÏi]­ŒåôÛ6 +lYR»–ðZ×V 1<6 ì¯Àr]'Ïð(²ú…õÔS=O¯ê§S«Ç1™†O“K'e5:Ÿ²Š>²u:ž¸ž}˹7².#T*snlŽ¡éiÁY~FžWØð9k»—Wì»p„ÃmÄžQJ-ò7ïZqô¦IžL +DqÕ΋žÜ:i¥bôx9ËbT2° Æöü¸#Ü­ü¾àjNß·c|ÚÉ¡³´÷LWðýé®_ÊX>ŠAˆõâÅcűüÃSÃÞžšRE#*µˆìI=®@䂯¨;ìÎáò † +P…%P©#îÆdP‘ÎПÌpÊÊP‡ c‰œv›Äq &¶¨êóÄ׸[=sŽ‹u/9Á˜ý6Íü§/`ô«6:ðùÔØP,ëcмm>Ô÷´$\\É_oA’:34¹v0S˜I)“¶vŒzªyúP^eÙ8œÉ!J^ §³”Ééá&½Åá‰×ÿQÓæQÒ,±MkÀ«×æ†X¢§‚F÷ëžDóÀÜÓq°øKÛþçîýöDÞgtˤD$ DðN“#ÙE?YÝŸîšÆ[Y ŒLlŽîXvbÍX6IË“æ,ßYO†aøE3ÔTÎçÊK@›Ü¨bÇö¼Çœ³)¸¿¹ 0‚¥(ÀŽÊÆ<·)~úä4Ê +”£qÇe{€ß¤ÏR9ÓÕVKÅsF´ùN +lEâ†iâ5MRûñG)I bK1ïÛƒžÙ;-°Üûöš\¬”‚@1$m“CŽÙû,±Üëö™Y+% c8½Ö½Çê¿LTø®fߨXýnw«ÃC2S´Qǰؔfi6Øj€#N7ÚÊÙ´ü½« l2Ióà&‰Ù)Ô[w,4”ÐIü=õî£òÖ|êöuÊañ\¹Bmåңȱ¨Òçq?Ÿ$N˳L»$°.=áYéŒhy¹¶™]¦§L(ôÀ“^äïMùVšfôÊùŽŽ¢<¿‹¬´•ÓT©S+:”"ÀíF#án'íK8Vkb^icZ`¤ìó4Öþß®þȸ҆´Áðõ¯q+ê—¥ùÓëâÝDÂ%¤£Ç³e ÒeùiŒSK9©7’X€cdI»knvE½¹Žò†­V CjÀdÃiè£Éî¯7‘æÚÒHA—&a1ÓøW¸Tiº¹ÔÜ™“*r~XÌØæRËy…ÚJªjÉéai%°ic`?tnöŽ÷ä­¼½žXgK-#¾ ! )I<"GS«‡‘\¸í³n8”ÀZ’ a^õÔrÍ}0½ èÕK`«X¾ƒÓÂÓ#$µP,¥ã°Q¯œG€6æ+ö ÅÂssvàÕ©Fp€`Çʱ'µœVj«¥ Fz ùW¹ÃÎØRšo9è‘i‚–_Ò8¾ž?–䊸|¼N>B”Ye%×;à6ã^álõÁêTôû¡™‡)åz–¦ªªÁª¶X,%¼Šb†ÐûÒÉ"€=œ“»ìÏóÙÛ7¦@XÒ´Ÿ@(kÙ†è&ç3mÇ0p^å{cY#©=èÖ/:­ó9‹ ®\ +¢5‚Ÿ‚ñÍPÅeZ}€¡òä±mÚÙ´áÿÕÎæÕnò̱€•åáUÓ‰X6L!"<`«)¡·h;Ùe¼†Øñ³â +X868ùÒ›¥ùƒËx¥ed´1ã¸ÜôA†E24Ñ æ! uG‰´BÅX6„ ‚/Ã[ø§á]}éöOé}ÊØ=L)ii'Ì9}áž<.Y0×½Ë+3IOº(åɳ1T¾Û“Šÿ^Âße™bíwt],„¡K–ÑüR@Wð€ 铯¢ÝáÝ·x­Ûe«½’PgÄ:LˆƒÑÆ–7ôÁÖ,ï’qªe(²*WŠb• MKÅ­CÓÆ kÆŒHŵÛr¤q+Óî£úèöuÍŸ/tÓ4Cšú‡ NƒâÆ“¥Bèò­ +ÔA2Èé"¤uQ¢‹kÇ?«û´Lêÿ'Jó[Ô1yªHRd-ø@:ÆÍ˜ãýõ ·#9Ï÷·+i»ÌÁ)îÌø›Ô²6 ñ:1αõ§#õ¯ ËX|ÙäQâX5$qÎ^‘©Ú¢V¿¢jØ£>lEÔèþ"ü +ó'RzkƒbÍŠâc86QV +VŲ23‘“I © ñæcï/ÔöG‘ؤÜ/Åá$ñÚp¡¿ûÜ-¸ná +Ã`} ²–IÌùë8.V¤|WXÞc•K$"ìIr Zþ'‘+=Da=ILJ‹Åpîžå¬ªiÚ<>ª:·©Äæ«wBÈa§“rÓ ÊÅݦâ0ßëÓ·}ãÞ Fí¬Ý-Ú™ïIÄ6ÁŒtñÃmö•¸W™^ÊÛIQY:É"@óÚxPïé{Ó£×bF Ë—ksÞiÆ<Æ¡‡ +ž˜I@(J1iŒõÑ)œHÁZí·n HJçqj¡Š«|nE©QÔ<´á\[d„:,€‡¸÷nºƒìæ+î‡iùf^§YÁÅDj(Ì';GEEÖá’/2YpP  OO’aÞ˜p±‚É–érlkC[SŠáÐGŠË-+‰cš<5 OcÙm.ɘh.G®•Ót÷;bÙ#¦øN)†tûÏ’Õâùï™#Zz8°*Ê¤ŽŽ(!1˜–:zV%#!¥wQÚÜßb9>s{½M¶Ò´wª%Q’a$m +/ÝufW÷o:€\ 0Øþ%ÆO¿¢‹7]r~pȘVhÌÒÅrÆ]ŠŠ‡šµå!ÿ¬TTõ‚¹¥pþ{¹©VRú Þ÷d÷­N„z{éî9Eˆzs̘ÇPpÜÍ/Ëc2æ„u¢ª¢fg’' tt&à­Ç´òcíO³¦ÙÎØEÚÕ.:„¨1R”³ª¤++ ù¶£2Òˆ)A8B£ ´ùè»ÕN=Ë]”óòÞàuxå +P+ÓÒªá–H¤K¸BUƒæà‹x³õAhºƒŽüî]¦V_Ë´É„Qª1;ièPGo©û ¼9Ҟ÷1½ß˶€èò¦rëgr–ƒS<}h¢WWUâuÓbUò5Uv!+Ï4®nÏ$¬Y™´“~"–T©]þèV½€îGÝÉ(¼ +(úÏ7ïšÄÍb⿦fh30x–¦9ä1•ÚIQ€î¼ ¯ w¬Z«•"~äÌW¸˜êd˜Fkª¢pÔæ9B˜Úöµ”Øwñ7úømº‰iiVÜ(ÊÛ:ü­¡);kÜZz{IñŽ¢áÑÇY(ª¤$`îÝô¸¿Ç„=¥),eލ˜Ãhë¢G¯u*Q5î[OKz/†cÙ4⣪ÍX–¨õTÊ’·¬vÄ$]×P/¥íÌ3ß ývÛ3S(Ô +ØdcÓoøªÚô´ Ÿ}{…Ÿ¨‡Þ '_äë®1QIÂêÅeN°6êÙáo=[ÌÊ’;à‹îm+nßÔ›ãvÆ^„˪Ÿ´6t²…êUf–A“Š÷úçŠf<ÇY/H†¿1-H©Ã© MÇ΃XÜÆË±âŒß²÷'M8þâåöŒ2¦”a:TOAÛŽÙ=XÒýÑËÓù”§bx“ÑǺ÷ú[× +Üh©ú¹˜Û0bXyeþuMb‹,ÎÎôèТÄV;í÷Kh;qÌÓ²¦,2‚݃Sým#úDmÇoH¡þî‚Yd.Ý(PÀ¦8™Ç¼kÜ5˜¦/éÛª™10¬1åÌÊbŒ'•⡨€…¸Y„?X‘=žóååmÛ¸ŒqT‘Æ£[|âÒïSl­# b•{•ø¹çüúו²ÖXg®Í§ÄðJºÄ"H¦Âk¼ªˆÑŸ¹1ÕD +|¸1í«-k/Ü4›‚—.%ÖÓÄ‚•˜ëI0)WÔFä·g»V×n¨%×Va'îˆÄÅYü&Ï +ÎóúŠÎø®’ŽÑå¨#ÅeíÎ=Wú_¾ûy¦ÃÀøp­À7-¢¶ {>˜ý{j’dŒciøP[ÖáB®Š£žžCJ¬ÑÈ +‚ Ünî×iÎ÷;,UPbN¤q›Ëb 1Ve'¸iCʦ`tË TÕZ€çq·}}œÍìC4×`;~ŸeøŽæÀ¨„£³ó$wR• UD¬Í‚ª±`¦*ŽæÅcÔë¥Á¹‘dF%–Ì w¿×áÂë‹gZ’vq¦”§š”Ô²´w±ísÛëæ9$ó›±7tÍx¡m÷)=ñùS«dƒÔܽ‡%3™&.î=íMõosBU@ŽË·[ÚýøXûZÖJ„ð‰ùÒg‰'q¯ªƒw—!häî—ÒÆÃ˜€;›ºûM¯Í2ûšHº´›¥ŒGljO-)‘·†¹$H¿Óôó¥‘CBé¥ïÏ:Ë©H‘·j®DVW†:¸LÞSý« T€ú9ÝÈBŸ¹ß]O< +½GoVÏuU8ãQšj'W„™’7f§ n¶ÛŽÇ^æA×AÆcÒªòÈÄW±)ž²”ÓÈÌÍ&„‹s®–ãŽR²È«¦ž$Ì2‰#¬R¬;(0êfS©Ã0¹«)ê `ËrWeÍíñRÃŒSSÐ|¼ª§u¯âtðâ²—4¤H?šbáõû¹áEgé^bÌÛùÖU†®‡R0Ý…ÕÓÊfÚªT5†þçÛkß’Ó R.Ö² ÄÚ×øp±ÍëîÔã€uU\ê€M4cu†¦aJ.€®­ÿíÎE[p[…QáßîÒH¯p¼u[¯_ŠÏ¬Œ‰WÓþ€SbxX£þc›3]Wù꺺—0á˜kïIí&8Íöv½÷‹pww!}µ#»if;Ð\ $ 1•(q€)7o›“’n†`›[&C‹ZpZˆ%´IÀõõбésôµ”1Ù3‡©*\S=AJÍOC—h!¼-½5¬«‘¤ˆ2®ë,j{êt,Õ_ê§ +ô€tÓÖun/Õú|ÿS$óâµqâÕµ4ÍOT)%5‘½cˆ¢Ü€}ºð_Ùv[‘ð7!"Õ!E´éF°S®$ɤŠäAw±âKD +ãH¤R«rN%ŸñŠþ›ÒÍ‚d*ÌBi0Š:‚ZXi]ÉŽ7,ò’Ti«§€•WQ³^+’ð쑘§š³ +˘‹ÖP™\¾ß63 ‘KXiqÉM­×³fýˆ’–•@è2 +žÊ/)INßJcäzÌØ¨±ËTQ½eeqŒS +u.Ožl¡E®Y‰[޳–Û-¢êŒ3=[hÙÜóòhb0¯pe4u=6Âið¼*¢JLÁO†½MTþí#Z­n·îZ;ûœ‡Óš¼¥­2‚­@Ãø=ØúÕ÷s3[ëÐ’ui# Ú¥{‚¯¢¯U5žióKÇKSž³¯Uê –9¥0AO”P8iç y¡è!l/ÜðÛÏcÉÞe[JƒM0I!D`8zí¢NÝ;0ÇpÃŽ,6ÓIˆ$Npuî +9CÍ4øE¨_SÕ•´ðbô•4ùs ¬‘àyšto6³É÷JÀ€mA´\Ÿ`àK:ˬÔú2Ì¥ %%%Å$lLÿHí=‚Ù[½r‹µ"AZ€‡=“?dÚì[U]„RcðyUC)¦©Þ º'³mk¯³‘NïgkËoPúR•… ÌTQ“fJ³¸K©”™ƒˆ¯pêGª¼±éçL4¸Pñ‰?Ѱڡ*|°Oˆ…‰àC§rÊXöƒÖìzïy­ûði3µI–ñØŽ£ì1ÓRäö™oU¿~ãHþšÓ(Ç`F!GЯpõø€ã•øÒtÓ¦Ù¶ŸÇã““2 +(qw¤JÎ¥RN¡Mìd‘”©7ÛãÂÜ÷r÷ƒwnm°úG‹î„JqHûÕ=zÑÆëö*æK˜§óoI)Q $b5ƒ +ôÖœ°L¸˜Ý-e@Ä0Ü*\&‘ª„5²µ;ϱ˜iî…ZKÁw ¦ºpë¿K±ì  ê&OWYÓÕKA[2±jJŠ…,ø]ZZ ÒEop»¸½ïÌì_´«îÜ&B^T„üCdŽžƒ©?q7þÝÛ…°µ¼™%;b“Ò#6 »Û€î5—ñ¿ëŒYKòýmó[( Àvoý:ϰ­Ô’ïááÁþöÉ»û¥.þåàRG€$‚\#‚1ÄáGØoM˜`\IØRAž¡k”qK3l‰ZVö(,}ž}>zÑn€çJ—>â“ÔáS…‚Jø 4ŒÔP¬TÓÆ=ë‰Xø‹Býo¥—m9K‰a¤¢é…GÚ”H>üzöTc¼[€ät¥„©'O$“úÔìg¨Â©©1¹ðüb-ñ; ¤À Ë}=¬Ã*10ROˆ³U59;§H6……BĹ€ ï:o2ðl˜2·B‚q!=ìÿ ÍCöiU»jÅ@¥@m¢xO^à{ÔẔÕάãÔªx³†Aê–0%Ä–»r™¨Zuc½bÚPÙlAµ»pI’å.å¹M±áq¤@Õ§nÞ4žÓ/U»)Kf4lžv×(fšžA4 ÐͪÈJ‘ôÉ=jôéé÷ —©Ý!§¨ è+ÓѾ[Ū±Zì2jæE;£¥BM +ð°PA‚ …@T?V[ú9{vY¾RÝâ7ô´i&T +Äã pÆ‘f;É[€Ãè-Bu„ Žà}´ó*ñú<ÑOS–+k°,v›|ôÕ4c™d‚6pA††úöð=¸ô‹¥Ø&5> dÅ2¦tÁ*§zL>*Œ~žz2˜Õ¥hiãºûŽÝ¬w9Ξ޾¦ó\Ç9XÊrôÛ[ƒ m•IR•÷LMwóµŒÓ-V´0” ñI¨t®<Åù¯>bT™%+³N CÖ|ÂàŠ³«–»\¸˜’WF‘¢D–wÚà 7k­ÁÝ{­ºƒ…õ£.ô‹ùÊ4´]¥®™ŸǰŠ*Š|R¦Y¤ªª+Š%Oû¡H˜ª**‹é~?c¼;í¼ÖÉüÕÙe”€Jåf1Àø§ÖUnÖöçYåójüÁjp V±ÄÆÔùꦎšUôʯLך«¡Ëøî3IIN)ò|óa¸•*Ó"R·“,Ô×qjƒUvv%¶ë¶¹i±œÍQ†a8R®1\n”øL557òØ‘£d"þ$ž ³NØÕü½¦yjJ|0°<@ „ŒqãRõçkw,eÈ·¹qJÓ†§ +D޲ÁF·ÈÙ!aTaÁqå À*öÂòæª +*•š¢7Y'wi©õYB­õ=ø"tw/c}JÌøAp|½óY§;VÒÀ´Eâ£5«K3³É%*ÔÁD³¤K4älÍ•ögxXµ wŠ„Œ‰DL*&߇T¶”4‰ ÄÁ<¾L=^§ÌÝ7ª=E`Yõ«2ý”É6Ùäƒ ¬Ä)ãXã¥÷L5ŸåôÑ×ÞP5ÈO—¦¸õ~ ‹¡Âóž]U†Ç%ÊZŽ®‚¡beux +3‘aïjï‘Õ±ôÿ—ï†ü©‹Ç”Ë¥JÔ‚BŠ’b}jNì# jéä:µBA8DÎцõ£ê2ã]¡¨Â%lçóDT)« ÿE¨\N™çšJ…0ªŠZe@»¬ ’ÐŽyÞøâ?Ëj'Ì „|½M]\¶˜FÕ•Ü‹hïaÛ’·õ‘ý>äŸg6pÓ®—S+QV®ì… 6Å +;q]­¯åîÖ<8ãû„í¤áÿŠPç\o5tÞº:<#Ì™O§Ã*"Q <²Bo }í©¹‡ïÁ¿5æžõg#`Ù¯£™°j(ðÜç•$‘d¬£ª‹üž#íšš – (u€=òßéÓ¶Û éin6øu +ñ¶½„µµ'jTžŽ;Ey›îõ)gSkñ6àØGž‚:¥½CéWP:U‹¶ Ÿ0º¬¥]–9%CåK·÷¡{® è{u/Ç«ã¡Á)$«Åj\,tñ)vv¿ÙPbÃï2_ÁúøÞ,þë2»J-ÒJx«ê÷Ò›L¦êñðAŽš÷~¬Weìßk1\±(›œ"†9Þ¨”‘`m·ƒη¹¶Ë‡†"}“Jn÷våXƒ8׸£è6hÆ22WÏ“0ú¼_©Y¢?åTUÔQ𦠣˜~›åbYÍLÖ +÷äjn +ûCÊÌ a÷XGIQj5†”íŽ'nµÍزîÓÞ¸‰‰á'¢½Ã‡ÐÏ\wÒ/@pžŸfÈ+`ÏxmEJVaؤrÒIHk§i£‰’U )ß•Z¸âTDaQ:IA˜)diñsOæÛ$!Ê}Gq÷r@´€Í‡.§R§dló¥í„-Àb„\DÆi·~ð€"çákó$jUï©=¬ÝõãÎ!Öº8È«^¼Þœ6óÑPÒW‰‰ kn;£ïæH‘n Þ']x‘òàAà +/}K>uƒ¬g ¡¾×Ú±Ù{ýüô± o³E]/¯ÑÊ5{Ü@V'l@Ùç[ea)‚×°Ú†‚!,—•¥QÚÂýˆ¿snba6FîÚ isñå»×®VUÑHô«„êQÂ)÷ +¤ù¤2 {n¹·p¿Ì¡`ØÞþ6·¸·u(ðšrTf­h*ÂÌÅDGhSmoí<줒 ¦‹ØÜ{<9»F“¦1ó÷ÖË!b"°â5øn2 Oé쪟i¾§Ù¯;E¨¤@UF€“nPÚµ'Qžš£¶˜L{+/]ƒW"ÐÊcyç±ÛÞÀûy›ù@\1\öåX°`‚Lqõ¦Å’Ai?QÒÌyÍL1­=Éb±ŽæÚsœXÃF-pMõ·~:Å’s jã) +ÇꦜÓÔYž0ªO*( ZÖñ·åÌ‘TORáÐéÄ“VÀ¨ )¦­ÞÞ*4ÙGɘ`ñe¤„€ÃF&ÖÓØyÙ’X‹ÃO¿…vö—` &œe„)`'eO\'Æ( Zhi¦¶û‹vû½¼KÓa„Ïg¸ ¨=¯ôrPÌsí,Èõê£ûœÔèÂŒ61œiá¡&÷o³o‰í~e«¢D;»¶Ûôž1–æ¥r ÙÓ…VÚð/ +‰…ãsV@ ·MÆÚép|uæ$Ϻʹ%» |8¥w)bfuzEIÄ1‰nÍÞÝôúù–¢œªƒ˜½½ô·YÞ¤¨êÀ +Ò^¸V +LDo/ ÃUã§ßÌôλ†xÛÆÆÜ3rý©IÀAãWrñZz©³5Öâ•Tå"!)Í”È}ËÜ òe4A¬ ö&ݸU›Ýq^ÚªIÓ…DÂÝépÿ*iX›3rmÞäòb³L¤(<%]<„*HŒ®ÆäØh/éÐGKôïÑ—õ™Ä“æLÝQO4”„-6 $84r6ߘ˜I)iÜ¥ÀU]Ç(; Èr ‰Ó”4浑¨¨ÿˆ‚°?… `‘¶18˜¬¦úhÜ\²ÅÇ-Ý?å7°ÿ +vš×·ñõ뙽xuvÕSCUéöGZŠ<µ‡~u§©u-=\Ÿ½,žR’‹Ø_RL&ê»Ô?Qpú<®Ä0ÓK$б™»”y;´ñã—ŽîÎVêÜJd™'}ôÆðî.E—Ü/º@8âvš/|Uá~©z³ÒŒ:DÅ…fÅl­^0ÞÓwŸ _„÷]‘dÙãF•‹HwÏ1^+Ü :Ç×Ôòšcy-Tó!F§¨¯)‹¶0 ,AF—Ô›ða¸ûm»}êÚò “×ÓCÈ݆²pµÎÐ=¯pQè÷§ŽzÞ̹VzÉŸ*õ¦ OEœ~YX9Âè£+Ë5ÑP¿ŠÞ÷ÓøíG<Ü [ ‘­—¥LÏúÚÉÇŒf:h“zûMη6Æå¤M»%²€“ŒW¹a¹#¦™¦Ø<8EÂh²Î@?G ,jš• +]vb‹Iöó³ýéÌsWÔíêZŽÒO»Ê Û?½¾t­ç +‰Û&½Êòül:·–æõ ÓNƒÐ@”Y®‡ +®Íx•|ˆMMS'ÉSR«w!é¤b; ¯´òyú±¿mnø‹* l +ÏVÚ™>’òçc~µ,„”€”ð$O¤ûêqÀê. È^K-i¡XÃ(tˆJX§p¶pñ7öpŽc‹.ÑçƒT¡|áÛ4k¥Ü+m'ÆÅ€æEÙgEH)Ä;NÌ*c³ìýÇ­ÒóŠÓ#ÓƒvKÅ¥ÀòíD48n.3W"O‡csBÒVa³ž5«ª†d”x0Ì`¹å¢nnRTâ´ +@0•‰#¤pŽƒ…ïé‹Ë¤9‰B)jº&½Æ¼n¦¦Λ +£Šž2u.34„Ÿg$ñeƒHT®1R‰=]Tí‰ ºLA™Çå^áœü>úSÒÕÉÇVúƒSE5|•Ñ%.:‰¤z<5Œ…TÛEMHUbb©µG¾y}Jo†noÚ²¶J€ÒeC¬=t§ÂL•öÿ¼Y­ÞbÕ» !}èí?æœ1ƽÅî/髯¾±s…FkêÄÿæs+×TKO†ÓbJ’WICmŽJzÞð¤Ÿh ]_¶åN,;UݽDzK6iüÀ¢™Òv‚²1#ûÐGA¢l³µtl»»FËËqlñ•qô½ÁǤuÕ]+è&%ÓÜJBÇzõ|Äï ËG‘e™§‘P‡€b{ÛÛÈÿ}íÓœïw7 +î‘r“DbE÷™”æ¹Óo<®í/€©‚£‰ØÊ÷¸w©|—„tηϵY¿=æhÞaƒÐá•ôÔð +•Üè'>L3$ ±óm»í¹îwÙmûÙªl†Z@PÔ´caÓ‰ôÌœhõž_\æˆnÝ 4$ JZI1³ H'  µî}-ôýÓ°ávwÆq×ÃzG™ê…dX¾U‹å¨$4õ 5}N'JD²ÇµcÍûðw½}¦f¹3«a¦B®#C¦T$IД0I'Ê(¾¬oXïq¦_hF‡ €øRƒ$ŸJ÷]Bë/¡þ‹côÑÅ™±Î‡IòÌôµ_Ë«±z McܦXfˆË´‚…¼@àÛw»OΞZ{„ºØ“Ý€Ž0¢T•'ÔG]enïÞsn ãM\É R:Ûó¯NƒRx\ýIc]Fêî!UÖžáøöVé¶i§(±|rC‡ÉŠG…&!O‡o>XNé#‹€tmO +í~©7os˜s.7ÌÜf +=Ûf[lìRº@1RãïO–Y&ÅòÒî[’P˜!¶§YõÅsX¿H#’ãq±SÈÙÇ8â>£:vs>?—è³OTpøbÂeÇhæx+ †%U–³slš9J’Ûï±µbNÿöɾ›ù½‹²ÊmƒÌ"HÅ-¨ýÄ+‘ÕQÖs¼®Zæ¦ÖÅ´“:v€I’Dp¥ †WñÚtƪNA2%S™”˜ËXí÷¨°×òà]ÕŽ„äŸz|Ç3¶rǰéú£†=òŒ­…Nµ¤i?HÓ;nˆÐ`¡;Ç@r;èw°=ùÈ7öÙÛ;”•Ïí’ìÒÙ$¬§ú;1£ÝÆÎók]äeiP)Q!`‚6tS¿Q:‰†f\6< +J‰°Jfv¥ÄªQbšGAö•WÝ$7$‹ÀÆ0LÁI}t‰‡ÔTÒ‘…CIPƒÜ Š}Û7‡‡3¡[Í™Ûoe-)Æø$uêâ LÙ~ñ©*ãÓ° +B…%wi`mÃ%Ò™³mË0WWUÕãQ)w*¬m‚ûÞÍánø&ÚÎée(v˜¨÷|r™¹YH'ꮸ.a=êJÖÐàñà¤8Æ`b´pÏIP’ÌT]ŠoUÝkÜû§€ËÎÑr¢…¬¾(ûˆPçŽ5ËÚ—ß$„í‚0¯plÊþ’púZÓ¾°æ¨èFo¢£/”ð©"— +ÄžT²>QRc,Ö&ÚØr ú£Þ7¿t®ZfÑÅ7>'P™&ûg‰1@½ïÞço¬œU»j ÿn+ÅgÁ1(±ZUIjhÉhÄ€• T¨bµî?>¯X]. èŸ^ã¦è™:mÓyÂâP×cñÔGM!Ld¦’Z´,Ècp¦&c¼¶Û6–çö÷vCš²Ëî›7mí»À[Àj#ލÙÕ<('—{—¾à|$Á0q4`º?Ÿ0ìçÓ +ÚΤœ?4âTA°dÃ)Ö$¯ª¢²ÔÇà [*YL~æÒÛ…‰)ÞƒcX~+œh:mYŠâ¹¹3¾4±aøn6—åJdfxŠLõ‹$lͪ*‚[/À‹›»¼ +a-[ۆƢRî)*ˆŒA]ìÜ«‹{$)¤ÔÖŦÔ9ãXúÃüÏÊPfŒ7ËÝ?›&aé#]G*by‚¹¦hÖ*š­‘@жűmIÔÛ†Ÿ%õç&ztÌoôÕ—zuÐÜŸGVÌ{Y1S‹¨–7Ä(ZPéiä;"Hí¾×•Ë¥ÿ ÝÍÞ[4g—W-ÞÜt´RÔ™l©KÔ¥H0œz—n^âeY¥ãMf¼_sIAÀ€I“Ä}±AFkê;_˜0ÔÏU8‡Qh2ÊÂòaxÌÓC +»¢¼´ÀA*°[û¥”«<8@rÇV0üÉœdÅqSMÔ¼¿õ3æžI*ñ7™äjÉ¥‘šF’Q ÜXØN~¥>›ì«8º¶qía*Ò‡?ˆñ’846Í{$gvÙ[JT¡Gø¶GD?¾ŽM]>sêW§¼;©Ù"¢„ts©˜”4ù’¿—áÔG‘J!ÉŠX$x¶(*¤3÷n"3N4¹ú)éÖLÑUšjRŠj:xÚWjêÁ³ÉENîÎE€ýãn >–rüÑ‹Õbµ1z…jmcø‚ºA8‚vÍî‡-t² •6 lÈ‘Ñç†!”úO›=(Wtç¬!ËY?ÂÛÃk뉧ih0ژ䊪9dRFèep®/ [ËOôÑøke,Òº3Öl.ý3 pÖbôÎháš1¾:Yµxìßrѹ9gY}îófmÝç·?™y¡¥ ˆeŽ”I’¤©êŠ ïVü¿™Ükð¦BG vŸ_…V]~z‡*g*ÜO£b9;M;Ê>}iæ /4a +³£Ûm¦žÛ¬s—¦Ž–ÑÐÇ-R˱ˆFÑÓ¬Øe$&$f.Ri£YI6nw*âÎÅð¦R=-øO¯M{#ÌÉ„)CÉGߎ4ÍŠæ¬ÏŽ«&7‰Wã)4‚WUÔp¡Ÿ1šì@¿³…C®8‡J2En#Y•¾k"眻==F X1ZO>ÆË$sÝ”x0iìðäÿÙý¶q~Ûizig´éTu‡º‡Û¨ÎbúЕhW1æ? +ÂAŸ:Þs.d›¯zº¼[—˨!w3j‹åéïùð÷´^ÓÝÇÛ³·@’¢6"§ÝÌÝ<½«? lãëR(ðù*¢y†âÝ×¾¿w:~k0ÜÖi*Ë%д²£I½•œî"à.O‡;¹žÜfÙb^* +xHã׳ÙAnÔíÛrÏSC‰ŠŽEŽ„p{ôÿê‹?znΑæÞ—ÿ.Âëã…©Ûç)b¯VIMÈý ,§NêÊ|;p´ŽÉ2Ýé°,ÝêP™ð¨§åóš‹3ÍlóFŠÔ­]dG²½Å—«ÏUyoÕT êno¢ Áº¿“)ŽˆÉîG'‡V·ºiÖÈEU<«îÞÿ£vQr»§ÙÎc¸}ãšž·pêK{T•ìÄÿECoXšö/»/n]ùi +*·p$¥Caò; v 3X·ñ>*ô˜ºÇšÚ» ”Ô`íCä«Â]A°-Äz€–#·$=ÒÌ¿µÖã%•ƒ$ƒˆãáŸC¶…ù™¸í¸ Ld +ó ÝôpçäßL¹):'KÖŒG8ŒØ=}nå,ð ”Ô äÃlǰ¸·~G›ËÚò³‡,RÖZ’0¨ 6ÍF×ÛÉvÅøB +LyEuÅ ã9{ѶEŸ2¥>Ôª\ûKVý:–djHdäùu|z¾ží ŽSXážÌn«Ü‡tí.7ñ¢Ã…L¥¢ü¢T&•lœeGøpM[>ß7÷ÙÀÓÊRØéXðBNzz+Ält#€¶|êS:ÃSþp:§ˆMŽá¾k%:9JjjePÌÂ’–-©wB rt$›òA¶ÝÜ·#cò¶HQÚF*=”q'×Òò{ <µ‚‹tÁ5ÖkÜ)ùË‹ Î8þ‰@”¼X¼Ï$6#lu(“S°¸[«Á$n¦Ú†˜sõ…šfhß5­ÂBt¦8‚"FÞ3=±3ê31¾w{.Kó¨ô +¼¯Á€¤>òe>Nv«ÁD2TÉÔ +Ù*åj˜ÚûuY Ë{xÀ!ÆÐÀäcpø +™‡“@g_RH3ìùÑô§¯¨m´ìÌ4º È»ŽÜíQ’ŸäÔi¨&þÎ&níKºqÀŒ:En[tJ¿ +›]4è\ù¦]HÛéÓ·8½7Ìö.[î,‹¾é%2”œÑÆI0²#Œ.ûþÏ»^sXR.êRýˆþÞ »|¸ 9<õUuDƒ…HLJ· +‘ÛbÜ‘ÜZ÷ûôæDD¹µ¶žÎþN»Õ-½#Θy**í¨˜œUHCÅ}óêÆú€Ë’!¢’t>õ£¿…¾½«­•ÈN1· ´ÛŽi1ŒÍ™ú›*N”³ÆóTW¿èãïq´Iðç)¶üöÿo î®”— Iòª¥àq#ŠzÀ3JUS &R|ÛÔÝ-ñæ èšVFæ^ýÇå·Á¦É$ÕOµt„ŒvSþžé°Ãµå ’#,À÷û¹’›$\Ü(ïÆn3‚ FÞš«à Gn͹Κ)Vjb²ËSï 7=×mûrUÛT¬BŠˆÚò’pOðL«Å‡}–î]ÞgrgVß)ømR¿ãø³aÝq§Ä}/ô­qnž4ËdÌqÇ^iœ?ÉÑ{b£|šÖ];™¦çÌËÕjyñ|êÕ2t»*âôõQåÌ4­~elÂ’šœÊ¢ñÆd•nuÒúÉOu7v×'PE¸˜Zïâ0‘©F8˜‘¹+¬dÖjKÜAIYÄÀÅDš®lÓ]Ж鄹2åìÍÙK jt¾l1 5 A c$oO¸0ÚuPI½¹åûÄ3qpÕÂÒÛ‹)žƒ>ca +ÙçQ›Ynkùô¼Pmf< éš÷ 5›>w«Ãhjªj°ŠyÝh…Ió¥`Žu 4ïÉöÃ&îØJ”@Õ é©>ÚÅL²:x׸!ôû¦´¹Ç¬ù+ á!2] àÓUâ™šŽØ 54(dˆL#/gw–(ÛØI¸Ó]æß%Ød÷o, Ùð’’@ Õ*TŸ7Ï?—nû· IqJ\%ÂcŽßX¯pÈú2¬oD= Î9ÃÔõW1Wã’¦’ > ¸|&4ÆÄ˜äe%MµüŒ{udoþðZ1–¯Z¨ØFN®±Æ£ýøÝû­þÞ {|¼ëcbf1>UîÞšýYåU™b¥²Á—*côJEU5ÖiaRv–Œ‘kß±#ê<ŽûTìn÷sî“ÞÈ;À|è)ÛbY–ãß„\¤ð< {ˆX8\Âz_˜èðl¯Aš1šÜ¢ž|¦þk^žá"D¨˜;,’ÂÌN ;Ì.žÍ­ÔåʰChV”mØR0Çg]/ì­¥Ü߲㯀 BBS妽ʴν-ÃZ£Æ–0ÏM#Ç)òYƒ“ôŽe¾M¼Z»Ä‘‰tùVAÝo¥ÊíT +«ÜSaÏŠà84Íù(‰…ϺÛ}Ùð×· TZzä$‘$Èöâ)®Í÷´.õ(*Úq"½Á÷£¹?¤a̸oEqÚzšªìre¦¬ŒrE1„<»$Pl–RÇuÔxò?ßMáÎ2kgošP‚“ˆ"p‘Óï¢^Ö³Û»$;r’A"88aÓ^àëèË¢ù[£ž¦ó&P Ç)qüa‘Ôå…«W–¨ÃÍK<±3¨ŠÉ4N¡£öëbmÈÿ·]û»Ï7NÝõ2R­D;$jH0gFÚ»jÞûŒËtmVZ!@äa@Çaã^àÃêSÓßT:…—fÆzo›'Êù׳óåa’HFáÒF +Ûm¸öîtà#²¾ÒòŒ²å-ÝZ…´¯ +£â ?gý¢eùzÃo[6¬ c·ˆ½Êÿõáë;¨™òPèuMM>fë5{f,çSJyDñSF´Ðά³س íkwä÷Ù7gÙap3Gû&tÀ3FJz§ ©«±~Ìr¼âåWªL%¤èhGn$Ù\á‚Z‰Pò7a íôð¸ÏëóÖ—YúoY”)ê+Û£yWÌ¢§¥ÂfQP­dRPÓÓT=:Ä﫱°&ãwq~ ÷g²MØEÉ»í¥ç?‰d©K):”¨3I-É÷sloÊ™BUp¨’D“ÄœfI®ut­E0†[ù€7û@k÷ÐðDôyê#;úd­zœ?ÿ9ù;`Q.Xä\-kŠ¢E<ÐB²"ùE Û´¹ ‚oÇû`ìÃ/Þ«T!N†ia]ì zFЕqóÂØ)'iÝe¹ãiI|4´.uíVž yôì¬õmà# æ9~E~÷~ÃRÒ¿¥> ðìÃûã·€§lO7ψáPá1Pá˜LTÏæ4Ô”â)¥`, ’1s§°Xq ™º‡_…IÊÏWGƒâfY^š™c ^G +¨ í¹°á¯ÔÓïe¹#6–nªÆØxT‹}-…²’|ñšînáåùÅšÒTZJ?¡}`Ö<;0ÔE;O[Oc®*© ×j<°†à"ïýœúƒÒ,+ÕC—é%ϰºgFq;%V+L'jVuq‰ø“Éé/³¬¿s7p"ѲœRŠÉ*Rã DœLÆCg– \©ÆBH™& O­IÏ]CÍ]E®¦­Í3­K`”‰AG H°E’Dq¢¬Iñ<[tëІA9#ê—Qëñ<¯Ižžs‚­ñ$TR˜w²J71† Q·[ë ·x> /Ó~ý¥£hYj5êd‰Œ6G®5¬Ãµ{ÐòÚi 艙™ùS¸ï£¼½ Y­gÈY†AgÂL=<’Rm¥·Ç4_h£}  ‰€ãÝ®¿zÚô¦ÄÚ Ï®ÂHÙÆšË;N¸QQÇP­†»Sb{rÉ='tJn„ôOÈØ®fÅzÅŽSÃóxö-YS‰e¨Q¹hÍTµÀ"î:jMÏ1k´ÝíFo›-Ä[¥„lHþ”*é5oöñÿ3ÌÜp4–„Æ”€#Γ]so¹ã£Ý8ê&6š0ªZºZÆy¨‹èêÁ„‘J :µ×¸éf%—†\¤Î°T2Tš +ñA¨¨E–IÕ¼>ásÀ‡Õö½˜nUõÍ÷¶Ú'NÁ Ê@ž(ÆœÏóÛüÙ +uåøR<‡º²RUÕÐT%] ²QÕÀn’ÄÆ7SÚêÊA®?U½è†@èõ»#c5¹g¯ý@ŸççËAòØF‡Ö—%áãb…UÀծǰ_‘‡ÑvṜäɾRÝCh:ž AKP)J¡âàp&†]†£3ÍîRT ¶oÄ€ +;}6 +_å¾²âXŽ+‡Ðç:³¼x|€G6ݸ„ïîlŠZ€TÉäëÜjxè¦Kêg\ý7Qú^ÈýP8 F@¨«Ä?ª9†a‡áÑPj—© igHYÙÝ 6Ýp &žÏ~¹ïØÌ._³·h¥ycKÚDj +ÙÂŒhu™vªÆW*åVI)0 ©áFáÃÙN½[È“CšÎ.xÂ1 ;)g@¬Á€ž *æ]Ï.¡cf é}lH6~W¦¤ÊYÖ,•Éhl•Jˈã”qšZV-;Í )#,OœÌ·[…¬ ¹ìsû{¹9–VÁ[HYñ: ”8¯éIà:…_~­.÷ÁŸÌX ¶•‘¡ +8œ ¬ídPÁS˜r×Gý4.1ˆã1ejü÷ˆËÙ@m­«†™`TVK +嫚uBYÅÙ›n ÝoÐÜÉÒ<ÔRΙ®‰ê2þKÌôxÕ_“´’,”ÏX±i4<—»úí'*ÍPåÛm¶”¥iðºE$$¶4ÝžÃsü¶áÅ•%%HRI +™‘˜êG­œg0t~·§¸NbÆqXñÌ/ùjÑÖ#´0ARcI©À•äE%e>>ÙËñvÊrÏ%&QÁqF;cŽ™mñóL™Ñ]âRóÉž¢M;•ö*ËcSŽ‚|ɢݞ½TuÛ;c˜ÅdÙ“¦ÃstîÏC¦(Rc²E°UU {¶¿&Þìƒw²ûv’-ÐTØ(“#×»¿Í¯”úÈÏ  +s~›»Ò¸@Ùî¡Y|RèW^àG‹t70Râ¿35^e™£¹šÛï7µø«û=»—®¥û¦Òµ§í0ã… Zí +Ýàt«O:ÉeT<ÈñC?ÛU$··‹|™Ò•ÂòéÄ15æR£ÅåÚ-U±($[íøñ±¼Ê†Ñöì0¢úÞT] %#¯o +ÇÆLR—£f†#ó”ÚŽÖ"ßÛÁ£Í,IÀÐBç6yŒv×¹#.d:î£IO—èVgÄqZ¸ibŠX³nÜÄèB—cà<*ß|Ñ6Våz€€Lü¨Çr·åK»:±N5î;c¹/.À¿/•䎢†–Ib‚T]‚E¬ƒ¨Þ6>ÞîÃÚ¬w‚$ §}³§ÍÇí0$:«ÜYtbƒ>V`¹Š +ª®ƒ-`j¿Å‚I0‚*jXH+*‹¯édu‰A³%í(Ø+º +JKŽ-(FÉ*WAê£Ô(™g YÒ>å)ó;"»FØá¿ÂAööâÛ­Ý"Ì;éî!œ±Üf<ÍAÑ|±‡‰°ª¹'¥Äh©)©áŠ8êà¬Ux x”²û¼ ‚7O´K\»/JÉ•“DÉJ “Œ¬ nÞðeVm4‹…èAV’ä L¨¨a^5>Šƒιž<;¦“Ì9¦´GOKJ›žYêä²Ç/‰f°~SΘVpéž!˜±¨ª§¦«ªŠ–š÷áñµ5<|Ä9ÀFpªÀK“ÃÒß›Lñ†n-T +|EDƒ÷È‚€uXæÖ÷/ Ú8ÙQ!PqàDð§>«ô—?ôG:Ttï©Ô#,çL&(e«Ãüúj¹ ù¸ÖdI4“*IµÁ(Nåì@<.Ù»©XÏV3þ5ÕÌz–›Å3ÝU;* ¦¤§Á(iðjJx|Æv*”Ø|wf7f¹=ù‡S·ç·vúŽ–m2DªT¥¨œ:”|„ +Ä×çûIv•9¯öŠÄùü«`ß›Óv]臡\‚`SM_[pˆs.%=HØÂ«Ošt@ +ˆ$ +>o0ÏR<»Ëî–¾Éú¾Šg©ÁÝã£ÔôÐ@Yr1£–0)âªÝ5ö®›‰ ¤ |O: –)ÖÄmeÔo)˜Z-…‰ÆpÆ+×À60ãRsrÔQ:‰›åïïÛ[[ÂÃŽ˜\µ²ˆiÈÜ{žÖDíó-…ë†; öQ}ÍàAƒéA¶|êÅ.GÃ5${ÈŠ%²—7:k¯Ç’+2v-M© ÍëØþ\fÊõ‹‘¡ ëa9¸ +ñ¦ ­ë›¥øŽ&¸6% Ã*³wm#üCáãÈ&–T[Î¥=†Ö?Ÿ»im?¡¨ŠºnÂæ(KÂ:€æZD«À*R¶9}ÔÜXû¿9­L´‘ÙTm“Ú|=¼½«‘3ˆžª…á'lÅr^ Ÿ«ÔÖJÍ51%¶iru°ûùë% ¸Ø1:ÛöqæÚÕŽ$p˜«&Ñ)1²”ôYމ0¨o +Fš›—-¥ýío¯°ŠÊy#+=·hþlZ°R¡džڽ墀(.ëöDÏ8F1vZÝ=Š‘íˆÛomO°ûyŠj€“·–6©ðý¼Iw–4 Ï 6O@¤ú\Jš{Êø.!ˆåˆ†5ºZØ@ß÷l/ øs¯:ý»· d¤*Ð6ûëlµ¦vN`) 6fÛ èfïÜkÞÜëEmäiÅ!*ѧ§¤aZ]ˆRvã\ª(ä«§0A*´ÂM6 ã´ ýÜçAÅl#‰ïíÛ¤¥Sï÷Sn[–Õ3Ï•DÄr°Ç]C=DlOÜã ,21iGºN€éÇò 0cpæ¥#ëRspÅhi¡ƒ sM*{λX7†ºiÏTaipaÑO°‘ÅYnò¡ÔBÏÏÝ‘ŒÌ¬€p¦¼¿Õz­Äb‰zåcc!¸Ðß±#˜Z‘iÉ-­üocôqÕçK0‡THý){7¤3•8Vc›71dd«E-îövœOE‰„RHÓ¿£ƒË›ljUœ…¿Z¦èÞVŽœÇO +«8ûDkÉ U4†ít‰FÍøöl¨ûª·M60ÛPÍÞ …Fï¨1ë¡·¨v“sÜ-nUÔ¥1 ÃŽ5F®»µj2fJ*´§?¢ ¦Õ×¾¿y榵w[ìå^6ÞhÀ€òùѺJ‘RŽ +ªÄG‰TNÃP>yňd* ì^Öî~ž<Ø:äœO²®Ú€Àí¬RÇMKT®Io¸øÜ“ãÛ˜¿F‰¼{‡Ûíú„Ò|·|¬¹K.<„®tÁPxí¯pLô…ê¥Þšót0ÕÑãYƒ1æ[‚E©)] eZhʆù¡{Eï¯#?¨,¦ç=y»W–ÂÌ¥D +Hþ"''nÃÒ¯©ɟ̲ôiq)m G¤t‘Â+’Fò_`Ýå©cðǃgY3ö ×|ñ—ê3løt˜eD8^ EO.ðÔ¿èDõ‰"Éæþ‘vlQc­ûºä9UËm$iÜ$¢FØIFÉ GfvŽîÅ›Á¤¨ kQ)‘Ä$‚#5ljO´˜¡î¤Ãf¼wɸáò+0¿7ͪ!Æÿª·yAÍ®‚Veöw~õåÏo†î¥,6ëÝÐð¸vÃH_£´5иYHŒUÀ6e`Añü<½¦Ê¸oMj±JÈšn¶tg$Á›(q÷«Ù ª¨¤ ÄÌ +²7÷×?iÒ/fÉyM©<6ÂUæÃéQ>ÿgM©&fÝÅ”©¯0? +ÃdXÁ +d` žÚ›kkð"õ{øˆuS«½ʸïLðŒO$zvÏ• O˜³Lèª++¶ùË€áê¾fôŽf”>Ö#b’7pIÙOÓ†K¼N"æáµ\45¡ þ™óà6Œl¡ßÓ·bÙO¼Î~qHuä ©¶õ¦v-Cgá·¢¹l§ìYœV¬€,aFÝ–7bÅö°ÛíÔx’Ÿ]½AÌÝmë•.vê†X­ê]ÆrœÕØf‡IQ…RPáX,Ÿ/`š$cH¶‘ŸBÄmaÉKéúÏ*w.U•£ºR—aJVÒµO:Ú²ha’Œ·vl?)nàR‚¥RgZ”díÙÔ:+•?O¬Œ„(Ûà1¹Ú÷í~+ËýEƳke +,½Š×tÚFJ:;ŒSVF•Lg@ÍÚÛ·¡†½» +·Þç.ÉòótõÂYKCÏ„Áƒ “8ùôQ[ö^¼ÔésKŠÇÁïêŠÉZÑ8óÞAQWP5÷n;m÷pígo@ù§Ó×Ei:ÙŸ±ørvJE¡|/ Ãj’¯š¾¶@c¥†5hÐHÙÛÌ%B›^Ü‹7?ë,Þ]ào/³l>·e%f Ɉ&뤹'kvw™Ù°aµ¸³!KRL ¤±ìUšöì¢çèà«Ò<™—37Qúm‚äZ ð¼ÑÓìpa‚²5…¡¯­ÂiZãä¢ÊÁâ“uÉÚ É<.ß­å{/³½7 ¶VÒq”%D6S!CΊ³-ûzÏ*Ì}`¡äêlqH$$§Ùˆ¯$à¿·†SÕ¿£,¬Á²n^¨¢Ë}Cʸ‰Ä#ÅjÕ¶TÍŠ95íXÑ)v23—¿ÑŸb½ºÝd{Àóî¥KaiÓ mHOÙ¦LaåQ&æo³Ìæn­@–Ȉ~Ø®¹ZÙû"à¸F«Âpº³š2ž^­ZhæÖ!^´Yç s±fem‚ú!7æNµÜgyEã —% +A20iÚž·zíLe J„)bH葳ÌW(¥– °±ŽD7 4"ÜËÕ jž»1Õb¸g—4—ž¢HC¬k4Œé +€4òÐªí¶–·n%Üv_²°C.ˆ-€œp0ŸZ.±ÌÑahQ:€Úxõ×…Óž¡z„®J¼C“%ô»#eÚ,©…‚æOQ +²I­a4¬ƒs¶†æÄÈ»?Þ¬³vÚ„>}×§WÆAØGð‰À + ^_YemÖµ¨•ž3¡¢WrƒQsÛ‰<ÍP¸Ä4’諸»³@A'°E{œÍ¾Ïw+,Ý»gfÊe¼„0¡†é­m¨DPi__[ŠVI_ˆÊõµµnd’Y ffs¸’O´žbð˜‘ÒhwA#¸7½Žšƒ1ºZ È©wxV£5‡‚H±¾šcùŒaÝk›ÃpÉ与5|¤€Ky°ÔÏHª¡%ƒ“þ©=ãnßwÎçs·}wöí÷‰DJQ8˜”„…·dR<ü&ÞĺËIR‡HŸ`V<ÍHÂðæÅkV…%‚‰æ g¨o).ªHRlub,>'‘ú™ŒtS®¯ªé/ˆgœ"–´ÃC-F&¾[¨qæyî\²‚²X›Øð¯°.ÜÑ¿V!ÆÑ¤Œ)!B'¤‚6ñ¥[·™–QÞ7¥Qˆ~/4äü%ÖEA˜bJZšè¦/.Xª•£ve ‘u*|x•ËÕbUÒcؘ- ´(uPÄ\Ø{@þ<’.;°„§=¼9¤6N·Ê›9Æ]p’3¹"‚ °>Ï uâ›­)F"µ–þÅ£^â×ÎeOKk²Ul-W].%CŒaµ äIO ôÕ)k\‰‘¢v÷î·ù¬gá +„èR:d‚“ègÛNäù`¾¿ÔH„¤‚:A‚=„O­{ˆÜvƒÞ³È^ŽyO¼¥C¿{v· òìâå‚5¶•Þn3«$!B+ÜbÅs9P +Š)¿•ÃLÄC±ä2­ˆ6&à© ŽÖ½øÕõÒ¯ðÇfÝœiNíîjm JŽÞª÷:¥Ìx€â8½D©;O +MM En6ÙC:·vÐ[MO ¸SªAà™q£›ÍÔFxË¢4Ÿ¸m¯pDôIø…ŸMÝH©8öX Î}0ê-2a¹‡Ÿl¿1/æG"5Bºy‘›mkØØØˆÛ´íÖË7ýŽá›•5pʉmÄìJŽƒ¤l÷Q'hÿJv—YI Ü,:ƒ©*;Ù°c{k“Å$`w‹‹é§,{¬ièŸñôϘ:•L4 ”rí_ó‡‘S Ä©i ,žf‰!>ô2 *¤1±F¸ä»[ïÙÞñµ`ê5¡å€‘÷6¢HÐzGx¬{EŽºwæÒáÚté#jú‹øýEm½_œ"v+£‡œÓLfKT…JÐ?Sõ–B‚ !ņ‡ØƒÇôÝVZ²*ï Üþ\VæXÚíÔB€' +¹ËRêfEEèžYêžX\'c ‹Ã$aABt×Û÷ñ_EÔxL b{  5»¿éì¶qd¦JpãW+¡6ûø‰å;§HÙ=~ÊFÍ©Q€h.Àÿžb™Ä—»ÅG!31k-Ž€~üÆ'B5; + ›þ§ˆFZ¤ÍÛ0QBžò©Ápw-î£áaÌÈ’¬^0t¾·¿ÀpÏ.·cR@?‡Y¥,² +ƪÎSV1iWk×K\[˜f¦’E÷—¸{/ßÙ¯ “zÓj’'ž4òEA˘¸Šf†´‰&ˆÞ|-},Nœ“q,{À·¶ãˆƒ®©z†ÁL-Â¥S.bÅ$¬Ä §¼±«nñ¸ïk^ß_9ƪ1@iûFä}\0°K«ZBŒua>´©¶Ö¤ãì¤F}Å*ÄlÛZMâä€líbµGߌWM°œ‡ëwDzëÅS—º­GI™)ä…ÄÑ—ªÉ›c×H wÖ÷àóÐŒz¯&dú¬cÄ©*3fRÄ©15ê©ަ'b’IRXòFõPŸMøw¿¬1™Þ†Êv´©IV’“´ÇW©k¶.ÎØ·{ö@èZHÕ1ptVxw“ÔwªübL¯Õ<…ƒâ’dVŽˆbxu4*ôRSM´Hñ@ª +F¢çpû#Ç*»-ÜÖÍèï¥ZTOˆ(L®'«Bcq÷i6®²ê“Þã +œgÏ{‚wA½t!áX—Xóm.`dzž5‹fš\B©äD¨ñꙪ"¤¢Ú˰EFÐÀn¿Ù°·[íÛ{pëv6Ê(CiCd%jHJQ##fÈÛA­æí[xî4X6òû¶À@NÝEœ;Jjé¥5tòRáW€‰‘^ÆþÎ]/¬Æ0¯NÕ8ÆAOS”1Ü©“/U;ÃS€É+<(Ž’i)ÖUI#p×ÚÚÜߘE¼ÿQ»×Ù¦ö¢á +.4Ûž2xÉÅ*Õf»ÿœåoèZ~ÕÁ'Ž=#¤R¯1`¹~¯;Ń.!}>úh¦ÄpÔi¢¨Ò6yãVòÈ‘Uˆe6íÀÎøv`À*žz,O +¯©À*ê‘£1”Šª8™ýÏ鬧ÝÊ|·úÃ÷k{-2ä+¿& À“3ŽÜ(]¹Ý ÚfW!(µB;ÚxzTî©ô/éV%ˆSb8–áø."´0ÔQÈäÕ$ËæÅS2‚â!Å΀ï@+ +ÍÞ«²GÎÕ8® “ú‡ˆK…¼xd2T5ÄfˆŠ\6ER#‘·4³Xùj·Ò÷ýv‹skùòÓþ&Û+J¬zøâ‘ö§ F¢»ŒúúË9¹y.3Þ®qð’IL~ú=‹ŽTÈTýÀ+ð|Åú•„ÓaÅbDZü>‚H8VM¤$ϵZþÐ4¸¸.±Ñá¹w¨XŸFqÚÏNzá«0ÜÁÑT#ªÁà¨Cl¯e•ct`;-oíÛ¶9¶H.Rá°ð(AÇüCDàhÛ&±Fg‘þh8Rã.øS‚µù$á#ªã¢¬Ÿ­†¾˜…©¡•&Œ°7DÁ…Á¸"ã±àq3ÿ¡ŸJ™B‡%gÜÁ€uC6tÛe\¿ŒU&‚aåzIÌ1Q%YhQöU”óI4›µÜ×ÞMܺ}¼T„‘ R¥:–ìùÐåÖ/ÂÛÔ¿Eò]oP±•Á³6WÊð¼Mpª¿:¢b¼­¢©Eº±ú8Á˜z­Ÿ3ßšÙ“ÎøÍ$OT’¥©:ÆÞ\‘ª2wÌkµƒ4Ó…¿Ry ¥ÃÈ·SÚZHÞÔõÈâ|êJ·Ër;Wt% )RF¨êšze`Ëø­7S Ëç )åB&­Š¾Šjì.]§wÊÖ²©@x&GKŸeÊ4•yË0f^¤ÖÐâ>l5x¥lõ4Ð4A()™äHån¼ ê¤ nWôMy»9nÿ>Ë.Û'¼j€˜x¨WˆíŠwsÆQ™\pWÞ þïÝåJ¯SpÊc8(É/ôƒ.ÒH•ô˜ 1FµUsJI¤Xâr‚5ET`JÇqÝ¥¦ztê—Ezè˧9Χ¥¡ƒ¢–Zæ;e©›ÄX¤Í1±k¡yÏ€ší?s³Ýàß¼Á€Ù%*<NÈóÃÖ¢œãq³Üÿz.™KjQÍ#£Ï + +x‚õ•ø€åc(¿OzS[ÿrŽº¢&JjI—U¹Y§Çü)ñ"Â>Ã~›oX½7ˆð$ÊAØT>I÷Ÿ*öoØeÖ_qßÝ#ÂñPùy¯p†çÌÛU†Å têáªXï*¤Ø(Û“ÒP–[*㤔dÎ>æ³^â6?âØUsUP„•ãpÊÕ ¼,‡Bê¤mðáùï’mI¸T"1ƒ§ +öiº,¾u-;+”PË<‚TË+›Qrxtý*züιWÁ§™WËbŽ+ÁHÖ•U T;þÌ…}å`6Ÿ²~³»§‘ïƒ/w¥eD¡FdtHâ“ðÄTo¾]ŸÙ]-ÆÊ‚VL¥C‡QŽ"³âxUf2ÁZ%–1 +Êö àlMˆ¶ ëãˆu[Ó¨²©æ¦¶º?#‰IX…–á +TÎáð¸¿cÀ–êï6íÜËŒ,$¹2¤ùÈše›½ŸäOžõ•éþ’AR|ðšŒô“Â]ê{ª¾ };Rb;,bÏ„eÊú§–ŽE¬ÿ/–iè».âÄo§'^Ëw_vw(¹y ¥¥>.‰üp©ß²-ÅÝŒõ¡rú5#„‚}+Ü ý8~)»%gê9ú•SWŸr¶z–ŽB]ÝÔw… {“¯°{xc½}‚ä{Ådëv@2ôñÓFݨ}5åwÙsŸ“†Öqš÷ Æ}üXèñ¼\+'`¿+„ÕBa1ÉÈ7]¬Œ$÷vÚÖÔp »ŸF‹·¹ }éP33ÇÓB¶Oi¶~]Y*lñ¯p¤õ×Ô.kêÖ¹j½_ÊxißG…Ð"¥0`×·—¢……¹4v{Ù¥žLïz“­ÃµJ>/i“C,“v°V¤b¢1'o¶½À>A,X’ʆK ÈÀØ vµÎƒƒôZŒ)K‚åÓâ5î;5’-©–à‰F„5ˆÅĵf. +W•{™pÚ Åȵ·vöò—W]4· +—3^ä\ÁŠÒá‘y€ûÆÑb6Iæ™aKÄyÑþFÏvÞ®5î!1þ¢ïª Q"b dz…÷ª_탡>Îæ[¨Ó7fè"pQHÅC ž4¹BD©ÃÇ÷VCSQ, I,ŽÔÔä˜Ñ‰*¥ûíñâ÷Ä"L›KSC;×4¡¤‹ãi*wZÌ£Nkr³»lÔ)mÌ%ZHVÐE·½²Þa„šã,2B@mÞ7ˆ>?— SIó*ºy„¹½µîMŸ$u UËåërfaÉØs¡Ã³íq˘c‚²©Ú£SÒ=L, ø4¨¨âZp—{î^M·ì€Rä@&'»9Üváum'QJvpÚ'Ý5ë/à8Ìùà Å]ª!Gƒ™¬R²¾Å\`½þe·ë}Å6@&'‰ô¡Sˆp‘‡¾½cßÀñ?¨¯”ˆ]þàÖæÝïcÃØJ&=p4²Æø‰Š÷9þjªl4¢ÝˆSûÏ` .ÖýÝl 7àg<ïžeÔµ!D#fκ=Ý{¶ƒ§^ûk>Ï= –^þÎ@Ë/…㸎B ü¬…êýëFB(Ú©k £?§Ëó ºE„É>‘·Û$ÒçÎܵBäˆ;:jf=YMWV^~€¨Û¸{Úܳ&% ÒŒ[1Ò«=.S‡½TbyáF¥¬Ÿå/*Ưæ,rËZÚj~·iÛßu»–J¹ižõHBˆNøDàNÃÔ=Ú&ò'(µUÒ‘­ ’FÒ:é÷¡0ÿ==YÀúV•Ñ府óZ´VLªè’ÊÀÁž!ï0 +=î爎¡çL76`ô8펣çj†Ãx‘•ß¿¼×ÓKbÔ/Ô=†ðnÊgRœu@.Að °LF<*íó·¿9ÉCvÅD©CV:(ýþ^‚zËésÕ¥gPúÏK‡PQäÌ&¦›žš®ž¸Vψ•„ÏN±9‘U"Þz©÷­ÄV+VÜ|²NáØý<ƒšÞ·Òˆ +†Ì”ìÆ­›-up8ã‘c5 _ñ6–ÐqÛ ˜á¬­ 'êàG>Ì]|•qÚ6•!¾B”%ÏM!:±” ê=&'LõQSèÖ¸n'OÌs.?,Ø‚y‡ßk[Û{q&ìç 6­$'×çM4£"q¦žà8VC¬40§’ú Wwk^Úž5%J†2¥\~Î]æ¨eaA@®êÒ ÈŠësm^R•F |“›X ÇØ5ïÎ2RS :¤‹ÞÞ#óâÄo9 HëéöRÆïJGIë¬tu™”ãqbòZ¦–¨©ÔßmbñäHbž,¤ü5z¶¢ª•¤™;)Uˆ`ø–þŸåT)[9ì›X‹ee®•Š8'Ù{ñ”9hÛZÛ·¶š[éßLñTäì*CSFñÄQ@%ÚI–×íÎQTîî ôwæÓŸÛœXÓHºA8ÔÜ37`/«Ï²“ÙM­‰îG9ÓaSמ=†–ðãc5fÕ ëg˜¸¾ LÓ~u꾑£5S%ÁôcxF™!Üí÷‹òæ×/Ü€ùÑ{Þ+Y(³_W±Á…apŠjiò ÚRºOÆÜMGdkÛ¸Û§ñä¡sv¡’vzE…5uŽ-VùÊíÜø-Àíâ}œá ,sVyê»äAkÞÆÇÃ^—´ •@òÂi×/”–ôÍqdzõ}ôÍ £5 eì½ö÷æJ’ ùHªú/ôsLÞ‚ *>tæXJS'eAÉùj£ãÇ+dQ,ç̽þпï{9" +æ#*«£ ¶ïÀŽ{Ú!°¹NµaÓúS9×rè•‹6õ¿ÈÕʸ¤©MOîÜÝ®OÓÈUÙ~³º3BÚ5à¿u;@°ÍtéXÕײ—åûÀÍÊ aRòç_rn¡•° +˜¥¨PCGn:xó (ÊÖ{P;éíÓ‚ Æ’¦å1·ÓÒ”¤™áP8¢·ô[Ñëw¤Xëíññæ71..¢ý›Côýµ­²ãHƒåyR‹0R1§7’ +hüÊ¡äÈhÝpn>žr¦¤Æñ Vƒ/`ÇÌ™¯£Â0š@â1=v/Uð÷Ö½~¨ýpú‚õi˜«1¤cUPe +ÚŸ:“,ÑÊña´©¼j" Æ÷$릀/«º!éפ]6ÍT}È8Dij ,ób˜¿ÊÅ=m|“ò‰g•^IBÇq-ÜðÓ(Þ¼û0ÌíÝÚ””¨iBN”§ éL (k¹¬]£7i×^“¨Nt²‚ŒCÅ1ylV¦£–š%‚6¨‘æ+CjÆ¥ËYT Øp$èïáÙCÔü;ÍôY¢l—˜s˜ô°WÅÑ#ÒÄÛ ¦¡U…͆·à¿z> ÛÝçÒеïÞ DæÅ21èÙCÎÕ~¢]d6Çå :Á"W±GˆÇmGàÑÕ¥eކzWƒ&äLOùÁÀðÈ0Ævã’d?/"BX Î +9`/¶Ö:ž·Gu.÷‡| ÅËzu(¹¢qh'«dtÔ¸ûªþkž÷Ï&•iœ`c'åÓ^à‰•²~3ž2F[Àk•¨2†„Pyñ3ÔàC´Ú×Ǭß=c/Ì.N.©kƒÑ‰¢œÃ:·°¹yÄâê”¨êÆ½Åþ1‡á”Ùyðç’,#Ž ÀTXö[iPt [ãÀÍËʺ ©Sí å›ï*è( J'Û^⨞®:9Òü¯[Œæù[Á§ò“ ‘VÍ2‹…:‚ª{—k(w›³Ø¾{›Þ!¶4«øäçÇÈcB=ßìw;ÌîP„ «øäÓ<|…{„küP½DçZ Ç–2]bÕøö(d¡\>”ÖŠ*)¢òÍ&ˆû—ÝÓp»uðæ@Ø}#–î¾½! ñjTjP3«n߆3Ø}7nÖ\ó.<¼‘2cR‡ñW¸ôSê¸ê†…`qj'ªx±JjÕ3AOM]êQUχvñ´íÈ+úỲ·ÜÃY6”¸öŸõÄ‘‘°žº·o×ÍåÅö„(<ÆÏZ}Êe:ª Y3-\˜Um%Ìa;¤óª£•“uû%±饯¨â³üézpé¶fÌØV/”ñ,Ù›ª«^Ž“¥©D¢Š¦Yj$ªÛ,JÏ$j"X•@kr/Ì&úI˯³'•uhèazJu«‘Œ«´p5nmá¹0ðA ʈ˜"–Yƒ"õ1dl37cs‰òÒÒÂÑUÜ]ã‰RžÊpÈ5Øé§s§? OI=^­õ§€ú¨õI…dì¹Ó: N,é©"¢®Ä©>N"§ˆì€SÁ<£a÷Á`[[ò|úríÃ!,f9.YÞ\¼âßÜD%`«ˆ€Es,ÍûÛçB‹â1ãëC®QžšóH0.úe|WÃð|QqlÃŒb)#ÏŠÔ­7•óUÕS·›S9fï´"€, *½Sú²Ë8÷Mú…˜s¦+_›¿©ÙÎtÈÔÉMˆÒ­gÊ<´´ˆŒòÑIC4Š®À5ƒ8?½–›£ºäH´y†R™ý¼@*”â1Ô×Ù6ã*áëd2„$ÃçH N˜¤®Uièæ©«ŽŒmŠZ¦TS!Ø£Ì Iì5ïÊÕÇ¥Äz¿YŽg +Ù*q:Ì:%’гp i[˧–®8RËît¿ ³mÔ±ÞíÖVbâJA½ ¨'§£šöÑÙ¶]{f–u­"cßFkÑGªÜåès­Tù½ðʾœçšú³„U(i£—Ü5pNªy)6öRM­këÄ…>èž:ªoÐω$Mmc– ŽñV[Øò o7»°¹*)ZïX¶ã¯e÷±ŠVƒ·ˆ5n5ù7!õS(Öá‚*|Ñ’3îiê"ÜþEU%bw6_vD`n¬4=øñ‚Pc—xã-UˆJ­QUYP{ ûÒÊÆäZÿ°p£zw›ö*¸}d’giš>Ýܧ;ÞÌÑ mJ+ÚU?héž”€ê¾3пIý2âT4yg¦ø Ã0 :šùéæ¸ŽŠ–œƒæJäKxÌx`½2…ê8rD•ÕÑtö‘Ăhž¸QSS›´µâ53›Gs`Nâ,"Íâȳœ¹æ³Ô[-+mISeS#LPõýë^X¤ÙÙ¾óGÆû“¤(mŽ˜èªÿõqÓ|›–©«º«Ö¨r¿N³3|¥™Wåé±›_ÐËÍWEˆ^I¶Žãb•¾“ºõIGÓLÂ)è±Ln.’ã 0°º¦3TÓ|˦Uý0+§š \‹Û™ƒôÉõo½¡åŽ¥ü¡L]6ºRRÓƒ‡Š$+ûÝ•:ö#ÚGó '¦€} ¸„¯Èíô¢oS‡h„$LÄØ¢°b/ã§ü¥*°l˾)ã¯Z‰ËU}¯°5­=ƒ{ÄkñäÛÙÆõç–Ëfù¸Rbcf<LPÙõ±™²C‰Äs…b"R $²Üø‘ÜðHÌÉkiJ'”õ!-å nGmÇSÅæÑ*mDˆÔû(82ÆP² „ûë´XEf ’NްTJÊî˜îèI –ð`ÖӘћve½{홼âÖ¦­õ’éŒÚ”&‰oò—î.Ž:PÃÈR·Íg)að„£‹ÆZ9 ²x0EÏŠ‘ùðBè x&y’§ŠC+¦QE53ý«ˆÆ*!c¨¨I,èÝŽ„ð%½¿M;Íw~¼¾ÊýM,iPy$)ž¬dŽ í7vm{ ËJ…’¬gžªã]°º¼&*—àþmóBYžKÊ&òØ„ÒTß‚µ>7’°|ax¤8UËŽjŒ_Ë©2hùUˆnÅOÄždìv]tÅ’uõ½¥D¨` +¶C–ªÖL{é;ˆ×ÇY‰ËˆÑÁ +“JdŽž˜È-n3#;X|[O^ðüÓœë©q +Iê*S¬4”oú(b¦m°D6Æ‘‚Š-És-,,l”Ð@HHc¥H;ŸvÕµ²š0Ä‘Ó×ÄšŽÌÎÅÜ–v7$êI>'=.MÎu¹œVbP®Ø;y2Jƒ&û£k_]x“t·7/ÉßqÖVaÅj‰ŸAÕFLo µ›Pª}k·™3öbíõûx6Pb¿+‡ÅK/“X°DO-íí°?qaÇ ‚1óÌ/C(”DµÇáx^›!¬©¤LáCóÓ`•BxgªJ(¢V¥“ËjrËlÛ^E&ÄX ×y‹–jApíD±L «o@4™û¶ƒ¦D¨F1>ê÷qŒCŠ…’^œg[Üû­®£Àá§ÐâJðPâîòvm›$ð5ë[C¡ä¼cë>Ðr4ðâ=ôíÚÆÕN!%j‰ I‚ŸÉ·9ºd”µáL ò©v>'P)á1ÄXؼ¬#QárOÓÄŸVhjêú¡[†Òc”Yèe£K,øX—å Žº­;H‰æ)c·ïH¸±äoÙfþæ9íún.íÔÄ™JTAìtÐãuÝfÓvƒ®ðOŠ$˜ÆÏ*—‰ÐÓPQDcecS{h[q:«päx^ÝïÌÙ?žq‡Î &‚P¢ÇÓ~–_*ÂÓl]Á$ÙïÛ·ó|£yïóGµJP‰À¨Êˆ zè;gœ~Y23¶¦b±äŠŸK]QfêÇÕÇòžE5:2›¢Ìòï’@@D¾§ŠŽ Wäº:èérf$"–¦¢¢j‘)s Q)°ÛØÛ¹àƒvòÜÛ¹&ñP©ûRõÂr<ÉÛ¤ê+ö 0q-‰f:—ˆQÔG[ÌJÅF€ìG‰>w>…¬gÙ&çîû¹ëšF;q'‚@é4›~wÏ*Ý|­ËÛ‡!)IÄž“J®Œt{:uÛ¨t7È”æ¯Æä÷å`|šhü¥UC íŽ1©?PÔŽ{,å¼_ÂŒ4æy¡êä¨Q²"ÓÛt)~ȇ#_¡ª½Ë¼Uãj@RÉiQáÓ8&chöT_ØnY¶ù[¼óí) ,éQ$€‘ƆŸÄcÓLº™òÕ7L±,:jc—èðÌO ó@ÄMnY1IỎ«F¹·½p­Á×Ó/O+úÏYSÑ|ëI ¨t¢Ÿª“¨ðOò|¤­IiJ¡‚×:Œ·ÛncicbnPJ–™:u©%>!"8š<ß;–Þ³Zx3 ’:hºa®!€â´ØÞ+Qb˜=DuTÓ!³G-;‡G_ˆ*¿ÄÇ!ô£¾‰°ÎžtO-Qôûþ»`kL×5x•lÑÊòMWˆÖJZi¥ha}KXµ@s[É[Ê7k4.Gå—€¢S¦1;vÔ¾»´ÖS»o…bLG3„ +2þ„ú‘Ö.¿~!9/6gœkÎ9–jª†ª©¨”€´ÐÏxQ¢$W Põ·du’Ôjúbfgš°ÉW‡JR¹s8ÆnËù7 +LR¥ö­½ _t{‚ÛG£VdüZ™¥ÏºN–øxXï_x€6`OãiM§ˆ®YÕßMq\U0 K<ŸksjøüG"EQ=1XªòɱúÏ¢ÆÙµ(¶Dí‚™îÚ -q¼¹æzy±L®ñ­j¨š¥GÙ¹±ðñð.ÜF3Ñ·ÒŠ³´¹ç@ætêV;”êÛ ¨2I-múêº{½¼r¯O)1g3NÂ×ý3Ë÷€w‘Ï•eä¼$ }AúñÎù>ž-+R¨„ dÓô‹k“kvspÈô8F žÒ*v·Ç‹Í´°c˜á[ÌPlœiÇÓ_¬¼ÿ²¬ñãr¼O2âMº´ ø4¶IçûC¶¼f½¥*ÙjHpÙÄû豦 DÒÍúç›)0¹Ë3Ã4ÄÝ…Ù[NÃbôtpB ÃMѾ¹¿XR±®«Úx—>úÐüñÔ<ë,µÂ§#ßµ·{ñ†š®zZ¿2?òlt<<† £ ¥·AhÄúÑÍ™ ÎÙ Òb¢Õi`° uÒöµ¹;ľ+H»(³¸KoA ãEÍ[Û²ƒž˜tÆŸ câ§­3Æ’êŸh­õÔŸ'þVXêí äf6µ¯÷pbÞ|ƒi'ÖËx>tc»Ä2ÍãrÇCîi\€¡mÚæÖä‰!¨ÕeFˆŸmÀâG3†ŸmGP>˜Òt0FÓ'°ËõòTåÚøqE»1XY\{Ýì~®d‹Í‘ˆe6í÷pŸ9q¶[–È&š¹RS³oMaÌRa44±Ô+¤u,Ä‚HRÞÝ?eøá‡¼q¸„X<ŒßÀ»¹ƒË*€ÇeZÀ«T ´õ1\Rž§‘žjl.žIS°{ {/·Š‰ðˆ°ú5«vݹt×ÄŽ#c2UÃàÏM=ŸeIKZЉ4V(ú¥Œõ 5É–ãŒÓÚ_ÒØm²@¿ŒutRbòÙÔ[Úxª÷>c/*"I0¢K_Ùª}”2äþ¡áÃÅ]jšŠùo$` m·²Úž$Kl`½½·ïôòVµh»ã>Ÿ†¡JÄ +9˜ª|Å<²B¾vñª‚;ÛO‡‡'RTÀªX ΃_ |oƳ„A1«×ªLõ¼,F3A®gÁq¬Kй§‘ìÉ©OÙäwIçbê¥T›ûu'šCöÖâ$LRô\¤K¼;Âèp¸0zéI"*AÐ]~þ=a8% T/¼§‘Þþn;¹ÍÐЬ:(£2Ê»õg/þ :šú­“O$t²h£KÜëûy:·Ã1z¬¬Fƒ±ú¸îåîuþF°c^tŸ.Ë_·TƒÎtw©ÝÎÔæ™¥«¦†}ÎA,¤n.SÒήðÇw[ý«%;-ç·SIR¢Gšå÷ ¢H£]ƒÒE*EŠULõQÙ¶Öcôs¸è%Q¸ûÒxÞÄ[âydïf0ðû ¥,æiFÊÉŽbøuL¯H²ù;—fëÜ’5µôÇ[Œà¸¶™²÷•dɸµ;‡´—T5X-dU±,‡RžØòDì7­2,õ‹§ASBR´ˆ’…$¥Q× +1×KØZ<;p#¢AŸ•ŸZý +Äý@zxÎ]ÃfŽŽ»?`óQSÔ9-Ïa$Ö¾ã[Úúrþýþ%>•}sE[•ºb•¹©ùfŠ:ü[*c´éCT"¨,¯QG,m$UP«©ãrF›•on/ß.Ï/¬¬ÓzÓ鸷*ÒA>m q…²Dt“$næêá:Õ3ÇŒzì­|½CzcëW¥œæ27Z°y2¾-V5ÊéSMWm°ËM4E•€=Æ„ip9 ñõ«ÐŸL}<¤¾}ë'Pë)ð,µ—ð8Î#<•xœÉL9Šéhf ÅØiÛ‚^Á;#ÎóüÉ.9-Û#­BIŽ;Ý‚†ýœî–nà]ãÉX·hJŒO@"ð¼"¯3Šc i‡Ó½L¯4‰ ¹¶ò71ì\“Øq_º}'D:šÙã2b‰†åJl®)ñ‰jœ$ %–KžÃFâ äÞa¼OåÚkS…Ù@`ÌŠÖœÿ;ËRÓHÔ½~6ã5•×ë{Ö^1Ÿ=LÎqÚ‘‰ô§§9žDÂðh™¢ŠjJr9%PÖ[’m©¹æIöÙ._“îÓmˆEÕÃX¬í +;@=#…d·cýØ1¹¨m—›jë;E{†‡ñ›Æó&_H²žZ£ÁêiÐFòÔ4…jØ¢@,=‚ü\} +ÛÚÜ’õ”0#ÞMEy§Ò%¦_v óåXì3^à7Ö¿ZaêÚI3ˆKQb`žî ÀUBtO;…Ø>I’‘¡±¨q8Ÿ} +÷;³l*L4Ö¥l’+ÜwÇ=Rc8Æ[Ãz—[^syéõ5<Øv'P¬õô¯h*#{¨º°Sv ãÄV‘°ÅÓ–‰oCN¨¤µ[R~SOî×gL ®×»ÐÛ„¤µCŸ•{‚Ç£ŒÑÐx³†5žòèÂ:aŽõ Õ“cráÔó®÷,å…ÁoŠðÛŽQ¼J±fÝÝo!•È!µë# 5 {èÚÞYš„¶Óš–;BU¨Ž‰ØkÜ ¹ÛÇ2õtÑ`uQS…×O!UC9k´nËexÿÊ+êÍcb-ÈïúÉ~©òmZÝô -kÒ·R´øRˆ“¥r>eÀ2^YéUËtuù›¦ƒÄñ3à 0R;Ñ-,„mHî–úû ù? üEóî\ë”9ã*áoм£‚ÔeÚ‹Y#%?ÉÎQÅ\Õ íóÆH·™¶“rGnK¿H9&UÙ³/TõÎdJBN N8ƒ2z}(7»™Zr ç +-}ë‰èž>^Ú]ã†~UÅ=7à8U‹Kê ;bcU¸ÔÑy¢A4 ºŽÕ“e,Jà–ÐîÔŽÊ}Dõë&z˜Ë¸^9ƒ–âôõòÇ6®Õ5E@¿ Dª—Ëó¡•dá¦Ý¶Ô“œ‹v§k˜1¥¥(á* +€uq”‰ˆê&xÔÝØi6WÉ=Ù²0J;N‘Rzÿ鋪žœ3$¸w zÜ1á†Jlf–9žŠAU} JUTIt`PëùùA(q,¨'…¨°ªwÅêB¥Ižy`$)Бa¡í`œæ;÷`ý¢Y\5¥*! gn­´2Í2´__ª±;qŠGãøF#ƒbLµ>.>Z  °YâRQ‹‹‚„”7ñEÓᘾ?˜V‚’š*ŒÁ×41ÁL#Ô;̦BÄ.…˜žÂçNcEæ[q½[ȶYHÔ¥G‡`'¢±›´ß»Ì7¥æR‘ÞjvÒ}6ÕËôé?ô­è“/g,{Æ«r&SÊ”˜„-޵<ÕþUlJðaËä$HÌ­(Ž1kk› ðTÂ:I`+®Æ'¦“2á‡ı*X‘~YŠŠz}ÄÝnÄÜý6ÐpjÇÓ6Zñµ²yZЖûå£`Qž˜é©‹²ÎÌZݬ¡Ý.ëž¡†GðÕ~züDz•ê êÕV…àøWJñY ËxlžmZG6$›þr°U’eX ½Å¬MÎSÏéFWÍý'Ëx~ ‚`ôË„f ƒ*ÍQ†ÏI´×ÒÍ1v&nì$%ÖMnAä´ßg¹‹öoÙ8æ‘:šy %IþõI³«žºk)Ü+Öò÷lƒ‘‹n +~tXsdÌêÌùª¶§0æ,rf¨¬­¬‘§ši$7/#¹$žÞ¥ªð¯P¾¡s äœ2¦|0bIM—pX#/4P¥41Å QÆ_ß%XØw<öY—/#Ý–“vêJ qdá2d’hqÙ&TöO–¡wIZ¦Þº…À§ȹ_Äg«Ž)·›cC!Õl,ÈI÷Mûëíá¥í¥Ë+ +TŒH÷a³eÕ¼+Ñ¢>uîH«‹ +jù!Â*c5‘ª¼”ŽË½CvàXØûmÄ–ÙţĶ\8‰ÇÙD•Â;ÒBz8û+3aõéD˜“Á2áÓ»D•FÏ‘^Ö$n祅é£ik©!D/$Œv"ªwbX |xO½7ŒZ´§! }E™Áe²¥˜n1^ðìC¯‡ +Â`›ÄñV +zzti¥–INÕHÑ,Ä›úgž¨q\*¬a2ÈØzb’ `â8 Û ^êÞ"ýøKØŽc–gmÝ]3•é*N‘ÓQ›Ñkšß:ãJ + :A¥·_:ÔNøÖ ”z•I&™ó_§Ç%£.è|Ó*ÂåIÔD7 èn<8¨‡Šªx¡y45ˆüÇÒۚŀàÑ,-°`Oô£ü¢ì´&|PõK7àx¾zåÀ$À2öK‡Q¨Ñ|º8±[‰‹u¾¾<)ÈrÇØËô;÷­JQóQãéJ2lô¶‚‚qQ$ž³^âW¢ZšW¯€*¡ØJn̰káÇw3 +_u?nÁJW˜øëÜi ¨ž7e1½]%'¿?–¥öG¦ç°ýÛ£‚ +Hàv xôQ…óO'J{Ž}8̘gjÁE41ÓI‡â¸rU·è*#\NŠZQ2p¤$†ÚžöâòÉß^^&d(ˆð¯ˆ¤™õšhx°1Çšð6 ÷·^r×õr Z‹¬xIÄ)êO—E`…¤[n½¬{r&lÅ̬¸6øE6 ËN3°{™{£ÆÚwÞöEgvEÛ:»•NÓÀâxQÎq½yk %³ÇÓ O”©–)ñ !1?˜Š®›¶ºnÔ_ÙÛ‹ºÚŠ˜pªK²AÅrX‚ ¨âH¶¾ÎI9sróÊïÆ8Æ£œÁä‹•–üTßÎU.+˜qðL±GUšqÊ›²ÓQÄõ,Uu/îµ@ûLlÍ·²Ù€|`“‡²ªÍ«¯*Nf0+ÖdõSy¥Íµ•ÂÚƒ­1´aˆÂpœ/-O€×b˜Æ$Ô¥ D¢Ã£åz––à¿™¢"Ç`Mõ=‡qÌ—€b˜ŠÐaS-F?Í8¨«¨†‘QcRäy²yH †Ð¹6\ñì­»¥(…i&G:  +s,ÞëÛKE)CRcdb}*¨È¢ÑÑÃeF®šn –'Úy‹¨0àßË¢¡8e_-æei¤rCI,άw1°pç±ÚÎo³‡n/ 2 H0T®•¨ð“€Wï +¯¯µ# #€éœhrž ^Ä?­›ÂfĪãŽX)ÒY»MN²¬lÁ÷œIÓAÉTr!`âá›ü;iõòUM‚ZØ(µoˆšcãµ&;‡aÊØ}Xì8C +ˆéª=茊êm ¸Ü†Öaâ8_ždï\4PÚ´¨á#lG¾ŠBÆnú]-¡e3"½Çé¥v U›±Jh0¼{0×2Òaøg™ñ4妗宯tqïUÍ~Àb܇ûxìäË6Y™.4Ø¢LÎΕ&(Ëy7&Þœ½·­RœB”¨ Ž$‚ &–ý õÕoN™Š|ËÒ¼A0jÌZO[ ÐÅW Dhw*J’«}–ÔXƒ‡;®Ï8U M­“,œ +Õ>ƒ +9ƒƒá½zÆz±™)0¬•ƒ5 ;É jœQÁ²|U ?EÇ +ÂàÎó „ĽÈiÌ5̳Ë{¹J‰GMCnÙ8¶É‘¬V³­ý êN$Ù²¤STÔ’€o~ÀogÇË™¦ª¦ÒªíNãöð±®õ‡ÒQ18á·ÓçE®­Ðœ 5ÁéÖ ¯ÿ=Ã'›ý#Q2ëp [Qbë)–w°ñÖöÒß${z›¥pœ}&k1(V:h@É}J«ÊÎÆVh ‹ôm ¾íý¯ˆ=¹É$–Š0XXþâûd›Ôë\ûi»\IƸVáØoQë%– Wš÷@p9¹Ç^J³…^0³ïªû9gò—í©‡U*ÊmƒDËÔGøFnÂÞº¦$J£¹%¯¨:\i÷òV#š"B¾é]χ/fòàø¶ó5ìòÝ X Òk&zi«ÉB\BIE¼ÒÚÂݵ¹~´ˆÃ¦“~’RºzŒ3‰“åëXJÇP-¨¸ä¼¡EƒŒ>Sˆlù¡ri¥¯Ã,ÆéÇÝ2vläSÙ.[dódº|©‡ÕîwêÅwQh!Éæ±²ÛyjžæÆömÄ_ïûøÃ_ I/»ô· ”í²­@œO¢Û¶ÚeÉA1‡|…Š3ôª–,ÌZlRHÔZQbÄ­µöêÚªñ Œ\)Zü †–Íʇïýiõóï1'Ê‚LÍ“pœ…Y‰fÜ:ž*v™F  { ÷ïÇÉ08¨©ÖxŽ×îuñâü×,já•kI8ìq’ùˆ zP/?Vëóî3>™¥°*, ë¥i!wŒ5÷wí¯&¾é¤ÙGŒ)"d՛lj¤5ÏJúFA ¯qã{Î3#$aÅÆ§B~‘n-jäO^­nÕ—;:+ŽS£¥Åkä©“k|¾‰÷N–±æjYåXÁ±eïéáVof‚µc§…:»R’MuåÌ*®½ÈxÍJ‚"Rv÷×ã¯ÇŽ4‹K[£¾ßîáZ2g­ ƒäZHW A–pÌY§%´ñáªõQ[ÝS{ý«uðäyiÂV÷<Ãê⣚¯òÀAôÒ”8†”ÙƒÉéˆb”ÂZØìnt7¶·'Ä[’•ßð=øZ3¬a¶™MÉÀaL¸–r¯œš>TÁÔ%‰Ð{美Æë;7ðâ¤1rêI"9¬Ê\Z„LmEœ±¼RG„´TÑ>­sr{ú[¸Ô/¸Id…î´úx+ìþùA\8Ï´ùQÖDô$åJl·ò5”m@%ZŒJ•¶˜Á míüíÁ“¢xéw§L£ê›¦G3Eê3cøƒKP‰épü# Ãjjh#Âi]A†j‰f§Yg-r>Å€ïœýƒöWkcj¶%µ´ã(RÒ¢ +R’%3! +„ñã5“G;‰—f6Î9q.¤§I; ôpÙ¶¨7ñƒõOÔ^¹z±Ì½0ÌC‚d.…cµ˜6 †Ç#‡§a ÕsHfyŒwµì…® 'ÇÒ¿â9éë7ÓåêOTý:ÀòÖfÃki±³vJ»`¯¤méYSNÉ7-˜ª ;QúhÞvyÌ¢ýÅ!I),­X”‘жŒ@=tqÚŸ`;Ó—‡Uav·P  “$áè4S8éø–z½É½v®ËÝ6ô÷Œœûƒ†2bI‡¤è•UÕ¢SRþ‘#2m€ <{3ô§Ø•öîµqu™µÝ+øu)H©XÏÓŽàÜdL?qzÞ…¨#Õ^å}uW-fùú‰SÉ?ÌŠz¦ŠªJrdb$ØÆû€mxÚüžm·k&Í,™qÔb +$@Ú$…O{±ž6ó-«V˜Ù^â×§QRE‡T3SUO"@„jINÕµÔ’;ò»ÌÚ–¢¡ˆ}k}¬˜¹s½ŒÓ^â“¢Ä0ꇡÄ"’ŽhN×IAFânåÏ´êB’dŠ&°e”${‹l7(cx@äÌØÆE_WQV˜•O•ó 3 +G˜»Ê¶¶ +~6áÞwoq¼a¤8¢°Ò&6É&0¢TožimfDκ÷}ʦ;ÊÛScßǃ½j€(EšæH×¹—Èô8OJ±Î Ô*2ÌõñRa‹­æºÆ«O-JGÀheHÅœY•Žßhæõ¦ç!žÔ@@>õ0vÔ/ÛƒmÞg-¶A øœ¶]@CÇ›¨¹g$ÖÖC[’2ÕuV+Q…bTðÍE0…DÒÒK4 ’¢/3Uk‡U$Ä-<2Ñâc Êô59«0æZg„´pÉ!I[S5L0´†ÆJ¹¦1ÇíØµýƒ™#ÙWdÍç–†ù·›C"\RÆœÄÄ“è( ÛZ;ìÛK %µ cLTv¨ª@rZ¾œz–WΘËãùÇ 6‡EóóÅAµ<1Á-ºï,7›ŸÇþ¥úëþGê.ЬÛG7UsàFÂðº9V¥¼¹I 1„O/ôn·N®6ÜÝÊÌò<êÞêÊùµb¥e)!W ‰1#‡En¾Ido5xØ“†•dmª6ôR8þ"Þ½@t·4åÌû—q¬+#SQ$7™a¨–ZŠ–+ËÙ¼¹Õ—r±6÷<ÿ ÃÚ³Ô]³6Ôy^›¤} ªx1•ÃØ/ÎbRïŠX¥auŒ„i äÚüš> 7ë"±ÊX¾m”;rø„ö&tñ à8cÆ*b퇵K̪դ'T™0vzŠ!¸ö7ˆÎ²N˜pbÑGQbþ[Ùн´$­»qÕ‡¨/A5ëõ_Gý0ôÓÊØoLq‰°ŠÞ CYQ]_Y,*ðUy1¹xÅ?˜w—,ö¸Ú ˆ»±mÒÎm²„ß^»©N"CImJÄ (ª8`Ìi7cý–~P‹÷`º´ÈÈÕŒ’IÆ¥c¿©¹²ƒù~dƱ|k ;i+ªê'ˆùV +V7vQ´4Ðq u[-¦áùƒdÇiè°‰iY aij¤ÐHÎ6®Ð;MôáhÆ2Íç¶Ì”Ò´ËBpQR• i8ðáRäÚO©yS \o#â™z) U*âĘX ‚’)°5É2€¿³fÌÑ.qyFBÀ›]ŒÂ¢©Âö·î¥þÿ‡VìæYÒB{´ñ'oXñ¥ù ˆ¸V”b¯u%%DŠBŠÂ`„Ë{x‹ò6^Ï~|Z›éþ!S‚æl„°Ì’ÉBɸ™$0ܳ»ŸËíƒ%ÆÈÒ¤«ž™øQ¾e‘^Y[ëahVpƸqO×̪xõo=uvŠn àõ8Œ8ô-H$Ä)à”Z\@Ò¿0…­wFV¯aÂÌ—~r;;¤¥ÍaP¤¨(1Ž\<‰Lì¢mÒß<©¥<†ÖR†þà¢t§\<°è©8> ‹fVŸÀi§Æ1¬Ze§¥¥¦FšYe”íXãD±$è ®0ÕY³lg³VOSÓ£Ù¾^–žâ÷C~$ó{oíöãxw•Û–TB!e2uŠ}½öÕq¼;Ò·mÖChð·$âÛÄãVù颴œý?a=4Æ)©ñJŠcâ¡"ªŽJúåV™ÈJÆcÚí¿ Wà˜¤‘ü¼oQ=$~õ¥’GRGøT±{4àtvÅs|4¸ú–€5:ÌÐc4íG1¹h4n¤ ¨ãÒ|¨\éþЧŠY©2öWË9ÛeAS†á”4³SÄ?qd‚$!Ú÷b¹Ó°“Ӝˊå rTü/ص0—òÛtWÙ,lCÙ—qà‚4>’{úžspŠ”F¶—÷'f= ìš:ì÷µ“»ê256v†zA¤âèK§þ²:CšpìY2/Qúƒ +Äš&ªŠ¢– ‰$¤«J¹]Ãr2Ü©¾„1°\NŸ’ l&*„Õ‚U773D²{¾$òwÜoëìó3µÔûå‡8¥`û$aR®êýAîÖ`Ô¹p1±@þꪞ§zPê§N3,ø1ÒçJJW)v*¼rÛÙ¾\ŠtìW˜z£œ0l­‹Íƒe F íT´ª^¦– +ˆhÄÒGwD5)’ygKìžÆÚð¾¾÷FÖÁjµJpÀHè%]SZÏ~¥7K,µ+iEÕðªM.:øuu©µxÆsjNœäZ©ª*'žŠÃõÓÆÏg#·˜VÝÈâž«L—G‚Ö×b8^#ƒõ{¦ÌPÐR3K>=Nè䣮{‘½ö‡¶Óuöp9ØojmîÚÍsõËç”´8H +Ò“¡8Ÿ0’xŠ8ìßµsvÔòƧ1âWE":‘!Ç ¯ƒ àut­ÑŠŠŒª'y­§†ªU‚³ÊXãÛ" Û(®,ÚkƺêÜ¿„âÐBZÌTÉJ·oèRt™{¬#ó*²—­ïÝhˆ:LúÁZºâ»ä¦p Ë‰|*F¦cS·ËŒ›Ø Xä߇¾d¦dì¥ÈÈ]¸8™ùW¸æÙ¶¹’?•(³€6ÞþÃûxN»rò£O‘£mÇ·G÷LM{‰üÇa9ŽPõÀIŠÔ6ØÙ{Ær-k/ÄëejNœHœgêÆŽòÜÃùs§dMx Æ„q’…‚åz宪ÿNš 7Ÿ1•m¡¾·?O òËT"Ü!”„³ T†ó|®/A Âk”’É+‘‹»›’Mø¥©Ã0ü˃ÔPSy4ÕŒ›àiTº‹„›Zãëå3['‹#AÛGLPuy½ÍƒÚ¶ãMqâ^“5ç<¤•X>]®¬Ëc›)ñ¨'–•*9,‚£ËeªXšñ5¯gŒ]¾•έ2A;G”Ò…oKªXp˜ƒ<º+°ÖÐŽ=ô¯Ãs&|Ãp~¨â˜.N®©VÅ'¡ -_ÊD7É1–ê¬QHRA±ðå·Ïqض°qÛd$¸øŽ]*ŒH骣xWtòÔHS„ +‰Q„×®~î%óÅf[~¡c5ÙгéíN'Qü’“›ç+)èD¤B•’]ÒìvƒSn'Ý{ «{6ÃÐ¥”‚¥$BIã¤pþQšºõšêÐ1)™êÉö-¥¬øûy# ¯$E"ý’ NݼûÞÜäkÔl¢ìÖÍ`Hö׿N¾˜2¯©cùK!O ª,½Œ¦5aµSGL˜ÎiDu8])ªüÄ/™A:‚Gkí;µ«ÍÖÏXzä`´8  îÜÕ)Z£øH:M³íäw/yµ¬~Ä‚ 'Iœ ê;+Ürë×áÍÖNÞ”'ëïTþ[/לN: +Œ¼Åg©‚š°J™"è˜( 6 ñ'g?T9óïËlåcIPsbJ†Ô€qÙÆ‘d›ñ—Þç!–IYÛ¨lò¯pºâø&/“ñDÁ1èÚ‹‚æh÷,ƒÊ¬…'ŠEd$ñȱñ·»Ç›[Ý©.!@ O Á™è"*OÝ& í©ILJ²½Ï`8¯Ä³FjToqÝ czú‹íåsD&BifelûIð¦O½Á'êå'J³¦ ˆ¥2Ô½%lU*° ä¬"’¢úX\~·³z2›,‘÷¯îÛÒB‰áçVÈm­n­^rá}ÓiIÔ¥`é“RpŒÌ”8> O6-Š×¸Žzt2Èì|Vç’3fl¯õ%ÖJÌÃ\Š«1‘*°¼óËúTXºŸ<}¼¹‘¶–<;cn4WwkpÍBLÀè «&úÀÍÔ=A‹0ÔÙ!–{÷ˆRtµ +öbéëaÓ#²ïÇcß„ooÍ¢»³$ì [—®6áBêÂzSëƒ̘2É)©DDÜ X^àñ700Lc¶ÐšŸ£Š/÷uWVºÑ>]të–Ýê$)ðq›²Úbô²–±‚~Ø÷דp¼|v6Úºþè·çËäy‹¹zÂH=TçJ­‚’9Ë«0t7††¢fÝ 9B u¹ä:Œ¥]G9ù…«õ}Ü9η¤8Ï€’zøUÿw†)}Kë+fœ¿už£‘vûÚßOÝøïåÚ'sæ0î8Ì®o5È$ðýôÅÓNä“@¯ZºåÔ:‡|2&‡O5ÆÒT\êoì&ÜëÃ!yH?¢T>?iœÙö“$™Æb“þa}áÕ¬9©xþ$â8h bYU€=Àøž0VѬ5GÉ!þÏv±l ±«Ž®vÑ´¶‰Š2=7ÏSb2&ÌQœ>¨ZF"5P=¶Ùߘæ¥i£> {8£,ÌP‡5§Z·)JäaNùo6PáXšÊ€3F +qkŽ÷î9Æ:zx¢ý9ÜÉÜð³~wÂýÅ$4´û×KXbzksÏ9×Å<§”±â7)o 5ç ñ7òÚ(Xøq6ï?xòtaÐGGÆ–±š>ùSžDéådøŒXæk¤xê¡7h¥°&írdz™ð,¹ˆcnVïd›ø}<¶o½6¢ãì’:â)/\yÓOE3õ¿ÔçOzQX0R;<.!ŒÄ|½¿±Ó‘ëèëh*ZšR|àlvÜvâ·7¦ÑË^ñ@ÛÓ5{«¾àIÀŠQäÞªôó;dèó–è)ôÙ:‡ec¯ÓÈÒEQ +’G¼Úž(ݼöÚù8ÌŽºf×3¨‚iE”óÎSÎR­:K´@=Ф{ÇÄxrV^žQZ-J—ö¿Þ\©”$-D®4g‘ºÒÔq4ÉêC-eá“ õ8„5Z0")˜/˜ª>Àêtã†5&+O8Þ]€²÷ïðæímØiœ ÎßÂ"‘o¢-Ôö 3ÓA¯IpŽcYtÉ4ÕuÑHwÎÂHÓj‘`Aꉔñ̨òËO䫊hË«‘¸wÔ›vçtGæ% ’Ç¿oBPWŒ0§TØGW¾½™²îgp(Ô³YM€;}—°&Ç“$:fB4½‡ *.ê‘I±Þ 0¤Ž,¶k¤¬ $ ’P¿fãQq¥øÛ,ÒUª†-´è§ãÁ¹Û-[Luò)}èCp P‹Žâ¸V–ª+„qS‡÷H€%›À|5sÌqFØVƺm^ãÇMxÏg9ÔÝÊ1“Ž=zkÙ%éE©¨­Ï•U‘̲@‰RMÉÔ~öâóÒOªZÞeŒÇé÷:=N3Ñ>ªù¸ŽLgÌLC‡U:¤UF0I_³ ¹ûfÙŸô­¿¬ç·–ÖN›¶–”v­œIAmƒ0áÂ1‚F>‡Üj½?áA¿‡#a5ŸíåÒZdþSŽ`êD)Švò驱DOcé v;[Å uâ<É—ú•qü&¢«L_££®¤ȔΞtNX +Uà•‰Ó[KÛù}{–çö2éîÜR›Zx ¢}ª]f-ÙÚÜÚº¤©/!aiYˆ#¤Q-ôwto?ú}ëžNê>‡â9ã'äSœò~>P­uVU3Ó#†]ÑÊ• +Jmcnü0*ô±Y±l¿Xâz'UD£1¹ñ‰Ôƒîö¸øðh.n¤ÈØAÆGX£lòÝ×DÏ8Ñväjÿ•Š‘\MºiK<¥¯qïø“Þã^.·ÖW³’'Bˆ¯q¦¡qjêê…â8~TÊô”ÒâÙ—ÆœÒáøu%Ê 3©y$™ÁR8Ù‹mU“`ný®g[¨ã%‹>Ú–¥'ŽŽ“„œ(;Û/hÙ–Cb’Å©t)A*TàĦ„n‡tŸ§}MÁqäÌy‚« ê%41Á”²ÖFÕu­lû˜´³Jb‚xU/#4€Ø“ ]_óžjê/Pè³&ÕÔ¹‹Hkèdmºdz'0T!@vŸ,†±'ƒMÖ˲§òbˆPxO©'hék’Þå×¹P@#A@8‰á4Hž\Ãì$n]A±µÇÃ’º¥ê»«ajgên'Q˜¡Â£ò©!ŽžžŽ(¬6ûÒÇví~WsûÉr]BѰFI$’|ʉ4Î[»9NïÛ+òÀ$“$’I>¦k®$(±¼V®†ZÊJŒ@Ò?ù(€ÜWü^ñ]ˆïÇ;B¼+Ëœq–û×|) <š$ÎóýnÊO>µ#£¤Ä18(«ªcÁ¨ê¥T–®Uy%cb챆bÀs,ÝAÄpü'ùN!'òèë¡&¬I‘$irÛ﵉½¼Hä—Ô†áoÞùïûïæ -7.”6'0JAâÆ¡Ž×÷™ÛlÙ |Fa\‘²:hét =#©Èµ÷)ââÙ§ÓÄËXg õ2 3UT ä´J<@²’=§‚ÖÓþ½zdÄàÏX~‰eZʺè)s 15T5T5‘˜¾j’VFXKFÌ6 k§#¾Ù{Í7yÆ,îœ>Ÿ%PBˆØ¡Æ»Þ‡žd%ÕÈXÔÂFÃ4Ì}SéŸ^ðI° +œbIð•jÊ|&­W h«<³æÓþ”›ÚÀ‹{xpÛávhô@™kÕæMÌÇ?t·Õ6eÀ*£ŽŠ±ë*èÅP¨¡†%£D »hF­q¨ÈØìÞÓp2eXZ-‹uhQÖI&5¶¨À“ü6A«îs–—6)·P‚‘á“Î=TbxÄÙÏ ¦Ê4a¸ÆJIièj#>Yë+;SU6bCµôÔÛÄX]ÈúLÄèñ¯\Ï‹RcØÎK¤ª©Ãæ–BÓá4pÄÅh#Y^[¹i\µîö¥ìÂñhux&cH*Ò|#WáF÷vÙ¥ÍÃVÁ½A@&c’pˆÙ&“ï&5M Ër´ÔÔòN%zSuS-¶‡#ÄØéÊaÌÝ@ë¿Qº`}*Åq¼›uËŠJü ®«¤Ž¶¶¥ˆPa¤uWU& è§Ã™¹}æâîsW™²ZJS­aJ Þ³¨„©RDÌõšš®rŒ™-¦åô‰@ûŒ@‰šUUÓå\n­pÜ+ί©Ëtò 2½5%ßÍ”6ÍEÚß ¯>šþ=j®Ç]?­YpÚ¼:J§ž«/òϪ<¤…b;=Ø\%‘¥Ê·«êó,Í2ä¦Ñe*Qµ’…$ñ+Üi+ûÍ—Ü8Û©YZf!ûæ*. šò¥=trf|2zœ6Ÿp•(RK=Ð…Vw…[ÚöµíÌçB0þ”cØv ŒH¹‹À±eľAÌ´ŽÈO–FÅ» R×áÂ,×.ʸ´Ìî.ܹy·©JÁ´ƒ¶ÀG¶Œïw•:T„…FÒ…ã:áMÄjé1¼¿“è0쥅f + ¡‚8Õeª +»KF'“ß%â ¬@ßÝyÄó’¬RGåaÀ +oxwöäù{ž2¬™N[JŒâ(aÙc-hQF*ài£J«!Ù0 Ýì Ôñ'‘éçƒ5ááÝ*eWÜ%Œ«›,U¶ö?Ÿ;‹¼w×YzÝuR0õÛG™¥ÒÍƒÚÆÇlÖ|R8*<º&óc +.ÞŸgÃg\º‚¹«*>R®Æ(3)SSC,TxR4´ÔÐ +UŽmó»&+´@x–&ü‚þ²>¥wk(ÈË[3tà‚6 +¦T6F&1˜áX¯õÛWg–½`Ü÷Êd$í3FÐ_B3Óõ3ëæ)JøGO²CˈÑÖÈSý.ªh£† €ívk[Ý"÷àk‚QÓ0–Æb^úÜA7æÜoê[dê^;Ü+ŽknÀRcRˆŽÊ7øÆ}ê.bÌÉHÎiKÚ2§fÇéSpǹ±ãt“ÇPæžž'`IÖÜ$c;K»1<>xÒfïJ 𥭠%F O5Žâ4ÐLO”¬I6ï{Û·!Ñà©üÃ{)'ão§‡v‚åűÙÄ“Öic9»E¯*Wfn¯¬™RÓËH×ht'À[Û¯n+°Œ×.²”¡– X[ºýøk~ÿj¦”™ ãëÀÒ|Ì´ÿ€aÄQoÎ ¦ê-MF1O2Ðb@™^÷ %õ×µÄsØõdëŽB§Ì~ê·7·Ãˆ³ýë¹¼dÛ˜WÇQ™´…3Â1®?Íö…ÏÓ:‰:YÜ*k1swŽL88ŒÀuïâE¿§€ kûÛwÔÛ®(èÙ$˜òšv%nãkx‘>4Á…RâVh¨£ª©»f v‡¸$ý6ê›0ÖGŒà¸V#S"à“mªßyB¤ò·Û¹à/É_éËë‹w4fáwo=hÚ¡M-d¥I™˜ l¡í·j¹ŽGr—”JÛIÅ$í]b£f¯L/êKóö-O„Pá¹ò•#N!M +ÀÉ=F­€Ù´~”ÙÛ·Nèftèþ{Är&zŽ`]AJYRª&¦¬»AR¥OØ•T•½Ž„pyÖ璘¨=Ýí'wјeë% ±¤¥{JONÞ+!·´ÛLêÁ/Ú‚Pp8l=Df£©‚ª¤FZjÀ|©![a³~Øñ?‹b+PpšYq%Ã)Þ¦¥¡RÂ(`ü²X¾¾Î 3lÆÞÍ º°‘°IŒ}hFÃû +ÔNÄbAfc`½øË§€ª¦¦§uj¨Ø…E‰0©Ø.¤8ÜÞw{x÷‘üºÅôº¶@RàêL@#ßI3=âeöÜm³1 ˜¥ié†pÉw ÌY²•òúfÖ”ÐÒU+CRðÓ…½A€+²“ÞÆÚkÆüÅ#yÒ3j«ÚÂÞÞç^Jv6i5…ÂR"“ÜdË™€Ç‰-o.Ål×Ô}ÓÅWy|†gEW:@q¢x׸ñÃ…Uf`0ô +i`_˜(42ìïÂ}Ø»¸*^¬Dá=·¦Ü•q8W¹ Ǫr¦q|;Ë\OË•"g@ê«24r1¹Úäa·Þk–n”Q„¸í§w}’íÊG]rŽûÆÑv¾ž:ñ·ùTÆqvªŒ+'½q«qs©áŽí_Ú]Ú÷d`DcJnž <¤‘k‰ÐýÃWSC—èäÆ1‰£Ãp¬<–y—åŽß½kÜöχÌ-Ú°AsXJ'ÄpŽºV¬õ³Æœ2¦SÌùï2Qdì•‡ÖæÌÙ™*“Ãpèd¬©©šceŠ¢ ÌÄøÁgÒw«gôûÔŒ±×,´X-p2ÇY ÁçRU«A)1È©1ÈH=üxßÍÕË÷çw·× q2•lÄIÂE&Vâ'= ·2è‰è;Aö×<ç”1ìš«òViŽ*<É–*^Šºg‚µbž¶H¼Úg–6(×VÚÆÄáÁև╞ý[E/Kp¸"9 ¬Š4Ëå¦ÈdYÍÕ®Ææ%Ôør<ìO³]ÖÜë°ëN¾€e[R DHóáG™OÓVO»Yip,—F$Ô¥ž5Ý*˜]ÃpµÁñ°ã‡Ôf! ÍI pK‰â +`•Å4b$Ž8É‘‚(PªIAŹ×l¶.^–Ð TÊ´ìLãå×FÙNð5nÊZh“˜áçY¦Â+)ðôÄçM5SmˆŸß·}¾ÛxñqK”é‘ÔãØ„ +%TÏ:ÝR3!ØŠH¹,ÄØÂÍïíbß&²UÍÛ©e„T¥t·z)>ôö±m”[)ë‡HĨû…rÀ2þ5šqx0½M.-‹â/²!f=ülRI°žX"Ufßæ™åj¶ÙÈtŠ?`®|yÏ­¯æûBpØXÊl›>®(lQêèÚÅo©Ÿ¬ï§äíS¢Ñ'°¸¡°«« {húz8ôÑ“º ñ~¤æéé3T*èš0Ÿ::D’ÄÓÓÌͦçøXiÜÅúfè&œ3vùŸ0St›.{¯]‹ÔE%\ʦûRž”–w#BÄ(î}„£°Ï¡­öÞ˜<‘l¿v%K@œ÷±|öù!òÑB;@'Ò€~¼ú”Ã1y±,¯T?¬m Ì‘@„¬Ä؉ÝÜzªùŠTî FÐc×<ê–1-uMçNº…f”¶í¯Ãœ³Í%&3ÿ-LAû>6ú8»-¸]´)H‘ñ«eö«AŸ fôÉ™ñ~šcMU›TÏ…£Û=Á´¿½án'ðº)pèȨ>M@*ãÀ{9áù‹—IR`LŽŠWum¨Âq¦…>£fjlûŠ,ØD"· wUŽHFmý—ã^7Q5Po/u8ïôÛ†¹nî0»€éHÙ²ž¶Éî”#šú'“°¬¾–¯ZLzAµ?¸k}-qÈxV3)–v ¤î¹7"þ¾úglG"™Í@Kp­+ú×Öl=¸>Gò­9HÔ¨%N¬ma}9޾£¼q’ Üñïå½Dyà>UL¹•+n1Yz]>'\Å£–£ M®$?e6‹\€E­Èu9vºZ3P—6ð×å=¢eßš-,H5E)C­cí¥ÖNõ]Ó> »ˆ¢5:0SR|°Ti~1­u=C$ªÁ‰íÁÕýÖ]sh’=6Òõ¾ÎF>³¨=:ÌÙj +¬&®šªz€†4R¾`¸Õ@ÔÜ?elwÁ%y)Eüѵöp îÕ˜t¬*=õ[G›·x¨`hºz è7I:¢±>9RpÊŒ=ÌÈckÆÞñ=¹ž#QbíQPžYfßO{ÅvÅ«E A3Ñʉ·•þõZ„Éé ·?K•º=Ò¸²îOª›óÃ;K!Ù·Ë[ÚÂÜuÄò\óGæÓàX{xS»ûéùEœcʈÙÌ jšºMë—(boE‹;ˆŒ¬D Y‘®t[¿2åX¨2Õo™‹A°aauøž/zW›^ Ÿi´&ÝMä·ïF±&œzñÔ|Óê[†›%|̰ӕ¹‰ÌŽåˆ¶®¶·³‘365IŒW´”±˜Q¯}n>®]æ÷Ò¥H; l=u]é»ïß$}*ú?ÓÌÛÒœ©f:Ÿ™ž%4(Âà~ÆÇáÆ9TV¬hv‰ø|x"Ýë’ÊLO¼yÕóM g ´?a•í•ús=U|qÕÖáм…ϼÊãêöžúx³;írÇ5 üºž'€ëR›œÍ/¤m§.¢z¢È]^ ‚.ŸÖÇY‡b2ÛzîF²‹ê¤|9Ê­ѲµTøp•[ê‹+„‚q;6ISrp +…–ó¤9?¢J™EMUt&5F`ÂÄØn·ÓÌXe*É\¨}ámx$µ»UÍ¢‰Âz⟺#Lª•TÍõT=>«©•þ]¥6Œ(Ûpí©ðñäüËHe‹É·ã[·ÿ-¸•ƒ‡­{'¸R Å~—óRáø¤˜•f÷§’¨ÆÄܱvû_ŒT˜5xÕJã¸5v]ƪð M|œG©–’uïi)ÜÆÀ}jxý†cÙW§Í51NJɄβÓSV š"6àeˆ›:‹j§CŹ…Å­áüºTF¡¤ÁƒÐzi¼Æí_V²Dá†ß:‰Ì=Bë^+Ô¬ícÍXWÍTF)ê £¥Š’š¦;Ûô ÙØÛ·n[w75Œ¾Û¸A^ž‰QÌãEndµî¤:ëµfS¹IV#N G×v^ëÇJ(zêW/Ó¶YÈ4ˇàY³æ1ü>z(‡“:$²ÇñJ¥VHîƒn·Üäs•ösçfYSÄ8â‰q•˜i`œD€JHÚ8õT|Î鹕ækº²Q…j>û¸WGïà _€`õ8ˆ“+šºŠ+b5‚$šGs`vD\&í4ÜHöòI·ÌŸCPô´é˜§moó·®ÈIÙ^äIHjJ 4$‰mu&QÜ6 žTbźm˜Ô±â? +÷ÿF™§¹ãÕWNð®¨aŸÖ|&³1@±Á%ìò0c Iþ8Ī S¦œŒþ¡wq†÷zêñ”¤>ÊP²1OAà`áÑ@~Ù¬Ñ}’8J …xAçΜ0¬×™°,.¿Áëê°Ì#4B°b4ÐÈÑÇQnVUÍb4þÞY‡â9ÖïNÝ1ôóŽd¾¯ã8~‹æl6Xð,$:¢¢xÓÜBŠÄ%ô,@xó»Ýû‹œÝ§ÜBK€p¹H;G‹iêj>ìI÷-÷–Õ×#»S*×ö¨ˆ33]eì½™³S®V£­Æ+0ØÍTŸ#“4I¦V1‚Tiá-ü(úãY3&ÔÊ¡Ÿë¦Ài£È”Öü…,bšƒY‹,km»¶qköä¹Û/gÅÜØéB%eX‚ÇcÃñºü=§Xœü¾0‚Èü&‹ÍIŒokiº5:¨µî¨õ7¡øfCÁ3—Rp<5uË´Ø•L˜[Ä$Ž¥©RY"2Æw 2\Onsw¿ªû~žÎ\nÁðÃ(t€u¸’¨‰ áéPví}7omÕÓ†Ùa–’¼JÐ` DŠj¦V’ž’IW ’BË7q{Ài{pŽæ9ñ ÑOU_‡ Åk&ùºw€íòeŽA*yg¸ +@™Ñœö6†·GùSpt·¦UµJîWY59›^é„´²V $ñ >uÏÄ#ÂñX+äO˜‚ï$_âF÷Yu¿pHäáQgêÚš|~ŽqTRüÎ%Q*"Ã-D„6€[u®G‹\8Eôõ}¼n_ù+æJTÉ!*Çðü(ÜlÎâÅà0UfÆðì:LC ¨Š¢’¹ßlŸ6 ½ƒƒôéÄ­O°¬™u +MC.æf¹:ë§ÒOnçë¾:&<>ts›ï»ù‚ŠU€¦þ3ç)£Å¢š• ¶)L•î{´~ˆ)Øó¬ß!f×z˜Y·´a°àO¶±kë}9ݲÏãØZ<†¶?E/C1š ÃV±aø`u¦ŽC`Ÿ3OßÀ‘}ì×v†]efˤ(¸ÛŽ‚¸Ÿ!* ¤A;-ì—·ÛÙË?*Õº¤(©%dÀ’$é a4ÑúWË]{Í8šRERƺC™ê°\{£U¥£¨…jÖª›af†Iá¶€lܤé{q ÕÌÏ€u#À±4 ƒÇrÞ ^ôv¦Š±°çdŽ©Ñ,<ã*¹îÅw’xì×ê}ó åÃw|ëÅÂ¥¥¨ŒIÀ&b1Ù²…»“¿™ÝÝÉqÇŠÒ¹R†$ƒ·Bg§®’Ót{8c9.L? Å2ý^&jð‰ê©`–¢–¨ƒly7Õ£6;­¯‡¾k̹ÅI˜0·«£,“T2FÑU$^QUš;C¯¨?hj5äõôy›Ùn~ý'2´uMjðºÁû“·¬GÜ({“ß\Y¸BHñ%C3< =fOIÝõ›•±z¯›)²ßPhéç\›UQW¸4˜²Î$|3‹˜#œ)Xäݶ7#ºtœ1I±|…]›òœ«‰S5 ÓSUEfRЩ$:°÷YJÙê~êo…Žcb—­Ü +I=“BDf¬º< +¢žz[žºIÔª¾–uc¯ÉÛ+׊S +®ŒÁQ î72U*À†‚òÎ&(˜Î!*šYÑå0 ëöPÇê ¨ÐTžýbT¸ös̸SRç>°!UÇkR®é6‚Ä­'òz"›kš‰‡ùGU>_]iÁñ©1•Œ|°•#Ž:c#3— ÕÔøiÉO7uÓ–©µ8LÈaÕ¥.ÊïmÚ»°utª QSÂe§†¬MP<Ѽ‹®£uü8¢é4¿Öó&h¦¥Â)ðL*HLqDÉ–kcvÜä)öZöpcºyädθ·ÕÝ)EjSŠ$L ˆ¢.Ôw…6YzåÜ +%GNªyž\ÅÔüÇK€`4mŠãXœ‘ÒÒRRGï3*„Bü§ásãÁoêvSÂ:wƒäœ¯–0º|ñƒ gÆ3+ËS]UYQU3Kf.ÞTHÕF—!@-m9oçÕŽæn’—ß ‹—ަØl§ ØV '²zj)ÞnÜr½Ölê¹ï–° +YD@=*P“ïò$t«Ò—Szí˜â­Ç–Nžtÿ QšüI<—òiT!ŠŠòÌe&ú-É$Þ÷F¾b¬xž\ÁQúPöý#¬q«Xû¡I +¶ÖØ]õŸvÉÚ…û޽gr¦GÚÛm¬6”ðÂ<^f ®Õ—¿ÛæâœzÙâ„â”(%#¨F>{h{^Ÿô¥1Så^™bø$U(JŠêŠÊW®ª`lLÒ¸ßÝ[(ðTe¼—£‡2Ê‹>'Q òÄ¡]QC$€krÚ÷ÒÖäÿýXÿ@v­2s\þÒ^&YiÁ‚SÅJAØ£Âv +ý;}?·mfns?j¯±*Ø”ô”ðQëÙ@o©OQÔÒ—äLHA—pû®#QBÅ|ÙCä$Š~Â/·¹Òöú*3i kÁ@”â¢TRuzchÉ&çBÇ™™¼ye¾Q•7±'Jv`ÕR–_’~QqÓ@c»ÈæI y$$±:’Ory>õ0g¨ñ .!->EÃ'yhpÖaä‡ŠÑ vü9ÿÖ'ÚŽçî a~nôh*ã£îV=g +vï›ZYäå;Ç0â´ÿÓXê ÍT˜ÚDõ4ø,é+m÷ö§Ký\,¹’Œ?4K…JçËu{èyÍ]m¸²±°{McMË­HÒ6ñøÕŠô¾¯,c%‹7Šhº(ü¹iØ]ïoµãØpÚþ…qUXv+VâK•²^Qž:Ië &®YªgO7É‚=ѯ¸¤$é¸X c°>ÉØÞ;CrêÔ–AÒR£n$)ÜÐEÃZÖa;h¬z´êþ'‚fèi0ˆÒ‚¢®7Ë[‘+Á>>öÓ÷pgëà}‰ÕaþHóœcÊžm=Iòcc8ÑOJÒ€ÁI 4Z› ò[³ìsˆö­Ç ÌBHóÒÆàZ%ÝI8t:KôïÖ~wÉ8„uu´TØÂÓFÊ–fŒîÚv—ݼ0½®4æ\Óø%`YšNf B·¡§Œ•£¨y§e»f¦HB/ú¬†ÇÇ‹wñMÓÎ-îÁ·p<¤ž‚ £3ÒAô¥7=™dÎÂÒ²…ôR:ý}j>fõ­Ö\çÅ™ž‚ È}Ö¥§Z2 ›í=úuøð¨uï¡òô‡1>[Îå¼Y ÃÎDȳ˜+4.@·a¨¿qȇ´.È3ÝÜò%•}®$ʯOQÄtV†è[ب‘ØxZWô/­ÿ33ÒaóOYògæ'‚!£D¿¼Tx wàs/§üÉ¢|CEÚŠŽ>ÑV1Ò:-•iÒº²jìB‘ ™LK!‚tí§·‘±“òâ÷ªHÔÛÏXçsx¼DÓ–7 qZ×·¢Ÿºi׸«z›bÍ7“§”²¬„€X +ü4ã~ „TRב:³J£°’“£3qm¡ 6DF&–^fMˆéǦ‡n¹zˆÊyÿ§ðUd‚ +'–T²‚^1b¾ã…FWVòNùq.—Íy¼âà¸Ä %<:«vÛ}(?À:½•²–G‚yʕػî¡`Å|ÛomxÍOE.%T(釙#µ¶Ž#Ýå ±’òÎí£„²ÑQ<=´5ÔæÜ/¤l÷™ê$tÅÌ©!Æ‹ôž.é:YQ‡á_?RÆ)‡Ò8Þmþ»[…Mý£¦«er + +$¹ÿñ«Ï9á°¬ž)0¯4…ÜknÂýù a©‚f™Ö’A"cQiغXîl‡Âã°çD?«?ë'ûKŒ¢ôÍà h' iÿ +ʯ¤Ï¨!œåHÊ®ÕûVÿ¹¨ÿ¢zǪ'ˆÏ§ +œ;¤2e Á•ó´ó1(ÙI]9g²ý”ŸÇÀ7ÓÅcÁªqL:Zjx¥¤yJ”ßjK}±°úy—»µiÝÜwêV¢N6' T¿}`ò•¥@™¢§Ä$™K‡”ȧæ0©š9SFÚñhT‘ý<'x²÷ª#^XûOiÛ^ Žúo™ƒ0c;SŠL²ÖÕQ°d‚˜Ö#bì<{Ž{Níàn² á²f¤­ØÜ+&ìÓ®<]=tå•rÍ^lÅ“¢t§š{ÙäÑnìO‡n-º?žF57ȼÒFµui}ÙŽàýqvGÚ9ÕŠ_‰:©õvrÉAq¾j>5„U`X¤ØMiF©¢rŒÑ°t6ñR;ƒÁî£=d8«àÆaÉøuN3Eiz©þ^ic[™d¦K¹"úøð…J¹CKB®Ôþ(:¨!w».¯¹øÅEâOõµœò¿ZðÞ´äÆÂªº“®k(oA ¡’H©£0\F%%Mûë­êÈmo2EåÍ eÁâ•8ƒŠ±;F=TÎööNs<œÛ%}ØTx£Q‰’6ùÖz5¤J…|I&šŒ}`eíð,²÷q)×Τuk­½c­ÎÝqÆ©sP3u4u 5,‘< I¶ÉIOLÂŽÚÇÞú›“~aoÕæ[îÍËrŸòvGìÃs¥~ã2u$â|ªí¿±L÷u­Û¹ +ïmÆÅ¤FƒýòxyÕ~}Hô±OÑʬ³pÚŒ=¤§ùüXËEUU\ +ØMÈ‘«Ä°Œ(Û®†÷8úw…ÔÏY]Ãñ:œ©˜i_ÏÁ1Již–zZ„$B¤ôü8+úoú¨{xrRêÐòNС²8z‘û íó,ßýÛVI›VУ1±@í‘EóצçˆzãðÈñ®‘æzß6· ‘[ɦ™žï !–9uÚEˆ?W×£ K'fŸMù‹ë¾`Æ}@ú•«§šŽ¶8 +èi)¦r±ÇAb‘B€w‹ÝÏ%Més6nöÅËD¡›`JÚ RÀ•kÓŠqÂ:(”ö}ŸäÊYuN%(T•Ↄ°ˆÚví¢Ùšq ÌU¸–[ \¯€ÖT3ÒaË,•Bž"}ØüÉ‹;Xx“ÀÕH°>”b¸=”(#Â0ÌBF2QÕ3O•1|Å{n¿kØs]­oòç9WsgyÝ>µitq×a©—sò6÷•µ6—{§N PØ:$W £ +¥ÄRln™ñ\0%†9 fÓr°Q{ŽE®ê‹g,ªhá  ‹ÑE²ªš¾Mž2[ÞÀßN;úÁ9Nd¼§x’¦®Òa+ÚÚømáMYö™}húòüÑ0è$ÿ +¸çN™—$¥y‹/T k+W›E1÷$­s Ëàëùøq?$óRÓ¤S¡§iàH6¦†ÝÇ2Öá»”ëIÀâÙò=OxÓ½ùLŸã6yÇ’`óLJµx‹ýšà»±Ð £[k{ðÚgk™>îeëuç@œI˜I³ý÷±È²õºúÂ`qÚz€ãJ®tƒ8õ£9Òå ¥M$íY%ªjÊŸ"š%šYÞÛT4¹Ôè9Þa­G¡ŠhÉ$ˆ2m¸¸aqôwá†ïfŒÞÙ!ÔD) ÎÆŸÝlÍÖÉy¡3çIÌK«ÂqðºôjjÜ:g‚hÜX«ÄÅYHøƺ,% ŒâU¨Â§hOb`GÒyÏë]í—-Ì7Õ‹[g‚ËMÂàÈJ‰Ùæ+¾µ·æÂï;e¦\ +-$…ŒvyÐëéÏÆ2çNçÀæ“§Í8Θ-"XÖP=†ÆÜpËuôu•¡+ã +¶mð<ÄÜÂÚâäxLβ¡¶.tÑ`R«¨.5M…™p‰ZX¦PâmTûmkñGœp|ÈŽz)+B ‘} ÿ_"Ý»›…”¨:ZKy’­Ð•žžb‘=9®Í•ïM[ ˜ŠLÛ@qïáÞݸŸš + +˜êaµDª7¾õ¯íæßyËä…(ˆÛúÒ;§Ãþ{iM#‹Ïæa•25 ;?”|Ãåƒão§^+²ýu.%Iåí‘Ý!Eöðûz7µ¾à$ÀaF×ׅư"E#³µ5n $,Ë2»ÊXÝðæ|×<ÕÑÞ¢E™råKQâ4:9_³$wÅ2öe$p5º¯>ÝÆ¤jgÊ‹›¡À²H=U–‹£ç;e4A©ØÉhÃjCŸÞ]|oÈþ®=BTz”êlBš›ù3 ‡ \6´{ËÉqmå$_[Zü4ßæ3½ÔæÔ¤&vLq© uïV»`âö˜ËfÊúÓÚ¾›åz¬/1ÔTÒÕTTM,E¶Ñ¢¨Ô^àG¯^Âý;t#§Ø ~?†VuK¯ý@Ââ—åë¤+‚`ª)•ic¨Ž4þR«Ù­­Îǽžv…oy`Ý£ét€HNÀñ#m;q˜·›ç °µ‘ª#6³I΃AÖ¶Õâ¸.QÅâÉù3§¦lB¾:7Hñ:šzÊÖ’f§.…‹Ì,kÀ¨YÊ\áÑ\­‡ÊÔtÒ¿Ãa´JбbÓ|òǸx¬›ì§K8ßÍ˾Ýíá]«Ä)%!iPâ4—ywçw÷l; +”ÊT H8ƒ¾‡¯NT/„ú”ÍjåŽÔܽKŠ *^òîËÍò2Tjwyš°7'_EÉ´— ÌÕKO\õké!p² 0ÊɺUpU®Ép-kXžf·õW[¼Y;9ÞjµJä¶ÒpðìÔµ qé©Ï±ÎÏE½’.\¥A€è ×W©üOΘ¯FrDm…Í…FØn5‰37šâuGjH@¶À€ÙÉ$î,‡wÚ‰0ŒñžÓÎÑÃ]Cb‘šÇ¨,Åbye%YlI̶¸ú9Ü‘-Ø$8 +•LÇLÐúï]Òåd•tñ¢õ“ºÑÕNŸR + •Ž×åºÅ¼ŠW fÔ³-ˆ$Û¹cÄ:]“òÁDZ\ŠT. * “ «c6Ys±ËÇúZy‚¶T.5³«©<0Ý®ÅÜÝ뤫.}M…@SK$¤ô€vŠQ‘[–ÞN|¹ÛBv;ë?ëÆK éŸªú8³ý.V+^ÏÐA™°8”ßå£#®¢ñùYÈÛÞ)"7$­¦;ŽÍ@p™g8eV BbŠyOœù†x’:¥Ù6f³ƒ~bÿiÿRÂó}í²¦< &Wâ*rLN¥„«i¢]ïÞ«n×Yi%B ÁYè8ÄÅ øFzS„t£<æÜÁOQ± Íƒá˲}ôú +²»-w’EDl¤x¾é¦äêvSÆz‰˜1¼; åª'zL**½ÒM‰I‡¨óÅ2Æ U‹uÙÞË}ÈäEýl}³¥«ûL•+€”¬cJ>ô`ãQÏÔÃíÞ´Í’¤ãQGV8S_§~³Ôô;¨Ìs.jÆ*xom°ÄÌA[ícºR@Ð>žÙǪðô¯4ËtþYß2LŒpŒAÖ3%8(Z†FWG@û4ºÞýÀàè r²‡³tæw¿ÜÓák£Tâq•¢ÞÁ-n]6u°YA(h/‰þ%zlš2^¦áêF}è%6|Š<^¿cæ*L=¦b1x©ØYB¡®lvžãœ° 9çL“…äìÓFaÊxF/>9=rÔIS‰VÖ,¦F` F»jé©ÖüʨŸëÝ=Èk¸·Y¸¼\”tŽ$lŽu ;zú’Êw]Ý ¬<ü@BcÂ:I¢ÝÓ.‡VfìTÔbõQd¼¼‘0Õq ‚ÊR7)¸_Vb@·Ç†';â=Äp,»€tZzй²Å &bƒ¥þ[[K[;­©¤s†X–;+) a¸ä¯ôÁÚRw·#üêN² +A™€1Ôiä_^fö Ý©¥! Lñ;"óöFÆú{™&ËØãÓÖMEUG*ÕSÏ£rË ‹¡ õ± ;t³2á™ÛqW1Qåܽ=EÓí%P\ÞAÁ®óå_÷ §jœ«§åGndjyR6˜¦^½TÊýKèoSkrQ)äÁ³ Ô´5ÒS³ù–¦Åi®m¤!ǃ†æÿõ¶ïöa™ï…»À…Ywe,i;t¨‡'¯PÿK‹SÛÞ··‚¼ L"8Á ŸmoMy/"æ~ˆ—¡ý6m£Ä&š»râK…ÝÔEcô“ÄÎaÊ8Ži™q,1L²:Ü‘ý<Æ­EÒe@‡Zµ*@Lû¨Té_W²ÿKèåÀ3PXè €n[^ä­õÓ–%ø(õŸ +˽,Ç:™)Žš0LrLu*žh#Yé±XãŠåexšñ=6Ó°7ÚeÒŠ™¾ÝRÓDj`SŒL…ÎÅJ=Ÿeé-=Ùƒq“8È(õâù{0õ'Ïù2_›ÊøöU[g fÇø„Åý§ÙÃÅCŸ2~)‹Kax…>)ŠÑ[φ™¾`Å a‚Ÿ<’.7~ù–‹l¥'a8O”Ñ«¹MÊÖ¤:ð 3“qŒc À°¹±œ^d¢Ã(#2M3èGrxÅ•“·„ JŽSvvŽ\:*8^á ügzs€õ¡Y7¯6J|n«(fþjšA"M‡æØ5™nÙéâ#ëå·×*uÝÐÍ,_IJ›@y ‹lãéJ•E{þËö éu$RxHè¡Óx\Õjiªdùl3¦›ªk_Ü™ òr,‘Ÿ«r6[45ù†¡Gémp­ì>ÎüÅçêmJll"‰Úßd7oéNùë%RçÌß6!„N±Gæ5¡f™ûKí6nÅ0|#9O&+‹½¥žçu¶êuàox«¸™Ÿ\(œ¿2\ŒV\'3æžìÂòø´1‘¹>ÕÇÇÙÄdÂ>Jw¢ &v&Úê-õðŸ6±u@ð#zê¯f.8tLÈô¡k%æ¹±ªhñ,sm T 6åð6%vÌX, ·»qo øð4«‡ˆÆxÒF\¸aP± ЩKŸ1üCÛ•|ìJwŒyÁ±ÐÛ[|8冿œ#-‚î?Dt÷mØñ¶mKø‰¯][•;)N'…%ñîŒgþ¨bëRÔâRepWP;_ÄÛ™pê…Åq#˜pb šƒô…›C`4²ejpÌ,b<ú挲,­!à·á\ñl¿S“°déþxŒÔh,QC ,×øŽÜPu#ªÔîSL2y”팦Ú1Ð8}˜o+n6„¤xˆ³lÁ…[iIñ4ÇéïÓŽmÀ:¬˜¶C<¾U^åxÁ Ʀàý€v3„ÒV¨j2{n¦çÛÁVâoÛv-±¥# ;(­¼Õ¶«6ôõê éÌ­Mª*p|>UX¡z¶Ûª.¡wXioÅ®Géd9kùÍ\fšµUp}ëïv\¬áõ>T4ð#lzÓyžTåì¸ᢹë[×Kó÷]*0œ¹(Æå„¬=j#fk‘k’4ÓA†â˜5c5ˆ4ä©ÙscÀ&}cÜ:Z^ÑD +±J`Dó&=’³Ž´Q¨ªÂ˺}©½uÔÞÂäߌ™c+OCQæÖFZ77ÛÃ|ÛzÅÕ®˜O¶”?r·$PÑêGÕ%Rr´xV$A𵳕$1cìûO1šçËà­2…óím¢Ú|xKhá¸IšBÕ‚”¼·Ý2É£¬Aqi¤q‡Üœ†±]}ÛZý¸•ÅiÌñ5Z¡š¡ÍÊ÷"ÿÑÃ+'´’`R†TT*Œ?K3X&-O•q*¥Âð*Hü•žâ(Ï—àÄ›{×=ù*:öIWQì Û·tÊVg~ÅÆ”U4£|éÓÚ\~¯É’‚®VF_2'ˆ¿ˆÖä}|t¡‘h*#5"úv«¨q–Rdl¯3VUÁJ‰ü»Æ×¿.§ŒB“ U¥ý @,8N«·Kƒ˜m‡Õ¢…ét`øÆxVÅ•§Ä%“B×µÉöp"¬Ä¤Ž[Æì’Äà£!*À¡¸`{‚ïÁçeûóœd—í\[,¡ÄPG<úhS»™»ö‹µ©;ÚH« Éý*ÀsÖVŸ*g2 {,报®£ªK¤©*ÙÔ©·ÒÇCÛƒwB½Ya Œdž©Ð®=•s½Óâa"¤’ší dl‹x§B{¥›¾ ç4<ÞGbÁóUÃëð¨ê÷§¬ÓYšúIAUÔn‡W‡¬¥¨¦"¢«ŒíOZ— Dv;dÜw±âh²ØÆëqŠ5šz|R­¤‰$´d¦Š¦TK+=–ä›ëÌ„ÝnÅ›o6w0S«+t…iÔ­ 1ü);&¤Ï컹žn»ÆÁAPÄtˆ`a&‹^9Ôì{ȸOOªéðÈpŒž²¤1QÀ•²‰çyíQS´Êê¦Bn°oê§ÜÁ€æ%ƒ¢¨É˜æ5L•ËU’ÇèäRŒt<7¸g-ͬÔS¥Ô¤‘ӎôp©u3V‘h”©}⤶˜)êª)$S»BëØ©#‘°^”É—âLV¢qˆâd“§‡Ú'ãÍå¶6–öá¦Ð"”fÙò\ACbu4òÔHe”—vöòm,ß#ˆ%S—ŽzvWq ÿ_ù+D(Ñã X‚+‡,/ðÑô'é÷Õ_§œk>õÛ)ÓâX¦#ÏG„btÒTaÓ$4Æã0ÍG·Œ\õ1Šõ§7åõÎgÅ0Ü.¯t+(ÙOúi—ÊÔ{‹«\Øv‹ûIú±Þ¼Ï.›[UÛ©¨IEKÇÒˆÜÞÌë+ÊSIRT‰:„$GŽ#çJŒé"%Àqšì^¨â8­+Å +šYc{ÇzÑ_BXǪÜ?$à*̽G™r†CŽCÔ<5•A&Ä<ê€Ì©I,ŠÅAØ«knâþÊ÷/|s}Ûq7ï-ww ×ãñ©ý€ž“!D ÀÐ?swx÷¦å›b¹Y:ÉQ˜Ã‰èùš 0<£,Ùèäür²I°L~oò7:"ÒG½£*†ÅÕ›Ë$vbu¶¼2Ÿ©ìéZ`]AÀÒ·XŒXN%SGÊ‘Êå¼Ú"[Ü:ýçŸHßP;ó”[Úµyùʱt8¤kLáL“³ žt4Þ]ØÏ^XiW{³‚’£ m¨¹ãÈNeŽl§Vø¦ !Y'¥³1‹Þ¡YHÁ±ðñ×€„¹w$T>jÍÂ|o/ÇT)äÄ`™Fç*²Ì²Êªöá6üý oýÖð7“»˜´«•´\h¸³.i€R ‹w°üÿ2ÎM±ºB”´•£YP*ƒŠFØŠ1y×ÖÖ_ÆúP¸oJ0™zm‡QN!«Ã¨ã‚(2%W§‡M,Iß¿Y'éþgÁbÅ2Ü´õ±Ä€Æ†èê=»ZÆÃîäs½÷ý»öH²ûµ8ÓGÂhÒ¼@¢ Úó´}ÆeVË+m® +¤Ž˜V1î W/¶_ÏùWbðÇbURy’¹Ü­!̪¶¹ú¸€Î8äøF匰@Ö>#SáÈ5ìÑìáõ¬™p™$íQ;I&£X\\¸]YÔU$ϳ4kºÑ*^¦ÕE‚ã>Rmò˜ÖöbÖú¹ -bæ»H ç:ýN§ˆ.÷Sùb4'xÖó& êáÆ)ç¬}-\‰•&¬7š(äŸDRš\[è·¬×ÒL_Ê©U†Jò2 >è¹v” æm}­3KmÖ¸ö",úŠúˆË·+8ûM¼µ 8¨*ò%­©O-I bÆÃA©GzaôÉÑšœÑ‰z¢õo›hß.ÐâE©ò– ”Ž¥›zÌ“»º’.ƾž>Îl¢îÑn¶Óˆ)^žðÎFÚdi²C²ñ(‚J¸Õ×A­Ç¾½g,[4Ö`pfŠ©ñ|˃`æ‰ê*\Ï!¤Z¹d¦HÄ–)溋öxsß×]e¶ˆË %J[‡Hü) + yëX—õ¿»lfVËL©*‘ÓŽÚ4¿‡n‰V`™¦¹ ' ©£hØ®âó¼sn~;U~þ.zRùz‡'y•…f0¨ñÖöïÌ%ÉZp0 LÔ(% ½t†ëªæœS©3#–êå$#vÔö׊,‹›p<»W‰õ"1ܽFip) BWâL!Hã@bƒÍu&ÇÙaýW]”¯>߇V®é–ÉVЕI‚“ÓÃZ”>—²G/3G3û4ÇQœRdÅrÖSL·^ÀÍŒLŽÑ½˜„„nÜ€ê.Öú½¼:ëW1t{.Sàød•BÎjkC"Í4¤–f/{Ÿ3o´ŽÁ­sË¥-`NÄõS~}Ùý¦d¡©;poÅýrcÝ_éF3†á¸Ôô³QÉøœê#§mØ/¼ {6O¶ù&pÊÖø$BFÞª+ÝþÈ­¬3F.l2ã^ãKº ý~ô£L±<ÊÔØ~tÄ¿Ÿá8y§gJ:šPdŠ*–‘Cùrý¢Pl{i¿¨Ô5ž^Ý3Ý’ßt·A"H Dc´M5õG–1¼·Ë kB›JRW#Åè:6VZ:©hj’ª$„Ü9+Ò_QzÅñ~˜eœ:qîž8ÒUÌ´ÑÄ&b±²³¿ÌÚJÛºëÌ8¼ú`Þf®Ûº¤¥ Å.t¨…0 Ø1èØk‡eY€¼Z$í;=04£¢ÎØDk‹G!yjƒ$V R×Ùö¹;­¿‡¯Zr6 É…ÔVáÔ«¾j¬1–µûXGw{Jñ6wôß¼Vm3¡à6„«ý* ŸI£Wû=m A‚z§áN7«Ó`¸»×bôñbqMa¶A¸[½¸àž3Pi*ë÷Ϊ4¸»Yt7äešå%Ó(… ˆ#¨ƒAËýÚ¸µ2áJ\Íê ®‚:\pÔŽäí6c}=ƒ‰ S£fjjд4ÙxE˜ä*ï{ͦ‰¯u8¯‚)U–½Hâ#¦Äpy <Ò ‘¸Ø“í^0Wzr—J¬C•V™è!cf?Hãi³B•€3ÇÏΟÉßynx†¸GâŽV.‚à”‚—§{Õׯ-s{o‡UVbËt5)ÞŽ5°aìíÃÆ2JÒ;xÈ¡–V5L +ðlÅÒ~®fœ£˜ÒãµÒZ¡XèYˆ$\ßmý¼( n7™Š¥Š#Ü©7¶žáþðîf_–äúDºÕýŸå$çGƒ©™o¦Ý ô¹|Ë4ôõX¬oRÙ$ƒÌƒ“­ímx²Ë8~—q ˜¤{ {5ØhG·‘fñgW7蔜젵îp]Q8Q$ëïT³·\òø©ËUljèœÄ"‰ˆ+§Ù*=¶öpkÊÙë ̸qÀè @Úƒ°m¶ºÛèã¹hw–­wDxp”¯zCDq¢mŸ²jéö+-ŽHÔØ„ij¹¸;w^ÍEÁ²{VãÓÒVÓŠJ)_ônË©'Û{iÍ[ºýÚ–§NΚKp•¼Žš™õhòÍ5m%[VâqFVDVì¾Hàs™<š|ž-¶e—š%DÈá³Ö™ +Kǯ¦€¿R>¢z…Gˆ¶„—…‘·m]ÂåΤÛàx"ä‘dlÅW%‚?#²–žü+ÊKnº¸Rh¬\ÿ•œ$ЛzãÔÊ +‘QósÒÕ–JÈn6õ¿£=>É”¤ÂнIŒþ<<»ã`HÆœ½e·RÈáVšà£Í,£­Å©ã9‹åPË!…Ê€Aøé­øãŒŠZݺݗï¹öñ5޶æ¨ÝàhÀØ)Ò¬G0äã(ŽëL.H ìd{¦þÞ +}Á2T¸Lß϶%W–Ícb¬ñ¿*ý‹WV¬FÑÑOØ8â‰yÆ‹7¬¼ÝŸñ¡š¬ +iæÃ„ÀFEÑãkÚÚ"s.'I—ólñà„AH™mñÒߟÙÚ—YœpÙ[g//ºS2:8úPµÒžŸb½Vé%5Vpiq,J mpoµkÇSaÈ™¯=ÕâxOÉÓB¬Ã‡yHe²J; ѳ( ´RD +[tÓv •s´8Î%! ŽŠu“åÜêlÀ‚@±µÇ¿%Q0óLŒ£¾œéa>)jí¤¤(£‚:§”ð}T±ÐÑ6Ç'Ù;o¤‡9E@ÓFÁÃ"°(Ån½¦–à‹t»Xk*ºeô}í­*²Aô¥v¹Òà1ŠcÚ1®³ŸSr®?‚Ôe QcİÌ~’Z9£—mŒ5”b³ =+¤ÈÙž®£ ÍS×CˆI GCæ«Å%!bŠä0 {±Ïnuƒ°/®ØßŒºØY¾r­=âÀ„â)~—}’ýKdù¥»):^0Õý°ÍS/©/Dýjôóˆâ¾'„Ôbý.¦ªaE˜hÊÕSšy$+ ¨1’br8ö'™qJìñ™~_ÌUU&W¢‡ 5L’4h´¤…Ü‚Ø ßNKÛÅždY\ëÎ8†Û$¸¢HI©JÆæÚÖÜ©J@•c“TTU˜•\t|RWWU¸Ž(bS#»1°UU¹$òVSËØî|Ì”)Á&5˜3=bPáÔÃü£Í)²X€·nüÆŽÊ?¬g"ÞMûs/i‚mBTRøØtbTGôca¨½?VY@Ïÿ- –NÁý.˜þ] ûÒqéÇGשٖ²š‹„ÄõXcZñ¥SˆÒ5pHiA`X >:pMoÃïÔn§Ê¹ë.ÖäÓZã|Ò´Kå)»¼ ’y‡h6ð¿sɹ]»n›Öª~Þá.Œ z E ‡k#¶ÅÆ] üzè"áõèÿ^º‹Ñü“…tÛ§ù=0žŸåÉ)0L69ãzvHj4ÚÛÌ–Wffc݉<7׳Œ¯;¿vêæïSË +Zˆ3Ô€EF7}•e™ÒÞ¸zà÷¥¿Œ^á†ë‡¨èFO7ãYsÍ4,‹æŒ"8çò™‡iKºmFŸönw†ô°ÝÃmžÉå…FÛ³¹næ×¦V™˜˜$tãîToâyê{üÿæùqœ'¥¸GNa¯0EQ›æ?Ì1Š¥¥>äO$B4‰l-c»N {`Ý+Í×Ý#f²«„™…J;tŸ2<¨a¿=Šo.I•’¶Úu¨ûljh[#ßF—ð¥ÁzwˆúŽÂ«3nt¬È˜ÖPj0üx ÅdHØj&.#¶·ØP“ír/N³f@­êlø5^/Ò”Ä#Âñ MAhb©™ "‹µeðÆ\ïy˜DX÷Á·â[óè'¯®ˆ; ßTå·K`àÚàj‰\ðš6ž½3/NëúÂ弟Eƒú‚Ê¡ÃQY¦šM|·km,Ê„ª^ä_NLÀiè²Þ! +¡§-äÉ"™DbQ´K³ÄÇ}Âú\k§ +û*Ü­àíz-²ÒÒñ¤=§`N¬JˆØ {Mv…Ÿf;Áxœµ©2;Â:<ðýôõ;ËøWH±ž¥ç:¿ê5ŽÑ°ŠŽ'H'ªnÍKï9b5Ixnò÷®>•õƒ¢ÂýD`˜~/Ò›ezÌ#§Ô4±5e6^Ô-M+<'wÍT‰»i¼ÊbGA¯þ‘îrt6æ^¢!KÔcR„Ž;&_ì±ì  Û,¥R5ÉĦDÒˆ„XÎ!OLtÒ51Åîµ,„©t'w–mû¤êG f`ͰU)ª¨p<Ë{×¹Ýùû96Xd«N (%ÇŠ[ç²¢ñ›Îx/ó<©iñü¡™é|™hj¢óhÅüt:û~ŽBÛÓôw½Ý¢·fW%¡jGåÒʈT IY„ðTS¼›’ÕÎbÅÚÔRãGäǶ•³çL•IÒú«€áSÓ絬ž§Æå›Ü’)FĦŠШP Ø÷¾šó•4?Ìð¸o”¬J„e1û»c]Võ‡nJûÁ¸¶wŒ©—P—P…‰ÐÎ=tkoœ÷.¬-!iP!IV ÏH4•¦ª©¢*¨äzZ˜rI(ÊGˆ"ÄrEe%ŠM-]㣖C+ÃÌkqö"¸€<5äi½¿B½™f‰Jݰ€ +R}ºH ækÙžîf.®Ñ$<¸Éž¦zçÓèŒYO0Õေm̰Ô=ß¿½2Hl~žNéÖ —ãÌIŒ³SÒÍ X串3wm1Çë[ú³²{}Ü]æïÛ”º×‰m•$mÓ3 +hÛÓ~Nþ_ÞX£»q”‚acÈÎ4©“Ö·Z3N^Ÿ(gªøsp'x"†Eaû®bT §â. ÖêO$dÊJþ‰õW£‚3Zœ£š(áÕE2ƒ!¤Ä<ñHà€Ì ÷ä+ÙÖán®ún3AMwo¶ kTAÔž4³p» ÝÝîÝiD¶çZ‡ñƒî>ú q:J¾s‹ôŸæ2±(Á k[OWó¼Ùjz\oä ®¥¨ª¥fQia’*ˆ–¦Ë¥Žäk~\ÆŽÔìW“¼å¤þÑ2'<êÞ=ɺË37mÝÚŒ:A¡‹Ó—J êsVàC“«ª¬§~Ì’Dþ@ßcpÍôöqù6|«ÍÑe +Yë±LnšÌûå(ª—ЛØnF(ÊEÓiÐ0Ùæzh+ž[¼¥•ˆ ñÙÚs“ÉC"EÔé©°L޲LYÕüòµTCÞ€"nfr£p6÷¿Œ¡žéý+tèÒõBl5ë³4ðA‡áuÌ*š9ÆÒ”D °¶íÖ¾—æFýý(oi +ü¾]o!¸ÖêÈKhóWIèhIØÿd™Þñº¤Z ŠÉ€=~C³ö'ƒâ¹’\S/K<ô7tò˜²ûÛ„ö—ÁáëaêGÍÊ2Üõë$˜{Óì1RÇ(`ˆ|ÓvTµµ<ÌMöþ§œÑþ͆]ovÑ»B‹‰BJÎÑ;DìšÉ«žÁwxZ%Á©)âxã×Ff£ñF—¥:oJÕ¹"ž“Âðñ +æXkÝëf¬*ÆJÉáhUÊÎn o^¸ÔGò&?Ö¾—KJr~SÆ(0Ù–4;ÇóˆåJû%<µñ|9ýWûðû;Õd´†'CKÁ.)8“?Ä€Á a=<œýÏæl£ìJ° +#Zz(¸ÒfüG*å8©0™”âXÞöiÕƒ´#mØ£[3{ö»ð¥YåO# •Îö6±=Á¿Ž¼é_º¹=¦^-Úµm„¡!#ÈY¤% ÐÂÌ:©;Q‰b5•&¶®¢jªÇï,ŽÎæÞÖ$žBÆ—ùeSœ#J¬J1+Ü\Äz»o÷éïsòŒõÜÕ›$!÷•€=ƒ„ñµLƒv¬ZºSèl%Å`¥J\Ù×N­ç¬…tÛ7cØŽ?’òc»áôU2´Š†NÁÉ÷œ&¡7°ÀðBèw¨ ;ªÄ1^¦áC>fÙ(ip¬"«Ž +˜¨é©ÆS¨]ª ¯akðãww/-´–\  )JP×4(^ZÚ-R”,¡ •( •×I> +UÙ›ÏéÆ +Õiò9“0ã +0¬BšJŒ>ª‡ óËòŸ%=<½ÈÚl@Ô \‘Š_^ˆÝµ³—ܾQMÃh€ ©F1$`@èÆ€¬Üåê ©Ø) +ب"HÀ™©éM!S‹×MBÁ Âêjv¼pÍ2%•\TÇ,Cíwk[ÀÞÀ–ï]¹ŠƒëÖ7†åʈ±zìÙS4SÆë+¬ U±#²’̈VÝÈ&Úp]Û®ñÛä"B¡]·ÂÈêc<ΘfÁ ¡`-cLƒ#ݶŽWà¹ÐšŽ fzާõ/¬Ãú7з"ñHïY¥4TRV8ÌF1°Š{/sò0:µb¤’Dôb8ÒÇ*~¾¿±®bž¢²¾1Iã=Cf¬Ã”ñ)>f³‘ey)±³#ÄÕ óR¥”Ö¹ `ú†õEç¥'ò<¯Ë9dQá5“ňRµUu²šô†XééƒA£+±±kžI™gÓŸgw÷–÷¡·{µø”Ó²JzP â8bqE™e»µm˜‡]d¸cŒéˆLž¾š1ž‹ÿ î´×ô³^?œð|K„3]áß&QÜ%» Aqex¨áH; ô@½ÂÝ&.ó.þãZNÜHž¨©Þ±½~ >ÉX¦gÀò.=ÕŒá˜Ñ)šL†4ÐùjÔÔ%3¹ +€XX{Ǒ׭¸F?#->)®Ê°˜@*Dhnªª@°·:¹ÙöànêdìÛe¦ØHJTŸi3¶¦Ü›4Ëh4ÑHO0ª¼êGGýDàxíMgU²®oÀñú‰Yê_Âëé»Ió¢OË’S3SÕÖù^bí¨M…Þè>ía߃mÝÌ2Ô¤¨:“1|Òé†À!xùÒ.jjšg1ÔFðH¦Å]J>Ü——3E0«¨§’x™ÿE*oWVQÝX\ÞçïFîd9²%à—:5 žTÚ¯Ò%®k¨¥šÄ³A Ô2’§ê#ŽÙ¯9áY +Š‘p<>žª·V˜Ô!ÈŽ6”$]˜’Àý€7[²ü¯s»@~íë·eà;¦ÖF†£î)Ù‰ë­n¦E}upâ®V´˜„+íOŽ=t¯ª­ÅóöH¦§¥£¤‚\ Â +‰ V5mQ½ãyE¬¬d^úž:zzõE•º}š1êÞ¥eoëÖ²ì˜(§ÃÚ*:ì:¯ÏIãĨ%–)kDzD$oCk´,Û#ÌC[^†\m`’¹)Zv(0ÆRx]s’ç6̶‹r@ +&p#ŠHøuÒtå¬p )ÝÒ۷ܺq苬¦:Y˜=Gdžº§ Æ!2eÚÈ%Bá LÁj©™˜ùžSScPKNœÀï­mÔ¶í+{/ÝÈïìÀm”%Am,@Q‡ÚµÏ”'¦±Çê*Æï9Ï.ŸÚ „¥‚1€ž +êô£Ð?X9/ 9 +é{àï==U-Mn3ŠEo™lŒ fÊcH•÷Ýü8Éþbú©ƒƒLÑÉ@¬5YUíùó _Þ;{7”—LŸ(¨a¸1ˆ8ð>U3õCÑŒbq]_‡œB²÷eÎÂýûp×á èÅý:åÞŠç,sé„Qâ”®%Z˜\•SAG•Q-UBîVFYXnì‹b–æt}2ýQîVï[2¬±æRKeÓ‹(V¥FÙ«P™˜=1SžèöÑ»¹zZjÕ:0€’HÇl¨ÁÞn…Îus•\çN$÷L œT²`NØ™£ÝÛ¿Í®¬n3-³dOš‰'κ⟠é$þ¥q,Ïž¾r<€ÅIM“ðÊ9^ŸŠ![Õ:Â˾b僾ƒNÝïÃ_ÙFÚ·ŽõEEå(JÉ'íÇbc¢Š†õ-Y 4¡Þ(dâ|±Ø+Ü0Ü Ãêj1*žš‹ÆZ3WSh’L)“ËÍ`.ÛA~÷#ÇóBRµ0 ÀN&<èíÃŽ NÊ÷.QHw}Vã5YŠ÷δzfÊA¡©Æ²ºÁ”³©œNŠžvµíR‚À_üc_møK¾]å{À‚L/`pèŸé£èi&a“7uÔkÜ'”Xn@ÀÅdY‰éè3^$Õ&å}²¥î/ÚÀŽã?i;ˆöéæ«²º( Z£$‰J‡˜>”Ežn‹Y]›¸D,|k%ê$P£{¥ì£R>®}Kª³3\9¢zE$oÇ]³öq¿Í·|PØž¿ÒN]z{¼)g‘«×,P½uBÈ*I+iaíâf¿&O[R˜)§2I-”i}Âúööq^W½Wn,ê…eW÷®LH¥f_ê]^†§åÖ °ÛÝZÞí¾“áÈù£Óf\_+q˜P;´~ë‡ná¸a{¼ŽæL–Ô¢GGEVåNÞ¥H34ªÊþºº¼0J¼Å«q +Kôbž¥ÚhB/bŠÆÀm¸ÏšúY„á˜S$§ª¨K)ÿ¼=¼ +ÿ%yµêÄã°QFU»Î·y+Ç¢°ôÛ­¹ÂLß)¾E- þc"iæn=Úúq=Ñ,&·ÍïCÝ^]±î6öåïÂ. + ÙÎÊ>ÞÜGr +S&1Šýjf¼=d,70Ë Tøœ4ÀTˆ”)kë¹€ñàË›püÓIDh(©L¸IJGbY‚J*™>lQÃè< úÓ|*«24¹Q•¨ûÂ-@ŽÚïr +UE1˜f-êðPõÑ/UY—+d)p|ú²WÕTÐIVJµÈÔ øn%ñ«6Tƒ N÷ñøqe®pEW$¼aoéX¡'$õÛ͸{ÑU¤’vJj©â_Ç™òíVêƒ<”ÑZÅc6±:\òζAt|µZþbp±õS†ž–é#¦ÄªYç[ùŠ5Ú,5?Ge§HU,IRÉPµé¿6àÕVCÐEQòã‚+(yͯÎB¢l&ÑŽæÇÛ÷ð?y¾öÊ18Š*Ë.Öò P +.™Ó×XÌË ’ËIY…%ª-•™4÷Aú8³Ë^sf`ÃdÅá>U4—Ô.‚ÃÇ—oz{ÄŠ3ËÞXle$1Ä¢z¦Ã(ðñˆG…ígrK[_ªüCæ~˜>Uª“ªr*ãc°¦Œ¥OÚíÁäö…™[\¥ÆR¤ýªI‚ž°DPwêZ ªØxPµÒïWاS(Ó¨£§­ÁÙDU”µjµ³#w†T`|AaÁñ¼o¦›/yÕ2aòÍæ˜<ÇX™À°‘£½‹ÛKÚÿ·«¶ÍëÎÚÑw~óˆþŠ–¢=„ÕÕ½Ù‚ÒRëå^j${Í/3GNºU˜>~Êøv’'xƒÊ0ÊhHt+¾[ßÛÉØW©œ¥‹f¹iè–›B$¨!U••Zç¶§’ÇÐÎÜo#ÈAñ)‡@IžÊspsû2HXÇ„ù¢¥ëªƒ3C•‘)Öi2­-\fI–ŽæáIÖÃVå†úÙõÐî’à˜~dÃÅ7PúƒV²aâ†Ee…€´‹,«pW]W]y™½‚v¼ÍÃ*YeIñjz TÙÙ–ãæw*X>ÈÆxÑVá~Ì~´«sžS›±Š¸°÷ž–¡¨¡U]’ÅúDDñÐÛ’VWØJ,nÂN­CQè8jFÈ·9‹T÷iI’'Ïm{ƒ‡AN‚uo.M‚õXŒ›ˆÐÓ®5hg¦•Y™‚† .n9ö‘ô•¼YÈvÓö‰&D"€;ÓØnocq®Üc"6Š÷¯XXÇ¢¬ÇéC:އà”ëÍT3-,´È!¨aîT$’jªïX{8¾ífã*¹HÎo[H ·!eX}°™ãÄ죽×Ê÷ÂÞá +º'»¶GŠzDÓ¦J–¢9asCWý]¨§Ä aZK'VUý!Û¯»ß„ãðûé—RúÓ—*úøØÂ::Õq㙦ž+<÷§e#…$I3 §{aÌ\ú±w5Ï›FVìÌ3×Õ;h-Ûao ÌM«0«Œ:ˆ$s¶ŒÇªž©eX³.Õšø*±¾°eúpÜ6ºåhê>YXÅY?bͶŠ4k‹è8çë·ÒzzEªË˜jTÓÔÕçŒGÅi©áÞÓA‡¤±%-K½Õå·X÷?_3«ú§û-þC’ß—”úÊ5¬Nà OOG¿NÛ½Ýåw*Z‰rD“³fÁÄÅýgënhëV#†Wæ'’ù{ ‚‹Ë,6=B óê•QPÊÂäØÂÒÕy5cYRb¯Ã0ŠÛRÉØŒ*Qf؃K…i +û,/̪Èsïš$…$‰è=Õ,fv ,báf +“NR1—hüBÿ¿g3æb•g‹jÉO%½joâG=+ÜkÎ}2Ìý4Î8–DÇ¢I1l›9§®z6)Ró,[ÀS¸jm®‡]8›)Ìm3 6®%b™O”Ç +[b†omÒê~Õb GƽÄuê&ZËÕÐ@àÔ×ÐÈVeKà‚¤þ|PíÛ¨Wzæ[ÛÔhûv·áöІ =5Ê8¤•¶Æ¥Øø xÑSÕì§JøCŒF¢¢×°[ ٯ܎»Gí;&ɬãðRœGI=C¦Š7êí9; +S¦}ô ú{ôµÖïSÝC¥é§H0J¬Ã˜qºFÚc†žÁZ¢¡ÚÁ#[ê~¡s̸ת +ñ4aµUumE +Óš˜ØS•@¶DmFœÀo¨­ÓÎ{UΓq˜«º·h’ÃÈ~õFÕ†¡f=½KŽ™B ¥Ç™é5kþ“ÿá?U9'§ ‰uu°¹óµ|ŠòÇ\[ü³îW1« uºÝT÷ñâ?%I„ãOÂ…7ÈÅ_‰Ã$‘îóIc(bÌÌ5$êIå{Aþckº7!狊ÑG'Ê•nÖhåÎj…/ <6uQ“õAÓÌo£>ƒ³µ#bØVIÉø•=$´´qàѯ™LéþM(C›[øðõz†êÞGÌù ÏTU1e.¢f\á4l¥*¨è•šIÀ[°žY Ë“c¦º[B»ô°\d’˜žŠئÖÙâ&@ š¢ÏM0Ï9¯¬™k'Và¹Ã)åÜÉAUÒS@Ҙ㪖5"s´û¡{¯Óí¿mMJ¸jÅêYƒ7,® Éññäý–$´Ò FÎÎó”®3ÃdUÿä܇-"E…¬Ëð* 9©•®"x&Œ¨ʰðä ÊóS²×BÇP¾ÞÀ¯†YmßÙ/1·Ê’ÝX÷ä.–žœé¨ª0ê¼ ÒÉ nPe¦‘Ý$ H±ØogÓJ²J]—oŽºÛèáÓahDéHîwm@øSU¸ËCD‘É1c[yŒÛ€Ò÷»|mɸDyZXå£Ç›Ã+¤_ôzŠuŽxÁ?»4Rmm§Ú­‡·593¯^,£¬lžºî~Wb¶»»«r…Š‚ò4W=rçÄ#*¤}YôYúóðHOóœ¡Wïb×Cv—¬§¢“µš&¼EûqçÈø\ïÕl¸¥-‰?.å$>ñ×vŸ¿ƒ+ÈËí­Ït­S±s„z囓•0ߤúñõš¬N³þ1Þºó^m­‡Ä«zQ‹ÐÊiçËRP£EM*w kÛ»xøre]OèwÐèà`dš=–oý-Áú¸Tßsalµªä¤É*'ÝG?Ùûu#JLž0=ØR6“¯¾¹ºåÓau5ðÖ¶"«²:œ-:Èuò&l8&Ú ×>ÇsËøúL3ƒŽOx¼U3Ýn}£pàz{CÍñëujÂZ¢} £¬«pƒÚIP@)ûiU7¦[1eјúÁ™¢È˜”r2®6^˜F¢þ`)LMümmyƒç3f-U”RMÑDJ²¶‚.FçÔg=‘oÞtèR‹¥ Œd’’|èêÊÇ#°•(íÀ öS/ŽzRéž^«Ák!À3~-,{§™i`ÂÚ$’¤Eë n7kÁo£Ù3­b4ض +Ó"Å"3UKOM q÷›t±ß·³’Fã}9ï-ø"é婵 'QÂ:¨»?{&y’… i<$þ±õK£øä³C“°(0æ2Fç…=Ó eIŸ,#ÑT³æQ2ÿU1êÊLÇ’a§¥–ƒ§ó¾gʬòË,¡QyNϵˆ÷u¿ ·èÓ0ÜÙn4¦ß´»HQ0¤¨‚Æq‰&¡}áìæË.º ¶a%—q +'í  ãA~5[ƒV˜äÂi[ {9K™T“km¾£Ç‹þ¸ç¾–â™"LK,µ>5¡΂Ìv’½¶;yŸ[—Ýn·h—vî'F¢ /ÄG¡&±g¶ü€äûÂëgÂI×è¬p¨”ñ´“")Ú]€¿Œ©Ó)ºË_$8›.—°(…V!Tú,–µÀ:³±UÏÂüsè÷²œÃ~w,4e² ª<;ñ?®ÊUØeyŽ÷fÈm"[ +Õ³üÑÖ}Ãó%nO›Â$ÛX÷ '²ßßÏKê£Ô_C(¤È-Çê²7L©_å°Œ'˧ª–T›8’DvY$-¹ö›\è9ÕÇì¯u3Ú¡M²’áÔÒ"Hžšè6Wô˹ùšrí¡(HÔRJSè0“0TÔÏYQ%]S™êjœÉ#¶¥™ÍÉ?I^bNUÛ3vT6š‰,!r‰è§¬ã‰Ð×ÒG,@Ç9K–M=ïnÜ‹Ð*:¨`ÆjÖUlßsö…ÅÁÐørXÉ7.L⨩v2†…¶¥`})6%U,f Æ8º/n¾¦al7òê6H+\–)÷˜oÑÂ\ÓpYµZ»³´ðáG.[—÷n$§ÄGU)úE„®5ˆêÔPCo8ZàxSbÉWHõX´Å¤eڤܭüm›å¡«dEØÓ—æ:NÞŠ1 L7Šƒ€U·›X>ÛéqÎòe,xF"¸ÞuP¥ä˜6–:ê=œDŒ™Ö÷Q†öXw_µIÀŠë¨˜v7‡»˜ç’’ª0#§µÍÔßCß™3ª:Ê\ÅÒ4DBÞÌlž<ïvî¬Üw¨q5çùªìÆ#ª+.QôcŒæŒ¥S™è19 $fE…ÙQœø׉¢åÜ¿.U5ô¬¢¹mq íûß_{±™Ü¦óIÙEvw3 óé˨™Óê-þca²I´ª“¨:Gz¸Uç1/º/§×ÁÛ+!3KºYX=5`ùo¬‹ ‡”yæEVcvª Íõs˜Ê˜Œ|ô î~|~ãz|-8GÂó¿bH§j¿Uy7U®SÌ4ji£ †=Ƈq°ýûqóÅ…Èõ2ù5a µ"ÄvúxQ~T]ÀaE 0‡T¥£€ 3ªÂ\_¨P$¡þc—äž0ʨ$GVµÀöq=!‹Oˆµ:ÔÊŠÍßq×èáŠí™KS¤SwLÚ8Ø:hiÅòGI°žœÁŽÏ—ð꺤§$§ËƬ¥F—'^ ™j\/.™*›tŒš±:·Àð¼-Ûœ;’¤ +1ÕUÉך*¼ÅÔicÂÅJõ åÄ‚É'÷m¦œN㹂†«uAæÜ1öØü~ŽXe®!¡^Ë2Ò.04»éïKsƒETÌÔÊeE÷½Àëo}¼OÅ)VdBcvîTÚ÷ú8dµ¨¢(æë.î[+"z¨YÄeÄN]Jz´Zêhhã•Tì·²÷=ùÃÀ¤ª€ÕQ9,‚åN·å²ìÀ!P¡MäWÍ­Pd™Ñ­a˜,0\ÑL:¶Ú“¡Ù°v±ík߉ü—¦ÅV¶!æ<-¸5Ó†—× .ßMfa«† +&¡Ë«9³¦Ù«¥²dê©F•~‰$`Ñ×:5€Ý¯~˜fÜá™â†š†€ËIKo2`7¯ÕÈ÷yò{K5 + ?wp“ EVߨ.•dn™âÕ(øÒUb•D´t‘)°Gñ½þ:pÅaMš—!I‡a±¤5TTì&EÚ o£¿ãxßiÄ¢0áøÒEgêK˜ÕÕ@cÓV±¹´s8³a=øWcÆ$Æz¯,¹ÍŒUK`€%û}|’w]Æí˜B’dqó¡~åçš[:ÄõÑ­Ãð¨0Lô³tÙ>~¶œkf_yÌÌ;©FƒŠî«ôÏ! 91\¼ñ<η`¶_og™úÛ½;ÚÞóß'»”u'ëïTðŒgùF%=D”µqQá :p6ÊøNq¤Âk«Ó.QÔJµ’¶]KèF¢Ü—þ‹÷†ÚË­}þå %ES§`Ù8Q§c¹Ž^sF0 –ÂQ85u4ãYƒ ¸ãá¸T™¢¾¾—墧D3’Õ2ÞNÀn8*t³ªý Ã0šü3­˜mQh¨§ið!LþR£‹‚d¹ @><Ï-Çþ´ ÒÌsW­Íø¶!zâ’JV‘ÇP:¦§<¯êw-w7qµJ¨ÂFtQuǽ(u"†–‘°(£Çq©£zêA$QIòëå(vPÀÁï~ض;cØÕf!‚Æa˸”ïPÑ)ÿ'¹®‹o£NOý}jvçmØ1r•ã&$õT•cÛžîÞÞ%–]Ä“°OF4™Í½êDÂÍ”`ìóy_,öi@þc*²ûp\sÁñɱje3í£¨‰H÷‘ô £‚îß{aÉòm×uĺ…*<8Î1ÕB‘¼Í\°¥ ‚R6Ϻ˜²öW˜1ÊL)fÅgHI.ª¦FÛv>Íy;,õö’ ;ÈÞU^‡Äh‚±fA©­Ø÷æwh¹cž×!j:ÑÑ'h¨Ÿxw:ý¼Å7L¸®ì™R5 éŠ5•~ˆóufùª0œW¨:éFÊ jJó¥øq¿ Ì·ÐΧæì͘úK…bý-ê>AË|ôZ­CŠË‰ÔʧóUö²IL…#i77ä­Ùfe”=bÕËd:”«»Å>&ðÀì)õo8]ã)u½E3â’¬Ò‘å¶ßRÙw­y ärU1:lÓ„ÕÈõx\Ðl`¢DljFP(ºê8~&yª²áùN¦@ØVÕcØÎO3´² +%4ôj_x ï=3í$ À†ÌØú[³Éš7ÆÐëÒ–²x¼JÂ:ˆž•$nv.©Ô°©‚”¨Œ:NÚ ù^ؾ1[Q˜S©žaŒb$ÈeV„6ºXiÉ &ÞCkœR<'EJƒví—èBjRÑ<˜cW › p–×v¾<ðìC.à´±PÔQÓÔ +yÒ²†,ì –¹öžÚðÒæÑç”VDœ8aQ¾mnö²R¢쨼ƒŸñذ,-síˆ4±%,1Hìâ0§j¢¹ +·ÐxÜIl—R“€ÄììãNî­‘ÌîRˉ Ž#aà.mľ^êÖ)A˜-[\²ËPU%KÙUH¹öã6»å–^Ü~YI W’hmšvAdlÉ@LJe4UBœUùmòÇ÷í§|0à¸\uT¤Ô­¯µás¯{kÛ‰ïòû†Ü!XTiä/Ú¼B¶Ö.OÁ3¥f ÓbɨóJÌe¥ÅLñE(d+ôi!¸ îî;§ý¦nw—'~À>¶ƒ©)Sà Ð nÊBöGló+CŠ8ˆðõõ×(f’žež#¶XX2›ª› Ç/©ý*Í],8/–*èf§}¸Ý5=3mCY‘,S°V61´d‹ý£Î[}p}\öQyní»ŠvÙÒBp![a]gßP÷hMïZ¤.ÇRçøNßM”­Ê2׿úê“-U2‘n¥Z©Ò‡ÏŸòHóŒ×RÈþ­OÒܳã¹+¦òÁ™²åM~˜p,^c©f¤©£š +šY^3d•'kí xrBþ©^È›½ß‡ó'˜%l ¤(´«ˆ»41ì“+Ì.jêé0¤ ¶dA0chãKž¼K›áéXÆ3=Efœqi1»˜pJØÞŽB0yéë)ªbWUß‘Ô Ü Ðð=–¼,›cluVøó¥övÊNÚ“í­q;hä˜eŠHÉr5ÕuÝ­»xóÎ,I{…4¹Uîyã­‘àØÈðxãgƒÝ˜ÊoÜhGÝÆóœë-ÊõÌœŒ&‡[›Ùá»fVOMf£Ãë+Ø¥$o;M”íôs>WÏuXäæ#ÊO†ÍFÒlt‘”L¶7µ¯¯íáK{ý”÷JRUàVŽqwºfÅGN ׊i©¥0Ì6È<8$àÔXöjÈ™¯:Ò×Ç•0ÚXÝiã‘Ø¾"ï)Ó° ¥®õná&ðö»al”€Ó°žDŠMytÚt¦1Ùå\ 8Aݽ½øaý(Ì™›žiV²Vª‘˜[¨vÚçN@=µö™˜ç7áL¬éOFB%oHfÀ% ušú_Žä.žÃ!™)¨1Z­ºÓÊ ¯.óö\\XXü<8œÅ26—¼Ø#­’¹£b]V2Ä[¾¨öp¼™®i˜·/)D§b‚{ìëw‰bg„û(ýþ¾¥1\³œ¨ê:y”rMÓAA#‰UŠE—Í6#» m¤ßh6ãL°´ö¥ )¥ŸB~'…Vm¨$…¡éÝ5®áJq­ á“×VùÓÒõy>žªlgÏœ¨õxT‘KHo°Ž xkÇÌ€g¤ÇéªèÝc¬YWÉ'¸sr<"í-Aüµm,$cÑîK»Å+ ƒ„ÀâG4zׯ²¾3ÑÉ‚æh›ʵ8\ßÌäQµV;¬EEív6÷>snBÌ+ÒfçÄ Å諨¾jš8 ÊJÄ:6•ƒ\{Aø^,Ý𱶺 ´¤`U/Ì2Ct•¥:’¡÷ÇãD[Ó«®”d®´Öô§(UñjœupÚÜ^°Ã5Lɺ ¤…Fã ¡]¬ 6eÓCdDÍ3£s‹’÷î|HàõìÅ¥‰'€Ã(9sºE¶ÉÒ:q2|¨ßTõŸ.2×O,­L¬DÂŒïM¬A; ·»kùs`¢ ´’ Ú¤+{uí¡öÜöGvò³ dû û)E­»ih 'ÝSú%ikzÉ ÕM©…ë)·®¬SF·pëk¯´_Œ¹C/œ{JgÒ–/~Ru BÚǽ¼{ðo»ˆMÝÒƒâ}Æ…]œî¨båO/j0ì$¢˜¿/Xú~ô—QƒdššŠ éÕ‡j +œ?ôu±S²üÄÊU£dÙp»”ÝIµø æ9²îƒü¾"´ç6G'œ¤û?B‘ogw©eIý¢¨@³CWIA<úÕ*ôýBæÞªÀýij4EÅjD†« ¬žŽ¨ÈͤµR@È÷ûN­oŸ6ZªãO—RXCûËî`¤j¤ö{èx›r·=9ÛêK/70@İ ¾C -™ÀÇQé}:ñÕœcÒvDÂ××Uʽwêž1†­~][,8~3 +¹Ùå×TÒ.ùãmº¤„ßÛÈÓáùϪ“æ…CYÖ7dVkî6˜[Ä{8+Î{ÉòbÚ\:Šðf=Hšn~ë$[¥Çpê1󢿎~%•8þ5Mð|'§XV^®,.I€¹–—{Xß°`;ñO“2<+ˆÏE‰T‚‰F²‚û˜ÿ“öî9&vOØ~^ͲWݦO@ÃÌRÔµ›SJ€h¶uoÕGRz—\õ]B™Y·‘‹i‰à©’0̇¡š–•+'£©ŽhÖoÒ+4.SacmE¹#±Ý¥­’ô¢IÄíŸJ¼`)XôÐeY‰WWÊÒÕÊó<§[ž¼§‚c4~}}4tõKy<†ÝÙ0 l 6Ùňðàuwÿ)Ïò¦îm D”’˜ÁI%*p ŒA«ZgöY¥›n²½H8Hé­a ©±ÐñsbÅêúW^2ÜÆaÄ:šÔ‡ …’%«ÀèÅùÙÊ©xÈmÀ/ºO{G)­„gïT„uè+8éZµxGï¢Û¼·½»Jp AQœ!FN×r¥[È™?¯“àT”;èªç÷ªç²n-سm{ ûºjy‡_Ö™ôìÞöo}¦f—ÐÊÞ…´éÄiN&£ÞÚþš\Þ½âbñ$Bt®v’€2Ý‚¦á3SQ,?;:9u@MC4ÓÛǼ©ÕÌÏÔŒËMÐßH9R·?çlÆãù¶9WŸ!†FnêÕÓmX„ChJªã¯ý‡nNY¹–A–%¾ðÈÛ­ßï•„Ô…¸Ÿnîàd¥×jf —VÉiu™°Y~Mñ FXéaˆ”HÃ)feðQ{÷ã¶fô±ÖÞ’A?T:Ń%L•k5=<•²<µR¡÷Ú4wdUI½‡‡Ã™ÚÔ…µ®@ÆY—¬¤­:V¤ˆœ1xq&„™ßÔ~K™4Ý•ƒŠ%D0Ã${iº5FpìOßN>úlϙǧ:¨éö=‰ £Ñ|>¤â™’¢TŽšzÌB­„òÓQÈG˜ÌDq û–¹×NcÇÓ†MÚqÚ;ÖöÃUšN¸‘€ óÛëQÞoou{žªóF¢”°@€cÖ¦âß),UC¶&•v¤*wH¬ ¿°±¹ã/Xýou#ªx¢Ç—!§ÈÙj™ié¢ +IBåµìžæÚ“­Éæyn?`Y^N̺K«;IéùѾévokdߌ•(âgçP9#*úµÍ:ÈØ²cøÅl´øŒCÈŽ¦_™ÅŠ÷'KvãYÇc6y¦`×vÒdH +1·ìÎÛ1ÌJP$ª0¯qӦΘ~pN¤cõ¹v¯6ËKŽRàØ‚V©‹¥Ceaý'šÖ$¯´ñÕÞ]pøvÑ”­( +A[‚ ¥GQ“„uÕ·òÛ)nöm‘¬7(R”"’B½:+ÜJgn–e¹1š¬·ˆà˜¦T«‚(jµ5>ü‰X¡¢´è¡÷ ‹ÜxÚÜ:Èw¾è0—RòV "vFÞƒ‡î¦wcyœqФ a^ã÷L=4aÿ¦´9/&bC êLï‰W`«#+Ð×Kê*(šnñÈû‰þÉ ƒÞü‚ÿ¬²…v‰—ê´ +JU¤”àJx§úQˆ¨ûêç(ºÞ[FÖ‹B8õTÜ «ó*#t²²'o ˆäLg¡£§Y>‹2ât“ÙV› œz[4‰J’áš8>Â@æïßÑ^g»»Š3]zîPUÞ¡$èÄÙc õè¨_9ìÅü»"nð™_úâpå J¯Åâ®­je{Ðònms¡ð'ŒÒzˆÏYrÓEîãP¹ ¥®>‡WÚY³µA‘‡•×½— ³©8R(òr{•9¾« úxߊbWÃb˜¹kMýÙ9L§´¥ÞʃÆjûŸ¿,­òµ® wC]ŠäÚ¶Zt/ö™FÐÖâúƒOt´UÁ’6"7·ºoýœ-ÍwNÜjVÑ7½[àÉ»+Ÿ/:UÔu?–ž*º7s\UwêC ¾NJ,+)`µ óC¨ìÃÙÅŒï )PëšÜö‡p³¦dSeF?‹ç,rœÖHw³¯u>ÑÀÆÎ¥ê h©VCwa QÛ„;Áxnu8$ì¤7K¸QQ£S…åy0‰5nŠAU‹VDŠ”‘±Yãb5¸µ¸Û‹g‰1­¸:32FJ1P@>Ë“ñã{¾•ÑfÊŸ =eßN2töçÚÄŠ fD©‚7‘ZD#í ŠtÓCÌ”&ŸˆÖnØÊ»åß$²tײ«×nAÙÕ\_×fS—ùQ,ô,|¦VŠ“¦ƒ_¬sf>F´ó›"6Ð~Öëxg,Íâ^\Š0üë­¤ 1°V,;Óg z\J…ΩA1O–"ÝûÊM¯õsWÁk$ùŠÉÒœ‘sqm}†üx_\BFfÍ (’@ó§|_¬½EÁðñ„à4/U—¤ºß¸eÔq¢«-Qàe–"uÚš/4Æô•w$ŒI6am¶Ð߃^+Ó +z.‰K™é¤ ¤J½—ûAŠÜ˜ðþÿsÚ9QTÂzŒÇãK²}Û‹nðOuŒ¥Ô¹ñRTÙsP¸>-Š5¶Ûö€kXøÀ§)áƒÄV4êͧ~ó›¾é©¦®mÂ%8ãF ­Ù”ä̸Óд• Gm¨ýÐû駳΄eØbùvEª”ZÊosnü/È3î”g`¯\>dŒÐ}Ñïú‰ÏOˆ «pØ|ŒàŠIÐÚÚqË£ÌN¬jZYÄ+ %Tjl|y¼ÿxP‚R™4û5)Åi5ÔO¨|·Óêø°¼ JÌV'd²€ÿt*û/Å,ž–±¼©šÿ”ârJ³a uâ7wÅO©-Äì«.\p Ÿe"sG­ŒO9ex)>Q0ÚÜ m†gB½‡°ÜpNÂ3>JèV©Á±TZªŠ¤ÛÆ,åˆîO×Ä×û³ßJ:ŒÑÞM»A 0ÏJ­¤Œ`ߢÚÿ,tÛß½­ÃKT¡Ë"NÑÑóª•hl’dÓ~‹JÙ¥¬$I[~ä€ ¯qßÃŽ9)&ˆÑÂ6<ž¸'¿wWzoASk… `û©~Gyp:©»«¸œŸ21*÷ùÕ‰m¹Áeeï }XâĤËí4LZ¡}é£B¤öžrÎÙ7´AUÒÖv-RŸ(4 ÝžÑóL¡à[Y‰ÄM8?[p8ó:Ub48uE%3ÜA4jTù}µP ôâ7ôå™h0ç¨ËÓÁYQ2°™ôBßjç±6s¶§ož ºl„íðÙÒ8ÐòÃê7 ܤÇ÷¸M ¹;Ö—M*1 +|79a5˜&…˱ 5ˤÅþS#wSâ/Á£ðÅÍòzr­Å³—[«üÛõ3arèRí!Á㪯¨i¼LQ™â.«©ŽfÇѦ᳼»†ëùka.’µø¸ÀJgÄ8Mœ·c<´UÍŠv"íÄãøMÿˆçP²&zê625% óTþðH¦­“E@täJHáø©ú¸É^®ó¾„d<,á™o¦ÐUÐÑã$ŠšÕ­d,âZ(—Ê÷»ÜÛ°ËO¤^Ä/÷7/uw.ÊßÒT±1G†*ÜwÃéç˜ÑR´†4©ªXÉ•7r¾žG9§ev[Ãorý÷w­~”¡âP€N>”0NûZ4CEð5˜H$bvÀãNpæY¡Á1¤«*ìÀh¤ßÙ{û5àË”0ÚŒ»—`¥â + °ý [‚¬áÄ\\=B£ýï´7ŠQSg$UbjÇk…$Üi¯ß »)÷îíÍþ^ã <[Y  ŒGáJ–É_pʳ\rÞ5ŒÕGCh·èš­„{ü=íy¬U}¢Ï'2tQ—ú©¥Sá„4U4±yY¼ä÷‘c†]è¾ûɱßê»í®ïv7ùY}Úȵ¸@IZˆÅÉð‘?mvQ›æN¬ÚÞ¥Rx­Š3„AãFC®½õž}?Wã=V¢­©Ìž™5­Äçòžž¢ Z¢:xÒ–PwÊòFÑK¨ª› «qš¿†‚%­©B°÷Y›hú¹Ó;×]m££ÛM˜É²xcØt¸½ij¨¤°f°ñýãߘ÷ÛOj——÷•™‘¤ì—1jÖØNÈÛF ½:£Ëð=uKC5]bgE3Ù[¾ƒNüÇM˜+2üÂX_ß…6mmÖ7ør>Î~£/,[Е•˜ˆùןËQrœ0“4)àþ2Þ‘ªq*‘¥¨—Îùˆ#ÚJŸâÕÅ6^ë^2$Ž‹¦¨ÅpÚx¤òééÜ YNÖ¹VÐHñã{½ÚÆyŸ¬6€Tv‘‰qž‰³}Ù ¤©+ªè¨OôÒ\™€ÉŒRæ:L­\Í‹ù’¿˜æãtp¢›» #AÜðê~™¤}UËUtÙ–‡ú…L[­[MTÓneJ™R8—h°ï'^ܘwku³•"é-HJ cHÛtßmâ-O†£€áõ¢¡Õ܈:qêr±Ä¨s<´€;ÍA!#/säÈ{yŠ>ÐÛŠïU¾—½dîŠÓc$¨êE"²Ö!gªžE«bÌÉtóJö¬v,Orñö;ô¼ÚYH’˜$žˆ8‘çDÛ»Ÿæ—×N †R†ÀðxôGG]5ÑæLÁ$‘SÉY<´°Gä¬rJâ5ŽßdE‡´ü®®²àn ™i[ ;*1¤™ä‰ÍQåÈnºæáIÔØŸpÚZ¦Uù²©Áá8LùõRÝå³üÍ¢RR Ô1°µoÿðŸÏQ9‹É9Ó¥ù¢¡bÉÝ1âÅè|á²_5ÖO>"Âá„HªÌoîîUBy‡¥øÎ–:¿…6?½pì¾$©h‚³Ì»€Ý¦€žBûϘ\æEÑ˜Ä ;Æ"ŽwÃur‹bÂ@$+Äi;}”¯êædÏtô»×Šz:ù±zÌ߃Pâ8NÛÕ“lÒ:ÇÆA7R —ÙsÁ÷Õ×Zºb1ÖÉ"J,7$ÃKF',DTëe³•Œ›…ò–Êv€ ¿ ;)ìî÷0@uÆH5N=j(Î3äåí~Õìàà:MŸÂ»ðñê–wÂðþ¾u?ÌxŽzzÉ)òõ=qšˆCCN¬­-BÈŸ|—a¸ØÇ€D™÷ € I*Ëc +uúy&±ÙÃúaD mÇAwó´,áâë5a8_¤Î¥æ j(^²ƒ›á’—æšá;°B× wíÌ_×l7‚L.¨>*D"i"2Ì=öµôëÆ3-Í~Çö¨V²€U¤ °'ÒxR77­¶w1Œ®ia•}u ÖáKÂj)qü_#»WŒ6˜õª·™G 0I ÷Rúnµù:³(g¾šæ5Ëf”×cX…*M¥ÿHóc‘n­ËÜxŽû0íÿ Îí×xÛ¡¤%zO{]M ÷;¶l¦û*C¨T +IÕáÒpÚMÝ\Â='~#]ŽAâ9’§ ôï§„ø}Tتœ:j9°÷ WM%4¾òÔdô +ç;Çn‚””­ˆA„žKà<¨“à_‰ß¡¿FYB» +ô+ÓÜgª=f¬ÝfüëÊÑÄ}åYã¦I&•4Ù1ß»èU™Î‡ ˜Šá¹;Ó–L­ÉÝ0ÈþjUf~Xk1LB¥ÔZª«e½æ° bü;peþÊnç¶Œ®Ã»»Ìž ¶Ër”0RŠÈ&Õ-C‚ª7ܱA.åCÀÊd$&q$ÁÀtÑ!êÇSz±êS>b}iëö=[ŒãXû™æ®«ÁÖÉKE*©TP8 f.ÕTcòÖaõB$»ÕXí*Ã[Ù;}>™²v[zÙ?œi+r<@} ñqŠ’í·Í—íR˜žú@¥t´¬ñм‘SÈHÔØ²Þãu¸å†dÔ£Âö³üö0Òîžg³4…~7W››jÃ¥´ˆllO•÷÷yÓrð @…Ý‹±»7~>e¼¥|JP«£\{þSõ[‚ŒÊÿöG »p¥ ®¸`½á]5Äz‹â~¤3ÝfPÈø\*Ñá4~uM^ ¸„¦ÖžR²ˆÄƒ:¸¯n܇{MÝËìšÊ2\½¾ñå•(ÂR”¨ R”ITméÛJ3|ÿF\†rË@§Tq0dbI&}vÌÍmÆûE‡Ð8w:ÁÔ^‰t—ÓåQze[Gžúw ”ØI…N­,­PY"§hçEpo½ÅÉøžAÝ–‹íìÞG­”°IQuRJ“÷II ;>T ÜGoóìáL-%.É*'`#n ðøWž7‰¶H +8±±Ó¸¸þ<¦Ã=3Õb4˜÷\é3]ÏӯɴÌ"Za*GÒI$Ñ'–Û¢Ý)[lµøYõ!ô£ŸvŸyl”^h³¶!ÆÈ +t“%D‰Ã€êó¡öd9Õþ–¬Ÿ”ˆ+ÄfIžŽ¦¤áصN“-0]Õ‰å–arú¼[aþ®ó–Rž›ôŸ„`yk§U)f!¬¤’¡Âšé<¿;æßp·vÓ^E_QKÛû¹Ù)»³¼ Kq)S²uI‰Ùè wiƒ™4ÏænÔ·” tá³Ø+.O‚֬ɋÔM‡Ôż ª²#²-Ämr¥onúû-Äõ/YhóN=UÔoT¾O•„ôø2ÖQÕG+X’‹N¬ê‘Y‘mæ7\nŽûÝgiví«…6 †Ö¢g¦„aUÝ» ”Ü!†Ù”á!°T}H¬µxá$dÁ™”ƒÏ™-÷1µÉC¥­ñ8ÇX󮱚L +¢Ž‚¥± yŒ­\BŠvyKoµ»Kv·=è®GÇ33VõRªº&a3ÇÉÐXV×;j Y$bŒ ]õ> +/¨›7ï3 {M6iIu@JûR:`bO@öÐ{yîom­ÿdZ¶°uõõ +lᱨOK™B‚L¥™7-áõTx{Ë=~+L1™’Ñ–1 ¬ówHÞÓqðä6ÑÞë×C——nTJ mÚtÆ£ô#x^·îWìIÓðŠ÷µÅ2—U^†³0`4Éxr¼y‡50OCOEd‹Üi +¾ÒlªW¾‚ÜþJó&JÒÓÊq.+ûš´¢q8ÆÄúš>×x´—àpâ““·™=5î-ñ\o +õÓJ ‚Q¶UÊyzyiës³y=D"(i¡’'™MkÈKnß´\hlx³°{r3g._xâÀ)cP2TAƒö†É ½«ïîVl^qRx6f=qÃß^à-Ñ.¹ËÐéiòÖ'EKŠÁ†EYIUMRY +K#2ƒ‹öHe7·»ýÙðÞ§P²’JH#  m#fùÞIu +)%)Pޱˆ"½Á£'ÿœORXæ/Ö0ÆÄ:eÔê*l2»†Uy© _)*#¡ÊIõ=õwÇ+É2<µ9[ÊÄk:ˆð­+ÇÀ`Ð#?È2Ü¦ÈØ\¬jÄÉÀqù× ÜhG +OV²V+º¡Œô·mÕ9~§l "ì2Ç2‰"rbU…Ç¿9ÇõmôúÎãgš$ÚÜ#½d“0  ô”G”ÇŽÓ{?þOt[&[XÔƒ;A?*X`òSI¦3o2&1TØý–"Àx0sYXßiKnÑ×Ý·V'ªŠX´V¹”øhfƒ‰(ÚíÚÛïìðàq_µÌ±"¬%Õ—ØOcÅÎ--âiåÞ¬6šp\S¥ÁWΖI)ã„+Àç¹Q¡PN¿Wi¡Á!ŠÅš°ï|x¹×. Øœ(¢ä¼¼3JœgÏõù´5}\´xj97,Leµ­ì·$ÕçºL7ò¢!jc°:ƒì·gwVíÄ”öPÛŒ®qš•ú˜s6zF’9$ ©Ÿ0¡ØPÞíàoÄ•~c¨¯ƒr©÷Ÿq·¼oúž1•¡µQ’œsZpž46åÞ‘ÑeŒhCTñ:ÃM°´`Fýïr"ÜkÅžº½Ðûëk_îâܹ԰vMlÒ…£›(RéQÊ9*®Ijè ÌÖ)Äè&Vµ»“ºÖâäK‡ÕÄôõÁgœ C O×ÂMîum8l«8²aGZc΀o[ux¦ š"Ä0T“Áe;âT6U¿a`tû¸*ÐQf +Ü0µ–«VÞZ1îÓsf:é~1}¾Y¥Å¦™ðü†Ê)Ì3æÓp{³ 'ÒŠö3™°šTeãô¢½[.ȱ6ÂF•Oöq3NÕ¬Ñuõ²Ô¿ Ï™¡ê¬­‹âLôu’§›ßqÖ¿ žsÏ~ ³v5ˆÇ_Xd±]”öú¹« Ù t¸U´ŻÁÏq5'!znñ”ÕÕÃ$&ÊÌXnñH×ÕX&'ÖŒ-±,Vo÷˜\J’ÃîöpÎÍÅÛ:H8ìÙ¶–YÜ©É Qêë§l¹žÙƒ95>’¹Ï–^TYTÆöÙLçA…`8¬x]@¼R! ÃÌ‘÷®*õòX[pÐÆ(Þz|Æz‰Õ ‘‰æ¬¶ÍEP»S¡°-)ªakøðRÀz…–ðœ‡ü§‚9j¤RÖÞ#ÇËŒµõÜ«X¢ü¶ÑÅp q¢‘šú)Ô|ÃÕ™ñ,ÌÕ4èjÎóßu÷v¿ÕÄF1U6"Ò£E°fomn匶Úáf—e–ß¶H˜C/Mð\/-VÆ§Ž©ž6Š(ÉÁ”¨r5¹ûù:<ÝçyxQ&«µûØqÌòÁRƒ)(×z[@)Ð$q4Û™º,ôQMœ)U+é7î†Ö%¬u6°YPdö¨À>q&—Þ_èàfã?ÐæŽºDÊÛJdì _êX¢Íf™ã’‘à”• Ûá¨äÞždjºür?>XF ÇÂÀö<5È3ò—‚MØ^$³-úW¡õN€=%jüËÌ +Æ Í˜øŽÑò.UéÂàX›Ã%kBª¾Z‰\½»X\ž ï¯ÚE´“J˜”5>*⤭¯ªc3;1bN€kÜ“`8c8.}ÌÍULÐRVnòž£ôWýQ¯ßÄù=ùSgOˆðè­eˆ}×N£‡GZeœK$`ÒÕf)š¶j7 $T«æ<7µ”}@ñšwÊý+Æræ/Fðb]+­Ã1ˆd’9"’,?7 £zøÑ¬ +K$ ™ì°ìy×Oê´µlvo•4ë}ÓŠK¨RNJBõ¤Ÿ4¨‘Y…Ø*mU¹–mé*Jµu”*G¬jë7E™sí^?†ˆ¤>BlX`H¶„@rá˜G"~õz}£‰ê¨ç»D¶É®„‰qD@‰Ÿ¸üºkÜ1¼‹Q’1œ«ŠÒɇb˜ïIY € °6ÖKt#ÛÉ+.Þ_´— R  +OH;)»ð㎕LÎ>•î&°Ù"jú¬y÷M†áª”ôÈão!=Ïú£w .ÛV„·±FIŽ„ánØåIgø—‰êîX¿àÑÌrŸ,õ­™’$-õ•rÝU"ÐÔEEæ™›Þ¸(dŸg³CÌaúüß{uÝXåí[G¼QATG¬ öToÛf’h¨(+ £®½ÀÖO¥,ÇèÁ2ödÅðüóq¡z¥þ^Mò¯zvGgfQ¼sk‹è-ɰžØ-wñ‡\i¥7ݨ'ÄgPŒ#ËCÝÍí ­áaKi¥ 'IÕǯñ¯p5t5ìg¢‘%”(%T‚ÈüVàó¸q± +­?™ZIÊ÷¹S ø§Rze˜3V"™C,åúÚ +æÚ +Zj¼VBc§Ž8X8Gvk/om±úÔ>®í7+u•–Ú€åÓàjN¨ÐÙâ|ø{hÚhdÍjmãƒ3tÍ-½=â¸W0lɈà²gÊ<½$¸‘ÃV¦<5e¼ÅäšT‘Uf㦶µøõ#¢5y ©Ï…ä ÉpÁrL>,)ü…Vª¥4ÑSÊÏÝ¢ÙbI6Rtæ!ýîÕçi¹’¬TÀF2W$„¤@‚8ÈÃKÙfø£<µ_}o¡JÛŽÐN¶ŽÞjõñ‘±_L58÷U²¥N‰fÚZ¬?Á¨ëljœ>¹£ùLBp‘³EuÌÀ…]¡œ&§é0Å¡¥?ºµá;Zz³9ÜNš€Ô9ÖMÁÈޱ˶qå<¤$ J€LaˆøôÔ“—ç¨JtU~f|b—0æÌnŠ‚+Rb•4xv%Ôêæâ(DÏ3ícȘ­>[HicŽ'–™éÀE7·Ð?{—¼ìŸ"»¼05ñ4û»Æøl ,€zê,UU0«$NѬ¢ÌµÀðËŽ+ér‰üºù¢•9½—Ù +4¤‹ÔOZéöü®cÅ(ü®ÞTΟQ±â·*tc+aXÅ4‘*â ‘* I–9£Ü¦àº2úû{òÙ?`{©•!E«d‰8„‘åKmó'¬™ÛMÙŸ«ýLÎs-NgÆ«ñ™á‰ GšVb±È,P{à•×L¾¤zåÓÊ*žŸãX63Óܶï5>SY +´õ‰ÜÌ›ÔÇ$Œü£¸ÓÝÂ܇¾ ·k9¼¼îì” HÄ)A8}ÇV4šÆÛ(µ¿RžñC ÕBo¡Þ¶z|è‡R"Í=oÀ+sZÇ2˜k)öÔ-2w!š=ÄßÚx\°úÿR})¯«ÈÂ,B‚£3aòÒUªÖ$ p²$¹†ßs÷Mˆà?'ìÏB’ÛÖ]êL¥RAØ­@Õî² …‘qŸÒ(Ýuçü:ñ‡7S*1Ìs¥Íš)¥¤Êem-EY‰‰‘g¤š—¾ýd½´'‰ÌÙõf|KúÏš°¼@ÖÔŸ9*…7¹hÍÊ ¶Sà>îï×c»àâ4*ÉZGð£ùí¤V³ž\^„¬Ž$c튽'ú›üº+ѪÌÑlørÞ%›é&¤®¨Îtø…kÃSþR*‰E8ŠÄ…µÐ\ñ¡0ÊŒ7.ÔÔb0Hq|bxÌ!‘•¶Ã:1Þû™ŸÞñµ¸¯w{;É÷gu/S|ÁüÛ©Oð c£’óÍßCÙT< %'Œ(²Qz·Çº£ø’d©=6f—:W’q‡I1\GMR $ÉUW$U*¨aZXö ujt&üoÄ+Þ¾ªjà‰Õ²¶ÈÕB ^Át°ÃÙÀs µáŸ´pòà+ 7ó2ºw3q"T°¢˜Çˆ&¯s£Ù1ú[Ñ| )aRÏŽVeÜ1RZìFPÏU4›§š¦¦V-rï#17Ó°ÐrKaH”'ù©4ؤ»B䀚û¶ +?åo«=ž¶Òá§ûàõпs;Ìó;P·]KdbR¢=â\áëL¨E’0hsæM2K'ˆá/åBj—i>MKÈw€ º|½Ú×khãØ]].[Ø<>žR×2ïLyÐû4Ͳ‚ôé™ =êÎQêžÕÙ^Y°úš@¯QE0Úñ±6k5½àqËôGÐì±Ö€`ýYw/à°g”+ËæaÖ7x©÷sš?UÙFm•oýºH —J€V Ç‘¬lík-½¶Ìžl¸B ׈5®—ãR:-ëç«=5­„ôóÍòæê,„ÉMC·1B•‘Ïä_h—lÖfÍí¡à³X!¦§ƒ/WÇ™óŒUYr†Z×JT§zÚYTT<Í·b!÷šæÄiÀcûËœ6Űq×Ä#RT$O÷dùÍÝðm€¥(b"I÷QWÊÒOMŠ&4CKE€M mR†+½"=ߤ“a¿ÖÊ ‘“3î/—:m4˜¾…Tµ,„î5mKú&©²€‘”•Ó·;•ôÙ.i“îM½Ölßùc©•ZSü(=|U×YÑÙ““ùsFóÆ8AŽ×Ë™+óYš¥„tûÚHé⸊#++’líÄ%+I2HËö侄÷ü¹:Ûe„ºTvp¡“ªÒÞ‘M¼St–l)gœ8æzh3]£¯òq|6OxO†U¨†¥=ªþ\…£aªºƒÍ^¸»Œ¹öZWv¢< §ÒD¢h3½I^)Aƒº÷=Lô§è_U«:w†ãTÙÇ)ÖRÓã{¤1ÿ§a™ie—e¬ûAWÐOb8»²ðkx2d])’Û€”8ƒ>‚€žˆê4²Î 픨¨PëkÜHà˜vbŪ*›†LF¯Ã›iAåÁK°<Öb.¸&×>=áÕýÕ«)N³JÒ:ɘ±G»«z-mŠÁ‰1ë^à·Ó>¢å*ÚÜŽõZ¾¿¨ÊÙéÄp.CJ¸n(˜Ö°ÞÒ-¶&×><ïã¹h›ôe졾õ¥Ã‚”â„ANI£ä›µZ?Ý6–ÚÀ_BˆˆË{–ùŽô硞£2½7™pÌ'©9‰k°êÙ#»ùSÊÑȾ\Š:‹aÂܯy÷‹uîÖÛN­•¤”© á#lŒA¬kËó¼ç"¸Rµ6 `Äl¯s ]é—O°j¬W¥gÀ3–I4˜d±@BÄÞZ» ÆÆçŽ9Ú6o™>”^\­m)CX'ødL +yÝûÍ/ ¸}JA#Pž{€†ZôÍÖÿR4؆{õ‡‰M– 4x.Y£ùg¦§.ÕµQþ–"I¸U½írN¼g«nöì[d‡$ËŽ*eSü à|è`®Ó²ÍÚZÊS¨œT³2½îxüs–k:£é7â ×L2YëðÌ¿<ðSÑUÁ´ƒGE4aZ)Ê·ÌfRNÓa¨CÚê³lÓJÝrÙ¼È{T´Þõ:Õ²4)£â‘NÀRFÚö ¼ö™íÒíØI „ 0¯pJü9=bWeœz~“ ®Å(³c Á°ú5çPY¦K‚db@n:p)õEØ‹W–é¼üÂRQ÷©Qч»ÙI>¨ûel¢ä<‘£î'€è¯p6õE˜1\çêo7ç Äi!l3þV‰·Ä?•"Âê­{±W ¥¼Hös?¬Ë8´7™N\É$1m­S¶]QPŸó@1±;êx­œvÕ†TJ[oi|FM(òÕCŒ½.N¥ê1 +×ÁT?jž¡Às[Ó–)âû"3íÿô·1K3}°O„ úY¶Sª'ô÷ÒÆ˜WÿS“ÈdœØ™T§‚‘ÈX–`8Æ:²«oƒx,;èl³Õµß»âÂO +ºn’•Œ6ç‡åÿåx+$ËåT¸*‡ì›÷ïÅäXöSÄ2éÁã1¥T€"¡‹i}x>²Èlo¡8Z2«<±Û" &[.æe§v†XÆámG»œÝ[Ú8lU­âºK+%믨Y†<‹‡Šjœ&êæ$)½ìo‡ø¿Lpü¡>æmè‡c-ï¨6¿Ùo[·©ÙHíX ƒ S†êg:õBIQa<¤IÚH±; ¾Ž&óIQe£\[lvûDßRxk–Ý)'4um¼* `c… +"ϸÞZ|f²J!#n© C"®Ûª­ïc÷_Šþ…`¸L’žŸ ‰eQcíc ú8ƒxråĤl&Š7‚ýâèŽ4úÉÏy4Óº[ŠPº²)D°Ð\ØûGhÊ™Gé2×ÇK«8ó‚.¬ÃPÉñ6ÏVà +RvÇ­+víåÊðÉŠ+Jò¼¡·1r}¼}é¾)Óì_¦ðIOx¬ñé‘EÕ€±üxÍ÷‰§2㎣ÊE—ç6˵…§\dWG*âΣ€÷[r³ÕDضÐÅej`8O“dªÝâŒ"Œr›Æ{¢¢™žª€VEKWiÆô“O£ãÀ+ËÉ8˜—ÌE¹xÙomuÖç‚k<‘çl;Ôì¾Ë(VHöP›‚cUt¢‡Ê³©*µ‰Ó@@¸Î5tk8Û}AÛB4ãùU¢Ó"·™0Kä6s… Ý'ÀñŠ•tUB<½X€ú©ÔÚãM8ùÓÌmh©L +ꑾ„ ÷†Ýer&ƒ÷;ùÐpç!ºÝ–«j3ÑÝïîºÞÍ·KƒÄ·Qp| Ƈʈ昱Þ}§áÃmÚ½}–1˜¡e,´I<(]ôåÔýÓÜ™8–JºL:TQ íPeÄç0áð¶’MËk´}\ÁƒdjZ©š&@'$°.º“ðïÅEßæ_JIÃŽ4amun£ +§l{­8ªÇÙØáñÆ#eŽMmn×[qS‚b/Óÿ(Åv­#¶Ø÷ºk>ÝÛPô„áM_åì¥@læü +‹0לoWj‚¡åþóxé{?à˜¶–‹âxd‹³]£:­¾«-rÉzÀÀtÓ¶Öá†å4šÅpl[hè«by<¥Ú¯k¯ŒY‡«ØÛãÑVÀ¡X­Ô i¦‚ß/Ffû­‚ñ>”£0C®ÛŽŠXeމaõ™f™–òìmosàmôðJÈ™×­¡9‚¾7«Â©“̨PlJ­Ë(>×àװ曹Þ+6î[¨u +Þæå—+½h R¥¯"@ Ï6eú\¹ðåoô˜‰°öØp$ꪞ¸u+«¯Ô ÏI†b™;ª2–)ƒCSÂØ5z«ÅD’iÓ´(ð±'lŠ µ ÷t{Ýü™¦Å±RH + +™:ÓˆTl2 qJˆ¬ïÊ7&¶ÉPÓr‡ñ×Ö6c1åIíí³ËýÛßëà_ˆàY_.ã´Xži–dÉOT¿7òä,û$&†Ê]€[ø^ü¿¶v‹PF¶Oé¶œÝËonô#žÐè5<±nž~'9~~‘à™' Ù^´åL—‡¥òíµ‘·Ê.ÖZe$´ÌMÉ$ß^c^{ôªë™»·W÷I+uE@¸°6ôœ}ÔÞ§w-oœ¸}À¢³"T6Wˆ ØèG ^VÎ}êß^Cuö›ú±„u¨+SMW$ÑWG‡T#JÏHÂI/»1]n +’/i_8È÷%ÝÏøZ­jfÞ%`ýÐdȧhA«Ž³¨™rTjZlB_,×@‘^•ì±µ”¾„÷:߃O§O©¼·uoCW)!•ƒ%#í3 ÀÛGÛ‹ÚýŽ^ÂÆ”+ˆ$õÆ5îWVýz‡ôñ–gÍ]YËx†CË{àùÉe§e"—  œÙvßÂý¹?æ®n¾ûåwV—¾2Ú¼H*J“† +P¶Ïym³5ÓÁd `œM8eõ Ò¾žæ?O8åIË´øj‚Šš–ª<6†ž&“ ŠaQ;…Š$N=æM¥¶F¼XRf&͹ÃűªqlsŽ:‰«jä»°‘ƒDH}Óô}ÊêŽÝ<ƒ ¼Ì-™Qï@V'Hë󣌋t­²†ƒLâ‘ÃoF'Ήoªì+6a"Èô”Tyg(`•85%OL­$©Nÿ5i]Ý„Xn7÷ƒk¯3| Q"À¬còÛAÜýÜèB°„ÏM,IÒdù Á£«¤ Ä«Áì>)Øþ|~òóJã­]\”GA¯s†)ƒ-Q‚HlÑÊÌíØÛo÷á¥\8Ñ–[|LûëÜ‘±0ž[ µÛØ~oFz”pf/ŠœÒ1è¯rN üõcÔ zv…„~Sý¥Xûo~&7i)’hg“å¡«dã&½Á7*z•—¦LG‘=B"4FÏæíÝe1° Ûv—çûi˜øÝ€‘ĘZ0Ë·-9ª´);1ŸÀŠ÷PõA‡õ7› ¦Âs%Hª²¾WæDI±CÆ¿£Ýnîo"´µËÙî˜yKOœBx˜'J?·Ü$e¶úáP8Äõ×¾€pè¨~wm.ob®- +I'P$ÄcŽ#¾ŸÃÕV%ëgð¾Â²Æ)>QÏ!Û"f¸à’®U¡ÁâFZ…27ûµ*´¬tpÂ×·Ÿ˜Zo+’´Å§ŽœÆd`ÒÅX‚º1ÓCoeÏ ¯sû1i¤§_Yãìèó£.γ›Œ×óIºR’RÜ@>åN?æÒlíÓ?1Ÿó]…ãx†_ÆR »š¤QSNhR(],]LŒÈû•E•€R‹‰I3u_³H¬äB p›¼M¼xH1êü³MÔlcéïÍc +šúl±uXê…5JI¬WQ*£ÞÀ÷̆l—obÊnt‡HIPoíÕµ@Âj`nÛ6jÝ*y*"HxŒk‡ðêhè“{Fµ3,‹´8ýAÜ0oíæ¯”«ÇIÒÜcý/C[¹¿u)}Õî;âÒVWÉŠya)S«Á…‰=ÝBg¸À_u F a‰ÄúR[…&í1ˆU{6}Ïù‚lÃü›Ý[SG‹|¥œ,(Ī¦ë “`8+FõäùMšKøc¤~”kv^_k[¦'zk’Æî î¯sáÅ'M³ö%I…>e’AEPÔóá§5g‰¡•x’­áãÇ/g™% HHXê Ȧ×Ùû¨¼î)Û5Ä‹qÛÆ+c/ˆJÞ[Tºùjæ@–²Ü|¾±lÂG +:³d6ƒã^áÂôGÔn±uG6aÙÅë²^KÈКéjhY¢H J;ŸxI+½†Ó{‹énB=¾n¾I”Y¹p¦’ã® +AÛ4í/,Êíì×p¶ÂÜ^?€Š÷^¯~$Þ¡2—UåÉÀPá±äªo3ŽDŽ–:-C¤7>f›V×ÖÀÝÕúpÝòæÔ¥·Ïƒi#Î::igf_FYs»¢ì¨þÑPª ÏÙ5î¹ÇÕ>ÖÿKÔ™¿#â²ä K©Š©XäI-$w#Þ˜qáÀ>EØýÎïïr˜¸h:”‚@éaó¨”ö7y»[Ò»{„k˜ë+Ü©½PgŒ§Y/‹Cˆÿ-!᪦&XäÚ{ö_áÉÞÉrûÆÊÑ´¡+»—kp Jž½Æî¯â~˜:“Õ<Õ6Êþ­*°éò¥U5 +'0CŠFˆ’U"-Ú¢Ô{_i*×l‹sû:Îrå8è µG‰.¹  ”ƒý¶:qk}›îi—Þ¼ÒdÛ­2¬`& Éò§Šlû›©rMWN¡­›ú—‹ÖÈ͇±ÝÌÒ«¢L ßkmƒnþå¯ôa^•°ÚœßÕN—M +æ‰TE!]=hy**@™÷5:Ÿr%MOˆ'Œ«}¯rMãל8·xèbP %8 v¨š fÛñ˜ey’ËšZQ„ö„ž§i®¸‰ôÓŽç„õóé?^0¼c éZq8)s]Åéæ¥Šªi †Ž­âeV& %ÈÐŽ÷‡ÝªåÖ;û¯^åÎ!W6é%·A)¦v LÒmëΜ»c¿¶p…%=0zÅ{ƒî–º×QY¦‹¨Yj·˽6Íi–c©ùꙨÞzP¬’Vu‡Îð>GyžðnöëÛ*Úå+[Ì—HÒ õˆ˜¦r­ôÏr¬*aàV´“ö‰óâ½Å§WW«>™úÇŽõÇòö%•±Œ.|; +£ùd§’Žššž4§1Kn…n¥{\p‹r’o^DÆ^㎠¥R¢N©ÏmògÛβaj·—:µ?ÄvÌíÛ^á\ Årœ•ø¼æ|gªŸªÜ×c%l†Y¼nÌÄý|ÂïëCß|—8íBàX”©,¡ ’„éHŠþ¥ó,µýêÓk¶Ð”HâR1¥OÅ$Áêain¥…þѸ·:ºê,Êô«”³·æ.æ[¿rYפÁÙ@ÄæÉZÂb:(ÄRâ˜f1ÓÄ®–O– *±K€;( ˆa0. WÊÅÚúŸÔð™VW ‘¦”5‘›…#!dŨ³oÈ!I»jX?¼q—ÅjäªóiXC+}†Oâ ·©Ô}´b͵ÒNic–òÕ==‡V©¢Œ"=üEô$â'm1•Y3šNfL£˜²þ1&‰ÒOlmbŒ{ö·n0uÃÔ>OÎÔ’elŸ4 ©u•¿Ð9kŒ‰÷ÜÒ˜·fËó+RSN§¹›Ï‹Ähj)°Õ`ÀȦ0ö=kp·Ôæêè§|7–KDæ?,  55L¥ü½,K†=û_Ž}@éôëjÚövª‘ˆ +HÔ‡oöïþY€xžåÅ£vÆSŠˆÆ™2÷T«óv2ÐŽ:x åWo@⻢9kÇ0©ñ¼AT½;–!ì6€<;òšem-xí˜&·‘2›™YE$:…ˆWÐ⃠…Ø" S´Ÿxu·"õ‹ QÍ‘æÌ8mæ¨Á˜º.èX^ßQ¿ÛÑ»–«±R‡ÜŒDÓ÷W),%É“ÑN}ÍòÑg:|/a0Â'f½•À÷I·Äp&þa$XGéÙ£EƒZܵz¥aªic +eë}FDЯM_˜íJ`ÎnP犮Ÿ>PÅh xƒ©›º–ÚG†·à£wîí”ÂV=x{(¾Ç0m«':q¤RFuËØË%’8£Ñ¶»”ýÓ‹¼ƒÐA„VaJ&…Т‹† -­ü8îK½h±¹KˆÄ ‚:d$Ý ò´mõ &8ŠAç* +ɱH««Ø£Õí$·qðà#UC&_Àó/‰Á!ÀpŠ™RJ„ö-=™oßPŒèçm7K¶›lËròÜЬëM¬Œ8àqóöV]î®ñœ™›…+îH>êeò¦3Žfˆò– âXÕ|þE4 ö¤r + ø›iÀ¿«Ùs0c›á¤Å,'Ý[Ž»v•ö…üy-ÚÚØfAl‰ +ƒ†¤l¡6ãe ®ó½»=i¾žy)fYâ°’3qqãÅ¢_K=|ëi̸¯H+‘åΚÅ«/-M<õ À¼‰TÀ¶€1‹µ¬=ãn7ãµ»rrô«3F°éR€´¤q$ôô ”«~÷ç)ÉíƒwÃY2D ˆ¬•O CÇäßÎuFk(,O믺ƒEL‹QQ[SurV½"È&gigˆûÌ{ú÷¹N¼WØ÷Ô¾îïbÕ¥¨p)m†¦”p¨Óé3D»½¾VÙƒée¦–%x¦“²NÉêÛRk²Æ/‡aí‰U¬qÒÃPi[ô±–óT\®ÐÄ›x-Ã9Ó_Å+¯™Ò̽#«‚Lr·¦ù + IJµ%ewTUwÌ[hÖü ß_¤ÍÜsz¿>“GRš‰JÏPóÆ•nÓ^K™o +n•‚F*A(S= +üH:ÇÐÞ«Ç›3ZVc´ô1ŠWùÀò泌ý'•æv]ì…ÉkÛ§³ÚÝ]ïS¹ZQܬlÔ0ÙÔ=({Ú_Óæíç™Jš`ÌÈŽ‘ÕÌW&‰–%”ÛkÞÞÝ8i³§ã…›1L3²íZªªMÆ®±ž¬¨=Š ²ý÷áAý_öM\Ì\)`pLi¨"Óé*Õ‹…%×Ê£€®<$>±}Hu£ÕŽÙ3v?=M-4†GÃØÊlDIf² ň><oGÓk–Û°õ–N´°âÄŠ„}¥[Dñ47Êû1°Ê-JmÀ +» I#zSêŸL:1Ö쨽ZËsu?*åÊ…Ÿäiê~JH¥F*e‘¢µÕ€MŸVàÙv‹§ô¸ŸžÔx€ÿ)¹·ƒ.àŒ€ ÛoÃÙÎtv»wöyÂØRHºmE.'€ Ð_8Ý$©*QR† Ï»:ú*Ì=5zÌëW}SUÔð*ÅÑlÕ þ]F´k ÑáMNòÇQ4Íc¼€ n$mÇ<†c«‹ÃŽ¥C®.E)7a!?¤T¿»sÜžã“ïÑOÒ÷h-‘™éM˜QÔ¼T±ÃÂ1ÒzâŸÈ,Ü·e]èÄó‰ ñPõEéo;e˜ú9“pŠL«Ø6*•xÞ1ƒ”Z:I`ˆBô P¢ÕFƒ`*„ssÅ’O_YIR‰=D dS;|@¹Ó™½”¥æ˜J]#\c§dñ‰¤ùƒM$íŠ!R˜Œ¬` –;Ä è \ý\Cç.¬U`²MƒSPËAŒHæ;›ËrGíÒ×·n?˜çÙnYj«‹•BÓÇÖ„{ٹ̈%@ŽªçMI=dË0óe˜Øû}œKe^§f˜1CKSþ’ˆÁ$…—ìïoµ§‡n÷{µl«z,âŸPE ó~Ê,À‘:•eÜKdLAFq¹H!WšìV†ŸO桞e Vãǰ·ÃŒ&̗Ȥ‘„ôÍËTÕÁP8ÑWYKX"L*¢£ ¯§“rÔÀ‹ IÁV]_«©xª%ž— ™ÂOQäÉ.Òâ@Tµ®ñ䞬g|Éý\¡Áiå$F•Ù‹2’–_ÑÇ© ®¦ÝÏ& äíöÊÕçAÙ´ˆØ:jQÝ=ÙËݹ/) Õ²cm\"ŠZÄ“ ŽAQ8…$–ߺdüm¯ÑÌÖdLíS-}_ʽ5¥PfHᦜ1»h‘‚óëâä®lËíÊSpãËÙ$ˆ˜â`|è*ëá–¡N•«È~ÑÄÎ7G‹Ë„L®šß¡òÊÜi´îý\.µÍ[ABN’"aSò¦ò¼É ºHÑ$÷l?Î蕘lTdQÖLñšÉÝ$e]{®ž|_96õ²`u4ð(W¸’™BÇu ±&ÿÆûGírãuÛI·Aq8b"xãð¡®ëeöJ² +v%BIê=u†( ±3 ÜÈu±±ñwºS˜¥\^L ˜WA,“§kÆlXû¾Ã~;;íûI”%Ý0îÒ#…ö•¸€2h~êãô^殺ÀÒÒ’’V³áNa;Iâ  ùÜmâ{xBYA RA*WÚŸ!Ó\8c9‚«ª]XªÅÛ “ Æ±iñQM$¾j¯—’î7“`(U`¶‚x7¶Ý+®Áµ’­  .1ÄɆ'ŒN58仸Kš\J4j|FLcž15îÊ/O¸þ~èÍ>úÚ<‰…`¬0<é<3‰r´ÌZ2̦ö¹:ÜŠí*Û.ÏUà.©BLHòÛP>k¾vöùʵˊT“‰'o +÷¹»ÐÿS0*HóƲö#•',Ø£Ë$Á¿÷ž5¹Ú?.d½¿eW -w.Ä@$ù/Ê;KÊ^R¤,,bŸ#€¯pÎØ¦#ég>aÙ¯¢Ÿ3ç9¨¥—™‚<=d;>b5!÷;v¹: ‹2+&·Ã.q”¬!­@,m+ãဩ7rl²üÞÁÆÁð j‡ô|ºkÜAâLë–rêOùÕÍy†Z\71QÔRÔáæw†¨lhŒ( +²ÝUmtïۛͻ+Ëõ³,¶ lQ+©ã³`ªfû½X$¡¤Æ‘áé6× À#/‹[]<8:úAèÿ¨Ü¯×\>t±úIê)×ÖÇOØlÒ)š:˜&1» „›*’5àw¶ÝõÝ{ÍÞzÛ1mi ’HX¨HÛ´WìM‹ˆ¹1ƒ„Eqå‹zè6MõӺ̕™¢J\MãópŒaM^[ße,„nFGPMŽ¢à÷æ1vkÚ%öìæh¸dÊfáZN*dT7“ç/Y:’cˆéî °î½.R›!Í %NnÎs[6V¦‚¢¾¢4ZŠÂÖÄöhw[îx.Bˆm±¡”ô ¤G­ +Þ%aòHBF”¯*÷ôyAsßI¤Ê” n¦–†j::¹ã(òš(å÷: |xGsœ»:µá@¨ÉQšÞ~W1ÖÑ€¯¸tNÚ÷)¾láellàx³Øl­ES©¾êv18#Ú0GêÒÝÌŸ´¼Í<)}jiQÔ=Æ¡áÈÐÝÚ‡YëC¾ Ó<4äZ\s RõÒQG8R-ú@ §Kë~*1äX`\Ba•‡½¯îo’Ư<(ŠîÁM®i#ý]ê³>ÌGLK!¾ßwáôr6e¯9‚(ið᲌kbo«¿ s<Í„˜ã³ô£=ܼShÄUŸ)À™nijqÿLS¥­Ü2ežŒs‘âÖ¦æþ%mâ9k •O4¯éu/c3Kë)IªF=ÖZú,A?ÈÆ°º†ë[½¹Æ<‰Žeÿ><Êz“d#O®Ç3¹/%”vá²µw“>[Ô´âk…vpÂs£Æôê)k pAnþ)qƒG^(ê=íÞïÒcý¼qË ¶õ +&ÕĤœOÆn-Ó¨ñl®øîtU¼‡ÀiCtÎ8â¸]/ +’j¢³)#í \ÿ$´»q…ŠÓE h§%2&vÌ +¦xb’Oåµêb•TQ¯`-õé§!áUµô¨ic)6·ÀèG»aµ™¢Æ­ŸZŒâ8Ó¦oËø5T˜ÕCï3YI÷nÊn­©Öü~¤¥IÔFò1yÍ»ý|.}Ò“²”Xå}ÚঃÜJªl:¡æ§‚1 M¶=öÚ<,/â!ãXUXœ,JÍ |uãÖˆ)ÄÒ‹œ§C¸ê§ì—˜ð…¦yk$Hª$³âckÛò<‡ˆâ1¦ <’D=å±ü¸¢ÚØ—fiIÞ1ÝèÓt¡Ê¸LÕ9¤U|Õ>OVÊvtßOׯ1Zʨ‚†Y(A!Z0ÄOkpÅÉl’¬iû F]^̰^Ÿå| Ÿ4fª +\Ù²ÃRñ#ÆÖjö7úÏrÖš2ÕX©£œÉrÛ®ÆãŒ=° `AxŒ­Voµ’êÞ|éSp¶¤¬ÂcÂq¼çËjb±ÆTé ·ˆððãåN\Ç1"øµZíyOÕ§ÑÂÇs†ÂàñÆ“æ9S¯]ë c¶ƒlÿ“° +˜òæÛéb¾ãöO½­¬mÁ¢ô´Õs 6v*ïdµ¼~?O .o om0z)œÕ=Є óà(ëôÓÉšêp ’àÞúàn{pÑáÝÊ9“#=5Tq¥kÄ®²›+×ðàÝЗ2eŒ #o­*µµ³{/$]Pc8•%P«¦•㕠ʼn·ÝÂÅÖ<‡K‘³oòj[mvû ®žäd·u©$lÙëDª¶XwJN4&tÇ4âØæQóŽf–ˆ[ÌnæþÓíöpÁúZÃèúO‘ê³0‚ŠØMD’m¾ÔPl¿O%¾Íwe« ùì#øP‡"·^\ÒœYÛ°R<ãO˜3’FÍ,0Ÿ*+›ö:Ûé<:ÙÔlW¨EžxCÇl¿£ŠÇôqmõž·çz?š\¸³ö ^þdó`$šzm•pü'Ë×ì& H$‹¼¬>Èì¼úsE€àyÁ\vTONK^âìâÀ|{ŽnN]ÜeêQÀO­ÙÞ³lÁÖ`š s eN!ŽIR”•[x‰ê¦-WCMA…Móôl +¬}­asÛ‰®÷™îïI3ÀúÒk{)p” NÓJN—aôU¹¢šlL|¨I¼Å˜Û. =F0­E4 ú3hÔê5ñÌ8çW0)óe|ѧÈTG7±’ íï/r{ëÃ=RÒ%Jˆ?­n½½¦ZâÐ\‘ý(ÓHlCÌ]Tδo*#Ö×â̰SÓ¨7Oì8zœõ5‘zʶRéF;ÈØì´SÖañ8’9*¨ã1˜ØYZÄ^Ç“¯f=»oµ–ïªÇóŠEªd¡²F`qDÆÊnwh9ƒV‡Cªiî‰m¿G~€3¿H)ªýGu†:C‹äúJÉ0Š9O›(sLcJ‚±K’¤‹CÎùApÚ‘ÖÑ´Q&Ô÷œK XÖ?¥˜€=·çG¿«7ëË#íw-¬¸Js&B¬ +Ò%c§'¢§_§ÝrüÏ,CN9¥ôHéÄQÏ8<ËÖãtP•Ákªå‘ +‹,~d„ì v›OÃÅ=&úŽÃpÌÅT?«=[Äj²¶%NÃÊEž2²QTsï3;rQú ¹g|·YÅ4Ÿ K©;pØ´û¨Ëµûoç9[Ž&JЇ—L<‰ø¾úA«éwV_¬ÙS£ÂzOŸÞ%e Š8#LXBÒNÒ¢ )˜©{ø±<×ÐïkV™ŽH2÷/³1?ñ¹ðÁ꘦»ß”^dá•8K­Lƒý í•ÙbÆìKâuáEË9çL£Œôž­¨†NÎŒ•É52µdsRñµ5B²2 pnínüš÷‹tí®.[ºñk@ Bˆp2?uIÛ™¼K9“O%GRDGH®¸“ÂúS#âÔñb”sáÔ„X‚Àëv'¿nç^µº¶V×Bá Bø‘´ÔŒîa ¨€dðŸ…w½¶ì½×ÙÅ–sËõ¸d*´,ËG-¼³¹JÛ÷O 74Cê:†=uæ“–ÎBguÄeDø†ÿ-C#ßÄkùðéÛ48±HÜÞÐ ÷õ¸5^3›ðŒ®‘£Â1šéêÍ–Êá³–7ëÅþ˜ºvÛ·½P9€ + x¥Ig»pë#Ô›ŒÁw@ã +³,Õìo¡?ƒ¶=ŽeLa« ‚á¹p»ËTPÑf|Ó-]U9ŽGêÁ”ön¾ÎHMd¶éj&h¦îñ(V5 ŠÜ¡.TÁqê,g5$óåjz˜Û†Ÿi™¡¸.‘–°».‚çûy»U€:L)[Yò¤¦ú PPc'`󬔔•UõQÐÐÇ%emc¬QE™ÝÍ‚ª­É$º™—2Äô´³R*ÖÖãßé“M3$ΑêØX*-Æ—'NcŸ`²Þo¾ð^^¡Jü“¹dl PÅNœvuPw³nÖ¯sëë‡Ú%6È:Ò#îYõÙÕNù»,UdÃŒÁ-eŒ³ÖE2¼O`"*áMÅÏ4‘Ï•±8ñ¶Y†Ê“ÄÑ…YeaoEù,oGmšÛ©§1C€¤‚:F46ÿæ™RÄ(g®™U¶°ogÎ'éo£]gé®ÖîžÃ>ˆfü.Ú˜pé¶Süé‰EDm oXÙeÝp,>åæôYWm}‘ï-æB·ëvΩKèÔ­ø@P…DDV(ï_Õ6ÿîVhõ‰q!µžñ2tÎP ì5žCU;'A$ Üv’§Q¨ÐéÂï™2$g7I€N!Ý,oYKüÁåU–zBS!~Ùî/e6±áNüÿ\h»á•=nènÙ¥$¡e„øô‘ +ɾb‰·¯ëÃ|s{´l¤'JI0pÂI‰¡c¤ý2é®'—¨xØÅ«0\†“>DòRÃYpµ›&Ø ++)¹ć_s'Sð~žE6hoåõ9””°(B¨¶¥^÷'ì¯ÿÒöênö¾im¢TË#Y.Rz“³ŽÚv2†¯¯œÃR[ ñž4u +®ú]ꇬ”éìg »ÒÚqXqLÀåÖj™ ÖJJop i÷߹к\;ÌN1uzªºT@1&E²…$± ég3>Éì¿/`©˜C|B6z€/î2TóÅ„§H$cl]uê6Gè –«:k56‚æ|Nµ+hé„a²…ƒ}Dµ(TI^VŽÎ«©,O9bXC`5ç «€& ÃHL¬Þa0• ©Ó…ynû*þïîð‚D¦4ô³ò©I[€ÅÆî †Ö¢FÒ¢`ªvE9õ#R³ ËAŠ$Ù#…ª ¡Â㊖ž–š’üȪE•L»ZÆÆâÀx?d9ó>XÎ4Y«/EŒRU)‰Ùì˰£Fá‘”¥ÁR,A7¿û†•fwíÛ3âTƒ„àÆHŒ}ôìÛuŸ»Ï +ÂI$ˆÇo hüQ:£ÐØýf ©ÔI›ËõØ#QÑQ¹JÉ!Æ ›ÎŽh$`Ó~šW]ÁšÈÈ»@à“ŽdÌ7R|­FØY ¡’C¼¡@,û Û™‚‹l6¤j ž8qšÉL³{••F$ôŠ¢æ–)<è˜Ç 7tû­Å†YÈt™ ¥¸fd¨­¢ÄÝq +šDŠñÏÆ‹;o6?›e³^àéÄ™à°Ê hT+á32 ¸cA=óÞ5fÙªŽ) +³ +åUWQ[9¨ªvžwmIÚ,.~®a©Ç±—ÍÛ$NoܳvïáÁKœ¥%owlVqQ'ª±ònD°P®dÆ:ðå-4ºÇîé½ÖúØö ·‹tEë eKSsS‚º`º»¶L¦Z“Ò6ûkÀØßÙÆÞ$ÑöïeM• Ø0ƒx’MÏ~sê寮͔épüËÖRCˆg´šIi¢—æf„€¿ïUìnÊ÷О"Ër̾ý§Y¶oÂÜ)€Åò¡†êﵚÞ6à`ÞÈ=+°Ì`M×·¿Ô¨peZJª¦`&}W@€øúpiÙæGùÇ„ 0Ãuf[Öx€+¢I7=ÏØF?6†ÒRÒ9¡Jx€ý X–Þùí©âû̵.º¢DÉãå²»ÙéÌ +•{†¡Y?¬ù//Òú„¨Ëµ”¹ !âÕ«¨á¬ùŠ…ƒå¢óB™<Ń`E®oÈ×´,ï"¿¹VZ.yÔ‘2S™1²"‚ùþúØ]ê².€·A$a=kܲœ­êËÑÎ3ÓHëäÆðL3/µ:ÉQ‚â*¢&þL”Ì®ÌÊt¸ÌVÍû߆3RÊÔ¹€´ì=a\+3ÍÃÞ†s2…•Ì ‡¬^à™ýnVõ釧¹e ȾŸ°á%]Xh’šºL*6©‘§6"4/D[iÜžHùG`-îþUù§‰vðÀ’¥":H´9ÝÞÈÙʬ ÕÁ+¸þ8pîÙ×êWªJ|Å×ì'—O2lNÃÉ’)ZzSh©’c&ã{·ºs~÷k7É÷WòùqvpÇQQÚIÙï¡öC¼¹NìÚ6Êý³˜Àž=5îvÆ¢»C¾IßT·¶À(^ü“ʼnK~T£û@ÛÇTÉ5îïMÝ9êçH¥¤ê]Dk‡ +€².\$Ö/Ò#*C}?>Dݨï>KÚ1üI¾Gh þõf9uãj`™="½ÁGÔ_⥎d|2ŽHHè³ÕtjJ%h­ö‹6ª@ð6¿}Ÿ}'X>é¹¼_ìò¢‹û/úX¶Î.ûÇOìÆÞŠ÷2úLõ½S˜ºaUžz£"CŽàØ“QËK<Â$j$i dÌÛn©ºˆ.Ì÷°²“ËvÇØlfˆ·³…#P L@#Ìí;ó¤Ý¼v<Œ£4M»ÜÔB£gPë? +÷n­~!0Ë]ÄóžHq_á4Æ8” ¢†kh¯¶ÄZý­Àvæý3æ×YëL\`‚dΊîgbW7¹Ãhpø Ævš÷*‹:f*ž£fJÌóQÂ곕dø”p[+JÀvñryÏÏëÎò×ûaÍju6Ò’Ö¯éД“íý@ØÚXoã,}ˆV‘çhÑt:µòßMðÚl@¬³ÅIç•a}«PÍ*©Xs>ä£ÌÆEŒÜ¯Ñûy¹vÅG·÷+qøV¹âÙ± Í,kKóf[n±7>>üUá¹ã Ž +% ˆžëUµæí.‰ÆšÌÛ§oU qnšc8œ•8Ÿ»1'pÀéþ.*°Ì÷P³`wž;HžêáÍÎv›gƘ¢{+—òû½IU#± ¥X®bÅTÇå=Õüuð'Ùê¹¢¦‘6I[mí`=Ÿ³›Ì;@/Z%qoE +o7¾ò锦#¦Ÿ²¶BL*­ß½%O¶E×ëà)ƒe3<³bµ…ZJ[°V>ÎRó9 @Øh$Ú_%[(Ïg®µšZJ,‚‰iðìFÈÒD ¿@X{-ÎT Wµ1Ÿ.$%T?{Êܶ ).bçxäE7æÜ50\F‹©>}dê’KäYÔ3¨?<“’ðªüÇ‹4J4è=ù<@|xÖyvݳ3Ç¢¯ahåÂû°jY±¼!exHkqZ†Ü”×}᫱ï¥ôøñÃÀëpœRG214âöx^üKa˜6ó# ´Åñ®”̑ƒ¹G9à¸î_‡D²V>ÂíïvÃÇ’²ž7/Š¥ @Ùæ‹§ßƳŒ½L´T)]žbêR m¡u;%âYG-rŒù±‡ú¨¸Z&JÁ°Ìu`¬E©§©Ekûi­ø^nŸ0 ŒiËÝu*"h1¬ê&eÅ05’ž–jG*lN»F›OÕÄ/TúmCIš»ýJÚ‚EÅî>ŽeYèCE +ÙÂhÈ6j4ˆž=úoõ5ŒCÒÊìœ Äi*“u9ÛyPƒ´¨kfö{yéh«öGå1%0î +ŽûO·‰Ø¸i*• &¬õËÉoHQ_­1Òc¸$ROJû•’¼1¸%Y\ê ƒ{y'êp¦¡80E‹‘kwâ—l•tÞ"ÍTïì·Hã\2ï§üW¨9œ“ü¶™]¥•ÈUkܾÛñaÑÜR|^,Né¾"Â{–?gXåéÖJ±áúÒ»<ð_ƒ¯åA×Z¨j$¦8s« BËmlŸÙÁÊSåü>§ ¸‘á…•X“£ì>ŽYæ[”…H‚=z)Sk,jpáA¥&@Ç+|© B`©`ÏTyi©á…ZªbàØ%8ÝvúM‡×Ì£þ±¯¨»ÍìÊõM¬wŽ$´˜#j°øcCþÖ÷‰9vBòÿˆ#ÌáANX©‹Æ`Æ*PÏO„Ê“”í¹‘Q÷Ž .‚› z•©káX¾T6«¿hÔû5Naz÷;ËôrVâåV×2z•€†¢ã07]øñÐBDõŸšñ*¬ÍšæÇ6UcjG¦¾'òãÃf‡šj_r™kö½œçÍÛ­•*ËÈ‘hqé9†M—’‹C5E${®Ú_m¿£0êIÄŠá™TßS¥¾'¡ÀÇ]!¾PJŠFÞšâ´l’Bñ¯œw]€àx¢Àó]_”˜}džtQ ¤Ð|8Öc™8¢œp4R—¬cÙHlÓ”hÖ¥±:(Ì+#oû˜à»œqiþbµjãÚ‘mî|;qCYc/JæqøR«³ßS²³`´1Œ5é\³¹;½ó`î5׊,„ÖMUMY¤T&K—[žï +uA¶ÆÝ‘Hò@SvU¶ $3~%J’TP Û{ Ú>«.qúš\Ù…E‡´»§u#c{ºo l8K•n­ð½’qé41Þmà´¼°تLЊ¬"³æ‚•7Ûµþî"z‰–«¨¨ ¥¨…ª‚DQFå°Ð~J Ý¥í¥ïá6íëË­Ðý¡Ã Òç¦9މq)'–¡h.û˹*ÞÒðñäÑy#ˆæ¬Ð>^–?} ·Ú6Óq𷳆?Ø¥:Ð}ÈÿÂ}8RŒÅ–Ïí E=õ®ÌrÎU»éå=EímuYÞG×ÅhCcm Êì™uÈ'[eü½èêâLM>E¦¬B«\éa`-iãž\Äêh™ A7âLÎÑ.`6R·SÜ©E;)×L…‚bò¼Dµ2álÜ.„ÿª{ßÿ™66Æ¢J‰|§Q´kÚãB8W™³¥@Vݼ±›µ¸•™1·¢€>´ÓÓe +Ú>†˜WC Ã÷TØ£wµùÖ-TF‚¯k˜¤*ͯ¼AµøÝå‰Bµ&’K$%gV5‡;d)òítxö$0ÖÓÇXn qß¿ ?F²Æ Šå8áÊYHT;ì4nç^ü3ÈÒûì'"1ÙGL`–Ï†ŠŸWs?6q©©ª’OÒHXjtéÅ—¨¾œdÜ¥´s`¯â‡o¹®Gb4úø›z7ÎÙ’ê•':Aœåm¥Œ.£g< + U`ÐbJÐÑR4gÜžhÕ¯4Êl@'jlOe¿ErßAzEçN¦õ²³ÎZÈùj¦À%fò+ñ¼}Ž—|`hI-íîjßÕM¾ öŸcubõúÿ,…6‚ Á¶ñSŠl˜ f¯ôÉ•æ™Ý­YZ´‘ ‡µÏÕ·Z—>Õa@¦ËxHÏØ¶"ÕÓâ˜]:ÁRòaþ[+IÝX–HÖÜ2½nˆa‰ŠÅ²i¦ …⸡ÚÖµ®nO:u•n¾TËm2<)JRH k$ŸÊS”þËLÀèÙ²(ÅqJìk¨Å±) M~+Q%TîzZ†.íõ“É8ßMó~JŸ¨ttÏ”¨j~VZåS±$ï°›[dž~ôØ·~›e,ž$S¶yû…Xމ9䞎¢ˆv…M§qÜÃÇÛÄ{ÅxÚ.8Ÿ*]otVÖºð×AÜðÏ`ê÷§Ì''fDħ£êÇQ|ꈲ– DøžJ±Ç$rÕ,A˜‰·•’-¾î—'Âí}÷_´;{»;›T¹hØã…!*Tâì ÌÐ'yó|§?S–ï4ÚbJ‡„ûk»Zúê>»òo_ú?Qñº¾¡zŠùîŽu7!ÒÑaØ6N©Â¤–>çªc9Gµ™­°ßµùÎÎÕ;8Ï.»P·µÉ-¶Ì<…h @@P'RÇDmãD766á™Z¶Š*LB`â:ˆ¡—§µµY§0PÐA‡b8gP)ªªq V±=M;ÇD´i•Ù(¸°7½ü¼Lõ_5b¹ƒ“‹Lä¿ÌJw;ÕÄ—”† +löÜÇ^Ü|¶ØZ$wš @8Pဠ+Ú( ƒc¡—2¥ncÊ’æLUéòÞXÀçZW®*òTUÔTê´t‘¼²­…€ýâ8îg˜"Òõ-7+Z„éà”âQà9ª×Âà±Æ½ÀK¨Ǩó•iÃæò©…C ¬Ë»Fºî)pHö/Û”Þ-ÄÉw 9tÐpŒDŸ?m2NЭšd&Rhq|K GJ ^”T¯·K‚,Aà¿é +,[¬Ä²æ'c5Æ¥.±y^ê>–Ú,H¿ßët & ”†O†8ŽŠïÞóþqÔ©ûê17ÔêO8z‚éV?Ò<ó%£ÏUGÔÕÈ¿¥Kí ð¿ {7Þûlï/ +˜X$E ß¡ÔjO&½À“|«‚f8±JeÇ«6K)U|ÆÐ1ÄÜñ=Öê‡/” atw“ïCæØ «Â0ËÌr› %°ãÆ×,á•ñ‡|5Ò³-Ì‘¡¤tM…Ô V]A=ïÛœûþ¶¦{۬шiIiIÒV GíÔ™ŽªÇ?«­Äºvõ7ÍbˆÒ¾£8:úhñ~þœ½)úÃè®'Ѭϋ͒}R`•f#…M2°Ç† ­±½É–9CoPwoÛ’qþ´RbNj(èä‡]Ò¸|{(×ïæ +Ø};¾Â¡w Ò6À?:‚¯râê@P‚8Í9ü"óÎ 'òìéš0Ê\·…ä!yå•~ÍÿJP/Üy›õŽˆ ®¤ŽL0{ÉÜŸäŽ7Ÿv_m–7¡§É$â E)Ë.ž±F’ÛÀûf±u[ðÈ™N™ñ¬¥›å“4M2ÚQ`ŽFծђ÷±÷tâ6NsÎ1>?‚A$‡ÊŽ'¾Û £Sß½¹\ŽÛùZPÃë *ã…gÞ½p)­ Œ¨ëB§úxý&äÌ£}gŰÜ/ +¬Äë1eX ²ÊæB¢Ø*1h÷Ç·~cÈóÑ`8‚â5Ûž© €µö‹ëßÛËo€{1HKp6bÒ;­ÑÌÃÞ=:…sõ‘OzÙ—W'ä#GO’RÒ™LëÌ˷ݺØX-ô¿ÓÁ_ë>SL¸F* u% CQÇ±…©Ýkõ4€6ýÜxSîn®l¥…@Ò6ø„|h—b‡úÿI™ésVùlÀ*ã­¡žž±D±ËNÛ•ÐéÙ—¿ì"’\=˜ò:Õcxv$^8# ™‘Æí¶Õ}¼1Þ’…å \-:‘ põ¤Ù¾J¦ÀSƒÂLmü(äuƒ1aý`ô‘ +ú—›ÈHÈoMQ=mEBµ!–' [é(î½ïÛ‚®>Y¯Äß)cxœaæ^¢®Æ¡ e„b\djBõ눉§rÍÍ·ï¿mxÚ[lÉò¦ˆ–jÊÝCËx57W2îUIZqy#Ãi5$¨±1tªBÚÈû>$s'FzI–1¿TØO°ºÁåzªÕ™ªeQNvGNÓ”asb¬¶úéÁfK|‹†u`¯I§³¦¬|¶ÃºÓHÝBUýCgÍè_΢›ú›œ±xW0E)q'›V”Í4e­£¡bWÃ_ß]ÝÏ•YOÇŽ"ød¸H~3ŠÁ™k EŽ©ÝJÈ.Ž +·¯,fÍàé@R€ÂiŸÌ·lêZB”c‡²Š§¦~ªdΙfº¬c4åšN¤Ö¼CùU%|¥i¢“uäÜ„8mËk}ñátͽyÆ:5C•0Þˆ»eüLJAS‡æQI>"êÃÊ–¥›vãmÖ…üxÞélÂÞçó Be¬‘1ä)]¶ð5…6¶‚JRHPc#žà„”–º­*F†ÈÕ*†é§‰ÓãÎØý,}Vînûn«w6ï¡&aIÙ +â5•}’v¡“çyXq‡Á%DX4cx%~_¯l? +&KÈw«â¬;ó”=9­“)Ucøö=H„©áPJøŒÏ-¯úVSåD¶Öû‰ørû÷õ›¸yd›Dº}D$!¸+$ì"LùÀëªçºn¥âYiaç”t„´ÄôžuÜY‘ÐM ÑE2µ +aM‹ÝîÀi§ÚZl§†fhs†m¤‹Ž:¨ +@ä´Q´M¸NÉîïÚÊ Ž„_ÛÉÕhÞ;`kI@TGQ©?sûL_t¦%0:zj!&7"6¸ÔnÛÈùϪù§¨QÑf§†fËÔíEK-0òÁˆ»>áô–'ƒ\‡sìòÒµ3>3¨ƒŽ1‚ÊÕ-<µ*eFMqàé/:ä^%Nfêt+QC‚TEU@Õ±yÔÓ=#‰<©• ¤€·ý³d9†g¥«C@…i0  +oxòw®`Á^6‰À‘^âóÕÿãþuòEOMúw€`Ù?¢©¤«¥–š‰§®ÃæJˆ¦ˆ£Æ²ü"îÊ»ÝÍÛÞ.oTõÆ•"Ið¨B¼Á颭ÔúJF\•<õÂÖ²’pƒY~F³åÅQ‰Å4†Êö66ö"ºëûª¾¢ºcO”½DÉoÌYw¦­Á1È`‚’h 1ËTS$*¡üÍèAøp‹êÛès Þ ÁÌm²q ¸ÑV…¡Þ%AHP'dB‡­Eý¡}:7q`óÊ ;Dô‘;)ÿ¤ù°dÌ÷E‹Ì]hdf¦©lLu+°ßà êâ+ªÅñÊS†£ûð2˜d}°°¿·œÆú!úƒ°ìÓ|Ö¼Ît[QB¶Ô!ØGk nŽtâ.AРRHă=:u¥feɇPÔAA´¿6ز³! ¡¶£uýœ½;eßêfcÄš5űDXË‘æY¶ |Mî~® ¿¬ êÂô´°^«v¼EG J#£  ”}Ûçllg +m»b{¤‰ÇThŲ•N«„M¶lIä,ë nUEñ³Â÷ó8¨ÙL[åM ©dí¤†'š¥ÄëE(¦„}×SÞÖ‘‚Âq˜©Ü¨W/Õ~]o;‚ÓWÊyÄ¥50V¶4ÚÑî÷´ÔýÓ‹œ6¢— s #‡Œ©R†œ<·~ÊÕ@¬ø€Ùò£†ì³LÈ“HÚØ¥Dõk¶ ›‚t¿·‘rôûs‚U4¥cóø[i:€4bß4iWš’DuÑuÖŽðp5#òŸ.yÆ· ¸‘rÄè'‚ž!I lŠ(Tr@:x ž®ñ½c«Owt°à 4މæ¦ÜÂå›Ã¿0õƒÊø~A.4B¿Ë *›Ø·Ç†ùÆð)'laÔjùÎñ%VúU‰©¹Y*&Ç¡©™x’@Ò4û¸ 圹SM‡TâÏ$· `H$ŽÃÄð9»¶ó…Ç$üÍ7‘3o£R¶Ð‰ŽæZG¥¤‚EÒÄ}Ið(¸œEêK¸ºþ·æAî|Úl‚¿ÆŽì^ý—Mlgéß5a”Ù&†¡hÖMßdíÈûéÉxMcSF^3f]~Ž7§tW˜\©g}ô_}b]wlP]×Þ¢fPø…ájÖµˆÜ²ß]HíÇJ\ѵÒsbñ›‚¥+Â*ëÝ©'Äp¡r/Áë¥9§¬Çñz™¿V"3E×qÒ×ú8ÿ‰õ«8 *Jzé"I×±7íß„ÏvRËD‚O‡„ÕÎë¶P%rz7ðºémNzÄ“¢–´`5L0²=(W#Úšñ%Œæ*üF¡j«jªasï›÷öqVE»Ê"0Å^Ç+i”)ÙC×D}7e¼³ƒÕ`Yk‡ÃË*âRÌYʳ5Ζæ?æµEÀ¼GCÜöå“»©üÑBÌû.(& Tú^ŽàqæwÂñ„¥Åƒ³D¤Wp±[^wD‹iHˆ÷…ÈOÌrbÐ<áM?h”‰P¨8þHÃâŽz*šèVB”ò•öê +¯‡©š"6€Þg®øNúTi,ëYPö|è̘~=‰š‰dg€Q1ýö +=â ñã‹SKMjȈ±¾žÑáÍÙ:á4`þ\Zdšsé®'‡c6UÄÄ“b°G¶Ò뵉!µUúy#.bõ‘³˜ËF¯¡Nü¦gfƒH­n¹%*óë¤÷[:u—àŽæ1UTB ³/u¹¸öÛ’©å©£ªI5d‘µoøÃ©JÐjì\ª“˜µ.›pšÌt•t±l `€Ûmx5tïÇÓ¸D‚£Rï3¶Ð ø òÜíÖ— $àieÛÈ´gm¢eÖ -ÑæÉgżí&Ô¦ArÅMµ‹ê^¨äˆ²ßÈfŠ“Šâ0‰Ä·‚ Ô’xæô翞¶RŽ¡ÃÖ‚ù¦t)žèì _øóVðÊ<+¦m55’C²kmZ×Ó·cÃÝØÎ[~îѵXǪq¥–{Ô•²†§nÚRúVÆjs¨Œ +‡>bTWªÉ¦ïu.t'[ÜiÄžP’X²î×Ú³ÄÀžöÛO¨q'i·¿šÏ®TLø y _\¸3 b+}BùUmÍC¼”€ +£AtPuðîÜ^äΞâž©MUQ¢ÒI e­oˆ¿2»ØxÉÀtWš¿ZÖ|^B‚<ßeÂ̰É,/%;.ww¿~%=iôò*tæ“lO)$¨ª1Q€gª6T=¼–×Ï6Ó+îÒ‘$ñ?&3šÞž±‹R`”µSB xÖY”¨u"úwä…¼9hbÐíQxÀáFÙ•ÛbÚR “^äç·°Ýó²Þß³ùa÷AXQO@A}i¶U¼,f îÏÜ­\*7 ‡Kr›uÏ®_Ë« ¦ÁæêUELo m='ÌDÅ  !!6 _°ä£½÷Íä;¹¨®è*2¢g=&… ¾›v¤’ci¯qS×oÇ®þ˜½=Ðõ“©Ë VoÌÑáTΕ,!Ž6š +É6 yíؽÂý«^Ü„{}í—swëwók4™Cªx­BRv#øx“²‚;ã¼™6hÍÛ)^¢–ÔIÃÓÑB—¢^ b0õgÓìç…Mò†æšê\±E4µs-=J¹ºa•Áà!ü·Ž_(ÒÎH6Ò6oà95w½™Â¥N$Ï€+™»J°Ô1«Ì­ê×§lRVs^ðµîJk .X3'p;wâ·§9:OÁS‰eüoË3“<4’öa£!+m;לnž¬H#¡[~4‹1½gn¢tð[½mu£ÒÕgM+béP2†Õ¼-ÖzHF+ë/”Ã|R2ý¡ 7|Ä3‡¢Ùo(e<¯&^ÏtTTãØ­l)jZV!#Pnv¨·›íd·èmIñŒTDüM$þd»ð”¶6Lž¾ª®Üéœó/Tñ,Ìrf<´_-[,ðª m °°Ë“À°åèžµÚª8àòßÝPw=ûp‘ÌÁhLHmvÛ…%dtþ”#œLj“Ž ¬«ªGúFi$b§mÈS~;e]‹òäíQï«i¸K%dš]m”¶ ŽóøÒmsNpˆ<µ•uªÕ¯´Fe‘¬ƒ·ïi~'3NU3•Ád4x•3†‚X†Ý¬ÂÛn,u¾¼U”]¡#Æ%'h¦í­ÈZ€T‘ÃÙBWDsŽƒU‰óý?õ›&âÐ4–RûüÈ•ƒyÊ®Hܤ·øÃ°ºü+;SÒ5àÅéê㎦ Û•„Œ=ô'í)‡Ïܶý‰#‘ùMx(R’ Š1¹ß9e¼ëé“ÅcX±\…Š`³ÔåüXÂ#šžZ ÑÔ¢ÜG2¶š +¹_7ÒúpõLø¶eY+ðJ†¡)›d«thÄ¥»2ƒÍ[X¸-Z)"AÇ®ªÎnû­P™Tâ(¿?O1V‡æ_$C>rÁ±IÑÖoÑ­D˜[H +&ÀºÉp{_¿êã£YÅkzcÔÅ|o¤ù¢NŽ*–&:èƒùuÛr¼,Åw®†×°âÜÊòÖá¾éü¶´uƒFÙvnVÉïÐ{£°ñ”MªòFaÁîÞ\”¸ö4±ÖQ¸Ù,Jö'Ø{p³õ›ÓÑìWÆó=rãVªšÉut…d\JJéUP³{ÂÔñ2Žû¶ÛCÀ²ØÁHR¸xc7r£—H:ÑúP­‘ºíãV”òê=&#‚8™À1øªh Ãª¡£—åcjzió#G7!XnIïß„Ö6…7“'¸áE™uɸZ‰>‘LÙ‡­ƒ©Ä ¨¬U¬”TTÆeb’: {Û˜qüÓQ€) šJ(ëT$‚&eŠof×îGiÆJM­ÓŒˆQmD:é[i¶rTLƒNy3(A™‡ŸWu¢šìžpgo``mÌ>3ƒa!Äæ®+%^5TÔ´Q“fBK$Ÿ@T}|Î_êbú{µÎ.nw‚åÖ…hA8ã%yðöÖ@}'î•»ì;~S*'B:°•>ÇꊹâÍÔ¸pýòaÔòO´ŸxØ·ø’„Ÿ‰àE™±Ç*"¬“T8Š4Q¡.ÁE‡ÄžtŽû:²Ê2çYÒ„%JQ8’f²Cv2öË‹ÀI>Bh/Š7šU†1ºIX*icaÅÖLèF'Šæ:lµ†£bø¤±4‚šÈ–0¡y¥v#‰-vw`jO0ÿéçúãØÞlýÜ¢âÁjp¸ ÊÚÇRÃRzcŽÊŒû9úųÎsg-_·P:•¡hÄi +‡ 8Ò×4ô–ŸËÿÖ<µe£Ã¡OžZ¢#´¬ý µ¸ö[_éâ·­Ù¡Y+¢U¾mÁsUqÐÑeü¯4µðPH[ß’¶©—d„Ú0>$s(wk{³ûÛýj´[,D©n@R°À!#SR~ëvrþcìµkØ|©‹UÆâ¥)‹ÍaUHbij³ÜnŸfÙbsw_m³­Þ'SCë}$«Æp=áWŽÔTQÃHl©J–Ðk¦¶ñáÍ>—óéG +õG‚WÒã9z¾²z WƒÔaÒÇPÑÃ#€MÒUPu_ÙËMñ²¹ÎnrE6 ²Ü¡GbÁ :ÅG™îóïÜ·JN¤§WQéA‰Ìr,Šv²0 üA¿™S  Çð,ºTùмn’)˜(Û¹Ù~ÞÎp§ë³ÖòÓ3;kd„¼ Ñư§¶,…›=æ}-&U0:è\‡9fÂN(Òù{)гG¾·föÜž ùßù\x[*Ë$@´h5¸Ðm<y«—!$ˆ;D{¨§5µqM&vR3,â¾fgY±;É’î|boÀoÂ*|öù•0³ý'…®êbi‡²tº°hgÂ1Ú8éѰ™BÝØ|<-¯·Øµ9rZO¼»‰#Þ$ý1ʯíšÛ©7V壀é¤îgÇd3­t„;BÞë`¿OÇ0Ì áΰ7¼²=®M­ãœɗIåEËË“nÎ’f¥æ<ÆøÌoSr(ņž÷‡%b؊ѯ‘º¸¶ƒ·ÛY’¬iÝI:ce3`1Äe3Lv´÷'¿n5Râ²QKæÊ<¤Ýú¸­vº¶m«4 Ä’¥ n^‡§ò©oQ9_Òg²ÜÕØÌrT+~‰ïØ_ŒÞØ8µI¦[qË­KÚ&³& P”Î¥çhmqôŸ¯™(ñÈ ˜½§¦7¸%µ^0q*aU˺@6ÔiòýULIåÄVž rÜ?ÂüꯨøÚU3ÒHìÊ, F¾ß¿† ¸é2M ¡¥bUã‡tŸšd¯"{ï&ÂÄ{<|8ßn7c)-}KùR86cq©ínjêí]ÔI'΃—ö(jìéTÖ\[Ëy{x0Êq%dhWpÐßüWàéE…eïê;T¼É5^•@i øðk»6¬9gˆè¥]»¨‚gšµñRŠ#RÛH¹=ωåzU)šòIØŸ ,x4Ýç’ÅÐm<1Æ-Ш +Øo¦µ”ùsƒ/à÷?#hw›‰F£¸½´&ܰì,‡i áÁbsõ«ŽÊ^XI\ŠÿšÒ­}vê.‹½E^YY¶Pñ‘Üu¸Öâ–„ÓIûÚ_µ¸9½ËíÊ\§”±6©m€O­©e|fÓp¡ IéÚÚï=öŽÖ“Wt–ðNƒ³¦‹·¨­a¸½U^NÉ”²dΛÄìa…ê*È:=S¶Ú/aÁ†Âs-^+AT¸tòÕrÆæ6eµýëÅ]™Û4 +XtQ†MiÝC‹tPa†aCËÕ2RÖS¸c%)EŸa ߎ}tÆpÏh¨"ëN Ò.©aùþ<>lwÃ*Dæ%‘iÜì:íÜ®/¯úAéû$d<KÕA5ü«hã‰7ÚKÅZìnç×o¿vãëIÒµ“g[ÄÛ— +)ÇáéM\ëf9ÔÌýŒfÊ7¦Í”•« +·¼CeF+¦‚×âË£U¹s ¤1å©ß ʵþHIu•\?a{“ An„áá +'¥JO¾°U ²˜‡ÙƒÝWωܥ”Ž9=&•hMv3™ +Á%:îy%*H=ºpKÚ—i9vç2íÍë½Ý²H*YØ™'ªMïnú"ͧUr¸m8êè5Ô0IPå#µÕK”\÷ã6`Ë5øtÔsC%e•šže1º222·¼¬>Žn–ùÙf6í¾Ë©u¥ JÒu$ƒ°… ’Ùg%IJ­H8…=âÊÊlÂÇãŧ§î–Vçl¿3ô•C‹¦XD^M•¦©Å¤4ÑR„ºßÍ×s–1± >ªs;̶×/Ó%ç$šB1xöË¿ª²²CZuj2}6{ë6Xh+c¬ +$ò6ÖÔêѤ`ØÂ)¥t“ÎÊdàuŽô³*âØŠÓÖPUB‹w>ö§^¯Ù´+„xT0èöÒ&ó%²è(QtŸe¦­ª£q%,O 7º§O£ˆlóé "btØjU`˜”oî¼S"Ûí*×$iÂÇl®š¡Z£l…-´Þ—Òö¥Â£™¥NZëfzËr.Ù¡Å)W¼U1£‚> ý|z—ѼG%ÓÑ¥눵kXyW"××yöðÍ‹óxDiQéØ}hþÇ:bý'îèãKŒ…Ö\Í]U`Ž:+BdW$\0Î<×tš#-Aˆ#(g-©fkjO¬w9‚U¦†ö»“jÛ(PpÄÒ~‹©5˜Ža’)&—Ê”˜ã±°UíÃ?Pú]_O;um¸ŽY14q*<ß0â@-ª $“ƳUºTÙ´N8ÄOEs­ÜuD”‰:(Èzmõ%DpY=1ç8c©éßVfž*ºÉ§ŽŒák$-¾±_t r=½¸‘—§Yû>`“ª¸¥e4Øæ[¬_æx]dž^$|ѸÍäÉ´ùH4Ó_‡ (C!A)Ù¨löÒ&M¥ºKIû†1Çõ£A×ÏO}Ç2¦¬£‡ÖK‘sÁ„æœ3d¸`2»D9ã &šI™}’Eø#d¬ýQŸ2ž$¦ò +´³”Tj`Ú<çaë{“„F'‡]*Ìî×wnp´OýIôoOÝdÆòÆ/RøÐª‘±:”—y Ä¯"4„ý¦ üEø»Ã:¯‡ÕeùzSž7ãÝ>¯s-<«w› ¬µ–¶’þ'fxOuš<î©Ù‹ÜujqMG‚=‡¤P`¹C¤¨þµ`*0ìb”\ӱصžñ·ÄŽÇ‰,F‰2öaþUTc“åm$z¤ˆà2ÉÕ”‚8Î\ñI ;)%½¡eFp#Utó0u6f +ޅตUTÍ2Có´q¿èŠRí3î¸|5¿"«/ªVw+9’Ð-‚BÈ• C&8ž½”¯zsü¿#ÝÕ_\aiÚIÀçJLŸ‘)±ü&«¬‘ᇠMå Fà }—íÃ±ÒŽÚ +|; Q8ÃÖ*jbÀXÐ(\ßKžq·x;C¹ÞÌêë0tBßqK3ÂO +»ìÑÛüÉû• +$㽘³t“B´TÁ ¤DÛ°÷;tqêv‹tÛËLi Ó‹‘§ÇÃïà+z30ÿ„Mfù±eì1'…DÀ`þyVi)¿GW'Ùµü8cóáyž*é˜-Jè/îm}{q…]±tÌ*éèªå— Ý$Ï„ãKì°1<³4tUˆÞKêmï\_°&üOaxµf+E\…b|mããÆ2æUnæ¨ÀôÕ4ÖM*q|»‡cH•XL›åD é%—mþ±¯9ÍÓÕÓ¼ŠGÌ«ßØt[”»=êe_p3=]«›6Ö’IÙXª•”U1ÃRR´k¸»ƒðç‹â +eeÄTŸ¯…—:[^m_­¶TÚ‰ˆŠ| +a rT‡P@·‡"âôHhÌÖ6,ָХÿ>=f²1­æ¥ö$í©ùwžXI±Ø êNãßnžÜï Í_Êa‘›SJšƒíqVî-Ωkt 0 sÅr^bYq—QçÅ-÷xí?G%åìsv=C(ëÜ}„ñ‹‡Ê@‰à)EÝ›Vò  Ô,ÉŠÏ‘°SYÌ=(ÛžÝûß_¿ŠÌßé¿éæ sTõ‚ªš¬ïHˆ¹;G·†kËÖºŠ†‹ó×¶ˆÒp1L´Ý{\á%6]‡A‡"Çäùпh÷ ßøñµ25dd@‘ w$ûxYß%¸h°YþÒHÂ8S¤óát +¸t¨jä¨"ï{íUñú÷ñ⟧xŽe’–Z*‰˜DìÅn +>0c>q¹J zQ¥£ ²Þ#`ê]S¥­†£ „#yi¸_V? +%_Ì 3û»ô<È“$±fáK‰<£Ãh„™k`þžà9&–¾¨áŪ§¦ÑdÑб¸ÑµÛôs€r‰p4æ—”‡®5OTlŸZªuë‘SæÀF1Ž—–FY¡¸Ut8î ?VœãMS%<ᘌ;Û”Þ­ÏEæs-3³®¸õ7¦XftËN´3EQ‹ÓÆ `ÁÙZÃÝ:tïÉ¿Î*’땉ô p-o¹åáûAR|¾ÅG¨q § ôëb±­Vj¤òqjáI¹ðozúØs1Ï%FÕRÅΖñ¿} Ù¤ë5[ö»µ)Ï4Uåìµ€=F!R´‹AdeÞ# E¥öµ¹-ê±LkYéÜØƒà@öq6S‘Yæ ÂñèãL±dÍÎÓHü·Ó~‘ú‘ž£ç©ñ™`Ü‚˜°3,âÀø|y»0bÛ–Ä%2Iì8¥íÅ9p +q«±”÷ ž=tó•ý*åN„Aù; Ý5S¹30ÅÏÚñ<;˜þï€ø£†ªq­lÂiUÃJ2²•Ù¾*ªHha +¤€†M¦À»€ í­¹Å'h§2jž®æifîË M8°„`ãåð§œ{-áY“%ŠJUZiá…™¶»zøÛ^ ~–}Nãs-N"¸}qÊy–1MŒ`õè³CS7ÚCÀÊs6mVî¢P­½?­«>Ìmu)…Ƭ“ö¨uþ4G¿ŸD4Þ¤áÃjp +×ÊÝBÈð·òº×¿–Ë!Vh§*Cx\¨áÊéÿ¦ŸÃÏ× ãý>¿KsýRy•8E4ÿ+åÈÃP‘9(ÂÿáW´ì¤^¡J´¹Â&0 yÎ"½–f–‹€+öntlÈñ¢#_êSן£üfnæw§£¤)!ÅQ1jYÒU^ æVv[v³ƒoÆÌáø3Ua±K6\ÌSVC—Dž(þÁì.§_§¬ïq·šÄÝ¥@yãNÞä'Q#Ñ6ƒñEë4sŒSÀñ ¤‹d¨§,ÿñgùGW.²zeëwF0' Ã°É›/a‰ºYè‹M$×ñ +àß¿ÖÖ›Óù¦ÈYéë@|ûtîß¹*Yg™zmÕ^œuk©çë%RÓæ<ËP#§záäÐR’t2HÙíqôð7Ëý õœŒ8•ZÄ× ¨7#ˆ›“ûò‘ªý|5»º±¶NœIéƒî¥Èû¶a)>Î48f^´ú7éÖ S—0 À™ç3Ûˆâ) ¾R¢käQ ¶{ŸõðÆdNöUÊ¢LÖ¬˜ì‰žö ñV<ï ¹¸}D'Jzöš,} V +áŒQ8êF~‹6抪ü!—žS䬶ÞVú¶ƒèâ›3õ« èßOáÀ)°äÏY—5+C†áÁ­¿ÄÉ¡*«{ÜðótoƒV‡Y 3;-ÉïŸe©N3€ÃÓ܃SŸqI¼úÊl¯—°dž)XÛb¦Šö¸Þwc¢ªêOü‡é׬YËn¡çy¡Xñ Á‡H‚ Ç÷‰°6oh–=ÏrÂIŠÏÔ)R³w-Ó)rTxp!õ­}Áú}IÒÞ‰`µ‚jN#›ñI6ÖÖÈÝÄ¥Ä1ߵطÑÃGÑz:—§¡¢X0ìJ–06ªlˆ0¾¬k~3a~›«€ÞžŠLåË×D%J“@ôµu³<îÓI'vrXýç‘jºOŽà9Á§ªê©±º¾l!ƒ bE:v‡-å«UÁÈIš«yy§QÀí1^3ÄGØkýýøWó¨~£tGªõxfzJ¬É‘1¶ežŠ¢&€C,LAjrãÿÄpWÙæE—f+h)!Ä 3#¯¢–ZnâÔ¢[8ñIÀyŠ6¾Ÿ}tÿÕï§IçéMmRõª|É)ê«H±:)Öêe[þ†@À€~¸ÛWë¾#Åð|;Ø|©U†®í¯±x½¼áö»,röÅ_´N¢vJÿ³«LÀ…pf—Ø'àWÖ¼c/`˜Ä™—þw]PbÆéUüÁM }—‰¿|ŽÇNø¦f¥Ï¸›WÒ¬xmv1P|ÊRl¦o¶„Øsô£uú ú®ÉómͱË]¸ÿ+·i(P8H@‰ëY_Ø_oí?–³bòô\6™à ž ùPë‡ððëw¤ÙU[‹QKšzY;Åòy’ ÀZ¡òª{Ѿëqc¥Ž¶á¨ô‰ÐXaÎPóž˜6Z•f¡ùr¦¨6—% ²&ÞÞcÇõœX&_~ÅÎïeÚ]Sޜڔ&gHU†=ú˜ú‹³6®eö¥.©ÜP2:IøP,a¬ÑT«A]b©F@Ã÷±¹· ¯RºY鳩8ÓaÝd©äÇ«ã¨1áõs¤šæS”g+ÚÍ{s~Ÿ¾¦÷óq›Ë³lc¢u7=:U#ÙQãöéŸîÂû¶.v éN…ZM¦Ãr¯{‹Úü)=J/GÙ·2tw­2tç¨QáØ­R•óeˆDf4ŒÍmìscÜƒÌÆú%úκíVåÛñhþam+ahuµ©1³PÛÖ*mì³{.ûNB¬œXˆñ6~дñODŽT¥¨éÖ;[Ó˜z¡„PMý[¤ªl3š0Ò¢O£ Xë´8” {~ž®x¦]Æ›ÈM·¤”,UeBa˜ó +$­´?—2³³œ§,Þ­@¥8,ÀðC=ÕúrÎí/Šo 'nêLX–]†$U£B•Ñù‘m@6$j|x÷žú•KŸ3Ûç\3²eMuÐ`Ä•xì Vó–]ÌT¤ìêÙHÚ$¨;Ú6P¾Á§ì£é·7õ#§ËL9Úž)äydxªcª¨yczÀÖÈŠÁEÙâúóûGþ¸­ÝÝÖsKW¼°B’€¶Êe+HÍ™Ÿ]•oOÕ•¦I½7,<¶ÃHIIñ¥@x£‚„ÒŽ,——N•Øž3ObQ¥æ¦’9$píöQBOº$ ·‡\ù“³GGó´ù¨ø'•³6`è"5‘¸y]û•Ñ€æLv ýb–ïþ^–^«¼Ø[[jJÓÔDG°Ð볯¨}ÝÞInܸx[8y‘"”iéKªxN¿ÎæX“Í}7ó)1:|[¤1J–¼3S×MIP’ <¿ˆ¸×®)S‰×生¤ž®t*’”*þÐÞ6öðïµÌúç<µCm½Ý6 ê25u51eÖ–¶öm¬ [U;)9“–‡޶¢ª1©ã§pÊ N± X‹‹F¼ý)宦ޮáõÝ>ÂæÎXÏJ’lÕ=$›%ù|8‡”.¦ä(Ô#¬þÔr¼ƒ²;´¾³/¤4“¦eG|°Æ¡_«½êJ7bíx´èOY<ÍpÈ™o͙Λ Ì>CÀqi¾VlV±ZX)Z¥Y#y„~öÍöÜߺ.NƒƒÇY=@Uõ[^¾ô±_%u+&Èiñ¹è¶Å-E9°C2‘ö£±¯Üs–»Ñ½nåÏ¡ 2½ ÉH'Š`Öfh.ª ôv=`:aÐzUÖjM>¦(©±¼™`Ö|³ÍÓEW0"*š)àkys\Tt<2>—º“‰õǤ”™Ó/g¼RçƒÂÔõ±bTôµâ m÷b\vžRõ…Òâ’˜ð„ÊAó™«YZˆµ…£ `û(õ Ò ËÐ^¯b½:ÎxtxUN>ø#…¤ò妗ފHÙÙÉ ¤_Øn8W3W®Ž­tߪ˜Þ\ÐçZ :¾H#8¥:Àì"}»€Œ-¯n%Î7/w/ÜOzÞ•¥ç4û>ãêQ +ã±CðŠ4]ü.òW¨>…åî£`¸Ü¹;3f:c5Tp²b4ªMȹF×à¯ÓOÄ¿¢xÍ+EÔœ¯(×SÄXš6ù˜å6û*Ä}|JÿevL$w‚'i€ +óV2æ•4pâ“3í ëªŸ…W©¬…‰$yN +.¨`ÕR˜ãªÃ%XÙ~3$¤mûÏ1ÏW½ êóô«!â9ú\ ”®CO’Ë}O…¸ß\)ËÇuŒ£ó;)K-]­RËã*?…™»ÓŽqéVa‹êÍvÓÚêžñµBWN£Úc¦f kâGYƒÔŸN³¾¹o3åù:mˆÆ¦6¨I¤ §¸Xû5àw;ÞÜèx­HXëÇÜ)MßiÛÀÃ}Û‚<ýÕúIœð*ÔÆ2””ÙâŽóJ#ç]F¿¤í Ž`Âð|±Sƒ¤™\J¡M‘¦Y½»‚4¿=¶¸–ƒw6¤´ƒ#Ï0Éûji¦´©'WM5bY§ù÷\fІÒXÒ÷± sm;_ˆ.³ôï-ãÕô˜®h‚¯Ì(‡ù…9L¨t÷Wþ<>ÝÞÒ-nR{‡#¤~"Œ-s¼¶üH¶È8ÐÃéƒÔÏSzY„×å|6™2lÎõ­â±ùÂd]5)÷d…ˆîPuæ$¢ÈÙC-ÖRÑE-*ÖºT=Ey1)UKÅwŸ¤}¦õç×PaACNF™Ïï…²’âAâ0#Ù…7fœéÕ~­çL3ÌÕ ™ëèa8}$x¤ß1P"24¢$œª3…,vî¹KÛ™ðL­‡ËFÕÈÌ$zÿ¬®.-ôŽ3•nŽÐÕ¯޾ƒKòÜžÙ(R©'¦šñœËVµÂxÄm¦6 Ý^3b¾ Ž9äNŸb¹¨jÈKáX)ò¿cvÐðð✷r Ž.F¦©m’¼óQ áð¨9Ï7a˜F8l…qŒn«Ì¬FÛ*¨€ÿX÷ú9‹,׿\f£,Q¯žb&U{n ±'áÇíwuÀ{³²0t«r2'î›SIK¦Êø-cšñ£çJÚÚPãYÃñl—›¡Àó*‰( ;ï{³ÂãÃÛÆî÷WÉãíŽY¼¯q–¿ð;)Þ¥p,ï“gÍnR˜³?–ÐÊ·tó¹ÇNÜ«3 +çø Áè$ZD{wìÆ‹ì?¼Þ¦Ý¦þèÙÐ)Æo]Ì€aû¨1ƒ›*T½ml~|öVñcâx¯È½2£Àð:ìCzz¬Ñ-,©‡Š£º<¯ºfR¥»-ì¯&°±ÎY~î\h,'¥3ˆõ¡&è[[X^¶·• 0' +lÆsf3R‚¼²R£B @í§†ƒ…Ï«]>õ…×Â0Þ§ÉU&,³@g– +j +pÖVx#ƒ@P‡`:j¬k±¼—'Õe$KM¡ZÈHÀ(œ0óŠÈÜ»·ÕË ‚¥F “D +Á4M£f÷½‹kò&!é+é†OlïÔÏçIJU7SÆîâë’w1?Vœ‹¬ÿ¬+~{JÞòÝܵépÁuía;JÈ&=h‘¯©|ÿxóÛå¨KH& +×âTq lçUb¨æË^)ÔÈÅÎÈÆÑk[’IÐ\÷⟣~œ0ôÂÓ=ÐÒņf Û cg“›¤ZëïhO ¿ëíÂçy/Q‘5r§X´0µ“‹ŽÿŒaàþ¡ûD»ÏP‹é[l«;UÄšp Ï`kYB`JH14RÑ¢ªý”Eî~<3™G¢é-4•{bha2ìCWÝ:ûtä—4Õ›a*@<Òá›vFÚIÌf®¨gv‘¼~ER(>IœÜ¯‰×¾¼á…CW‰˜ÔÆf‘×e”^×þþ]д>-ƒe¯8]¡•ŠáŽâ´Ymäý(H#s Ü~Õ½—ú8ûC³6+\’áp¶Ú6‘ßâ8‹1ß[wî4$bvQ^o½ˆxÊÜ)šOPT"€ÑU#TÈŸeØü䪞ã™) Æà;ÊñÖúñ>b‡”´á}Ç…Àe'±ímÄ`jFjrÞïZãÃo†Ñât¬ŽQÀ÷Eì.<~ ȒݲU°Äùнü­£l•M(Å]f WO4H³±"ç[}Þ3ÔeTN_Î}Ûþ÷áj¯–¦<é»skñ§Ú>¥â²Þ‡`¥™¸E®IðþÎGñHòVb‡bHX2…%€#±úy»»U\´BpŠÞhXtƒ¶œqL»©ùJ\&ZCÑœ*1[\ÛN=Lõ g<•…Z™P-ÂêOÓ§ Úl7—¥_b”¥ Ô¾­W`¸C¼e¦« "”%¶…€OúΈÖ×À%JŠÚ¼#€‚4ÿO–Ýš©ë-mªu|:(ò÷³×Ý`8ÉxLPecó«/^Ëö;I'OW;Õ4‘yL¥—ãû8>ÊŸ[n„¨Ìl&‡\ +ƒ&6~µ±v]À_Ç’­ê +ÕÒX¬— ‹ #qk2ëÜñË Ãæ£f–ÆD¾â|âûë§ÚœyÙ¢Éô-'U":õÔ^£áùºž’e†Š`^uP¹˜‘m1xIZpZ5'CðâÐÌ›]ÀJÎ?:²nÊΞ+z~Î8~'QYžT†º¡UŒ±ƒ´³ ß° ÷ä3íÁÝ…š_Û²Ÿü¨é¡B¾‹*E_-¤¤ûÖew€ïn+²,ÊÉSªƒsù[‘l¿—ïü$:>tS”¥ZHõ¢)ø’TSaØì2à5ÔôØÇ¶%¼7,ж:û|y—7c´“Q=±†«¥bñáâåù AÂGëIòGBŒŒf’Þ‹z+¨z…g<­àËøãG$Ф²í.¦ÝÉ·ÔË„³Ø¹ññ×’|·…Ή÷Qè‚HŠ9¹ò³ƒ1GCøSXªy -½·ÔxòVð¬–rëwàSx..á™*ð²ch Ç«M™Z„GHZº +íæS›×(±ð¿8TÓ ›ô_䘛_ÃøóvȤ2RF5ë‡À z*VWê=reŸ”ÄÕN-K +’"}ðýûw>ß&aÔ£vï´-¬âõN8I¢üåMý_ÍuU…œˆågØ ‘¸ÜZÝïÅLÌxþÁýRš®›Ç’ôEÒ@AðÙcÆì3ËÌ­_˜mz#:M'¿ÉÐû@çeýtéNS̽;«Í][‹ ƒ'¦I(±ý +7 ¥ýÓ~Œµë¯Ô§G2z®qÇF=Y8ÛM†×*Ï*íí±»üAšv×çwl1R€ÛEÜæ*w»·YÓ´Èl‹Ê@RÎ m?…%ÞKVüjÙÕ¶¸ƒc~øoLÎÇÂh»•¼Ç©oÓHK·f’M~¡È¡žo…A*RO@„* ›“݈£æk›Ï,Š˜ùc²O 8°ËÎažj,ÁCÑ¢n…ZÅšýˆ#èä‰Ùßf¹•£J¡ÀcÖ”Z –e.$+ +áÌ3ú¡éNXIÓ7#düg 7’–®5We½·Du§àx$ËQ`T¤­T)ôoB-‰°“ÎΚ•C‚âØ›ªa”òâ-!Ú*dרm{}|.þ£¿¬7¬z.™“WYºO"ì +ý^×âUöz«Û½HQééò¢üÂîó2pèÂ=†ïN~:»×Z¨«k!|§•eÆj¦]Îå{„Q¿…7¬~Ïpx1<åj¿äòþÕv€ÀØxðM¹½žXå.+»W‰bLôÑÆ[•­¥þÑr¨Š>Þ’½ ôïÒæi¬‹ ̉æüÿ¼9HÐÂá€A ¸ïíâ +yI  ØýZðRÆQp„ b¾Pú›Œ`є˘;†á°Rc20Ê •vµÁu·ÇœBÄÆ<|Go¬vá®EžföE.4éJ„À’¢°4ð¿PO‹že¯Íg …ñSOŽaŒ$A†b1­Z2ÒÒ8-¥…‡‡¯N~©sß@ñø¤I§Ç²s›TP3Úè ì@öq+é°¼xþd:qÔq“çDÙ–J…¨¸Î +♉¢“ëWðøé/©Ú s'Oiiº;טœ»ÎÚFÿ¹#­”9ð$rº׎ŸzˆÊ°ã´­CXج«O.Ö©¥Ýî35õ/Í- r’’cåHX¿WØ®ÁÚ*°z·Ñþ¡ô7:Ötÿ©|ù{0aRe.U¤…û:Ÿ8J½Hg W=uƒ4?RT͈Ã_Q‡¥1 +jj7) I¥¶ˆÀ øÞþ<ëOÑŸa›¥eÙÞ\þ^Ãen4•­Ø•)dx¥[p8G +ÎϧڲË2 EÙHQPþ%Ž<Å2TbX=?òšzš…Ân%XºÆY€÷ÊkŸm¸åL;2dLËMšræ,ô’ÑL'‚D\ÐMû’#ow·³áÁîKq•d/¸ßåÀC˜, +ºfjVÌól¾õ‚—BˆÚ cª¯­ÄU©Ú¥©Wde‰$(×h࿉f¼¯´4xNm¯§ÂºçLjš›4‘RÑbp„ó’šV£HÊÔ]X!òÈm:ðKºÙ“Yl»j’«UÊ5´‚ L§§(«*‹8Bµ-¬!Dê#Ϫ£‘m„p1Ι2à5ña™ÊH°¥’!5FJ›®V9ÜhI]H[Û±7áÒ·”f†Œ|x@ô¥W¹ÛLÈgÓÑ^â+ÁòÞ?ÎaÔ±Aæ´Zäâ/Æ(P‚žŸg­:¼öùäB”vW`±îNœÈÙù0pi#£Š\J’o˜JàÙ[.k}yÌ/놼ϲmüK·îµnû .2…©(&T ´V3}agyžxËvï© q¹PJˆØcéký)úg^°zxCÅji)(ð|v£Š’hWΫWXªžD™lãÊÝ¥ÃÆÜ°/\ÝJÊJ«/e1{‹ˆì3Î&sºIo­Í½Ñ}#ÏêÇúÝýýÏnÌœ›}*î¤$¨€ñÓ†1¶€ÿNO–[ã›<ýÛ’†£ösŠÉâz©ëÒ•/§ 3Ʊ +©±ÉÔ9êeL>8LPQRÒ¤b?5»—2àx€O K=瞢çfÇ«¥ŸÌ3¤'Ç¥a{Ø2i$¾ØÒ÷:h;twy÷ϲÎÊwxé,°„ µ¤)G ‰>u‘¹®kº[…•’óͲÚ ¦5èHÄš +²OHº§ÔÈê&ɸ-™pü'¨ª–Žšiã†4?am¸ÛEž0õ_&ÉÓ~©UáñãT=HLƒå1œ=^:Iã‘æ…ÞìFºó³Oë'ºÞìnå hµaDJ*ŠºG²¡kŸ¬K¼Ó8EͰÿ&h-Ÿâ‰ëèè« ü?}úõø~f<©Bq ‰Öî§Ÿ“DZ¬Vzª9°šÕ¨§§¦Œv¤q +³bÄÆê8#z"õ€t «ßϳT-˜RÔb4ÀüÅ*n¾á¶„‘½|@àCëê^óµktZ$°Ë$… VÌc£…»zí×1ÞÔ¶ ZA ʵJxùR®¿nzÈ>Ÿkéž8UTð‚¾M³9óWi#q÷»i§ /Z=5åü?oT9Sã½ +ê¼REœ#À™eHEh°Å`ƒÀ#7é ;ó²¡Õ¶»K¡¥²N‚…[c¨ŠÜµ!é…6N$Gù¿*+ø\3vié@3ãÉMÔŒâiYqàÐÔQ¼Þ|gm¬±» Ñû.6è°Iégê@z¹ŠatÕTX¶G¬™£ »Òx¯¾ +„ {]$y–ñä.œ«aYS› ¦ƒ +Ã¥“yHÕc@°UöóYM²ÁJP#i¤Y3—¼½3³ÙL˜ÝMU~ ¶yq*–4³;HäŸÌIâ]ú7Iœ!žºY¡¨ùÉI©êT4Cv»î§-âÜî®Ô媂LìÙð£ ïtQpÈq·tª1JOáNÙÇÀê"“’\*¢‰B$Ôìcs·Ûk_ˆÜÃÑ\o"RËeЍ+RŠb§Y]”\n¸½ˆáfs»ì³7 l*‘æ(/™ökß²T%ch?QAÔ §ÎUkQ™$B§P.4iê6a²ü­†ÊñÏT\‚Û­î,<>¾3½-‹BvV³ ÊÕ ÒF1S2þ [б’£ˆ\/¨àUÔHñÞ¤cX=&0ÿ-Ó즭Uåîª*˜è„{äøiɃ°o©,“q;>̵Ç3¹=Ò00ÛqЧ§Ê…½™o…®O»—6fåd¤è¦6ÓÍ&]Šžhæ–yüÙb¶·Ce =ƒ¿ÓÅ^Cθdé,f‚xï÷QBöú{ò³ÍÜyÍKÄ“$Ÿ‰4Ê/¯&½š04”š—Q òŸ²¾ñbßʜ݈Ï×Á ²˜é§°=ÝáÏÙíÆópêÔ2 á¶o›æå!XNvÓËFò… "{t8ŒÏS`Y¥ (‘ÒH—Þ4DÃéàk´ÜE!`aoÖNúV”¥1Ç÷Óµ§À™K3ÔBâÈÙþË鯬tKólШ£Þ_añáÖïdöͺ¥ÌNÍ•f­F‰… ^›ðܽV³:ÖÖ3 +i†Ý¬š²)¶½~y6ÏNÛ°EÏÃŒfm¡jR  +t]#T+“]ã2»šëk +Ø‚\4ˆá«Ø-Å6G¬J(Ziì°­î ø_‘fÿ(\Þ(¤Í7ŽéjzF"‰®Ü§7ç‘O€±Äªª]|©3)ÜnB‘¥Ïñå\gx°¥´íaì$ðëpÈ´J Ø`tþê+½Eº5(@¡›Ó(èÍdêÛIƒata¶n\Êu!‰=×™äÊ8†P´XŠ&¨íàGpx»yw¤-K”ìëèöÑóÙ‹i¶ÔµìÖ6Rê†Uš2,ì´ùrK¨g¹sÛ±†„5Ç’±žžÍG†4ǹbÉãcãÂÌ»7}*P +IéÛE1•åë¹J—Ë#ú5ë‘ñÌæù/£Jì3JÀ Hþ7"úàxÂËöU¹öYe­d‚š·Ë”Ÿº…Ì•dž®¨¼b‚šM¬ ”{@$Ü“ÇÌ«ˆeÌ:‰s=ؼ2ÂV"”ÓÚOb¢ägÿ"~ùâÛj\:>i?òÕ•‘§Pž˜ù:ÕÓN²u‡2axDq¬3&â´Õû± «©Ò¶3?b0á…ôðó.WÎYƒ. ê²ÖÌ1ª;ÊgÀ:ñÝäìâÕHázˆØÏ*Y˜n0ºoRÔDt~5ÃÔ'£Þ”u« +ºيb9º¿R +Jg0R³71MµoË‘çÄqœÃXk1)¥­¨”ÝÝØ±>Þü.¶²··R *g,Èmࡱ'‰®8^CéWGp—rfE€áÔÉh’4U.×÷Kruñ¿pÌ.“=v›5Ôñ&k˜–Á)f`–ZBPZ +º‹Ô\S Jú¼}© ¦Ì6X/{t·£Üo¨½'Ê5çzôÀ2=J,˜zWIf 5f@OÙ#ÃÇ€MñíÑÆ¿ch’·Gó Ž÷¡ ñîvqŠ®ÏR¹‹§ÙÛ?šþÓ1ĪÆ ôé¶eÝ`bU½Ï´8bº{‹eî­ÁMœlYÇŠÀcmèŽ4!‡ñã{³º¹ÝÂ_ÍeB0OZ+Ê”.Ô£¬ 1áAÍm fRÔX„RQUÀlñJ¦6[ë¨kâ:z6¥¦‡åd„€ˆ@]Áln¶ä¡e”Ù¢Ô!U ü²Ú H…t•bäk/3 žš5ià[­ÅÅ»Ÿ¿ŽæR iH®,¢½Àëªý%ÈË 3–OŠQWÝI#ÜÑ9ºÝÖçÙÂ\çvÐétž‘¤ÏÛ ”á8ƒñ©x.=eÚäݪŒ"¾u–Ú&ø©á6ê§>žä|õYxIÅp—ß²)¶²ÛC“}/áÛ€ìÇy3 wTÏz@G3EË»,<`aBþYõê'ú¿K€QfÚܰ‰Õàž ¨Ë­Îðª^Úß¿1eÞŽe¼/%.°œ3ÌÙ’VzŠì¾ÝÇ@Ö6<&Íò‹ÀÊÓlu$bRvˆâ)gin¥jÓÀ(‰GΊ'⯒êkúSGˆC„Õf¬+/â&E«P§ŽT;œ0 ÆÚRl>7¢½&å.¡tâ<÷˜¤§ÝY£„*KL>j:¸‚Ùiª¢K1·ºãQñr^ú-úïß>ÉS¤ÜX¸­E•)ŸâmXÁé I_ORy®å$²â{ëbgDâž´žìªæ…ÒFÒñ^Êú+-Ï}|>%ô4µXnªÉX„¨…7  %£ ‘¶@¤_“ÿkÖÛ¹Y–î©Û;k„ܨ„¬$$# ÙåR¾öýse/e¥VÖî%Ø éHÚH”6äïFýGMèúç˜qÜ' é¤õñR»EæÔÔïvûYW¶¤¶žÎ+r&wÌý2Îqu(Raòf|-$-m4Uâ9v±òªC  G·˜·Ø¿õˆöºŒ.ÝÇ3nI%•aŒà´¡å² íÛú…ß¡µ6ÍÚ´ö«Ó„Ì*QæN˜tÃ;Çë&¬Fòצ‰cp¿ä×ß$Ì·Ljޭæ¬ÛŸs\ø¶< Åæ2N”ñ +e +E€Ž0O†ŸΙ}}bäý¡îB_Z›fá¥Öõ l>,`ŠÊ?§>Ü,w‡(J®ßH¹I!@Â|ˆLÐQÖž‰Ötó‡Êé]˜ºwŒAQâÆ?1 Á–žW‰v¬Š×;N¶#ˆÜɇbqKO…¼2ÑJÍv3#&ÕÀ0èãÿQŸÖÙÿg–.©WH¸¹ÂËJ +*W DHHéŸeö›õ»»¾Ê¥Ðã¤xPƒ&xIOÞ›½uCÔ=KâôQ®VéÎÿïˬ!Bêc¥ŒÒÊ|$qiŽtÒ‹.tûÍQUGùÈË„zhÎÖšCíf'œ€íoê'=í}.ﳩÂAêö¡#€ñ¬@ßÎѯ³ìÉwo¯Æ²DpJFÀ(ÏtªtÙg;Vt+aúƒÐÐÓRÄ\´µµÕÄi »=cð=…¹;3tk¬Ý:éuTip +¬?§y ‹m¬HìT¾èÕ»©"Ç…ùat.%Å ÌJIHò‘¶ƒvÙµÀ:šYHÙ¨&”>ê§B½Hu¦|ƒÕlε9Ùk–ž› +òh¤’3f‚šau‘ÖÖµÇÂüªª±\j¨yÏ%}Kè%ÏíàÂÑû]%Ë…Ú²OÇ3°´mÜL•$É>¦îBʽèÖR’T¦¤ÊLòIX™/Ø•¾¤éÛ‹|¥Ò çŸ0ùhÑé ª§‰¥‚ôŒèº%ÇmÖ·Íïu½ŽbnzxãK-w9Vk + + œtñ>Ê*½Bõ×éëÓWè³>D¦Æñ¬©J\b¢Zz3M,—yQâÆ2Å»\ý|AÖSUÑÕICY¤¬£fI@CšaàG%<‘ë{¦ógRUÑü©õ…$¹4{òf`ÊÙÇ-Pç|©WfÊy²(êi'¢`уVVFÓr7°øwá‚ôGë#è¦1ý@Íó¾)Ҽ̚¦’vf†&œm´ßÝ×^&ÞL¬>’”ôF3Då€aÍmŒÜ>tBÿßÃ>£SVúèNäu3 ‰j1¬‰5ð¾ôñ¬`^eµÏø€öñ/šº_Òž±×VäŠÕIJäSºÁ’Ð4¶ï%ouo§³ŽîÅ’s[RÕȆŠH¯nÑu¡©`}TS§F9kÖ/£ +N¢á#&õJ–ûñ“Te¥®e;}ùÁ÷޼:w×j^¥ÛÈ«j˜PÈ}ð?ħMÃMðÝrè 2ÙØ¡ÎÚXß[]4àXÒ±ŒL{:h zžôGÔOJ˜‘ Î˜i¯Â1-AÓ‚iåÚ>Áï±íÜ«†7 Åh±L‰ ©jUEäçÆçè᲌6t줋²CêØc¦‹¬Ñ¼Um¥˜1"Ý»øp:êNt|™²þQhÞ›FÚö±¶ï¯‰Ð¢‰Ò Œ)5¥¢™»ÒÑE(2N[ƒ®5¸Ï˜””ÀÉ ûD ­¹›(æ)ðÌ·$¸‚¹2Û¯{ nóvÎ-¤“žp£ÂÙë{x"zê6;†Ç&0`¤*ÊN–µÉÐñ·ÃãÌuóbµ†:(¤iv1ö¸v¿< +”;8ŠcwòvÒDÆ­µ*º¡ðjX衦AU$AKØHuÔona­éŒÓI[GSåVÀKC]Ì“Nøm\‚:i»ì7ýí{&è«%ÅpF¥¨‘ z²Ið¯‰=µàÂÑÆØ·Ó«`t +å.6ÖV­F 8 ++0ú<«Ž¥m2½ZaäS`Ò5­nçAíãÖE‚» ¤’Ÿ/(¨§±,ÒØnaûÌG ·^à­¢ÌqÙTÉm®æ†Ìùaí¦.¡ât™‡Ž·5?ÊÔßj¬!ü +ñã¾WÉø…=d¸ö'µê*›º÷µïa}GîæVY}N(âh×!Ý7š¸.+Ó®™s>pÃæ¢‹ÂwÇEF¿eô»ZÛšÚÎ9ó«Ãq¤MLe\;Ã]àÏßnÚ@Ç„í£ýá¸Sv¡$£ì©]6Ái1q5D“$”Ôé¹Îí Ü0“•k³&†&(ò5FÂMõkÄXg×6­…}(®Ó"sº%BOëMùº—.Tcá´¨*àYR·þ 9‹øåBbõ«$}ÆmK0øvåÕ~oŽ¥ ?*Kw“2€\Úk&&ƒÁ&Zd™€p;*·´ž6KYŠËZC#.âI÷@iÂójòœÄaǘÉ^ +t0ž4åM‡a+DÏ…?\®c +E™‹úý<•_˜é°è’Jvó6µŠö=®8d’Ë žš[:ÂtEcÂru^+RðÕ#p$=®w­šÌCÃqex੤̱‘bI±_†—Ù_…+J@¦wºÍ +e ¢éòø~!_‡iᑤ‹x÷¬"÷äî¤ÔSUá1GÄŠÈ4¹îx]šeèrÜÈ“¶(5¼ ȃÇ`)ÂF ZRËLHC°Øü8‘ËxíV\¦/'ú4ó!beE¯{®Ÿw8CˆN4ŽÂá}±AziïÁé±)‚S¯™ +>Ð#mäàMþþ>ŒŸœ:§‚!ËòØLnòÚ{òù†h;–Àƒ´õtÑ&i¼‰WM7Qc8NPÅäJº_ŸhI]¬tíãÄ5Ó~¡a…p™«¤«Š;‡ŒI»ž]¢Õµ„£²(¢4¨/ˆáJªÿÓjŒ +Z–Áb¥ÆÍŒr‚BƒÜÙG†œRÒå’eþwƒ~ÛnÒúöâ댸¿j”¨põ£F7¢ÙÇT# +MVfŸŒÅ@â%f¸ÓUø‡³ˆüãÔª\# U4è#÷ƒkÞ×å2ì¹²Æ3¶IøÓ—’M.ºsÑêüÞ¿Í+ÉË©.ö ·Ûáìàƒgb¦ª£—ÊÕôÙ»–Ì‹©3*¶¤#~ãË·˜ÝY´R±"vñ©‹”’¢ÊÂÇDÐ:èÈÅu6 èGÓÌx¾dÁ+ð9æŽÄécÙTÛ,;Ü!vSo±}ÇÆÃNnéûZ©eCOIáFb“v®ì lUt=ôà[ÔN•Òæ¬6X)!޲²”ŠŠfïs}BŸËÀ†cºIºh‚&1Q-æJàÔ… áç\á•ák©+»Cn¹xs]<8LSM†K¼¦èÀØ÷íôq µ˜µ¸D´]Ý@ÆFÚ”q •ã”ï3 µמ“á¸ÖZlýL¯ž°Úp›G•WCq†Ocªê sŒ¹·%ù8uP“v·„ ;*ÇÕÑO}6Î ƒ×W«¶¾˜$Hef¾è ŒÍŒŽÝõÎYk©XÖ/‡)ÌU¹nMe§späka¦„p7œX2§{± tQŽi¹6ù¢–ã$ èˆ'¬Rï¨ÂrÎ+- Q©ÃsDl`ºc0ÁïqÀg¯ÕùKÆ# 561JO˜€†²n ðQÙ«7v†H%>ú*³É±p¶¼clb(êþ9o¬¹; ®ªÎM‹ô£0-£,˜‹C4hÖ¸*lHòïnwé*\RJ¿5ª>ƒbÌj¼Óú;PÅ$é¿ÂÛã^ +o.­RÒˆÀOuIé«fýÚP Å +¿‰6#†`‹s¤ÙQÒ–«‚“ ¦‰Áù–•ÐE,QîÕ‰ŠF¸à_‚7Vý|õ7©UÕø631Áijëef‚”¬Pìû*»­t/·RxîfË·–*yŸ #Q÷{©*ò{§’\Õ íŒ=ÔZúqøEbRdL?«xetYÛ ¯¡¦©4‚dªI¤ì÷ŽÖoÀ§§8îˆbµf`g®Æ±$D¡žGkűüÇ ‹ý àw~rwímZ;q3¶•çVÎYZ¥)³C®Îç>•t˧Ù?§ày ×f*háEùЉâZXË£¹Fvkxۊɳ¾“ps‰ÐL•uîŠA g쬥îA'Ý›»‹ÀÚS·lìÃu!´³Së h»ôûÓ¾yõÕ +lUC6 ¶¶»x§ôȾd¦UbO§vgÍ™Ì-â²·ó0â_1§–×Ü +…Ö·$ËakµwAVJˆžm¡0K%;dmëó« èß§.„tã¢ód슔X–ÄiÍ-ULsšåU0¾æX1³qqœ:‹•³›ÑÍ)’lÆháJІ]ªÒ„­÷pa»™£%ÇŠ5?Z­·xÓzT €ÑEéW¤oQݥ̙h:YIŒÕˆ(ÄÂyã¥I‰Gp¾?> x!ÒÜ'/äºüŇÓuðª&óèª Ã²UòÝCZB s¦½´ánK“%«÷.x\8õŸ +TöíÛ½d G¤ò¢­ÃÕFêx‹(â56 f½šj„EYf‰"d²Ê 2+)ýÒ8fz©êeq.•E„à˜xn-KäM Z âH™Bí6íµ½¼çn2ÎZL¶0¥iìÚé–R­i)=´ åü +wÌkFõ‡ÕPK¹f€êñ†F¸ ‚4<-xÞPèåIxòÞI„cy^góÞÁ;à[2î¶Ô•×4~ŶT2€L)&:èY£ë¨ŒÑèê³¶bÆó~ƒªÁ +bO†ÚÂJÞÝÉ'Ç==Ã(c‰ñ +`Ëúˆ×_6'öüA<³œ9i|‚¼R¯¥&Ý\ÖÝŒÝ-Þ +‡„ü+'V³6;.$˜n&ìønÚáä°ò'ݲû_‰.ªô¢³ªrÏ™pJQ†cˆ…#`¨>Ë÷ÓCÁöåïîRïz-«ŸÂŽsÜ7+ZÓ„ Øz¨Èúõ÷Uèž¾“$çJ¹s§I1Y”TÑ$†WÃZsc=.ë€=ï}nÁ¨³>X˜® ™#ЦžxÂL’AP¢E¶—R¤wñæyª$™#F¹,øªÂᤕ¹ 0¤ÖÍ©$ƒSX˘n^­ÅqÍ54uò *,Azö°Ôòf\Ìx®SÅáŰ—âT-¾;âÿt#áÍæÈMýŸˆ‰Æp:ÅVþÐ> ‚Rc® é÷©.Õäìí³e,i”I<¡{Bn­‹”%…¯mG oK=gGˆe7ÊY®%¡Ì‡“U»¶˜~é¿ÕÀùîÁË­ Ì‚¡´¥?¥(;дZ–œb5tðÄU\úÏü!3çDñÙsïJž|íÒR<Ù¡{I[E¨>Ïòˆû@_ÛÅn[G6üò¡þi*åP¤Ü&ü§0CæcJòÑigjL“h²ât5bŸÈiâ“QÄÛÂëckkõq[›R +<¿M-LëK @ 2Æmå¡ìý|Q› %CÞEæ ¸mÚY"DùRo.$õXÔ‰I WT¡>Pa»s)½Ø}\NãxžZ«ÃÖ‡™Ñ 7ØvÕ +w«xi zšo}ÿ—0Òib|éÞ’‹0aÕæ»v³êY5?æ<‹Ÿ±œºÓPªyŽn[ykö>sLàþõ‰øqeŽníºá; €(@sì–Lê¦>§eܼñºÁòé´˜– 5Ç´‘ÁÛ)aI‹aâvtˆÑ[Íw°ÜãÀXvàã$Ë\sÆHBŒ¼¸X©PÇqÚ‡¤­e…šæ5ª~“ÌX6VÎõq,ø„;•Vö +ïߺï{pRxw+Þµ\ݺ#NÊÉGŒâø=:ÅE#ÓRJC5»·ú§‰|K/Õš‰`Gò)i-pÞÖØ8›yl˜)· +1ÍØUÒ JúéEEÐ-,Rɨ¬«%ÞÖºi>ÓÈÔX²ÐÀpØuš$e,}íI=¾þ´æ„è) ýÂ]yÚqƳb;×N¸”·0JèÁ~ÍÅýœR•µÔ%…¡iœØµ‡…õ·÷šíµ$8šmëgnghãS)$ÃðªØä§g¨W UÂ\øø_óâ_Âq 1iÕ¥DpÈ¥I)ñøq.SlíÄ)x€p¥Û—`¾ì¸¬E-3?…Œ?!Ò9dŒ¤ŒA%‡…‰$ž;¯ÄkósÃ;¬ØF€’Öº86þ‡¶Y—|µ$ŒO^<åÖœJceÙïÂpü±O<1µ>3ˆJÄ•¹»ýãõø•)ŒTâu=èPˆ­‰kk µ¸YtÚ_|•+ÀQ.GdÓ“;')èê)i"§ˆ‘S[úB5÷A¸üOì_6à™ƒ4š fÛM ÷˜ÙMì/ngO£¼ N#áDYÞn»û™Ø‘ÑK:\˜°,ª¸´Tìâ{… HûD‹ÿ ½9ë_O²v\–Ž9Ò¶¦5Ø‹p»IÒúwúÇ(Ñc¹+8ÆÊ&ÌmÛH%4ˆÅrŽiz³QQG6gÄÔêÙGo§ƒµGKrž}Ê1ÖÁj¬EãR¾Y³.—;­n +\Ë”Ú âHœÍ÷q‹PJ±4Ñ óSI¾3µ×ëâ^·Ñ®A—©Åk"‰ë©¼nokŸÏdû®]qD϶åÉ@:ŒÓÅR3¾¢:Jªš§–ŽBÛÙnÜ[&ÀfZôQþ‹Å²“«ˆ7ƒ+u¥ƒ³®–³páiKm ÙÿÌY?‚F½T1þñ±-kØåM\!§Fo5ö«[ÃŒØ4…DšF»{‚ ¡Œì¥žJÂhkÒ]4j!„ÊPít$Û^gV¡ Â4Zª­½ëßy'Ãã’N–Ú\;lcÄj8þ}Œf™z‡Ž‹ [)µâECÞÚvâ£'CWE¢£§&ÅÆïuÅÉ[ßN8PÖb˜ºŠZ·6µ€cp>•ôVª\ד©¡2†.í{ÅŽ{­Ç%ãÉOC†EMG­X7qgˆâg‚¯Ý4ƒÑK©ÖÀGJô,ãýFêm~=›oM–&‰£‚dK*–Ð+v×AÈT´ï:+ƒî1€øðû‹vÒ¤LãW-d­Ô¤Œ'}Í9ƒ +À±¼*DS=•#–EóÊoØ_]y–JÈᬊ~Ëk âL•L1q#§fÑÿf«X™òæq‹šŠ)KÕT %ƒô`ovÞ–²Ä8ìRRjÀ&;_FðoÝçvÀ„b<º©‹Œª×»)Š‹ê[Ô6jéf9…cxú"`\uhÁ\K÷mÄ_pÿO2f22MBÉ\Ÿ¤C²Eqp<8Ë2w³”¤‰s(¸râ4_ºóÓ WÕ lÓäÙV¶ŠTó©Zœ…¾›†§áÎY˦Ìß;Pe÷]þ¾ä[£Ü,‚™¡vèd¥„jrz©ÇÓGKsIpY0LvÖJV5Q™½õ-öJÛ¸ïɘN%%£ $²p®¤ŸaâýàB‘i*;6ÄP• i›u*u*'ô¤ßS:3ns’ Èb¤¡Ã¥µLr‹*¢¡ã:^ÖãΗsqìF˜ÅFÞðV!X[^ÞΛE½lüè©9vatÁt ™³¨]8Ìyá2Tľk¸ˆK—î-kûm΋¦Ì92o–ÿz飃ØPëùqœå6‹´ûލ »Ìî^©> k'Mò­gLºë‡&>Y0Jú¯&¤/Ë`M¾'‰þ™åÙq|pE$~{Kö®lÓÄ6-ÙÒ€ÒMÚp½u¦&xP¥êת´™w§QÃ…Õ-‡ËP »Ü˯³‚5N!]ŠLÚ(I±"À{ ÷àhÁ’6ãéÕF9–R Å´§•ª ¯¨upæ  eSƒ´8 ¹Ïø‰äœJš“ˉŒÓ³I+XÈ‹¯ºä Þ:ÜðÓ{,™µ³Ö0<@Ço\«{VlH}¤Ô ·Æsä¹J¾8é©Ð´pÉ%Àß±)ôYxã‚à5xÞ óSÁ4pN>Ót‹{<8AgºiºI%$O²œÝl¥—ªHÒ{5æ8ÒÛ Ü6–ÛÝN§Âü‡“:ÏÔΟ֥vQÆq¿4D0Ìá ˆ½ˆá’³ÇÔ +bf‚¯f°UGáJþ¤z2ôÿÔü>WÌx‰W•a󔱊:‹ÛFW‡i$ÃaÐßÄ“0à½d¤òq +˜Å,¸å‘™XmÝ<}šÜmü‚ÞòÝ]ÁÐ¥)VÃ=ñ¤úî­”•(üCî*%¡? ž¥tí*s/L¤9Ó+EyŽOr¶5í²[ê<2¹¨ÙzjÈrÁ¬Jš zær´±µU;ܽ:ÜÄNåÊ0€nË÷ÁÖnUipv”ž°~Ò~asv‹•N݇§«Î‹%NYJdJˆ¤‚j) £©SˆlUÁìt=ýœuÍø4˜¢â(±ÏWNŒf_²ÆÖÜÞÛÁN»š®5ôÒ[ëNø%\coãX8—Äò¥NyÁ¤À)a–‚$•·TXygp*WR;ƒíá~xÃ=ÀDÁ鯛S( HÇh®ÑÚ6º2›ƒñ:Mè;*ôº|C1õ“:üÕdÍE€Ñ±§¡]‰SQ)"GkBØ .m×xÂJÒH‰L|©Js…Z%Eµua³ÏÎ†Ž»zįë\ËøF—ðì£eL&šƒÇcfš²ºZXÂo×jFžïm¥¼oà8õ£Þó= +œW.a4Ô”¡Ù…š†>ûdŽÎ×íß^Q»[†Þ[¼¤ž¢Hö(¥ýãºBµj“Ƙ鿪_R}*Æ1ÓÌå˜0,F¡<¦©êâeo G·‡»§‡ßRtS£Þœªð~åú³sÔôðTV$µÒBEDª¯1f¶¨Ó¾¼"BooÚMÊ”µ&NÏJS’æ˜XKŸÄ@뾆¯DÙ¯>z¹õ•iýKæ w¨™[/TITñTÊÕùΦ” *‹y\{ p˜UO,ᤔ—bnI7Ô÷äë»kvÊChä=ô<³¶CI Nª¯?¦Ù7ÊB‹.`4ða°"´Ñ(M¨–ÚÄ›öMnG&áQ¹…^hª<Àw\ÚÀ|·…;ãzÃw mà +qóƯtójN•Æƒî»æ<®Àó­%./• Ê‘F¨/$…®ZVµ˜,Ç´öâË¡Åóîr²µ=“¬Vxp©ÖxØêHcfc÷ðGÅiðÌ&€ÓWG%jÞ8¢EÞÌÄéÁvI¨6uœF´#ÜÝù¹otô Aé'¦ƒì6\B¾ ËÉ2! +3 :>®޹d¸&Í8ö —æ¹3D˜®…ÇÇÛÇw'~µ +b|«Ê‚×9—{xz6Õ~±ñl¥Óê^‰gÚ¶›ÿ%…VÎä5'œÛ–(c§²þÎMî=×½¾¿™ W&RxNÞªÚLáGŸ.ã+†J–5x}Z­¹H™˜}wCohâà9N¡u_ Ë%ELnÏR­¨ò•àon÷ŠûcÏÕo‘ëk©@Ÿm'ÞKòË2 ^¾ÍÑOEøîfË“Mfhn’R£ºOþž³iýot2Z<ÜÁÕšŸ'˜è¡a¬G¸J¸•·XÈ£Þ[ÚÿÅŸHºƒ[œ0ز‚ÊN9N¶XIÿ*ª>Ô£€^Ѳ¼Ã'|,s8ˆoQ§žÎn@lìá×DÏ×÷¤ÜSÓn|©êT4-/Jó-KKMYXRÉ+ß媻í76SØñ[™±¼U¨cÁ3ÒÓÅ +Û¯k/´ž½½Nf(Ózu9Ù¼gÆ`L@>GðªìBlÁ”éb©ª ˜ãS¨$jmüa«Æ¨ð ÃÐ’z•Ø««è8…Ûr`ý¢’g–éð†ÉÃÖM)hòV3Ÿ©Œ8‹EKC…?šò±êÝû…ÓŽyV·5%jâxµ<ÐÑÍïƒ'¸ +á~-Ë2¥!Ô”@öR¼¿ùƒ-jT‰á)¯<ày ;ù6Y®‡Ä)m‹/gm/pmãÇž«ÔLjËIFª°JCOb4ýüQyœ)I)Ó œiK›ÂøRbváM°tSÎÀaÄjÙB±Ae6`Eìºü9Ê‚s ÃdŤ˜W6-+H6¨,ý< çÖ¿åA+AN:éß µÆœ*"AØE'siËøž;#a`ôé ,ä+´ZnÐiÆ|ÛWYŠÑÅS0SDÆ/0€µ‡Ù˲¢Ê’áü)gŸaÁ3FLÑÓËÚ¦B»}Å7íÁs¦Ø¦5òÓb³&:…8åÕ@ÿ[w>äÙÁMˆ$pÃñ¡EžB¼\*Â0Šú›‡`t•°áDUII¤ÒÇûÌp5ûߊ ¥‚yf–ÿ1«;ýÀþîŸØ\ò€0N3ò§2Ü‘¶¶àU²“x†;¤qÆ/6Uõ¾?w:𢆲F…Jdßy$³xg~,Cm­PqãKË q5èᪧA! ¸6Û!µ‚ñ œ0lGÄ…E´æ[_²?³‰³›p„à`Sw™qiÉNÎT!dŒoÌxA Å](E0!^ÁÉè¶¼Qä¼É•ipæªÌÅ++¶XËZ4°îGïËîë¸N® ”•7Œ žý[6)3š2Ö`Ÿù\» ¢‘œme»ôväJaÆ2-=,-)¯kys»ÌµÅÇ +¯ï¿*ÚÔ‘%GoMó4»léÓJª¼µ‚õ /Á‹MQ<˜lv1GeÚ#7½>¦­–e¨ÌQü½ÆÊj »õð>-sXD×YEûÌ!;h=ÎoH®ð`ÒʾëP |-Î}hé_Oh°¦Åðû&3"‚X8R.töò¶¶7{ÄÏáHìlQj˜#…8t£©Y×Å!Á’yj°7ÒS²ù«c§bù0j¬:ê£Rð–7p.lºëoÛÅ™ÖX”ÛÛG‹È­›·J‹{z¿¥Ç0\lÍA0Jz“T‰ýÀôÐ<|8«ÌýUž«£Ã¨AƒåUûÛD_…¹›Í¸”¥1M_z3u*Å)lÀi —:8F'[_^|ÈAqG‹“aáŧO=Lâ4À¦–gz©jÐùgWÜHøÿ)È·¬¸â’öÞC|í­ÃcAÔ®ŠM×tŠ·4f_ËÞ];Ù*µ”%¾áÆõqž±üb««‘éhêPºHoºßXgmâ8tÑc{µp—QŠX°¹6=ôöñ˜¨— 5! Å­´›x­ÀäzøCXƒçAÌæßjÀŒiS•±_äFeÄ*ZcQcpw€N¶`¤ñ×)a“âtbžP^͵c'`öûÇN?dlÞ)SŽÊw ³þ`‰YÆ=”Í›+èé±­Œ….¡™ì$:ø¨×SÎXî-$fJÉQc‹ÓEx|OçyKÈ)*À;s¡”8 +åf*IH¤ ŠO2¡™$ÕØ“âa¯·…_мKSï]ÆþdIÌ4éR0)ZÔ•£¿Ž¡fÒôX¼¹Q• ÒY@JYJi¯ÚŒ? WÈ…‡÷ r àbõœ×¸vðôš/ïazdúÕqÒçWõ~Ašê+ñ²ÕÃrͺ!ýÐE¬àw4“ÇVí9Ü X_‡™{\Úi V£FV醤` ,³A€c™ŠŸ/ÄôR¬IöÛ¹ëo¯’´p™ìP£ÇãÀýÞF¿ÍèNØêè=4å‚Ô—|#nÚBb<8†kL£þfÒ~×Xþ<ãLÓ3 ­îÈÚý|0g"eŒƒå‡­\Ú@@#m:æ,,á´ò!¦Va±FPlL^ÝÝûñA—å—)ÎØ”jXL7í·²Ü1p¦á mj{é{V,!eiÚF´½7©j +L“S,qT`¤S«}›)6»î7¶ù8†a«iá1kí>vÕœŸw­õ˜•lt‰«$2TµˆšXd‡éï§|»!òñ)¨•c–@à©e_²~€8ò¹¦Ã}þõ»“mN¶·.ƒùµ€; +å›°ÛÖáÀ¬:8PWŠúÐÉøÞ~¨Ã¥Ãüº&m…cÖûwØkáÅMš9±öÅ{F‚Þ¿ +·›v©”LƒÎ¶þZãm•#åEçÕN!?Pkgƒ§p ¯û›-»÷ÓÙØðIJŒ¹Ôú”É8D±`µÕhVæÒ÷bffýííá.mc{cm©-ÈŒDãT_ge†B4ÓEþƒÏ=uêF7 ãTu*&T%fŽýäPm¸ßQÀ‹=ôë3äì×S•ë)¦Â1 +w QšZçF[hU‡b8 +¿¾üØÖƒ3"ƒ[Ö‡²d+ +52ëÎNÏ]?¦Î8´ðc­H®)ÝSl ¢Ñɺöu=ņœréÍ%Œ‘V$’ªOt/Ù±?³^+ݦI0A>Ü)VíX¦ÒäJŒÆ8R/Ô=õ(Ç&ä¦Fwoû^è°×íiÅfÈY1J ‰êF"áVÀ /‡—h¶Ü%#îòÂÜqIezv¨ñ‰é_ZrOOFÜjD¦“…܃w %ö·‡Òô¦-RÉœ–;,ÑŽí{_†#vÛ)ïš]q’Ú›D!\‘×A W[1|9Wb´-üµqFÒKþ”Ÿ±kØ›òUŲì²ÓºÃ#]§Ë¾Í,œÚ×ol’}•¬‘âQjS€Âš± +“ƒfˆÒ¥¦¢Fó?HI®ï4ôÏ=àÙ3Ío+r®$#O"‰cx\{ÁqáV~«wÚ(Xò<|º(=¿9(º´Z‘ŠÆ ñ#¢)cžò&1°*O'$˜p÷V¤0±Žbá€,WmŽ ƒÀ“Õ_è.œcÇ=?âÿÎ2ž`Ο ‘ŠkûÑ¡o´†÷ÎÜA›n­Î\Ú£©µý¦j-FbÑÅ ƒÄAva4r½ çŸRUyN§$ú‰Ëxæ ‰eUDÃs|-ÌÄâÂ9I{¦Ý]À먹 +Âíkj„ŸãÍ2úÒ0˜öÓýö¤yÑ—Z÷šƒ}…u:¯f +ÄûAÓ‡s§Ø~|ô¥„cx0zl¤%>+FiÁ‘ž:"(ë…»‚©N’‚;þ<ˆŸ¶œòîÛûââzxIöu­°åÚÚã„t¾ê¨ÿPùV›.z½Ï]?«Û-;™ªš %"-­]'Î@ÀžÁ„áOÀðWèת|7©9^l6¢ä:ƒƒ cXTÒo5}*h†—‚B×#ºc¥iÞ§m I™F³5@S|F1϶‘Vé5WO§¦Å°ª™2>ce Ä£nôµ]²Æn¤v6¸Ó²¿êF-O—d8ŠEC,…¾R”m‹`&À¬Àh>ž!¾*qÍb1ûè¦íÅi)'€¤€]Í´kñâ8g\•Z¤Ä1œ]°ªi¼ÁM´nAg u7ãÏe¡ WNÊiN 6 8ž•+ Â1lN·ä°ªYq:²ÁDQ#J×c`,·àGUñ¾©RÃ’ú €âyãùÙ­$($²¶†ýõ6âw³[Kv€Zü|O §,,_}°”#×…IpÌ­ZØÇZ1Z|†Àÿ—SUˆÎÎò£>Ç}K/Y½8êH󕺊ÁæÌ^…ñ¸`rñSŠÂ@Œ¡°O£ÙÃMÊmJ¼[Ž´SŠHé>}}’å­ÛºÅC{(ò~³tÇ:fϘ²¶W¨ËØ&J¨ÂÒ†µH¨©šJw'd®ÈÎÒ«eÛ4â3¢ ìäÝj×uh\œ}ûh\È •lb92þU|bz²gY$.Ab¨C>Ûê4¸ãÎV’êÖ9®Ä° + Û¾„ðÚ£ÎÜB“öôÇ+Þu¬ ª0¢Ûë–›0c_ùÖž&’z™!—u;Ò;wÚHî¿¢¯@¸QºQŠõç3b8ž‹â2ÉO€QQÈ)ÖZa¶Yeeí$«e‹¾·äyŸçwŒZjlÀA“†$ñ¤™fJÖa•,Á +I#ˆâj¬}núÑDZŒ; +ôõ—pü.›È2|þ2ÓÓŠ¯7±Y 'è¢p¬H7b}ƒ…×ÁðÜ©[KOSSÏOˆT¼ó¢†½4¬¾ó6¤ÜkÄí_Ü^¥GQ>;1GfëíÜ6u¿KL¿žú‹Õºö-Kˆ$¡û«g¹'áÊ´Þ%:zð¦ó6~Ýâ>ÑŠi¿Ô\-—25WO>Z(Ôá»Zw_Ò9P +ªû-·¿.½Ô×AO%$¸«Š³2ÛK¯ÂüÖôæ+·O„mãÕÕQ»Y³–·Äá;h²ôÎH!Çb¬¨`RPÆÇnàÞp Æ2äõàIU"†'nÁãõðžË3 œZäO¶ú^QÀð¡Û%gÄË~fŒ»wùû¿ìãÓzcY$¸[ŠjÀ»Œll¯oìn wO´íД¸5"}E-ÌR5¤Œ8~ú8>˜ý|f¼µ„ÐeÞ£Ó>gÉiP±ÅWo©¤ó4Õ¿~!â;Û‰œ•œqnžg*L͇˜†P$òÞà6ƹI"ëí”™µ¶Íì€R£ª?^›7ÊÅݾ‘1§_ú’=bzn®éÿÌSÔaYÎj¨j—ôß/%¯Ð3µÏkžNêTswV3¹‡2H³nbÑÅ"8ƒî¨ðz×uòëexPBúÏÏS'Ý´[¨™•´Ãè÷Ñ?C½eh²þW5ç¬b+«ê¥Xä«hìÛA-½€q§,æ,S(côY›–Å09ÖjrA±+Ü|6· 7£!›kiJ~퀉«f9w|Ù +z÷ÑLµê¦ùƒ¤©þwδ¦Ÿh™´îHxœXº6U`~ðyÆúÖº§”cÅdŒaØÄ±UÓ. HË)·Ù'QÈVãp®²LÉM¨Êv¤ôÕr;Q ¥Øëª˜Æ}usÒ—]¦ÈxÐ\[‘äŸ ÄÐM31Uk_G¸úûq!S°<*ª8Ù>bZSö˜n$a<;Ë·U熽>‰¡¥õ»M¦[’8ЫO軪™Û/ÍŽÒÇòMjET`m{wâÆ~¶áøîzjFP(ó‚vÜwÓN<åø·N„§oNÏÆµw¾¬Ü6AFðPAUé/3äÈ0ün²:ZŒaÛåc~›c[`ÞÿW8eȰœÚ¯‹Ï<ÑÙ@ü /ÏdÙIqeçðéë¢|ë4bä…iÑ >YºmQ[gZHæ´À¸b##R¦æÜPSc˜¬Yr£§ˆLhäÉ)]§îÜÿ7¾ëk1´)’ƒ$Ž7™wwY[„8JEf<¹€â¸Ô8ìòy ˆGäCN¹ÿz÷~çˆÔ­¯Ì‹YO0ò¢Ã¥ i¹ˆ&ËÂŒ›*e·’IÂ=h¿² ).¼³³Î„¹–°^žTaär­T™Ž‘”ù¶o-‚]ï§qÛÇV¤G‡2Ö Û ªN¤ønán~³:`MÝç.,Œce':¥Ôcãù®ÁÁ»íÚ¶»â–|c4QáïµÄ}ç “aìá–ìÞ\-%Sç¶:¨Ç,üóé Õ×ILʸ¦0¨‘ì Ú“íãU/QkÖIfÄAA Õ›kâO¼ÏžEÁ° ‘N?ž<›+ÃH¥+ÒŠ!,X#üÚTdeKÇ^w„uJ‰±$j‡-¸vÖÀ”Ô/Ž—âËlà÷‰×³=¾ßzÓ· +ÏŽô+¦ÂXa*å6 -ʆîǶ¶ãþ'Ôl;£v`©Q3\¨‡•›+`X–`•¶/žš“; ^䟣‰¼á‚áÙÇ'K]JÒüÊ–³ÊÇ¿´ 8\ÛKONÏeºTëD©>!O¹0â99ÁóÇ$Q:ï‰UH+~× ñ‡§T´Ë–+F&†¦¦50Eç _µ'}5ã¹j¿<³«õ£vó•9•ér l4¢ê®%%fo£Ÿ +"Ž +¦Z—ZvÜQ›ìÅ{ <~u«ÓdjžžÊìR?>®×FŠ=ÁC‚;³k÷|x²Îžhzoè§êVkFwên"•Tºƒ5=VX¢A©í½¼MÀðãy7ÓæK–vs{yw›“§ûГ<ÏáO;ÙžM–nÊô¥*¹*IÕÇö!虜^ÎRâl¥£ÁJÿWé^HæŒHDs„™ärm =½€rV[ô+ƒôs£RuûÔåIÂñ,vŒ¾^Ëî<éšd-µŒ¦ã¸b‚Öñ>ý0}ewöŸÎ•( ×݃¥)a­[JY£mÇìk&e +]ð/¸6€HB Ø‘r°uÔ¾¥z‹Åñé%tîðá)5…[(g‘ÚÀˆU®4îu#]8œé?­8qηAº3AQ–óœÕOGf%²…§g!¤‰ûî+¢Žd6àofÝnš\Qà¤[Æ+pÎ’³ý†ÞPÿ{·NÛp÷y„8%:‚dQÄŸ>ºHçnœg +zÉóV-N´¹~¶BÑÕnP’)$±a}tâÛ%t»"¬‘cYÖo˜¢¡SIPû‹Çs~äŸawk›Ã˜oÆvög|¹ZÉ=^@l±Ë|óQpêžYëÛLO˜q*z1…adÑRÚì"¸f¿øˆ×éâoªx>P¯Äbþ«¨š›WÙiö^ÃÙÈÓ6ÊÚ[¡$ »()m™ºú‰GØjnXÄñ:O1§r‘IîŸ0Ÿxñ cÏ”xã0@~Ð* *~ÇóÙË™Hj$ÑÓYº,4ñ­ÀðsBy)"ÔU?º—b 7Öx‘ű¬K:¼É‡+41‚vÆ6÷6ÔéÂe5qypTDõV“– ÏRÂ.0¥…äW§«Ç¤Ušb¿åâ½Ð á}¥Â¦Åž?—Uó޶û7úù’yzm­.•âÄðý(Ê­[ybvš¹¼ÉÕŒ¤âTØÌó¶R%pZ`„ °’@öñ¦šœ¬ÍåÔK dž‹´vå: éê¦3¬Œ¥â'lÐof_¬ÙTaéSáêÌò 6 +×ø ’O~7D†¦ Í.±†úLjn¬Cû¸œ+V– y… ˜Åze\¡ Ÿ#{Î>Ò¨©¹[ë§$ +G¬f*@…ª×·Ç‹¬÷-0œeGG +îÆê£¿IX;}<éWÔ|#!a¾]r:ãÒ6䮉‘†±÷•‚Mü/ÁãÑGá½ê+Ö&/>!•©Ó§Ý0ÂãœÕAP´5X¨§Ã‚(j—Ib¤*Žír$~Ä’õ€uÅ 2Tp’c£Ïm ³ÜËíˆSҙدÛrÁ:øúÊô°btÆ1.´âêªÏEFÏ—ð°Ã¸ M#THñ3 ÿ‡Š²žÈ2;75©Åt¬à<€|Ñ}—Û¬–Yô¹â>ƒa¢Þºc5R¶D’Ÿ¦”µÚJEZÚÍ­áó +vø¢)¿yü }æ¬S'K°Ïó0ˆZZ-™+s•%A¼´ØÃÔk÷!šÎ§â¬>7ásÈ„æ)Ô¼͆u#–PÅ  ­ˆ«!±Œ½®kéÆóÿ¥k¬Šä ŠÓ¦h×x·fÏ%sºp¶6¦c®)á}bUÓbKŒaø¥ÄJm5g›éâ†üy;~þ£épé$ɹŸ(æJ•ÔA;ÖáÎÖì<¯‡·„v%r +%Qæ?*fë#ZãZÀþù r©W‘}wàTËQœð™#C`´Äãß¾æ>`ˆß^ž«úSõKé~ŸêvQŰz*6¿óŠþi‡2êw|Õš5ø‡*Gˆà7´Ð̬ZR–É Ê|CÔžµíæÝÃsh\·)x$b÷Gøª…{ Ùo«=ëä’ezÎ.2ÃýUägƒ MÔL‰_›m\ÒVr4Þ«k:÷µˆÖ÷…ó<­ W~Êqþ! æ³Ç²ËÕ‚%$ìêüEÝMË™£Ò/R¼¬"_æ™7©˜Ó\IWˆ÷Û"_Co‡nY¿/ÕtÃ1¶ž0çÃs8Î…ÓÞŽ¢.ë-; ‡Vö¯Š²KµÜ­J>ˆéŽ q¡¾SŸÚܶ\JdǾ„<61Õ̰*r>(&É̱ÔSÔ•G¦’Q¨¨º‘ÜÄväÌ“×ÚÊ%Ôt52Í–èH_¤/aÚM­»°â€OÆ‹®»Q6ÊàL]Vô§‡á5&¿ÇðŠd‘7³-J6óâ³ß°âƾŸ4u"+A‹ y‡¸BBÜëuKðÇ4í£( þÅJ# a>f¼ÿm™IÖVJºãA†džœcOOwÌÔÐ?¾ÑƾÞÛZK[îãÎWéUu&ˆâkSUR¤â•TŸŸ§Åv \&Y™ÙOmì¡j ¶¢56õW ÆñäÆ0Œ3ùtTÎô² ]‹XØ>®Cn„O&S&¾¦Pì”]ŽÝ_g¹íÝ[©ˆAâiE—o$ 2;*jõ÷þkKTœ2†„¢ùP¹° +nÌ;jxL±º +º<ÕU€Šyé±h«H¨^O7}¶*¨$’{5áž]h\ÊñP)¤à]ß<‹‰XÀçWQÒêÊ<ÅéÇ/uOÄð¬w#×`PÔKŒËP )¶~g™•P ^äXŽî‰~5½Wémhê_Ïô_¥”É2Ô¬rËY@ùALìž¹×C··7‚áKPµ:Ò:f'¨Ñ yi+Iàí$ypªíë7âSšº/×Í—º5Šá]béeCÂäq'—IS$vd‚u çÄ®šÁ¸qºÐ<Ä¥Ëyb‰pîŸ`ØQËëNö,ðË“Qæ:^[³1$‘߀žËws6Ì÷µ÷™G‰*Qã" cçNnÞXýÖh\H„¤F8ðǺ&ù£;f|åœ+3öc«—͘åkb5’»Nï¿p¿`aØÓ„ÿ«=&Íþžú½‰axCÅ™úoXƆ·cH*(^eçµÃ¤°0ITÿ­Ã,й“fjaÌ üN{d{)6~É˳3ü;G–Ú²ßQ0<~2ög€Tä¬ê©¢Õ<‰žwÐ^ÛdܺxXÇ,{«Y«9àM0ªüωã2­-N LŸ6ôU.,«Rÿ"Ä“ˆÐÙ´á›Y“îöØÀñ>]t•쯼t©#0¦¬¢&f©¦Î8þ–2Ư‡©g‹ç)C€M(,ó) 4}Áöx"ô‹ðö|ÌÔËÔe_™" Ðåœ=Ù!I½ªeÞk÷ §…ùë¶ùäé - §zp®×,¶i!K‚£Ñ„WMí‚8ÌPÓ&¿MͪLãÕ¶t§¨XSºm†bQOMU*ÑEq‚òÆ•)ÜŠ ¸úù"…üª´—Bc`Ní†þ&ÞɨH«ß†ƒ + +üi!Ö +ZlC§˜†\²¯ÎS´Tâ+NîÌ +«…a·ì÷áìü/½dÔ§ÿ3=S¬‰2µK“ƒUÕ6Èà/rÔò3 bn=‡€ìÞÞÙ˳`2:Dm ÖîçJÊ3=J2Ò¶ÏðÏÊ©óñ5ô­†dlê:«ÓzIaÂsïÇhÒj›ÛÏURÄ#øû¾< ½Sôó3å å]QŒSÇM„â3×WaóÂVX悪¡YIFîñÙÞHlâIÚCʽ +i$‘DM7ú1Îø&!]IÑI#ãu8}<о–4ë°ïpv›=ó_:AiÌpQSÃ6-[+†–iä‘Û²Fª“ô'Ý;•»nPâ„AÂ13åCÒÞGSmûH3'…|­$ÙG"TË,ða0K`õ27”EýçÝ´k§þ™z,Ï9ºqìèƒ(à˜TW‡ ‡›$¶ºŠ€·Ø/û î>6å2}Ù»¹K·>#xuÑRs5æ&ÖØj*Tá4fŽºÒ`ôXNQa‹ã8”Œ&Å™JЛNı¼E‡‡ެô7Wæ÷Àé%޲Jº¡4@o®Õ]‡ ò=ż´» < Æ„×]f?äÅz§m >›=RdþšeÇÄ1ŠYeªÁéŸÊW”Hò8û!™û‚xgº;è_¦Ô™\ÉQŒ4JÏ,¤¬ž`'C¦¼í{+±îŒ$“wäÝ‘å-eá²eJŸ::™ê#©PÍuy£¬ùSˆÈÅi)ÀXcGýÀ 柳ãRr¥=!S—*£lKùù!Ç‚I¹×‘¶öäfåL‚±£´}ÞþQ¿lGÚ}Ç$(ª¥†O5ÊgÔŸ¯[pÏy +ª*ù1\5ËPDnéþÀ8G–îëêé>½4(ìÇ,8²+NÖÌúWÔ*3†®ŠÆ¿>ÿ£ŠS܆=øÖG_gèÂ!PCÉoÝ^ÿEø2ÜÝÓüÁ=æ8ñò¡Îêî›·™‚;æü1“åFsþ­tÿ¡µù’²¡1Xm4ô·ï,ƒC§p/sÉy‹¥&eÃ¥Áá¤8NcBf£®¶±æ ûƒºÞïºÌ¯7vé.³%žh1ÛDrŒÉ]À” ¾u×B=wõwÓÎlÃú‹'&véuRÇE˜2´²€%€TKûíl-íà-5=~ ˆür=%U;m–7HÚ{òN³Ìíóü±ZH!`Áœf=¢ˆ{äÝ5©8|ªÔh3Fõ!ÒI3VF«¥Ç0LrÍ \‘dš-À¦èÈOn*ºˆe,G-a`ÑùäQ²Öì«kû o‰<öjÍå–`¶ÔLã!BEäÜ + +)Ÿ‡îYõ ÓßP™ã.õ¢¢³%UJ~Db‚I‹È§ü¢¹7 àðbÊÙ†l½‹ÇW*çdÈFådm`{ûxy¾; sHÁ°þŽ.­ÂÓˆš=RzrÃúïÒ*ì&®Æv jœ6T"7†h˜¾DƒkkXßKhx)á/L{Júh–¾’° +•qp×O#«gîͲ›F8ǯM 7G&jâÉI(%5]ߪüÍ‘r<ùz¹òî%‚ÊÑÔ§!•&€”hÈcÛݱÒ܆úwÓOêóS¤¸¤û¤©FéZN˸[Ed™k(´!j†*&•±ge•åN$7*VÚ,Õ›©cêÇõµê§ ÛØ¬Æ~е®u?5tãÁ°Œ6l^¥<¤—sA Xq›u*ÇQÞovëÊþôl©}hÎ94cPá /͵X¦Wí2×·'cY›.ÉD) e![*GmKhwO=m¼Ùxihœ Èã4Õ¶ñ>–@ 1àdJÆ«žCúG–à€‚ë¶öû¸Ãé–êè¨"j…2‡š@‚IñÒݸݼµû‹…$ ¸M[wí_t- &}¼im$Õ˜²QWb“­˜écv7ß·ÙÖç[ö·36[\µpÑÁI/$«¹N‡¹7×ãÁM¶åekIÛÆhÙŒ¹¶[Ð$*˜©0üË&n‘f¬©©©xöÅm´-´‡&Sõ/"ÑR-lTéîwVîFšƒ~/=œÛ6…) €ñ¥¹{«eÄ‚`t×› ]VÄj[Â`­Cså/¯ºE¿.#³-$õ’×áÈMUŒe,Êtà?0Ý' +’LSÎX!Å‘"–™A1*jð¬aˆÅ(Ióc–ñ¹(ß{ÇÚo¯1`]?‡Ïj§MÌÒ ZÿáKm”^¬¡q4Õ–P AçÏ™zÁà O‡W²â^t›b!Ã=ÜŸÏUx­]o”™ÖVˆý¾$ž1q’¸¢2M9jêlÙ +N*e(°Œ™z‰óŒ6™ÑêÈÜAm¨ðä¬<ÒL4Q¸©:è?Lj®r£…k/º7å]èŠiͽ +ǰãøƒ2Æ$ §¾ÄöökÎð¬Ç‹Éˆ“æ4t»®ªO»ôÛ·6úí›g +Gi`çæÉÃX³B˘n¾J$õá,åEÛþ"~©â1å<ÇJ؆3˜¢©ª)円8é]C ®{À{žûDìÉY;Eö• An$žŽºïçg§+o¾hé mÄ“Ðzkܨ°¼3M˜}<tíµë(´lêò¯r«3W§LÃèËÕ +a¸%TÎU25U5VÑLC,¾ý<âìªñCb;kqÈ ê°TîÊS~Úµ[Ü©Pš2SÇ…3õÙÅ“™3›y ud8µDàDJU‰§º³OYTrò ÚŽqÜ FÔ“¡i74h#Ísv ïkÜßè:·Ò܃Žà´´9Ÿ ‡5dÌfUš†¢Áä ¨˜Q£ÞD{û¦öð:[‘&u%³¥ÉÇí#hê¨jÇ7¼ËÉ]º‹h¤6]Íy›)UIY–«ªpJŠ˜Ì3whüÈÛB’£á3õéS?ô—Ÿ8ÁY6=ÒœJ}É]Ú¥,tб{¤`ÖÚ~Nó\Ëdb‰ÇtùõÑ^y—*é*t] í`:]×,‰›òE>O—¥N¥á°´qÈþÿÍû^cpÄ\²}—ã—FfÍu8\´ÙOÅ1õ…Gé!ìÛ¯¦÷ +úøMep†µ%Q<ƈ˜´p ·©Ø-$8ñ|Vj*z†$Á‹7–‹,[ø1d¾ŸõŸÁ¦¢‚›,ÕTí +Õrye?hª_øñË ÅjlËxì•æ-n$€:$Ò2°aPÕm§‘ëé—÷€ò¯ôn×òâË*t79⑌b$ˆ,†š5…õbK_ÙÆÌsRì"4Ž³ÖŸ±ÊnÝ\$Ï»Þj<’ÆX˜“b;¿=8ŠÎ™7$ô««¸.tè. Ožº•¦“yàŽ¯æštMDÖZy¢íu`ïÛUEÛ´ $žñtâAWLxЗ-ÍXMªFÌuž*è“KŒªùÓé“tg4fL[馾· ÃMeHÃâ©/æ°zHÉI<ƹRU¬AïÇz­cyÆ«¢Ã ¨Ä_i1ši"òe‚iTŸ%–÷fÐØ‹ƒáÍeÏpã>!¥=#Ïef–°î’©;dó$±½‰aÒÕתÇIFf¤™X:Jˆå )ìÊA^<‹Q ,±RªÅ˜Ù—Þß¾ÒžÖí¾Þ<öh¦í-ÈDDœzqŸ 2W’„¨§a<* ׯŒ‘ŠÅž°lçF®˜nmÁª0ªè¶u!7½Á¢©k|€¿¨ì¹ f Üh ¨'¤r"Š;KÊe-½Hƒò§<&ª’<9Ã(%BK ›ˆ÷XÂÚ +‹}áãʸ4R¢,Œ¥c—ì·¶šr¶}Fâtù“¬„eâ¿Ëj±9éé<½Ê4Íånñ-—úOå4̘À}§ +&UÓI¾SŠ‚”`0öQøôYEtï¦XFkÍp(²Í2WÌ’¤GÍ©­fš$bnFÍàß½‡ìÁ“±ìC ¤Â©¦Å±lP’–L²³F û + µ”›û5à‡r7¦ÖÝ/¥13³žŠvq¼íº§Lˆl}z±é^ZÀ³½&|Æ)²6GÀóS‰VÉòÔñ¤îªÈÇÞrΨEï äüµÑ|÷RšÚj‚’zY¥ _R¹·g;õnóÊ•tãí£Û›»„‘³¤Ó?^¿NƒaxåFøäØüÓ'—C†á^ò{Ÿee¨oqK騛-k:5–ðì¿)†âòæ*wš(¤©Šô¿-4†Û&Œßh¿c~šßÛÇ®JÐAÀÛ#¤K—·–\2[XPs¯|¨±\EÍÙî¯År†’ZJ +™Ó¬ù‘®¥‰ †¡Â™h&Ê£áÇÞ¬b™¯ +É',gy*&ªÂ)¨ I ¾SÛ£e%X0Áá~ëev§2ïjÅQÓNÛdv–äñô¯”ò¦jõ †æžE xESɈWSчo%Ÿв=ŠfíÀß§tÕu[YE­M¼¨ôñcm8%ÞgP€„«fÚn÷Ãxœ6ce}hbXN\¨Êy[%bI{{ˆ…ïpá‘ô¥°nŠgJYâ­Ãë3Ö&éOW=iHã…j– $¸CcwÂýν¿¹ÍSÜ·áV Ÿ÷ê-y.³ Å,°âP ‰Qc†Þˆ÷¨¼g7õj¤cYk¬Ázc…,†À Èó,l•ÕG¬ºX¯†CÔ÷¨Ü»ÓŒ&-M ^?YÚ6øcó@&Aâ׿sry?n–àZÙ±Þ8qŒxÔý¸;‡–nãc¸Pqå¸bN¾Ú ²@Æ3Î$ièÑ’†—Þ¨šÖ +î‚|Oü‡Ôyç¥5sÂkqLA÷+Ø3noÞæ›fÛó é¡{V†Õ:€Ô³¶k¼Ñ–¿–bR,‹-.šŸgÌ›«²ž^lg¨jyJnOÙ½¸`íÌ=4o–Ú˜+v¦›¤ÙÞæÃãÀ«2g:û™k±˜f" +$T;I*6ÜÛèä?ÚãE¼ì”˜ëXËõM—o(tlZAõ§ ðªì.(MTM “]—xð¿‡k.•õqÏ2Ôa8!òÕ…Ï›ôñ­ÃSm]¯Z +úoéÇzgš:ÊÕ q>ñ§ѥY‚/—G¤© ]t÷.)ÖYf§Xáf6b,,‡ s ëè!;6sJ6»ïù¦Úm'N’bxãC¾<ë’£¦®–z¸å*1-¸Û¸ú­a‡xä¦KG¿€oñiñâç¸q€*#gv…›Ú­ +Dê8šE§ŒÁ¤”Õ- 8„€I‰_ð5» xõk$QõK)IšðøáÂóÎMÙÑÇëéØj Ow{®·~ð<è†]!$uÆÑ¢»«'òWê’{¥ñƒñ£Cø{zºÆ½ u‚<Ÿ›j¤Æ½>u¤œ”Èf\&µØcáwXíáÀ^›®8¹ËÕKòØ‚¾ñ°öƒsà|9)?½–Neæù¸)Ù×åJ®3Kp×x §ŒU”ç¾ôÙ:5þÓy:TÍ­Ao–Šó ×âuЫÆo¸ÜëÁq,*¥éqZ™“Ä‹h ñŒ—z,³µ0¡« ˜=bµmtÓɲt¿¯}.êæ[¤Ì=<ÅhñŠº¥©QO8Ýu’­{êmooŸOR¢¢É“à8…ŸÁ¤&"M‹E%ÈÿMøWœî¿ròÊ +ÇÛRd· +vÕÆýÐb1ÚáUÑø²zDÅðQtýG˼©ð‰&1ÆJE_LJÑ`dÐüMù>«4Éã üÉŠabp‘‡$ƒ¸Û‘Þý^;¡M ‘õÐs³E0V¼xÐ/‰ä%ȹFXrñæv£óç0­)m?>u›1üSÆN:I58çì²Ì>®åY«÷6ú”£$G²ƒNb¢žòd £GéFKÁóÖP|ÅLbu7ýÖQ2_Ý Û¹æ<ÙM6'†ÅU€$X[Uv,Y›O´EÉs,ÈÔ§F´ÂzIÛI¯Ð‹Çµ"d×.–M„àù²jLø*s % ?»`ˆ„³r?Hçy/›*b/> uUBFÎTê@kv: òL¾Í‡Çw*Ô6lÄNÜhë$iÖÒ”“<:éûª ê OˆôäG†`Ôm9•)ØË*PÅX›mà8©Ì’coM-t° ðꄈp‡Š‹÷q~a»ýå¹pÆ(\7è KÀ‡<(9ÉÙM±0¸+M9E+nŽ¥Z"å ýÙ.TŸ…øPñœ×W*R©¥†"[Î!ÅôÞ< eùÕÃKQl˜ë˜¤ynMzã%„àM\ Ô^[èÞ Õ üò¦­F‰¤R¨HԵ杻Òü}ƒ uA0ÿCmÉ6b¿OÇŠòKÇNµ.qëê©ËoL%Bè¤^!ׇg®ÄÂKOâ#,@1ÿ PHíÁ¦™u1ÌHÐbS4T±”7Ú,mïj4ã(uW¸5øGÄÒv +Vù*T@;:h +ê–eþ_Õa‘FÕEØHWìõ4ïn$}DtCÊYÒx1ŒT´®"¢ÂTp`ô×YÚÜ9de *`a‡Sp••Ó´ôõÐÏéÔ½-G“,’‹Õ)‰¦“¼v¿bÖî>ž$*0zj<%*¡‹ý1Èíú2†‡…ã&Wt ¯»¯åJr×Y[jÒ šUa9£Ç3EFˆVmÂáÝþPŠ€MõÚÂçî­g¿êæSË89Sˆá4X*ŒZ“o–‚ Æ%pÔ€ÌEÏ~oWÕ5–a“°†™ Rpëõš?Ì÷Ë-¾Re¨^ΈžŸÆ¸ôËÉø^(ØÊI2Àñ®ÌÁ@-1R\v>í¸àY—5â™ê=GUŠÉDÆšŽyC¶Ð§mÕ¿!ôp)Úgh;ɼVÛ=rTÀ:ˆáÔ+nä7—jB\Ô•œc¢„þ d,ƒçœ¥ù[¢Âi±:hjñ™b+³|ËæŸSª‹>Èã…6¼“(]‰ÓwÝÄ·6bÉ +Zd¬à°~µEåÏ4™ƒ<$쎪JæN’I‡â§ËÕ”y“áßYòÓÆêdvÒ8.W}…¯¶ümÌ~¥òÞV)6"•˜¥h'F + È,l£ÇOÆ7yüÉS-í;EQ âÖvÏ<+6Kô÷Õ\õˆÇ‡`˜%uFóve‰ˆ +½Øµ­a~ürÀúwÕž¿É•zѰ2–TÎÕ¨ù²Ÿg Q&ÑÇ$ð–UgŽ¢!uÛ~ýô6:Ê-[o2-i:V5$„¸O¾„·Ù3w­2áÀˆpÃñ¥dwIºAQ˜r7\àŸ;挳†Û+& S E*O‰ÆîñV:¹ÐI $X›†ÃÃñ‡f¼¥&5&‚ËOD›ü„ ¾Û0í  >þ÷Wy²¯Í)¶v¦1™£ÇsÛ3t¤ ÄcÑë@Çþ«°JŒÍÒzÉ#WUe2¸Å4ŠX›ÒÒ*í*ÅŒNÚpŸê +ÁËü¬J`¤ÌíÂq÷R=åiË«% ‰ õŠËFOž# #{„E›Û{ðʽÉÙ¿žlƒ-a­C%M$,íóÕ‰E,ê¾a*Où6•ŽÛXm±àk³þÌlskÿÀJ€8j:pƒïš§f[†ŒÝÇV¹ i2pÀÏ]g¥¬ž:…!¨h6†ýÝÀXmµ½øKºêo­dâÝ<£Æê2þ^†ª6ŽŽˆ’o—²†óf ŽšpÛuìE©C‰@PpM³‘D¤“o_DÑíôÁ蛡uyS)õC1áÒu +‡3ÒT7•ävŽŽYѶî§6¹ˆx@¹º=ê[ë~p¤×Tåî¸ez6Çb ë_m‡×ªj×·ºýÔ÷6ážúnÚJul°•G‰3„G®ŽŠª-»Õ.$ÇØ¾"?…]]tú×ô˜ý1cOš²œ6t0ɲ5ć´Äu¯}¤}–ñÀŸ¢]8̽OÌ2Á /QˆbI.꩸†–B/e¾·ñàSx¯;²†šzM3û2í×pÑL¨”¬õŸÔì¡ÒÚ!亘& Ã0øg¯†‹ôJ*¦Y`SâQØo~?dΤ⽠êdé'ƒQTglÍ]<ÇÌ©¤¦ˆ–xieJ˸l-~1’[½–’±ÀìašnNR,^J@ + + (ñޝ:›œý4RuËÒê?$còGr†=v;—Š2#×C?ÌåIá'[ƒq¨µÍÖ¹–L_ÃÝÕw,éï¢èn<ñå­-46£j_Ê7s¾N°¨'§eŒ•M€cX¬1Jæ3O( !]¾ÒOn z;Ÿ0šÌÕŠàì+[—3u<´uÛq­emG{«„]¦Ø-æûB‚4í2ÕË‹`ã ŲB£Ž4:z¼èncÉ],ÊýBËrMAœrÁY R°‹ô(%;Êmôöão¨lÓA†ôÿél±™ñ쑉ÖÄZë4´5[^('jbkØß±âþÍlÛ¿Wz„iR†1°žª î^c¬¨ðÉ>¼(Aü)z}ŠuC®Y‹¬ÔTTøF_Ìx F¢šQ +bfEId§UÑU¶3mÒ×·³fš+¢šœáŠ0e¥¶ó aæ2›ùrny!ÚöVÃͨ-ZЏ‰TªöÑNb³>裗ž}å +ŒŸ¨õóuSÌ…š‘±‰Né·åi¼µK"}¼ºGêsèô­ŒaØ škª³Õb0­[ƒ{»¾ÏÕÂÝ×Ü{|»6‹€¢‰#^tÉÝ[•‰`¤Ç š)}Sü0¢ê®o8æúü‚”ÔñGC„Ë-7”Ü6ŸÌ™¿ÔÎoëÏRW΋ (RÇH‚aXû!ñ?_9ûÖ™]u½}ÐÄŽ3åCÅ·ù{´òÿ2½H"z4ž¯:É? Ì«éwÓf9„Öâ9·3aòšœiÞ;3£ ŠicKÙWÄß¶§‚§Oó=- +Q5%f WWýåðe·›ïÅîorµ)°–‡ÚAãÐjUìô\ÃxR§ØKd&|F:E¾£ezš‰þpF'Ãq%/O,d5ˆ6*Äi§3õk®8d+H’ùtˆ¦à =£ƒ,Âü%޾(IŸæ¥†õ8f8S‡Cú S›±0ÓÆòI¸,bÄØ·k}|Etתôu¹àJî¿ÝÝ&Äûvƒß‘ÏnHlX4ñRu¢FÃï¨kêmV™–NÛè-§… ¤ý&殟tÎ,÷ˆ,0ÓÐÊ¿£–DF*㺆 ŸÜ^æšJ\;š$¢æ¨bC  G™v`lV“ŠLÔ5»Ùˆað¹ˆ4äúù%Æ`žQhZ@``t±à+œeDzådXÕEê0¼LyÔ³ÿ¹ÉcªßÚ§¿e‚ož*â(jÞtâ”… À4lú!A’z±†«‡[ ÍX\¿+]FWt±’=ÉwÚßÙÅßDzuÕÞ¹F`É8[b›5lò +Zh·¬ÃÞ·°_ƒ ç4´ehmÂV¨ûQÃÎhrîo–ÛeàÝ=+"B'×¢’Þ eéDóoò_jºÊ5¼¸} Bªw+þ2]V;üH>Î 5_‡÷R0jOçU²Ž‡6Q$)ONòG¾ßaÜ]nltâ;û›Û¶–•Z¤ pQÆ:º æ]¹Ù=b«WmÂÑÖ:è-ŸÕI˜É‚ÔäØñ\—^ U4µ5¤JñŸÞFH¬Ž;ƒ­ ï¨îç ³4ض%‡ù¯+ĵsS#-5D2§˜Z#ðïkÜvá.ãçÎe—†Öå%,º@ƒü8àj:ËóîåM„žé]<(Á~^²2þXÎzzÍÕõ0ú~ë¥HÃi©«åJšœ*±ä CÛ‚±Ú OÚ§G6U‡bðAT*éÚ4’Q¾E÷l6‡Á¸ÚhS>$È…ñ•+{)z܂ڽ6Ñ«ê7áÚòFo˙פ¸bRaXÕ,òÇDß/Nά^p—°`5 «²Ž'AQªÅ‹A +Ôv"2²¹ÓÝמßë‹Ë;’ö¦H'„Rÿç·¶7©Z@&=ô¨õ¡”z‹Uk¬|O§C%M%VbÐ=lnòÅ5"Y¯ A¿ÕÁ'¨ÇÀž}õµ1“j6€Ø6¶· æ ðDòb3Ëš¶J1*†3åD›Ó~úªkqW0á¸uph$¨š#rxì…®¶Ÿ—lÕÓ¸óßApN¢á”ÂZÉhÐL\€4³_èâûíØJ|$B’vPS.il;ÝàAáE«ÆkúKÖ¼['×T¼8n-QG#\€Y‹i¯y:–Zj…j˜%m7fÒ4ñãÙº?(p ž1Ceîšì…¨xc„E,z™WHÔíüºªI t~`³×Àü~Tã=¨ê5Ç0ØZš;$ÃÉi¿»¦½¸Êó»§®R²½‡¢0è¤ö÷l<ðVÃ;ÚKôÿ¯¸ßK«Zf5QÔIR3¼"•*~}¼NÖðŠÃƒc*« *…ibk ÷þ\’šÎ˜º°YPƒ¦&jHÝu¢å‚•»áiCSã¸õ—,–²¾F>DÈ¢2Hm>«ó•v3M†RÓC‚†I+3(ÖæC ðá&íZ[2™_ñIŠöX«F˜RT¡‰€EbÁ²®!Ž×UÕfVƒFßÀD.M‡øÖkË•y7åÜ#TF»ZF 8 ~}ùmíü•³ +ZxŒ#mï“{êÒ¯…"pŒ­™hsP”FñF_ÌUPYJ“a ¿#4á´3 §5(XeÅ­íÔp”g×kƒ8žµ£7l²¾=t¥Ï¹g’2Õqüµ*Ó1BG°N¶µønýVe,éÞ˜Ò•%Å„1!uQ¹–X*Ööpyqœ"É”k0Ç®‹.7 0 û¶PW—1jŒ'C+S$º1ÃMEøV1~•Ôãq°§qEO Áb >ïq á¦OhÛÌêBÇ(}Ù݃—ŠXŒ< +ÙG®e)Riá8­LÄ7  žÇR||8σtK¦¯¾ËóRî¬H +‹{·Ã·,Þç-2¤LªbLùš[nÒ·KŠ2N×åJLÍꎓ1Pv–’–Â9.æc­‰'ïæ\c.æ¬"7Zzy¤‘cÜ®¡‚•] mìâ;¼’å âgÅöçºó=Ý—³vFÇ*aþiS -4²ídpÁcp¡Eý½ø¸ôç’1JjI3Äð¶+W ªŠRÆ0;…°÷~žGÆ›—.”¥˜Ì6š.o\iå(íIøÒ?Ô&r§Æ3!ËØbÅO€``GFbQ˜bò7Ú¹·kðCõgÒ,[%åzªeÊ&‹/æì1je —gèäÚt^6Öä[NZ7yr¦Â< ûUqûèC»yŠnÚ +@RŒA¦˜Í…âyŽ/ãs6mRªV-ÉMæÅ[àxIŸª¿©1å,ýaÙŸEª ¨oòþðdˆViÃLï±LÛ.u m…·.ßmνÊîá#DáçBé:Tç*ÌÛÒ%—4dL¥T!Äv¡òã©1“pÀXënüpÈ1l‹‹â­™°uÊÙm–’<¿RÁf­”¾]:®€.ëî:p«5hÚÞT•Y#ª&·Ì¯RâK£±$À5¨˜.IÁ±º<*\Âs–.±×ɉù’:¤57e”ÄT–6¹:ñÇ$çî¤æü"l?£¡¨Ëù~R´”xžÆˆùWb"àŽÚøðcÙï1”ß·ïÑ·€ñÛBÕÍï2÷ûËÆÂÎÝ+‚ó ÓWPr/O²Mv2ö7Wˆbؽ8¨ž§YBf *¸•r¼21ο‡îaË4¹Z› +¯ÊYééR,CHʬUÒ9* +mÝ{;s û0ÜÎ3ÛU®íHiã8NœxK´vwÞwÈm±ÄäGáHÜÓçœ9c«Ìfª¦šªæ ¦”ͽW[‹³¼q QŸòÏJºƒS…`”Ù·ÀÞ:©@vÿŽÀN¾Þ»Uì¾Ã.¸UµªÂÛÛ?‰»ËÙeKnÝai::*<wÅ(R¶8eªO*;)`ì=Ÿw޾z´^¤æHè0õ…i°t+( + X–öò'¹Ýë†ï™'¼h%ž©Ë‹Ä‚"(BÉ~›³qÃcÌüM‡ÒT½‚jk¬ñ³JÍŠÔbØäï…ÒÒÜ+)*/ˆ>Þo›ºåàl(¤ch£xó„•é'Ÿ:ÏÕ\³ME—°ž¡Ü( èïû¦ýøëSê(aÔ•¥qR‰µv3 ÿ‹[ÜžۭĶT1ã×Zµ ›r½2G­aÂ=2uGš×ž–Ö¿œˆPâtÀc:õ›1âˆi)gÃpé$fÑ5k›“r§—¹½võ ÚÔF0º-¿ß ·,ÌHÛÆŒ§H½$dÈÞEÌ8æ‰c‘Ó¢ù"¦:‰‘¬@¨ÇAñåãõë¦9/7a­ˆÕcßæ·5D‡ÈÅ!©Z/3hÑ*T²y‹§üHxtw³ì¿±t%,w퓊 +uGZp0}Õ“‹½·6Nh-wÍ©"c­'‡Âˆ—ú)‡a/Mðú Å£Žõ˜˜êüê“þQ·Hw}X[ˆwþí÷óWã}ßôSBx`)ú\ºíúÔ¤h…{Џ. :†ú»p–Нq/Ö¾·tóÓöDªêQkcÂpz+7zº‚=ÊjTîò9ínÝÍ€'‡[…¸žòf)¶µF¥§‚G(ð{<ì÷5Þ|Ñ–m•­^À8¨žW¸Aóß©|óÖŠ3UæI‡ÒãSËY"Æu‰j%2,7^á‚߯ÜÈÝÝì«/ÈW H p"}vÔõ—vTÆAp¦W‰næ@Äú׸§ü<ñkõ?ü»$Ô!Ëù_«Ÿ3Ô 3#G1X ¢V#LÁÉÖÁñÐ%õ½9K™#–ê: +N˜?aÄ™ÿ4lë ÔFðX¯.K#Ľ\8W9)çŠ4šU1Ç8º-¸ðå€ +,4-CUØq3ÅéZ‹‚,B’_µÊ$SõñËk§Y^¤(ƒÒ)Ë[·X^¤(ƒÒ+Ü:«Ð¼_1à`9‡)eóV*1*'Go˜U …†¸TÖÈE¯Á>çv„ͥœ¹l¸¸„«£Ó¯§m÷k~™eâ»”®!$F};kÜÍ—r%nÖKŠŠl³… ¨ #GÜ)C´¼ò™®ò6éÒ—çÇßVÍ7‘§Ô¸®|ëÜ`ëw¥«É”O«†5,±R—6–r†ýºžÎn>@´_¶djO@êó¥û›©‹Ä¤LlîkË•ýÈùg¨¸<ÓÅ€UÒSaøôQ’r4h!ŸQp ]üG"O­Ï-óǘ„xÚQ #iA8þ)÷ªIÚFëeÛÆãŽ¾ÐSŒÌ%â Ghõ¬”ÔïU'‘³7ÙÒ<8f¿T7+`Ã0cUf“ ut•® “-¿Éªé¸ép|17{nír‹Ÿ+ +O=u]¨d6yUÔÛ¬”Û]4å–ò6lÍøäyo-PÔbøÝ[„JxT³]Í>Á¯ Xúï˜zÿÔ‡ªÁcl%a²“E‡Û¿²ù³›.÷nÿÜ Ý²„4¥»÷+`Ûþ_-kpNÁÑçGŸ§ž•2¥>ƒMŽuQ ¬ëyE Q´U>"7ˆ©À$þ&:“Û·i1¼;.a.qI£Á6!-/ù.úyhP_…öNû?¿§«ª’² +éªÛÜ‡Ë¦ÉæVnûK¨UUî¿~EÝVéÞx©:wS¯Múá…V=FŠ$¤ÃŠFÚü…Hs´5…’Þ]4‘™ Žäè–·°>‘u5eìá•(äÅð|·´â,7IÉ{6Þì4ÖÜå½®ÛZÞ†$°ðõ«§2m/hYØ8PÍ_ø„úréÏ_):1×:‰rö-ŽF?•âv{HZÛjdä‹·»} ÷G|¬S2®GÄæ‡ Â3d‰mkµ2À‘6ãä‡ìÌ{ûxuÚ³¡ÐdÓ‰$×·þ]°êT@Ø@è¬ÿŠ&‡à¢õM–~Æú@þn ƒÐUÉGCVq0±‰ë^˜ƒ,p %È¿JßÃG­Ô¼ÈGœ:{Hš<É0†’;U%ÉFÐ_S ƒ´·mPZq½\AÀɦ›¹jý [^›]|©øÖô—2zzÅÿΦ^ž°eªe§ÃðhßͧÅbc§)î"ƒy7-ì4¹á¯é¥¬/¤4¯’z×K„çä–Bhqï!àUF‘Ô€Ä8öß…×¹'u"Ü– &R’tÉè¦ì·¿3É×ݶò’ŸQˆª÷ê·U©sÖm›1äꎜá8‘ó[‚²JÊH%cw4»Ö2¨Ç]¦ö><]áÝô×Y‡±Äò†_ªX–’hƒÜ^À’Xèm§Ødï\'EÒ‰#¥F¬çjy£­Ã«*Œq'ñ¦JN¡çÌ=ƒáøÎ)@ÉØÁU46ú62ò^§îžA!ÃpL½“°„-$µu0AK¯¼ä öÓ^;oº–—.†×x®¼h±;Ö·OŽ#ûí‚£â˜þjÍõ‘ÿ:­Ä3Ex\?54Õ²XþêyŒçê-ž¥N‡áx“à½-ɸ>©§cØ–#Ž­ahÕFæw'‚k~Ãr¢W(Ñ?§åL9qs~©e”%?ÒPÛä(ÑzXü$}Cuö’,Å™¦£Ùf­´ï^¦ZÉU…ì +ÈU|nćüÓëîË—áËòtû&SÑPÊeŠ?•i#Fnåcf"çŠÚìgv›PT9")Æmsda©:ÃÒhzË?—Pòþ<øÜ]N¯ÂêL{MVÔµL§Ý#Íó†šq®__ý}L à9^²“#`ª» &š*@‹ìRª²íÅÈ2“-²TvøŽ>XSOd7/N<} R› üº-‚Ô¦%œqŒ{=VLæI¼É’5‰îÞX,oãvâ[õ5×¼zïUšqj‚í¸ƒ3 GÑogÌmÄG³öדºŒœ +Ô¡Ñ$R« ü2}å‰Õ1\©óÞ^‡Ïžy®§ÄûýÀñæ(½Hõ¡ Ähq|^£0Pfš/‘«†¼üÐò®-}­îF¼'η]œÉ +1ˆ§ìò¥[¥]Úˆ +©3…sÆ OHxô}fHÃ¥ÈøÎZ®”Õxt®Ò<€‚#˜HIe\k§l^*x±’OËKï¢ø‹êWê<]¸®\»—>&å'¬p4'Ëyn'¾4u=:c9—éD6f™NhËŒØet¬,&Zk¬uÚÞbOÆü™W(ËñÔÒHÉU•ž!s¹N¡Íí¨íÀe»¥yÒÛy"xyQ`p®ô¡BAØh$ʘÆa¬õY‹ä®¡atØŽZÆ ÿ|˜”ê¡i%Qo–†×;\Üøöâÿ'Óáƒ/ÓW×âCËi*æ/tr-{¥øa¹,°…;l!+JŽăŒ…J}ï¾Uk`mÀHyýØäh¥z€8tŸ«ù§¹G)â‘ôÿ+âÍ,õøYiã­7ô”ñ’|°Å¬Öáåômü³éE6YÆ/ ³#¬ÝˆøŽ#άoN{ê7íAAYšžˆ$ÌpÇ®«ËÔA‰úÉŽVÓJjáÄ+u”¬wrAÖ÷‘ÕJ°d5|ë–玿 —j9FÒ ×Ý#€NÐwFöЗç…\:*ÌïÃÿ–J]\˜ð¦/ëž-WD˜m|¬ñ¥•e½Ø(ð>Þ$°ìG1⸠ϕU]iƒS³+nú{tâ Û̘béù ó4eºÅ†oR·1Dð®+K‡Òâh˜Ë8†k7˜€j­ûßGüÿ‚æ +Ø&óhä‹7ÜÚ€}{Hyžë©ö’Xê5,^äJX +a0042ô‹4e,§58„g§ufmدo‰¿r„RE›2ˆu½îÃ_‡ ÷ƒ/~ÉÈr0ë NtÛ¶÷Á ÌR¿«uTRâOO·K†âåd³]†Ç·ÇãÈX„rcS½6!Ji®¯{pã¢æôpœ'¢\Îÿó—zuÂÇ­¥Ë•õ¸ô>eM3.øÈ²“àOqߌYVuÉ™¶*jÙš²9Y…­v[‹÷“"SÉÖ>T‡8Ýu²JY2“·«®„N±`Ru—¥oå<:zjVZ¸àmáŒjNýmùiÃíÕÌÉVþ0Ü~&ó#ÃÖ3>ӺѲñöŽ)Þ‹e=•¤:<#msÆ€ãDo¡58šaíî¼’ybþÛÚÜ2^g‡2a² +9|ƒ½FÕ_wm·ìx°Þ|ïw\.³*bq‡ŸE·K=Îw~.mζN%'£ªž3]Är­j|ÚyÐ:_hvà‡º|Ξds"âCæ9¨ '–MìZü]v­˜ævÉyƒ´lè9Ï{P½ÌíÐý±„ôtSV!Š=XÚª#ˆ€µöó7S:Òüµ„Tᘂª¾*}ÊŒÃfïð¶öpC»{î_²=÷æ…Ùk ¿–‚ö>u/+e<͘ëcþCO=KBù±)!Mû’8ŽÉ½G¢Â²dø^\XåÅ1xF¬D²6íÆ³|ºÝ«-Øñ PD›W›q¯¸à)Ë1å\N,uŸó ¥„ìyÝI2yZöÛ“º‡×ìÝŸú[I’*pLGÍ™·QVÓï– ¯”U•nwk=œŒ²mâC7Í(ªPƒ²v ÙK·!«–o_v¨oA˜—-e<ùí<¸¦%GC—kd 3K IcS®¾Â-~ØvRÈYž³Å:ÃQˆÐã.%FòÃw›ˆ3°»X…‰äøàÒÿµŒÛÄ)€t€vѾøoÛ¯¸¶Ô“³' ŽŠpn¯çn›åü+èDÔ´¸&c«Õ0mBe§R›>ûÎXÛÙÎ>—j° ·/œ±  ê~%UòŒWÞ %RØTG{"icìín?‘Z‡ïû×ÀP ù`q¢Œ¡Ý2^N‚ !HW#ž}eæ,ËŠg¼,b5uY3ª§¤-ŒR‚bhã@¨§Ê(ÅVäÚýü8‘ÈÎpÄñI²ÕD³á˜1«+lw´HÍ}«s­¯aÁ®ñ 6mYîI‘ +Œò|û'6öMÃó#ÑÕÓB'©,•Ðü±”0œý–’‹2g)°X›©„y1UT$a<ò…ˆ¹[«ƒmSNšDÕ°š‰j1V`6ìåb…øY“Zµl•8²LàÚOM3kßˬÉ3¶Š.1œkz“4t•«OM  7 Kv°ñ;ÔÜ +·ú´q¬_:²½IU7Aí>ÎQ×VPTLüM-ËlÝ6áiQžÂ•½ ÌX$yîŸÎq4X€HFÐQÉõá­Ì–‰5ãjŒb ›ª'Ô޼ fËóî’’:ÿHŸ·¸½{K`϶fSèÎXëf^äëiò¶CÁ¨®xèÅÿÇ$Ž@ +}—áè·X:AY€S`½@¢H$òìé8ÚÚì;÷à 3Ü É¼àJ á;:¨›8ÉeÈy³·m¿P~–úÑ‘:‰‰ÕåÔŸ8àqV°¦Åp‚Õ8-Žà‹{ýC~’>q£¨ÉØd˜KÔ¤“²–1U¯¥Í…Ç«–jÞ»<©ól¦˜8xÓ÷Oª:õOñ:,ÕŒbTâžá¤¤¨r fEÛb-»Ox-õ×5tÃ>äŒ'ËÔÐEEN—THÀº¨^×½ûð˶Ù–rëal`˜vtÐ/}îÖòƔƟ}¹Qs¦JÌßÎ@ªÃq +W*ò]Ñ®Þ$Ž÷ðà—Öì­•sî4ù³ +ÏÔ5¸¶/)Ÿåñª§’§æ&6´sD6‚Í·o;?¸9½Þ\Àev* H‰B@LLÏ”ÍtsoohrȤ$F¤'é3ŒùRS‚—áÜòvC—:áýUÆäËAËaCàØI fY¦öI&í4×mˆÐ߀ÿª\‚û2Mš¬ÙÖÊÿ)ŸŒHÄŸ•þ 2[‹‹–nÐ(VÅ$L“³Ò½ÅîMüF2÷Pj/Raé3\ì´íˆ9ªŠx ö´,ªŠ³ $žéð7àw;ú]¹ËÞ—;ÔŽœ=x™cªI˜ý:Üe§[ŠÖˆÇOЮ®±^á#õ¿›3†`ë…V›±is~!/ÌSJÓ½RÁe¤Jp¤"FÊ \*ŽüŸ{ɬmw}+a ÚU‘3´ûk)~²Œ®Ó(Q·h#Xƒ„8’+ÜDá9kÎ8cÒÕ=fŠÜ-,²Å¨Ë`eU`§ivæ6ýqï6ôdû×þKvël¸„˜è„HÙ5ýheY¦]¾I¹e$¶â8‘‡ +}Ê8úॖÅâë‰%uµ¾ÁooïàÙ’äÉyg¨KTIßà…ʼnùxhÝÔ_ÙºFà /¹ïwfÑDÊÔ§JÕÒe O¥AÝ æ‚ém˜}¼kxÇcÌ8ÈÄ"_"&…Œ¡N· +a~Hêc•ŠÇw)ÞÃN')ŠÍ3ó ½µÐóU±^â#¯Õy¯ éÕ~+•*_…Ó¼êÉbìȦÉfЃã¯»8bÍÜÑ´<™ + Q÷fööofÍ¡äÊT@òé5îGÝKê­TUç;Lù§'ÎZªJT1ÕÔÃSæ•y$ +äĪ>ÈeÔvÓ“'m›­“$£òãC£ Ä$ˆØ0Ç®6TßÛþâdÖŽµùa¡dD™ˆÂ Ï8W¸ªõ?Ô*Ü;'×Vbò%HXðäMé÷©—×þ:pŸ²mÚmÛÔ%gÝÔzè¸yUp” tÏž8÷]©ÁóïD~NŠh*0,×C4t’ M°IÔ°(ä«aºîââÕô‘¨/œ0¢íß±SY™BÁb½p®pH!%aæ,N­ÊÜ{\vå2uê}uiês=b»#íÚcFŒ•dˆ ÝtÐsŸ[ËÙ½¦QŸ\ÛÜ)J[KR1âRHá1Xé¾Û•kg¼W(ï …(­±8aå¶­GÒ?N=ËA?Ó8'jÁG¾E\’|Ã|Â,å`s åN¶ÓÝʽ[ê,£)t·.Íëjê7ÏTb´0÷CKRÀ,`^çÞú¸Ežåöjt´ÀFœLÐk:ÉV·Ž“‡º“~¶²§A²îm—7uG8/Nèðì:*j  ÕÕÕy`3¢QÆÌq6 ã~N~(IhõTXÍñìš 20ñáTíkÙ”Yª°øq»mÍSK$ˆê +N‹cÄ®žM3Ï«Üvž:œ»Ð:iº;”«£jyê`—v+Wh|ê…­þˆ·mÄpÆáñü®g†š /Áa1PÑS*ÀŠKª.ÐÝm8fͲÒÉ(L$)•>ë‰+V1°P9,²Ï+O;4ÓLÅÝÜ–ff7$“©$ðëž~Ãÿ­X~M§uaÜÈ¢M£p†ú{Ä –¶œ&¶¸~æè¤‘Äð¤NÞÊÂF?€¬ôX}EM<Õ‘£µ=dIDÞl ‘ۈˎÁ•¢ŸÌ ™1–R”8]ó%5.©8¾¥n>ɵümËç7iµÖ½¸@ÛZuM¶JŽ$ðèõ©X^1:ˆ©¡µ3‘çÕÔ{‘Æ·±}Öíùñ5š:ÙŸ:M–p*,r£ù_T19¥Çž•÷ÉOG#,kO3öes¼ƒB8Þ[k›»K@ÑÂGƒM&òêÝ:иX;GÂiU‚ô®,Ñ_]Šå]õù ¨\>x-´.ܾÐ_$¾ŒzAŒ?¾ŠEâ4/†V͇Uó3<.QƒÑ1Sb iÜp8Í™z·.õ[èöIW—úi‹Wáž_ó*ÕÄâ§ÅªäW¦ŽŽi™ä«Gµ™T’M€äïÙÆE—ç9CÌ%•ŽçÄÞ£«Iþ$“ÐxT«œßµdFñ´„‚“‰ÄŽ®šUa´Ô¸ŽZLÑ•>cÂÖu’’Ž6Y’8ŠÉQ>ÐU<½ãÞЧƒç¨þô÷®XDys©FjpI…U ‚XÖG*ûkymñáF÷äkJ ƒ0Ãå5ÜeWvöýêÛ„‡÷SWOz™ŸzS6déî'U•q™àzV¨¥mŒc˜{Êoqì#ØxE²'FúGÓ¯[U=Îqf^žfŒ2¦‹ýúD-rÀÕJÑ ]hv=¾ÃÀ¥«._0¶ËºV‚q8Mó<õçY'í 8û(Ûf_Q=eêï h:©A˜ªòßUz%šj*ðJ‰pº—Ã*R'žÑ:³ÞIk’ µÔqË©›}0e|dUt÷Äò>t‰þg z:Ÿ>(&C¹D©&â>Æáiß\ó(p,¨, !@IE¿½+q=Ú‘ªxñ‚Á¿ÿV9›*Tå>«¦×¾âP +tbÝÅíàC¡¹q8@t³ñ§Ü«øUú‚ë~ èbAŠôǦþc€É‰LijáY sE0a£FׯbEüx^s‡S2fžñΑ¬ÿÔÊÊ“Q†Åˆ.É)D§s@6“uØ|8$ÝmÈU•À.¨(Ä }½t)Ü}ï»ËB´5³PÙ죙Ñß@½\ê·K°ª/TT³eœ÷†Ó¾‰É…ÉcbPÓ{°TÔÂ` aÞ×ñâ9ælG7c˜q_/çjB«” !‡opMo”¥z‹*W}^fN)o(To}*t,z{é1éJ’¢«¦yj£LBC;Å%Oé—uì/ཹ +¶¶JǦFÕi" çÛÄ9~Soc–¾&T¥{¢”’Òm¶1ó§ü2çN²FnzW‹ù¶oÆ Q„X•ŒD‚ìTh n6<9‡~aÉ8&LİœÁŒQåŒC5U%5ãôiO +ßÌ[ ’I<ƒ{@½ÍFz–ØJB%jØ1ãA|Ë'C÷*IXAQûT«øºáÙ“õK=L2O‚Qá°,U4èÒ©i™™‘Ø_Ptêž—ÐÕf)I1,F¯«Ømdr>7KO1Ü7Àñv¿ƒ÷¿·rË3ÉEÁy¥}Á[ÿG¢=i·s­†”ËkqÁ³Y™ão­Lôµž=utû¤¸¶ ‰Qâ™ÏÓiÃ&¤¯ÀñÙžXéãxÎÊÌ9%}ð²0fÊEÁ<8~ó5”2††HÍX*1bUãumNá}à§w.îm.Q'a:"ÝÌÊã-½ÔÚ°ŸB: ÌvXgÆj¦§O—‚Iܪ„_·ÕÁSÚ5ºÙ—IS HÓV£ì£Iøv×tï!g:ŒëŽü®#$1ŠHcŽªª"5÷×’„zÅÏÝ¢8\ aÃa!àŠ«uã){ma­µíÊ_nûnÁpAáÄuÑVh‹Ë¦Ò€ @3ñ¢Kë ðˆÉ}|Î?ç$b Ó|ˈÊN&Â&§©½¿H#m“Ûnü{ê?â9êG¨xyÂjq +l,JÃIqY|µ®x0·Ë®[Si`éI?*FݹxÃSMŸO˜M@“:b˜þtšŽ eRñPÂ\X1öÿH¸–m9b—3féäH³"sRb¸,ç@à€-À#û¸žð¤&6ìžš3°Þ7rý@q;j¿=Z`Y)õ·É]9ŒÃ—2f#6Oy<ë­+ݻĒ8õ+1åoëETøçÌÞ¡¼¹>Ok(ïi5og-û[ü‹]Û¨ {hy»R®Z€•·d‰¤¾W Å*è–:m§ ›Žžæáp/ñâ?!å ƒÔ<Ý5F$ƒÂ7,SÞ™˜‚F½¯n)Ê.,7âV<ÑnÛòÌöáEçJ±Ç +^f\õž²6Q¤Žš‰°|VSµªP‰ÕP€@^ö½üx¤©èfO¤ÅäHå(ÆÕ0¹7øÞäï¦ãZå× ¡B:ŒÑ6ñÚeí¿-*R: Ò^~²gZÚ ˜LµRÌû˜Ê¾FfÞˆáuV©Rµñ¸1´w`,tð:žäM¼« ÃmI]–»”¹h¤9(A¸Ò÷"ú¦Ï¹[ L#–•ð9Q’¢ @„‚Äm¯?G2~ZÏ>ž#ÊqËüΤÐy /îÊ£@GÂÜMs—ÛßY8u&*ßœ”f¡&@&(Æêd|zª±TS<µ/*ªh{–~ðƺUˆômjƒÆ[4žiFZà‘}G;¯l›r¶…%^êQÙžp–æÝìPyŠz1Vg:¸)1fÄJ¬uý [Vðæ3; ×F¸>\pÊ”ýs±ê¤{½ûð ¸þîߨ2¢¦z=±Mç6?ÈïÀBÏp³·¢j>1–kr•x—§5o«&  ×Òöðä.¢zq«Æ¢|b¶Uÿ}Ñ^@IbÎýï¯&·qš¸ÊÈ "ÛÕS-ŽãdÎå‰-F’’vÒ«¦]~Å2 o†aðM]*îí`€ÞÖ ñèṗ˜i›;—®Ë‰[©€1C$JÖÚOp½¯os›k·í]IQÐߨæÏ u×^)ŤN'áK ýbS¢š£*Ò¤ut”ŒcÚ?x ï¶ÃíXpuõE.+ñü¿6Iª8'O³í,k*QÙ"˜ÒþB…µ†×Ó€ ‹*%µ¥2¢¡„uáñªeûçx‡Úm+:OǤP[‘0œ3¡Å l ˆâ´y”ãqK¦Vö…$\9«ø÷K³å.-…f|½•êe®48”IP• =÷ ‹^ä¥ïÉk±Üú÷tÔýº\J† „áÖ6Ðßu;_̲[gÙHH œH…AëÛK!Ó\ 2eèkëëj©35r¥j†úxŽ4Tt¿ÍXëWá…«Ú¯ÞX†U>Ð,8—5Þ§ÉÒ™3‡O²·˜å : +”|°¥V\õ¡EÒ^šÁ’+é©°˜pi.KÀ“¤ÒÇñ{µ¹;0嬧4QS]2&vR><*Ï-ñC— ’„NÖûÉ’?s D¤R3-uC +êÖ3W˜1JfÂpšˆŸÉšwÔÈ×Ó°ä(ê3:M.MVë¼jäÇmμ0½ÊÞÏm@a¥ѲΙ4Ï7 Ëà¨A8|f1¬¯Ó|Ü0ê sÂ0øæo*Y6ùU²™ö¯`á‘Çý õ§UQ«áÃ~V(üà®ÕòÆfKÃ?”JŽJ’é¯;–v×’æ€Â ™áÑ8ã·etCuûPɮЄ•O °N0vì¢Å|XNÕ¦3;+Œñ6ì2ˆ26’x@ã^$žúÛ‚–xõ§Ðü“º–ޱ³Ediàdk/ÝÀöîö¼âTŽì}·ÙA\“²ìÖó:G]{ˆJßÄ%ÂÓ ž(“K´ªÇøùðEoôµ˜(âèöQý¯`ˉ_ʽÀǬ޴s?ZrN%‚åÊ +¬»„Ñ¡y+PˆÁ5Ùpïôð[¸½„Zd7í¸êÂÔv¡ogÝ‘Ûe9‚â’¢p¦½Ì½¨ê¦`ôûGE$¸f]©I(ù=ÔîìDµ-Ýîl3\íÛ%µÞe¨(ÔN8€0°pF¡9—7¼+:µD•cˆ@™ÂîKÎY;ëI&èÎlÄb¡Ïù,¤˜v$[Xä¨⎰ ^ ‡Ôjâ[KÕå¹™ºm²Xx­ HØJ!Cª‹²ìå9VjnÞ¦\-8ìØJH2¯A¸î8é~b ÉÔµ!¨ ÇrÞ`ËnõõÔØÍxžf¦¥)¦ÃØE +ÇKp#]À¡ïÃn?å­PówójÁ +3©)’BVI%J$ãW¸Ý#jpÒ’¦Ö©IN£hR”gÙY**¥ÄޱÆU-,BÈ¡A!@6Ô÷'SÄ +þ ߯dêvsÌ”™—¥øÑþuƒ¬‹XÕŸ2ïò.ƒËùhécÙ1sb râÀø_†GÒþS©Ãè¡­PžEh3H‹{j¦I–@Zë`-í׃ –ÏRqHP÷yÒü®Ô÷’:y‘A†#3ÏTÌäžè†°‰ö!˜°.¤`XŽW«z:Ìq¬:¶è«ð¦y l›Æ¥£P€©¿»­øw¹ûþ7g7kÝë )þ* +ùTÅÙ]þ\öF¦.¤ p#âŒO­Þ‡)r®)‹bxj¦_êþl €cçI%¤Ì,pAå]CÇ0]…Ž‚ã¿N~®òOY°wÌõ0|“ÕÌF¯å •&’Zª¸±È«ÒI"D’+©@ÁT€@µvµºöAfâÛ_ŠJJÔ1J±ðÆÐ:>ê"íKwïšuHש1°Ž‚0¤?\:š:GŽUatæ¯3eÌIlJYâ¤FY]"ý+(šXU$£[R=N¢éöeõ*¸n~ŽŠž<é†G†Pcî#xåš‘¼™ã…òä …öØ_Nõ®ìfªÐ¨F͇¬Ô_š4úU¶SöáM9b»;Òäê‰rôóK‚ag櫨~Ü"Ê«úxõ$5nþMé¢4uóSņIš1„a³UK4Œ»ob~áMÆUš¸Þ¢ñ mˆ* (p`Ú1 +N«õ¨×‡š‡‹ìÁL©NƒêW…÷ÖIzsôñ±¼·ƒA—1œ"¹”Õ¬~SJ ”ØX ´ñ;!Ï®ÛZ_R²RRIáÄ +=Êqj¶Ò§ж¤`S< ¯Â[Ôß[pßUÙs¦uÙ‹Ì;Îé&Wƒ=LÕÄ…7‰¢‰˜ÊêT ‹÷áLy€‡'Œ¿uØ “$½”-·ËBv“WetçŽ5rTÕÒÔæB +.5${uæ•ÄVe žÛyü’Õ§ݨƒÏ +º­€*>'°šbž«-WÕPW¨÷и*ÛF€+,yÕ4d̬9m±Ó^Syó6N\´$¥8Éé>utÜÊ@Ò+¾¢fšÈ•¸LaØJÄþuC+Æ“;íû/­íÃ#éß#àùפÕxM>Y™³~(jbàº<"3¹d‰ô +b~A»ûœ5gz®"0?…ï^tÃpÐO‹Ê>uKˆßSóVFõ¦kpÜF“ÊØ$xebQJ‹Q€Ä»Ö¦»}ìmìˆÌ¡é÷­Í”)™±Áèž¹ažD䈫Ûô›¬öüx`­÷EÊ{¦S*VpÑBs«WˆhÔ`ô +º¥ø ä×éN-’zc•¯Å°ÂŠkü¸i +ÏWx½‚›•…Ç,W£X$0ìÂð J-¹nHªeÕfU[0b|@·V¸ëjJV H3=yÚä³”Þ%!ÀR¤‚ñ\õ’ÉQRõ2¯•%K´…@°‰$‡ì˜å–‡š#†â'Êqœhúxñ]Ðní!¢ t€Ò}ØÍa‡Oì×êëô¬\‘<•S|Î\¦Ÿ†Օ}ÑŠOcmt1øZ1_†Ÿõ«ÔñL?Âó7úE,tõÑÉþå÷_*`uRO?OZ’\2¶#úÅ€ÒM?é=å‘@¹`<-nG=µvj,î›)ŧ‚<öMïÞV›‡D‚`vÍ +ŸŠ7¢ZމõOÇrèjŽ“õ:¢|6ª;1‚F;~]ÛŽí³‡#Ñ×§tÌ™sæn‡|yôµlp %Ú …± ·Çn*Ò¦1O—E(ÝÚyV ‘Äðàh¡u©àÌM—¡rÔ¹Bøzx ôìD†ßñ;ðxÄ:—Fˆ°Ü8 €ˆˆU®-nÞ3wvTò‚œTí4¯3Ê+—– `ÛIâI7:“©'‰,÷Õ,¥’p†Ë9‰*kfRyipé~Ĺø“Ã4åù{M˜F=4Žû5HOvÊ0ë®H›Í»Üžî¾WaYK Íuʯ¯Ä’ކú™§>êéöšçêâg-T¶ŠU¯ª’<´Û!!FTNΊSô“*æ<éžè°¨ÏKTïçOT£H €o–y`ª “~ù7Ó«®ÐÖSHøžg‰¦¬ ":ìAákñ•°²Ä˜Ãí? +\rÜ%1Ö}z(_êo¬|Õ‹fü:«¬J|/¥¯> %=ÕåþZFÚ‰åÊ_Ø/ÂÛžòv'ÓŒáˆdüUZ9ð‰Ú0H¶ô½Ñõö‚$œ“5^y–¶­P´‘¨’?Z-w ¤ƒ3W;é—®'­OO™[¬¸ðÓc´ñŒV•†å†²™Du‹XyIÜ•Ò|ž¹ÿ>Ñå9¦,X¾ÿ&Þe£Œ½Öà‹‹qj9ã¹nZ—[‰ +1OE5Ÿ<¦mé?øŽuË1úfô¥YǪ̃(“Ë…4¡ZZv–®¥b1²î T¥üoãÁô˜±cù&@¯‹ÅÀÜø}}¨*Uo`Eôañ eݶ\º¨~ÜG#ð' +Ûï25¡§¢‰çK .J%¨ëþNl±Ž—ÊäâI-®VHç‘J1ÿ‰}\º;èåó¦z³ŠÒ*Æ|ù°z}Ï#×dþ5°×‰®»AzíÂÈGv…q'*çxšït'm§?¼ÍÔ•‹d„à3ôþ›—úÁW8j¥î¡Š% +’86±·†¼7ØÎ)…åüž˜. EƒQJ¦ ù@PU>ÑøpÎ×0e¶BSŒtaï¦//\p¬<Í $𮡧¨wž¢¡ŒŽìK³3–b{’On¬äl;’y0ú…Hã·–´ðyNoâ[q#ˆ·‚Ù§›V°œ}´•Å2VDž¨ïšTäâÙz¥ Ð-b» ܲXxm·Ãˆ<a˹Š*LñLh°šgTjúq½Õ=®‹üx˲E5r’™žšò +P. Hâ6Å+qºuÌø7Ïdº¶«­¨-#áÓ¢þÈ·øû —Lý7ôZ¿)CŸÓ2Á˜²Ýxó¦’– ¡Gù&U»_áÉW-ì–ÙÖRåÃIëùЯ'ɲë†Bа z0#ÓmøÖ'ŒŠ“C‰#ÐÔÐ’ƒ+xÜ7cÄæ{Ï}4Áãl#¥”k-R1QST‡Ý6÷C\ýü#ßåä™{}Û)ÕÐxO­/Sjaœ H¬pa•R‘5phiŽ·:\g>—ñ³ÈõO;y“S¯r_RþÏ78*¼p“žp žmt?3®g¦£VÛæ_²º iÇïTÙjjì™] ÉM‰Ò°,@¸%oq÷pÓxЕhNöµš4¶.RSö˜5Ϭl?¦®MŽt“þ@`g+ÞŽ¿ÊØŸÌÑ 6K!7Ôð¥{šöinu~é©A¼Þg•¥§:€ômkòžÕ\¯"¬rUc”áØÓ ²”P~ðÂg~¤Öá]#Âhó$‘Pb¸¼IV¬¿nZYÖÊtÔŸvÄ֎oFQ|Þ\³¥’B‚ºDÆÞŠK–n¶y—Ü7`·!£âJ§øzè·e|‰ˆãê|†\F.¦H·ÚÀ[mÜÓ€ìùêA’»‰ç§ŒÝ› ‹Ûq6g.f.­S(GG¼“G™ªl“kùv~ÄíëñkÀ«fÆùÇ!(DIÆFÊŽ.íX¶ÍRëj€…õÚ(0›;aÝ:ê/]•))ñ\0ÒIL ª,Ê‹XnR¤©Ôr}GEðƒ“åÇñÔ–šÔ¤j[ÛÜpW—vƒišO ?uHVÛã”^;¥IvÍ0Òglrš±Š@¥\6½®ŸPájÏ™+1åºéeÉ‘ÕÓáí.ð Þ— q§†£‹/7y(h<±¢míÉ2ÖÙ¸qÚž”gz;Ô~›ç<6:¼ôx”0ù£S Û +î›Côñ%—ñ|ÃIšŸ12R¶"i *€>ÞeV¡Z‰,á$pêë­öj·oF¹=Gñ¡›=d>•ã^žcÇú`•ønY™â4ÒS_08quúy/­8tmÕaÛ|½£E±,?ÅÅùÜ^`€û}jAË÷{¹^½©ž=j'áýœ¾[9®˜™ã•ä;PBÆÄýƒ~ÿ˜nVijP¦ MÓÈÀ}6¹ú83Îo[·P*<8ùžŠ8@uIÒƒ€ÚMüñê;§½Â›æùŸÉ†ö"v*· +;jNœ0ùcÓ…tãúÓPâ«ò[j¿»ï§ÇàÈ4 ¨™$Ó„#¸Ö‘==5X]düCº¡ÔÞ°O†y̓dʼHm§™€‰Ø[Câ~ ò_Q±<Ÿ™ßÏ +ôHLZèQ”Ø €xS‘)¤$—ĉ +&vÎìÊÛñü=]T+ucÓ¾QêIé«ð·š›6ZÃ"þ’*ˆ¤$ø£Ûê<ï;g +êÜpcõ`(›°µð¯}²æ® +T•Lˆ¤÷6MÛ7#jºx~ßÒnŒàÏ“¤É8DUWŒG¼CÜZöñC•é1N¥¸Âr²¤mQÚf([5ȵí~9Ù·iW96î¤`‚Ô)N­½ƒìÓ.ÐáWÔ¡.!S‡W°"$­2­™EŸ@ ¬Iñå‰`91u÷¨ÍøKÓPâS4Tðú2¡¶’«Ùµ¿‡:ǘï®î4–™)OW¼ e ¥°1O(|ý6zÀzWOˆÆ°ÃT+;Dˆl.Môñ'‘¿j¤\g +o"xдþÐ.3BØÔp™Ä׸'C€à´3Z–– +RÞñ1¢Æn|n¶àEÌÅõ‰ó42¸^ +Y>f½É±«D6±Þƒ±ö}Õ—{À©«–èáËéŸÓŽ+bÈø4x^p÷ñJ©^¢«c =‹f"ã@ œMqiË +¢ä›_ËÝSM½¥3€“&£Üc¨ŽvÐ¥YŠàx^f|>kf‡œRª¦²SM14†+–r-´“ °×ƒÏO½õ¿Ëðg<éJý? ÅhŽ!„A]æ¬P7-ÖöXj7kðà/z{K´KÝÛiœ>é šNÚG¼-¹mn +cD_Ö?ãÐ̨é¯Ghfꘘµ)ŽÓÔIEC +›£µ Ų̂as¨Ú‡Àžü ú‰‰WÓfðẫ vCm¸ÙÝIP/¯îÅ£K¶JãîÆ½»v,¦Ü9ÓÖhDô3Ó ›ŒtŠƒ;TÒ¥LÙÊ4¬©*Ó7-¶EY¶û¶Ð“Ã×é2¿M}0`¸ä´íüë†ZÊ·Ý&ùÜ|€œó-s1ÍÜIY˜ŒAë»K¼ÎûCH+Y'f>µY^·óM^|õmž1/ÏE=6H| <ŠhÐvÐø_úÔØsY*ñ,3 8~Y5êi˜®Têä ºŸpMÙ-͆XHÆÔõPç:úmÍm2ar€\sj’1ÃÓ WÓ§DÌ5™‚óÌ®fÃéáugAcñ×^,ú{ê#Ê9ë’¢®žq…‚Zvv³C-”=à-í1‡bÌgPjù7º]îA6ø\[^ ,[B¼CIáó̽L8£$ÌíÙí ’[´)“FÚ8*fÌZx0ÌÂJœ_%/ÌùÒÏBGé•¥ŒcÞ·²üA›2Qjñ ±ÑF_æ­4…~ѱ)é)â=>Ò©f +;ž$ú£Õ¾˜a=«ÍÙªj*Œ£ˆS<òG3ó7®‘"ÛR~ŽmÚföØ2!<â`7F ©ºÊžà©×–Ï»;o1ËŚĤA;AT¹Œ±ë‹`UáVÑÒ'…]ö膧ª>Žò§¦ßP5Õy‹ËT”µm‰?;K]_*Sqd-¶ÍÜrÌ} z¯ËUè”rõâÎý7Ã`Ãñ*G²n©Tš+wRéàfû!¶ÝĆԯºH mé¦N÷\2ضT¥Iþ0éQþ·=.uÒ¯]ql›éd‡ +Æ«jk°eÍØœuUrKÈ–%Ûîí§‹!?·…#…ËŽ(ÌP?À묙Ë*z~‰3nx®…¦¦--=`ÓLMí`? ò½Õ}÷e# +Óëe…¤“'€z©EÒþ•çαæÚlÓÌ>|Ãâ²*,p©`»·HÃEQí<'¸V|Ìþ¬ýCÐb¹–®<'&`•ËVÐ;PDû‚*ŽìÖá–÷‹+v{“­¦c£¦k-KD-â<:ãG£«}éßáÅèçËø¥1Ì^¢úã‡*5@ùdª +fe${±¢Ü ’xncÁÒº¢,«‚b¸Í0` S<ÙGròÓM-ß±Y~l Ÿ´FÓÙƒëuÏ1_ÍA"Æ¢Xa²—Úüw +â“ÖŸ?aùÖ,2¯/ÙpõŠcS´™j(íºE[h*à[áí×ÍXk1HeGÅ´›h÷t¯{Ñ ˆÃÛVWø +u³¡§Æº?ó‰8Âñ8±)Nð‚ŸT·ÐgŒì¿0~=(Çz‹ÕlWÁ$¥¢Ÿ&áhÆj¤35²÷÷¬‡Ç·ö¤—îi´ Ctu +öö6§P§ßK_øPÇT_éGéDSJÔ¹ë«Æ&“º<âO0Ä®úˈøpêâÞ—3RÒãÒcrÒf¼¼UÓA,²6›I±%kp;g» )ÀPÆ"ƒëË™(+&1Ø05TØn`› ŠjE‰*°Ì@54¥ÙÓpÂ̶aà|8›¦É~¡E}fuÀè1мÉÄ0j£UDj, +Dʵ¼7r›ÂÊ5¡¥ £ÈJaÌ©õ´q˜¯Â¦ãðä–ž\¥Uˆ@•j E>% e`}.X¼Å¿c°xq#‡Œc=ÐTâÙ'ŸÄð¶ò1M]<©Ýljœ8©JÖ’8`}”œÙZˆ#h5—ÁáËÕ0ÒfJu†ž¶!56!†¸ž)‘ûH·%XpAî9§ÌôÔâ‡2ÐG“ewdõGÍW1þìEë#—´¾jý‚6uµä¥D f<±® šBøeL˜úºÇ +oâáî~àxÆ+0tœ n#_^ì%™âá +Þ¦ÓcoO°¦-¾ïመ«&è7ö¥FxÀ>êuÂâ®Zs,>E5 c:ÊY|Y_§8tÑeŸ)(ª°’žBÞSöØ۹㹭Ûì²™Ò‘€žb”e9¥Å¥Ðy¼8p>t ÁpLµÔ:ˆéóDòÓ×B–Eµ¤$x³1`מËý`Â1ɦÅ'ÝI4.Z5]»Ú¶µ×€íòÌ®_„éMofù«5@)F…Æ?uŸz7™²±¦Âüµª§¬Œ´ÁÄ‘²Úö=ìmáÁ/£=hÃòÇPhãx†}’š0ÀûÎæà“¯·…»¶‹»[Ãêh;mb½$•x†ÁÓHªÜ›Š,Ÿ‰–­0‘¾p§U[í½¸dzÕQ_]…a´è†e«IU£Q{¶ÛðQžç.ä ©š[œ)çRÏ‘ÃÂAÖ\©•p*zìchÐÓHÁ€` pO¸¢ýø8È·x3`•D`1;+!2L¬·!iÒq)dÆÊ}6æ¾¥f\Õ†ä<¤%šzí±­–ê‘‘c+“ÙG~üãéû!Ôú…ên[×*šì&ÅI6M ¡ß 0ÙHX¢Ý‰žö‰#1RTR ÚS§Xf³i/]%x¦ÕÕKŸQYç§>r£tËÓìô™5ÕVJÙ¯05ªd3Ï'²‹é¡6· ¤Þ”35:ôù;ªÁzmí…± +¨$Ùƒ¨„5Ãx£„w—Vöªnݵé?ÅÄšïrò›ÛjJOEŸ̵X¤o]_3Tã3ÉrÛM¶‘­É=Ç…‡:sƒÏ•)¦éö;,Ë1*š„2³f±aÀ§#ò~ù.,+&xÐZþù¢’ qó¦êÊ–ª›ÎabTù[‰R¹£;E`±SI ¨)bOv_ñ±ñà±pßæ’—IàMnVPæepˆšvÈT8-f8¯˜&ù\.Œy²Ø]Ü/î öžOÒŽ¢ÕÓµEEkIB wò…–äk©örjï ˆé莉©+/ì…ÖŽˆ=T(Sõ—¥xqÀ•ëcU$¨mæÈ{Ùl.xc½Ǫñƒ[AÖN$ò¢aöœøýWáž@¦ÙÔ Œzé¼×tW–Ý'¹QQöQ‚闬ܥdê®7"á˜UTf¢®vT Y6Þä{;¯È¹ž’‡ùeÃêV¹IØÎ¤{‡¶Ò8–ï$VR˜#`ŒPÛ"C%°Û† áÂi¶>µdxórõ¦¸µHÜa2‹°‘ááÎ2ÈU9S1µ^4L2¢2U"c›Æ×ñNHóî<ð”´ÌÒÜòÕË6‡GHÙR½PzžÂ:óÓÚtù€ä +¡•¼ÒìV1p„jÖÜE”XèâëõqÒÌ¡]G…e|$eÞ£â"$¨ªÁ"f¢ªDéè¡щ\ò[úíƒ ívÁçí/nÛS©·¼"pR ”‘ëA}ÝK»ÈÚ–—œRد©# +oÄð,[HåÄi棂´…¥SuSkØê>¾}põ š3–g5=T­š’’‘ž*l5Ø»+!¶É´,tž·³kK8²@$‰*à|‘7²köíƒÛPù›ÑD.yõ1€M5T5paÕâ‹"Ö’‚ $D·…˜ {O¿Ì-r›Ð°d€ŒTƒý©µ˜XÚ<•¤ðI˜ðš÷OÄ—¬mýH—.á’›â²%`nYI³ü;Âï¥Çÿ/¬}¸þKØÆïé¹ #f5îÞŸ¬XŽ)5=Ÿ}BÇ`ìb>›/&Íç|0ÚdŽ5"æ×r dW¸°zì,&úÖi*Ò!ï1#ào®V·PTL$qª[6µ&@Ã{‹ëv-ÒlSÈUEFWˆCC¾(Ì¢8iÑäPYUˆwšÛVÜ ZÝîûùºp½0 `¨˜öaÃi¢«Œ¯/½ÌâSœ`O¶½ÅÏKó–ÓNŒSfïWU˜±¼t=|õEšK™”¡„žè¨£CrG9ýb¿Q»ÃÚ%Ða¥wv¤²Ò6é>"cf£Ž5ˆSåÆñڴJ%´Ž˜Úg¬ÖZj:šÊ•£¦C-L§j¨¶¤ñ]ë6júùhp¹"Ápš‰Y·<’ik êæ8\o>ú^‚PÒcd}µg7–ÝHÚ>“Oõ*Ît´æy¨ä"8ŒÏ¶ÌGï‹}“”3®!Qœ¥|o£­žÿ8ízˆÞ†RMï¡·cÂ|±üÞâà—WÞi>$ !üªÒàX㈚f©£Hh⨂c8šë*G–êm´žÆãQÁ7*çÜ+7yC ÛIäÏZ&`Ãc®„0à’Ã0¶T0z«Âã¼QÃfÞª$O³‹nÀh><—Õn¤d®–dÉóÆt¨Jl½‡Çw{í–G#H¢OÞr{¢ÞÙÂ~"iô§^;zºOU:d\šº“›h26J£—Ìù–¡)héagy …ÉÐÜ“ -¸¿\kºÿQƒàóI„ålr ¢Æ0Ü*–I[Zj¸L±±eÚ¥Úú€÷´áFø1{kr@A I" ãÐ8ùÑ“™¶à÷癈;8cÓB/Pz ›ú ¸µUNŠãùK +–l³0=!‹ +–º† ÒÔGNͼ²ESF²n û£†¤Ø-vTX¨ðu‘Ù£q½e2n-)÷J©@µõ‘êeˆnç^“áãæxÆÊi àvm´ÌæG.ij5¯£¾¤2n!™°Œ±6ôõ¹{–šd«UªßOWJ͵·|îM€¹ö;^BÊ ›JIO^;'ʤnÇï˜mõ1La>íµ'¯†–Ž®šD/%liåÈ 6Ã\[Ú.8Ù‡æ à§ù>³ Á°l»-sRBé*$–)ªÐXLMâ/ïyšüÇ\ÿz.ÚdŸÌ+ª&„lØF4#Ìw¶Ô6â{⃈Àpà&FÚÃU%\òüÝcI<µ:ù’]‹ÛݽÚ÷íÉ‚¦†¶‘±zö¨8}CÙLJMEd“-”n”‡Ô8 ÉrœÇ:Ìô4’ãª>`ušs…´ê»Ç1èÍbæÝ¯Âeëú _ÇéðÜʯG–(rܸæ…Ón‚žf4¥çíæÔnØ.ƒÆù'ôûØõÖIÞ+PÖ§ڣР'ñ¥“’9r·TŸPpè<=hè~XönéÖ=ƒç<‹.€&{ÏtY7¯R¶¾Ji"ùö†(ÙI†›ËŒ–p.ξ‚Å +:y'q`³x rUzó¹A15G[Q‘o˜®h¢Ëtbu?äãPÆW`Å‹{¡ˆ¹:|xáE t4ÿ;ELõÔt ’*3„-r í{pŽæÍ¬÷ËÐ¥lB’ßäOÜZã¤`O4çÊ<¯±)r¾ÌÑt÷4çšy^Ž’¢x©…\•C,Äyž^ð-}Iå‹zdõ—:áéqºcÔDЇ=äzCI…Ö4»$”,e#fÞ6°ßãÀgi×¹=†UÜ)¬}¤põè«e“•~IàÀdÈèš§O[þ–qK}p®Êó.aÊuïó˜ud+îùs5Ì.öd&ßG+Û¨µlß\Ò»VJææáÈ:£‚ ηÍ8`ò­äö…–´Å[¡ ¶(};àhRôðåø¦RŸfÞFñ¡ü\úa֌ϗò]6 ˆ»K…aTÛQfUbÛÙn ÷qrë[$½UâQ;qÇ +žw² £ .$%Ò¥¸‰8ôUjú‘è†OÇ:㈦HQ‹æVKÓÒ¨f©šf-¸nXýDuKÔt8Þü‡(ÑCQ%fÅ cÎ ÷XýƒãÆs¬õ…©HHHû‰áåQ¦aÚÖhÈzÚÝÈAÀ¯‰ÞŠ3ž‘ÿ +ÊŒ'2AÔPÕÆ› æèòçÌ`=׫ ñÛĦRéfc¯XóndI©0dK}Øý’u¸ +o5ã–ö@´Ñš£ +gùk¶Y~áž;Lñ¡Õ®’dl¹QÑN‚Óáø¾t¡…©ê + Z‰Dzmw#NúpÐd¯Yô(Ó`¹Ÿ«Æž¶ áÁÈÞ_Ùo:ú{¥l5㛩{}zêR’4‚p„R=ïÊô¡‡­ÉZ]L‘ýl#Ë¢ˆUôYÕÏUÙ×ĺ€ÁEA…Ë|YQOIK4ÞòˆËÜ€àÜu¾º:Ýšzí‡õ.â„®V›u Î "_µË "@,GY¦Õ¢¢Þ´¯ï¢á’~\Šá`ÊzºjïÂg¤ôYŠuŽš¿8u?6ùJø® Q&3‹¡!£F#~žðã¬QØZ³ÓÔà¬Ø>I’$–-Ø©åp ±º¯}§Ä[n&R†ucIÂvÁÆ-²–®n;í;F£¦„oÂÐ6Zénˆu©XZUu†“0ÐTL»‚QH»àª¦Ýbªuñx ‚~¥íý<\)°"(Ùl$`4ô~NÕŒFgR¨ÖàÛh&Þ‚w¤îµc½ +ë›°˜ª1<.¡¾[£¦ #KM)³ÙW÷—¸< oþKgsbPúÂ`àI<1¢]ðÈÔúé +pIÐXw§t³¥¸M„á8mM;f­1©–f¶¯#¸¹ï߀»ÑZÞ,•/¬×•zU×UzÅÔ¾µæºœåÔÜb¿6ãx”­&깞Tˆ;_Ë…•D€PZ×ëâþ_I(ªcòÊÆ ‹‘ Ð_‹ËŠeDAÙKQ™(AE&xT?œ†ÃÐê,aeŽ\CÅ¡t G™²¥Z'U¾¶ʱš&Þñ°GŒœ<€¯d7m1|¶hÌ~Ùæ§&zÈÁéb, Í”” oHþf2à ëã?áïSÒ^†ô~,OÄàn u> ÖU4wo"ú8)›âäüO/½= {ÎùÆVA„¤#Ö7“w³g€q»u)b€‘NŸ‹o_so©_VœaÕønGèå2eœ* £a•ý%UaXyÓ³ÿP-øi)³^ KÌÕ© >%c ”ºv¿Äñ]®v•6[PÕýéÝ´†ïq3«fu¹l´ƒÆ ;Eê7UðNeys.),;éÓôpFêd´ /¡ñQF7£¾„ê3ôæ<ãƒáøUáX@–ÒË; )_0ªøXÛSÅßK}DdN²a¯‡cÑÅ”“òó´r)gÔµˆ·Ñ‡íÂÕ¡Ì# °Tƒ NQA7X:ÔŽ…æ„æZiéç‚å'îÓóä\w áØetÔ™jº·ÆæC4(Ñ|åÄO¼¤›ùdé¨<¾Qt›Vµ»+IÁ'£¦iJ²nЩJR\¤•3á¹”IL$Ì4°cTP0BDŸ-Pƒg~Øx’Ϲƒ?a8xŸ¨XX‹.@» ›E–Ú,<Òƒr¤kÃg7 ^2•€6a'ªj·åhL§„R³%e«™kà‡§Ø¨9š£ÞzlL­$À÷Ûã²F>?W†Ãæ¯Æ1`“%$tŽ®ìH@w{Áúp…×?1¨,5ëvˆñÌ‘C 8ý> ”¨ÙÖñÅ#uKÈŒ„¡™ÛP,Aîuâž§«ï^Ô-CÆp9ãÀ£ü«£ ö$÷[“]4ÊN£ƒéF›¬ÓWΖŸ!204™ËÞŸ¿—œA±*…ªË†ŽXáÄ7ôk¡mµokpya>êN«r›³µrR×áÔAÅ3Ï$`y@|O~9¹w9-ë»uði'÷E=•ç[88¿&bh»ÏŠ¡áFó–'e.6Ü>ž,çÑJ¤urL\Vyø43I‰M‡’8Õ¤, {~Ž_²®Ô3-ì¿6ŠL0 #‡„$úÐÿé÷ÞÎnTÓÉÔ–DÀNÊ:yêO1tߦ–OËÔØf1˜¢ù1ŽÄ¥k$Y¡Vì¸×Œý[ÎG/bž–_(ÒD¦ Ÿ£òÒ#î 'X…IÚ/Ø5‡âÆÚé‘á ŽCTÝAó‚z~Ê¹Š”bØ)òйŽ]ªìV)vövàéÓ¹²~%—pÚêHQñ +(”ÎìÉ}Iú-¼;ÿ—åJe‰Î>f‚›ñ¾–ÖN¡2A s1A_C‹TÓUîCç:ØžáZÜ}AâYábhÑSJ‘û®Ãi,£ìx1îl¶J¶ŽM7š¿x„>‘‡‘“(±ÌC~ µRTÙ]ÒýÏÑÀ.L§FÅiÈh i¯ns{„kPB@>stream +ÿØÿîAdobed€ÿÛ„ + + + + + + + + + +  + + + + + + + + + + + + + + + + + + + ÿÀšÍÿÄ¢  +  + o!1AQ"aq2‘ ¡#ðÁB±ÑáñR3$bC4%‚ +rS&c’D5¢T²s6ÂÒ'E7Fâòƒ“£³dU(ÃÓ)8ãóGHVe*9:IJWXYZftu„…gvwh†‡”•¤¥´µÄÅÔÕäåôõ–—¦§¶·ÆÇÖ׿çö÷ijxyzˆ‰Š˜™š¨©ª¸¹ºÈÉÊØÙÚèéêøùúi!1AðQa"q‘¡±Á2Ñá#ñBR 3bÒr$‚Â’“Csƒ¢²c%4Sâ³5&DTdEU' +„´()*6789:FGHIJVWXYZefghijtuvwxyz…†‡ˆ‰Š”•–—˜™š£¤¥¦§¨©ªµ¶·¸¹ºÃÄÅÆÇÈÉÊÓÔÕÖרÙÚãäåæçèéêòóôõö÷øùúÿÚ ?¤ú:»E²À¸ñ¾¼eB“‘R°§’iKE¶3É,t"ݹ­1[)ƒOx%]|8‚3í*mÐØ >Îoº5°²éþ—óQpL+8M56PıZJ|F¢U‘)e¨E™ãi(`„H··ŽåVÁÛ„%X ©¥6¥Å„ÌOÃίÏð~ü'2—¦ZýTõ[•ZÿN¹Ë—zfَΩž—¤¢Äê±x*Ýa[ÑG#Ñ#C½ŒË¹vdžT¼´­•àâ¿¢fGùÝ|g#–?–W÷L6q<=~Qz‡Œå¬‰þs:Mš²¯N²fdê1JŒc4˜$g¤Ç])¨–•…"ƒ:· CxºÖÎȵt•w‰ÀiØ ûÇ# +Zevï)Ë{æœ.µá'J&Fá&~QLé÷YóoJz…šëzõšòw©\‹žqZ:Z¹(9*ðüÃó?ÃâÃéªâX!¥”«*;‚ÄûÒ$"<»(qܹT¤­2Aà# $6á\6P¶Çwî3 –Ù-êC¨ +)X’ (€“©Cnz¨lé׬J<¨Y3¥ÝJ~«t†²åTÍ4O„b#J‘À¦©‚Ë4vS&Õ¸æà’CœdfãSާJÕ$dÌ}ÕT½ìjÖë$º½¼Qfá8øN¤hAQ8 4=Ñu/§¸çTçËù 3ÏU8¯lKÌÓOUrSy^|QÈÒ˜Ü5ìµÅÏ +ו\µj;⤠á‰"DÌ#gUÝ,Êß'K·*RYiÑ¡)Õ:I=qåIÆõ<ÙUÔÑaù‡¬¥l+2æV•’¥o6‹†W 4L·:X]‰kž/ËrÜ™ •ip8‚£×æ>to»¬ä¨·8¤¹:›nbHûT¢Ó8lÀà(½dþ¿a=êdý>54=GÉÙ¯jLGÄ ÒGO‹UHÕ1ù.„H‹ ­f¸ìX}à·7véR’ ã¨õ{êAÞ.ÎÎr_Í+SN jJDj% GŠpÆ|Ç¡¡ë«½fÊ]5ÉxÕ#Åׂ®EÃpÔI>hbQ4tôȈ¤b€ö÷=ʬòGßÇgõj:È÷NîõÖÜ~D@•NN&«_Ǧéî]„æš<ÉÒ^¢åÌj)¨±l»IdÀåigZšLFž¢QOR<ÖHåØÁlÄu ö¾œÈ²ã¥²ëEIÒÜJ‰j$¸páR¿®jZRí²ÄB†ÈP#ôŒ6Ó7^½F`Ϊú‘ø–`Ãój=NU%/É,å¡&U‚LCÉT¹Ú—b@¶šgŸý@ä¿Ët[§´à™Â|½+lg6é³ÐÓÍê 'JU'¤|($éŽ3CÖ¬f<£Ô¼i2¦5‚SC]ŠS×|­UÕÉM»4SA)da1Q TP ÛËC×Ûj0IR±8(IØ'‘@Œ•ë‹Ë°ÛjR¶’'N ÏoÊhÁàÞ¥:ÍIé÷ÁijiíବÄq ¦¦’O˜¬žZ:ÌðÇKwv‘˜1gcÛ(» °z÷wÚ¸yÕ8²&Iá8Ù붆»ªÊí^QZ§Âuá„Ǻ™ò?R³ßA°º|S$,8MVt–Vž¶¦–žª]°ùkþ$Ñ»($ûÁH ~ÕìÞµzàÎ óŠ;Ìó¿æ)Óq+ À PnÐ=S³…›Ò¥uÓÂfîšfUÉ™»2ÕÓœ~†ù(!4l^®3 :¨G1½ÌA@Ü,Àn6(½Î,ÌC+n@Å*Û·`“ñ –m½ÖÖÙ¢Yy­A#À¢5m€&z6û6 +D|HÎ&/Òü^¦«&@˜Äõ˜ÏQYÆ“B”µ1,SÜ‘W $-Ûv«p£¶Ë­m³gŸkIZБæGY>TjœŸ1UŸæÐ5àBDaIŒ0ò¶ª³ñúúOAë‚N˜×¶-É•(hó-cSI@Õ8sÉ=D‰(F|¢Ã ¹‚;ð5Ú[‰uô(ಟÛá&¢þÙ²¥¡ö^X [©*)‚FÑÓçDZz-ª§;iû¬OÚ< ¸Ö4qp¨¨u”ñÎR5 * nÇÛìå 5E­Zj,¸=(’Õa¤:Ø^Öör *Ÿ˜TaS²ý&IXŸ6/`›÷êûªßjÜöy» +}ÎùI˜°;NÜ“³a© °mÇg1Í#SH‚®â$„˜˜Žº¹¼oÔ]z!E‡ôòjÌ­ñZUZ<.‚0”pG+þ’Ì- `ìÛƒŽ÷×Ca‹»±•^ mPþRÃ$åœï`Ê7# +PßµüÙ–×)Ò&q’LÌp6c ÈîwͶCA: +*ñʉ1%ÒcÅ!00p +ó/«þ‹uÇ Ì=EβÏ_ˆQÊhpì½V¶C-?œ%‰ŽTììÑì·”¶cªÛÞF3}×*Ë»´N¤ôBˆ?} ¬71Ê­Ú´i(#R– Õ%cg q¼7Õæ¹Òºª;Ë ¢¦¦®…Z¨ü̯NjæšFw;’8B^örgÜܙ̊Ð! ¤téǧ« +nnQ~„ìž·«ñ¢ÁCœú³›±‰1<éçÍ…eýÉ ‰iéáF#b«¶ÀX‹5¿ ls+µÜä~ÑøÔƒ½–Ù;v) Äbzù4 æQ=IÌT GM©æésôö†yp*šª:Yž9‰d‚I¥|˸=´`/aczæŒ^°øIQÒ©1û£ ++ÈïfÂá+_x·P‰ÂaÑ;=i~z«‚䌷Xp寱ŒÇˆÐÁFØölO›ŠÄ]èætq*†ešÉ}Á÷ß`«"»°ü½Ì¬€õ' +$·¿[öÿ””¥€­P!8ƒ¡? ²*—ñ5Äp\gÕ.6©Y/‰ÐSÓ%cF¦5ŠO$3BÚßt÷Fë Aà7}ÞQ¼ÄÎÓn öí~·så&pBRèjÿE@%Šc´ÉGB“VFd†+¹>Ý>%.‘¶))2kÔ¸I¦«ùlb90ÔˆåÔ‚»~S¼3M-ÒxÍq‡¤Æ¤”ÑαšçYÎÒT{/ßš’+ÁD +Èø] +Á²”#Êírïì"ݾo½:º+HpôTWËxƒÔF0ùŒÅHv[íªŸ§–Kéã^§IÕR<¼[ç¯å%ˆ°‡n¶û;¹íšÖ¤èÛI1ªšˆè±yjÌ·b -­rXýTTPæ˜ð×:êXaÄš8‹¬Šß]GnQ*ñÓŒ•q©ø] SÎÊÄG+±½¾Þ804òIœ*п^º~#}v͸Mcþšr¶S–hÛ,å˜ ÁpÇL:¥àŽ“¥K!jr’°r±ù…šÅ–ã}ÏÞ›×ÒîÑ ï„{ªKì“´k¤]7lèH·V:@„`ˆq«ôÛÐ5êÇNü¬R›£Î5\tÐâóTÁò´U¢É )S L~l©óqmdMBÙ"àˆwƒx”»/ôêI AÔtÁ0v :xûjOßòw!¼)K‰XV*•„â`ƒ „â ã…üÓÖlÌX•-^cÌI›ñ\”)?«¸ôô#"¾$I§H`TæíK2‚îÈLgÖ–­#SR¸:±ÄêŽxˆÃ„Tf¾Õm²ëU6‹}!Í]ê¦uDJpÙ'D#Zõá™3&)Õ j|ýMGbD0€I ÏSG\Í-GËŠš–&52<ŠYY@+v‘oohŒî»–ê-+òîN¥”¨ì<<äôQîê¹a–dèSM¹Ý¬’¢­©V„ÈÀAzp ÿÐ~qê3Ö.ª>p¤.eOm„ÅIKœ}Ó靈MðEÓª³OáP&~Ƀ::EÞ¸ýazuê>i¡éîpê.eê×R©籊Ǧ‹ Á¨+‘i¥3×ÂڪљPÅr¢8}Ľi[Z\¬ÂcÂvÉÛî£-Þß»\®àÙ)¶íÀ2F*ñc×Òvy±ô3ÕNƒãõøeFf—ɽ5ÀðüI¦Ç¨êjq:ÌY ’ ©þu*cE§ªt cv—ffCº»Üåû— -CXÒRœ@N2vÇ"—7™fy“ NT¥'@(œN “•Þ±úõÑÞ£uLýÑ\.ätPŠ)1V‡ç:qJÒ®,”u¯6üÁê‹ù®°x–-‚-åA*¶í~ÂünÝW«~{ÉH# éŠ9ŸY3—û°clôìùÔê+×>z·¢Ç¡ ¦…# Ždp·’I$cSàÚûM€â›ë›å6Cb#‰èãDßÚ-²F$Ç—\Ó|Øyű—ÀÞ âʵ2B!¬™jaIü—hdWhLn¨.BÚßdÚûšÉ2swÞ:©:HÇo”ôuSWYˆK H L'Ž>ß>šTõ/¤Ó$RG†õgÅpj\^:Ì>–±Új2à ½ Âñ¼Jõ)ï®å7N¼[že–k´=ÊÀÃ1"vyK’çBø-–Ýð¨c¤Â†¡í£e*}%çLƒÐLÑMœq(èr.Oʘ}lp3æ2CC3ˆ•ܱß#·bmã¶s[lªÇF¨m"Lœ:xóÑMf½i–eª@:Zi2A03ú™ë¢QÕ®u“¢Ÿ®ù« LÁYñ¼Jy¥†àɈLó´ÈÄø™ ×¶g¾?ž¼[†S$½'ec^kv·IyX’}¦h ÂðZü)ê*²Ä&¶¢æIJªdÙ°Úàkâ9±wÞ.c Ñs®’q¥.-[Ÿ3íxæ'O&‰)´;m:®ÛiÛÇŒªí¤ÊIªß\…A¦aÁq*üYñך¢ºžb– ³m4· ­îД0t"º¡ÊØ"ÁQ‡WQœÁ›±ËG §%ÌMî¡or}œJþpµP¨HÛéiáÍ•©ý@™žURâ¡§î®ó0¡Kó‚JçïMüÔÌSô{ÔÜÖû6b·{q¢¥wséUüŠ»í¢bi3ýGÃqÜY0Å€â"¨CINŠ 0U¿šGÀiÅiÍô#Äkm¯Až¥æOK}_Ê4TY‹¦Âò¬è¦zɈQ$ŒA²u6ö 8šÛ~,Ték¼\Æ´Î`…Í1ÑeV9Êž†hE4eC¡ªlXxqe®lB´ð­¦ãÁBŸ§oPÙ×§yGèf4Õ¾BÍõçÃ!ŽW‰°ºö1,µÔþZ3~‘iãÜ¡”ŠIÒÄÿ*í(ÚYôê Ìi3Œ~ ;<íi܇ZÑ­.@Û'úBÇÙ² Ÿi1LµG˜q(‹àpyÁ©Ià±y—nó¯{ñ¸“2¼Õ £J¦FQY!k²Ò ­+PTž”˜ û)ç Ïkú‰‡aY32f,<ÔPŒ3¡«©ó)ë©Öfš&Ѯ˶ÞbJ¶Þ7(±²®Ë,PÛa.+P1«×á4‚×3¾m³­¾õ $¡dx;dà8àDa…(º+é×(uK«˜>ê¯é?Gé’¾¯ª¬xha–Ÿ ž±zŸ,Gv=òvI<v«ÙͦjCîÉÑ:S01 OãÕÑ@žØCæÌ< Ô’0àuÔPõéS­}!Äòn7—½;c¸WQ"TNùkÍ -D™ÒŸÏC^Ô³ˆäÇP,0‹"!mÛå÷Op­š±Ñj±"dpR¤F#ŒÉêT˜Ë6Öî—e·Ò1 +W#[dôa&xD +ºGÑî”bÝ2̙߮}n9Ö,ùJñ qhÅtk(A5TÑıÌÌÄ:¸;­´j8³=¶Îš¢ÞÙÆÕn5‚N¤‡PÀtÍ îì³qvÊQÜ€ +Ì€ vlÆgÈlÛI|s§´“É@(ez:|»Å…ö2â•1l*µ¯uññµø®Ü>„Ô ˜ØG ¡íï/å-Ô‚&N§4u¯ê'TúÃb•”ˉÍYUòqV*ù58´k•äk(îI$›žF»ÿ¾a“‰u͆=ÁXÛÚõýË™óáft#°lS&ÑLoÅ¿#Lø–=3)yB¬S¶ë¶„߸#o{»öq1(2ÍÚ–Ÿ*qÿNYß#䌩±Uax˜êUkÒÃO…ÎU%Bç͆XÔVÛå¶îÇxµûð—1Ï…ÈB‚ˆV­;xaßG;œú Ê—°ÇÌTæê-FKÊ8OÌXEaê¥nèåšVš|:µèÄU±J‚X§‘ .lÌhÛ»²ïvç{—Ú‹e#¾p*5±$`0ÄŸ>"îm7LÛ‹r ‹ +Âpc F$ó5³7㦖«ÍeFRÍXIIVp$ÁçUihêÉ©{6àã¡ eÌ·°ÝÙ•x\“´È'£Ö¤ y..Ò´~Ódp>UÊ\é‡ÕCxuD5¸¹ L^#m…#‘Ì…†· †ßÙÁ —r”‘‰ö +vó(u—œIH&AQpìG4WùùjHpœ O:«¨ÜËS,n¥Ã”‹6ïx´Ìv(Ñw±÷KQ½k.© Dhþ>¨tŸ…'¶Ì¿1r[l‰Ó‡.ñŽ¿g\á ‡ú‚ÆñŒYò†˜nTÁá…+¶EÄŽš-ÍÆ$ò¡Ù¯e:p=¼›øÃ…-#¼2$õž’ONon÷äù í¢Ù Ô²L µ“ìTONtÅNÌÝwÌ4˜æl¡|©Óì™4èiš:¥©ž²3:,ÓÆYŒZü¬/sÂws7Þ Ò‹‘Ý[§+0pùp FøZïVñÜ–¯AfÜA êI* ñ ž¿..?œù–S¥™o¥¹KÃ2êtÆš8k©¨åšxñâh¥™dyIxH`XµÚäØ +»aËṟl[Û£J ¨ž1°vœhÚÆAi—†ÚnAÄÇVÁ§3JßN?Ÿ\ú¯Ñü¯×ŽžãyG-Ðu‡’žµ«&–:J¤fI‚GÆÞ,B‰„÷A•nƒ·¬¡n9¤vIƒÓA¶24©U@—ªÂÛ«žžs̯©£þ¹gj7Ũ¤†[QUDŒRWŠf‚« +²†Ëño–¿—º’슞ˆáKXÝÆˆû¤õQeÌžœ³6ZÃd¢ÌðQœ +£Ê¨‚C:Æu’9 éÄ7[Ä”¼cãÀQ[­¥)R GΙpßLO}>xÉõu˜8ªªPñÉú'§‘šËf?º{ßšV÷6à-¨j‰¾PPSº©“°.‹c1ä^¤@ù‹ÅdKˆÒ“2 *äóÞâ[e_¾â”Ñ"«}”¼ÔØ;'ð;('Ú>÷fkIrÑ)ZÔçÚFƒ_  ©¹cü,=eR䎋fºþµeËO5d4Øb|£ÓšX$Y£®–(¦YrÈÑ’¥.dEQn³4Ýîꃭ5t¬ìÙÀtáT Ë7…«3l¦’ö%µÝ… ‹D€G¡ÃfÊWôÓ«9{¬™;õK3Påì?¬¡l2Š¢JÚX—¦0šûƲ¬2•Ú±¢]Œ’8e“Æ÷7"Î÷ŠíWÁz$€!8 „È™#`ƒ†Þ4ik¼Ù­íÚþÉA#lDÈæpe˜•tµýBijó­ ðK ½¼Š$˜+˜bº81ˆÌÛpòë³ÝâÝÊ–´¹hHJ‰™LŒ1ŽœiœÃ*Î3Þ5tAi +HÐg zƒ¶‘™;"uN¿«ôób¦ž‡-TÎÉ.'ÃzE©idE ûF¦ÁIø_‘Öüö9šY!O\ Ô¡¨’¦*8ÞͳÐáyÈR–  +¤D“´ÎÁ×OIú‰>‰æs‚3ÐË@¿4^9¦£FñÝ$Bòª‚j{÷PP¾ ’øŠŽÞˆÂ=¹¹¶—n-å—V² +•´ÀÂ$œ6ô”™êÔîcê^Ÿq +«¨]?¥ÂäÂ+1܈ˇ×V‰¿ÉiQ™,1ׯ½˜ !a)õÒÌq0!!*3†­ O•G?PîY+= i$J@3;|Ts5bž„[ÕoNúg†åÌŠ¹s3ôÿ)SCRj–®šƒù‚œAã+JÅ“ÉJ…Bà;NÓ~ · .ÉšÝöZ¸sS¤)Æ10ðçe-Èì÷qYb¹sö¿Ò@Ÿ$ÌOýjô“úã“ ÇñÜ`ÓbXlõ4xš¨š•0\Ìb™— ,²•JXäŽîSß+¸v£í?t,î˜m(V˜1$‘S×Éi/j9&X€×ååB„bTŸ¸«€2cÒc‰=Qþy§%á•™«Ç›?äl&–ÑC$" i‹€†J„¼„ &åƒjHP9og—,6TÙÖ6œ û1žp mÆL‡>ÁFÙ¢MÔïI˜—Oñö À1yñ|s š&?5HžbmX®š3ìOnÌm­*%²´Kné^ÑÑô} ê®Q®9ç®X`Ï58Yf¤¨”IÈ_t& m¸ ‚=¼S™g-¦n¨ʬøqw$OY¡³üÖåAWýl:òAüáiÄyB$Šì¥µfø_…Cx×25l¤½ê¿1°j‘…޲äúŒ#¨àåœAñzÊèãòj걈Ûnƒn€sÛ½Ÿ¥Ö­¨húQêwéÖ[À!é¶]Á+£¥:¿Ì-"IO ˆÍ™Ãlh˜÷ î"ü—÷a»k;vd’'O¡;\jAÜlžÑ[º;µÈÂc'Ö|ð¤Uvvò¼Ô³ —§Yˆ]¾XY.tE?ãøøëáÅ×Ù²-qsaÃÛ…(Ë7QÌÛQÔ8ÉáB .1§¬©’ª‚‚¤,¦¦gMÂàùo$$ýú{nöƒ•ÜæCÌ3§RÒSâÙˆƒ³Ý×AmçÉî]eÖDõtS6 dŽ¡I™ðW8ö!š‘]%§ÑbKÞX2„ó”ùw)±¸ßbýŽØç;|‚¥4 2GˆL•c=]h‡w7=9™R¯|JL$㠔̒GÃÏ +hêQp\ª9óÓâX–b¨g–YÊååbÍ$Îæå˜’I'_o&KÜîÃ-e(  +“·G!uÔxa F€Ù€SžbÅ37TèéäéM5.3œ±Ÿ*š¦8%j©$zjhĸ„ªÞmžw ìK}« p‡<ßÛTÝx–xQ½šmXp•ø¢OG‘D¿Ö†põu•ñ¸2^oJ̱”ñÖùuÃ㤒– +‡– T*»—W¸ºcq~7‚ðß:úcN tŸ>¾ŠŒûYbþöñ$HDÂ@éÙí§Î¸g±æ/L=,ÈŽŽ‹ ɘf Ø4ËæÇ[Q£*Í:ºÆ­óÙ‘€kEÆ£ŽÚÙ9£îJ¤ù 3Ñqlø²m‡™@NUè}'RúʸgÄ¿«v +6Äë+Ãu +>Ì~vä;žýÅ´m8%³º S;·ºm_]BÕm8|èyÊ}(Ä ÀF9“2ž [“k\¥kÄ0„ÂÆ!±Š5Eo“,a”¯™T, § -2÷®ÔGQÇÈ +îŽè¦í†"eQÐ +ºAи±,VŽ\ëŠÔÅ.Ò¨YpêhÕUˆ±A¹¥Á$è{ëà nÉÒí©}Å­@b@÷á¶Œï-ËŸ(‰‚8Æ8…X6WËÝEé§BâÁ2µ=UoNó‚<Æ«2â›<¸VÍ“$„¸Ge*¥MÈIÛf¹ Ý[žã¡¡d’v‚¸c +ö§¹v¹Å£©l¡ $“€qŸCð®½!ÎYW¦®0!‰ä|5A->aŒbqaX¦2ˆÍ—¡†y"z¯ž¬NÐX–î–õ7dÝÓjIxΑ8•FÞ$tm)ìÉïÙt!/Ü«R“©!Q´‡®hÁd/Y ­§].Ê8ž9“òž)‚€T×|„4јゔÇJR 6ùŒFâ.<›2­Æiì­§nTt„’$H 1'ÈSý”Úݧ¿¼¹Kn©RT`j'U&=ÊáÔνõ«éäØ m†å¼REÁñ§Ä ©ÄúëYY¤š +›bd6>ñ±Sý“ÊI'R’HNöÉšzϳ½Úo3„8¥* +’¥#N Ä=rdtQ_ĺ=ˆzVÄFoê6M›ðlÁ!x¡¤—z)p$åó(òF¥•H¿<Ç ùì²ûw|êB›R”F;:|ê#½Èî2•wŽ ¤õJzýhêU%/PqÚ¬é„TCXؤtgZa}!u½·0ø9…´éÇm$»ß~í ŒD‚#…‹Ÿ3ùá|˜k±aÓáakJR-†3±`m»h ¯ˆåÊì¦p˜‰ã4Oüì~c½Æ:(&Ã2Vv¡ÀêNJÀ¿ŸKVëe’Eé¬lÞwœw×Ð  ›±\÷9€ž‡¥†Ô‚38R/`º§;áyke«Àq)ÇÍP#íŠîú× ¤ö½¸lnP›3¤IÃ4µ«¶›dc1£Šz8Çñæ›0Öbtn{ÊøU$H’)ŽTq¶‚Î :ð¯yó·ÐAY’#mWù¢Nª1áì ®Çz–1,±‡ÒÐbQI*O=f) +I3ÔBÀ–F"âÇáÄN)땃 8ðŠuv…X΀넎pŲçQ1g›9 +Š”š»yüˆ òFã2/îuþ<7Ë3FZJÒ0# ‰ÛÓZÖ»„Aá†5%èóU^$¸ÆCI‡Q㥤‹ ½„Bb–Ä5·ëm´‹t$ƒ÷”¢Á²@;hTéVVÊxj£Î8üÞf†S£ÖÃ(¹wSŽâþ63[”9¥Á†ÊSlÚ’OMtX¶E­ÅÓ¬Ùjl?*ÓàòΘE*QÏ4°ËŠÃ%ø'‰K«@³´¤ØX)±Ý¶òwÓºÜÞ0ä V<„a‡M{²]ævRS©)J‰ÀÙN;vTŽ™ôW&õ³+瞣õo5Pe|Í–a’£ £¨•jq,G`jI”±,I¨2vb-¥ï’¯:2ßv¤È’#‚¥Ìçó–Èi6¬žåRv%<6tôaÓKoJþ‚siëug§¨èf[Ã"ÍõU#®¤¯¡‘SÓS˜ÉV–¢Ted$:„kÙ€ã[ÛŸÙhXAý©:6Aâ£Ô&gfÊ(Ï7ØØÙ–™t‡ŠŠ#a +ÃÔ3°Í"ýbt‹ô§›±ºlo̦9M¢48ìÔ~X«‚pJ²ÂÏv"ÁüïÂûýá¶c&UÑ!zD©) Ÿ|tÕѼ¬ÜØ’¤•‘*JLÁâ1ŠpZlÌø®zʘÎ1dœR(ž‚‡0—Š£%J XÉòmçØ :0>û >Ÿ½Í/n‚‘° »8lãH7%Û”:·\Hf`q ÛQ3_NðœÒªõTìDÀ*±‘Ë(oaÜm{}ügýœe¯ŸÚ}OãBÛ=à*‘0 ”¡è/G:w‘³ øÆ[ÆjzOœþ]Íg üÎ\.¥Úxã–HÕšÚ/q¨/¶ìï*³'¸:WÁGÅ„ÒëL©WÌÀ«g]!=DôÔ/¨˜×3u'©¸7Xéz]_ u¢áëIWˆ¡ŽX —ôµ{™ÒÀ†É¥í¡$ù¶à=p ]&6ûëHìÙÖnmçB Ƙ$q¢iÖ¼³Õ*Ϋœ¯›jqŒ#áx,”èJ¦‘åéMç#•Š)E$èîIçlm¬\XJR $œxœq>Uv…ºÏ#xlHlFŸƒ³«3C¿á7Ñ<‰›º™ð¨á±ç|W!Õa˜¾Wš¦(1qS]3ÒIOS Å·—>QDÚÂà›wi¶»Áwqoü°â¤*Œ ™8“@íâÝâ¶»H²*&vˆ€:NÐ#hëú…ÊØÞ\ê¶+–3/—&dÁš“ Y0ŠñS)òiæ…¦A "ʱ Ü W³ÍÓ¿µË[Uóëñ÷A'`S|¢¥~ÍÜ[9sn:½k)0­%8ŽSÇFfS*匂”³Ãš¦«š)eDóbš™–?,‹’T«oÝi^ÄÃ̆ý¤´R²Á‰ÚiKÙeåÛêSb@Æg5¾=KåüåÔh2Ÿ¨jìÅÔêOåóá8luU)WOSˆÍ‡d‰&æ °Ÿ7hè-v³]Ø=ÙrÌ¥$£8¤Àè ÇT}_>ÜÔeeÜ¿»iR° 4©)h ޏŒvíŠs×K=õÌ2eÒHŒ6Aµ ®t™×¦^—q>˜õ&‡|g0ãXn%‚Ô@³VV50UIþ’cŽžÈ)•X#µŒ„Zû]½¯½Ý×ÕŽœˆ +Ô?‡lÄ‘åDPYíÕ¢ž¶ÕiXQ:“ˆNÙÄÄ NÊ&]S©ÄÍ}ÀQVÈk ]ѤžY÷"b!âU\P¾Ÿ@•ªžëä\ŽÖ7æï,nÔ$«*"6 ßN[‰Pðô…q$a4Pîý/¾À‚NÇ^üElµÛ¬tû«l ¬b„Z[^£òF(EEK_ˆf:8°ª*¼b˜¤h(ÔîØêH,>òu1`Ï´ëÐX«äËéUIGˆåÜ&®LB©«i‰©Šj„†Õ/.Àÿä÷‚t$3•¿a˜¾ãku+Srˆ`ƒŽ1˜Å,ÈwÖÄÛ©§–‡‚e@Áê6Ÿ'^2/¥~ŒaêÆX©Äó†lÇÖ§©ê䮂)åh÷´i$1mÜwħk–`n¹\ÿ.]ÍònîS§$íòö#` ÛÝ”½¼¹±¹·¸ BQ‰ŒLLævz +?¯P=6ÌÁz’ÿ˜ÁÔšÐq8¼ø^—ÉJxdIÇév³E+V«·|t—Ô~Zý†î­Ç–1Sa c'¾I‘QÖýî ûYc—©!!HJR1*&bcú E¼?;|õ#ÓçHÒ +/5dÙMØ@U7yŠ÷¹æ?§2üË€(Ôn°å¾¢?ZzDjüäÂäþQ>l‰ç#ænðìVÓëåõ11Æ®st÷Z´QÓÆ‹.-P*1zÌ’jjõÊqšyZÆ‘RCx‘Iîà‘߉E½Ê›J̉Å#£®‰¯-\IŽžb³âù槬ÀñòñÑ'ÌÃM*G°ÈXõìE”qN]»ª*Y2HéöÕÑ`¥xŽ `z©k‹õš“7BÔÕq/€T4‚nIæw°){m, öãù•’™ -Œ]+CP‚R8Ô¾RSfΣ‘,Øs©jWbVUu»ÖÝý¼Lpbx{ê¶Í `+K<Ç_‡Rc´yï0â `©ššš`í'•9¼«©÷–üs-C®gF +îÊTz¸R£7u«(cùb +¬³Qò¢ËW-4s×ɰDZ3 öܓ½á^b¢t&'‰8G¦¾RÓ :ziǦøC3R¯Ìùƒ6ç|©›ñ:"rî)(q +Hjvg¬ÛLLÈeàºhl õÖye²mu‘Ñ«ÝãL»¦Î;<ÅEÂý@C’gÍ™‡,à_Õ¬ç[GOˆbØZλg¬¬ò) Pftb¤M€[âOeYU‚ÝAAXJŠAˆûIæhË'm] JcŽÂhdè7­¾¬úzÃ1N˜ãØ~‹bt¸ÅV`ÀÒ®š­¨|¸©§ÃšIdž8ÞU§pPÌ¥€`„áôË¿L»“~Qh^–I#a¢UŒˆ$ÀŸIS7Ó…½¾xM£š‚P’Q„¦Oô°Ú ¢E`õCäÞ·u&»ª¹ª¯À³œPbn*bjg‚¡á_>RÒ—³©»è¸ +,ºÆaj›}* ÇvpÀì÷š¦Ë2É¥"c „p<8F=ô伉ç׎âXÂÔWÒuª‚šŠÝK„Onc'šUl¦Ç`±ä wíœÞ9›-Ô¶½%A H>%*ÔœšˆûDµÌNdõëˆPÅ(h(TD@(YÎØînéüÓU`TkKŒÐÁ% u=,‘T!‚dŒÂò£)PuSmtÓ’oeYý†H†/Y#@„’¤tà pÃ{³¾u¤3x’ `pÆ&øI¬}-ëvXÌ”¹Ã4à”Ù‚ ª & \¬"žÇ&ýÊÆös´€6›oÃë+¥>jN;f(u¼KAa¶ÖRT184õ_Ô쑎IŠdÌ?.G\™z³æè³$O!¨¥…%Mðº˜×z2ÌRïcØøûSíZß'Éœp J°’v{>tí6ãùB«Å9+:@ALÄíÃeO˹²·,Q“cUIˆG‹E$´uôf(Þ(åR£‹“·o¼•·)+ÌzßÞÕ.w‘Ô÷éH@Á)áŒLùôùl¬yí |³áZ\P€€a`¾¼Š,>¢ðêÜ›+ñ6Û™*çþ]»å ’¡šamw »|ÈAs` +_tn9X5 `Jvl›pâ6o)Ëî’ê:Å / År¿Fr·Rj<Ñ“3dsá5µq‘V”´óH©EZ„–ŠF“p#·\>õ–gÞ¡JJÒAN0cðà}”e‘æÎÚÝ!hQJ’fAç÷TÖÄñ.¤eù2ådɇSaÕoO +@ZdŒ“1!î.ÅÅý¶øO}˜o­ÎñX<âá:N)™Ä$ÏÈTÓÙ×jܸ·–Ó žŒ ’zM,ú9’0L:êž,ÕÔE}´·Šz dC%<.¡ü¦xËj<<§l—6Y^iâ” €¤ñZI5DƒåZí‡|/_±/6á ‘ü@á·ÙÂk ^ê®-Ò˜1Ì> »O-_ÏÑ4ør­%ÃcUJ†ðP#ß°öà«q·Û$~Õ²RH‰&A$áÆhE¹Ë»Z0”¸ÙlÇìÌ Ú4âx™Â§â§ºåzC‡t÷<Íþú:n"‹V–œÑÓà †H”ÃÊÈÖŽå¤:­ÍÉ¿¡t¶RÖ·Ñ#WA;F;(Ãy²¡‹Âõ²BVäê ŸÚ0&'nÁM8ë½›és5]:ÔãÔ‰¾j: j’ž/.34ˆµI¶û̱î¸U¦]~âÚH. +ÊF'¢y«g•¡«GT„Ʋ5(‰“°tL ƒªÞ sOS36±Z×Ák°0ÑQPFii𧊨XÐ]ä’‘©iî%­saÂmèß«<±ÀõË ´í:N8šÖašYdZÜZâ`ªÁGNÝIN³u[9uk4Éæi'4 º +X‹¼¦.Ô/%ÞFfBÎÄÜ·°Ûi7»Ñ‘4êÎn¬†ÆÀ”% tN$™ùP^ýo…Îi•¶¥Ö╤l í8ùÖ:ÌÉO[ ÊØæÑap@ £¯¤RL‘0ÔJH'‘}ÅŒ~Ó½**÷~¥Õ¥àž'®¶œÌ0=‚™2¿NñÜC¢ÊÙÎ*ì#Œ;Lµcýç}ô‹Øw{G[Œ ©H Џa½šxÂé:UMâ8Ns§žHjŸÈÃjh$1µ+_gš»;†öð¦çxƒÂveVîì Àu ÏÝ+ÈÝ;©éÖ~¡“ +ÎÔ4f,"¾½,­æ’Ñ;°¶ámMùëkÔ<’uLž\)¤å¤Î>TÇëoÔ/Rú}šò·¥ì¥CƒbÝ*ÌXf ™#l&4–ª²µ+¥ŸbÌÇlb*˜×ܶ¢ÚûÖ\,+.Z–|BDž‚0ùÕ¬ô¡ec£‡²œsBÏ59#Ì•8 ˜f;JÒâ»e†A‡£9kZ¡›sÕ¹<²À^ÌC rXì6Ýíßi°èÔÝÊuÈJ¼ £OŠš{Þ;Œ‘h*GìŸÈÀ0Q= +ž1çHüLj®"UÇñš]]©bÞª÷ÙPû {y$9jØ«½#øLÉ3Àˆüf¦õÊ*! Äj?q<">Íw“¦Äh³›²ûR­-5WÎK ‘ÒXÌOæF#A[–Ü£ÀVð3}yn¦ØÒŒA +PÕfBpÙÂHǦƒ{ûoyâi´œuGÌÓ +:Z(¥Ä'V¦†–¤GtÔ¨`¤0ÚHR;GûéÚÞ}“©H}¦Õ¤€tjÆG ˜êÛ×QÞðöϼYsʶu(HLJ“2AIÄÏÆ›²[ê3-%mD4qÕfÌ +C†K8‰e§’¡—kÍEæÜ Üíf–÷0…öÖnMêtµ¤+B$©d¦HÚD™Ù$HªµÛʯ–xÙ¤¡.(DœÄŽ=c +º+Ôž­dL¿[ƒK‚`µâÕ0-Y¨ˆùÒS¬!G-î‹èt½†š F[ýÚ=ÖpáRðI'JFÄðìæh!¾Ûïšg·Dº¯>µ ᇳ™®±|á?Pz[ŒÑAO¢ÃݘùR_6!½Vý½à/n-ÝP¹ÉôˆÒÊÃÄà#®ƒþ¼ç¬«Uœrôxüt8ÍDqÔüæˆ/“V¨*de÷O—/šA‰»o¸Ð<e¼mÖaZDAB¸GÌtUom?hT˜û˜®ºuóΟç£õµ%怢·¯ŒWa5PHÚÒÕÁV’¡ÕHÛ,onëmØïR.å—JT¤˜þøyò)2óÖ¼F˜¡±éºÔ .£ÉX†Ñ.¢âˆeŸ w2`ÕI@,ïHIb-vNÚ >ÝŽÒ3l¦ÙQÞ@:„œ&œ8ÑžG¿7–(ZPcTIŽŽ#ÛM”z‡œzWêc/a¸Þ/V3´sIG—p襅¡ùªè$Šã,B¢9RåÃ^Ãm÷ \û*ß|Ã0½m»¢§Ð:Q†Þ;OA;([ÙÕËùÛŧœ:mK?†0á‰ûDìš>¾¨úgéW7úkƒ&äLÓ–ºQW“kd–*j9± +¸pØ'Y(¢jy%id!З³¸[†Nênzš¹ïÛ¶¡ÀIgãG›…»9Õ†yß "AðøAÒ™#3³FC¬v˜Ùgͱl÷v‚TæL«aÙÒNöÛnf¬Ñ»{wÒ†’‘©@$‰âvƒ“Xh2®9ŽEUŠÐEOGI†D±¬sßÍ1ÄÄo‘îI$ðÚOh¿Ï^H»´`_r8ô oi=¦ÜfúD«ºD„‚q3¥yÅ<çì‹#Eƒæj©âÌ´Õ;V¢™Ëª“kèx<¤€dì…ns%±‰ŽU†Ÿªù]heZzh)§5%Ò›ÝxÑ +Ž×Öû¹µ]éۈ褋#F*™¦ÓžëŽ`˜™_ŒšB¾_¸Èa Ó´Ÿ«ÛÏwãWW­&îºè–aYK1t³'ÍSÓTR>/y`®˜ä.X«(_vǃlÈ5spáð­›ô-X +W`˜œmO‡ŠŠŠ‰*)iÌÑ4jQÌÖ Xn|G×›Û2‡”¡€èá4¬¶Ã‰“?*f£Êù›ÌXŽ9#6,uFkÜÂ*=àKØüx½ŒÝ–턉êè¦^am/:w›óFRÁê騯YŒcó/™Z€ÔM¡÷J3ÚÖ6< +g—Zî5¯ +N” Hˆ +¥moS1üoGž œF¶(N"g-¤J¾QòîOnæÝø”Ý¥×Àþ€Žžºoó +BˆN8û)e–rçKiò›â˜Õ}Zâù*§|0± ñù€…Bnv¶¤ß^g®:^Ò:ãi¥¶vŒ÷^)Ô=†•Oƒ$õO ‹éœÐb‚¦”bUHõ õpËMeŒHµõÒÇóæíï?- P ®žªrÉä-^#åzZÅêÎ^Àó _Í«²É¨˜Š”ß²:xÌ„ÚÙYý xðG»nÜÝ2èD²„$ ¤©@=±F¹NT»‡RˆûÔÃl(ñúxêL³Bj#ê®ZÍç5äy0ÜA0œ %“ž 2ŠEEÄŠh¢5ÒÈJ±*5 +«nf~Í;PEª² I0ìÙ†1ëSnødyƒ.©›=:@!:¶õvlÀâhÅúóTâÓäú %2”9ÜMæPÖ£¬‘šŠ“1’"Œš,kå pFËè  öq¹6·¹hÕâ +]aei™LOH‚0«vwÙ•Úrku] ê¶^¡â¢AÀœ ÓvmÍ™‚.ayg#ÑÓæ#„âæª|.–†9këã¯X ’ +z­êèѬ¢BŽ¥˜’;†{´Ü§5jÜ\Y¸¦çP; +NÙœ0Û²vÁþûÛg 76Ï) È8¥CÈá={z)OÔŸJøÏG+³#ŠšŒÑ â8]3œð¬:Þ¦‚šZŒ’»åÖHbhj +®¬ëbE˜¯ +_ú|NpåíÂÇÜ  ' 0O¸=1A¿ö=c9Hq÷W‰BSà ‘³ (_ô¡þÉVêiƒÖF¸³cÞU‹ +Éð**9"E†(¦ƒ j$DÚ–V[*êYH;”ï|» ˯ÛC”„éJvþôÇãê{IìõËÛt.Ý#öI $޾GEaõ‡Ð¼³‘}Eã]é|Õ™[.a°bÔ¡ª|éM$ñÇxL÷×ɑʂuÛbIÔòío±5dÖ¨»hCJ$Œ¤ã¶vŒ'Ý@{Ý˹·°nä˜JÉ1·¦(ê–1†zré¶3Ÿëbž—i)hêÍž«¯u§§ˆ@°Ü]ˆýÕ6ÖÜîÎF/Ý “ãÕÆ‰³+¦Bb–>Ú#™_Í`êZÍškjñ¬åÇP!݈i6™V-£EŒÈl²ÜföíØÚÃ`Ãâ|é–Rf†Ž‹Jù§>áx)U-6S\±V@Ò¢4ga!÷(,Hðû@öà{4ÉíÑb·R¨»ŒOM,rÑ¥Y)qˆúPµŸrNKœ¦ËøkM›ëéáa óÃF²ÁW +LºV‰öÊ¢×ï á~íî¶aš¼–Úñ’5'0v“I·{wn³{€Õºu,Ì ·lQöôËøkAzCþx±ÜW ÉyÍ"ÃäÀ³òæ&Ž8梕iÚœ7›Y+E$‘ÈÀ ÷NÓs"öGÙ·/-岓â©20 Dn4,ìý_Ê.€©Å`R0„ˆVÒ8³Ëõã)f®“bsä?PxŽ;–*ð•”ÐáÔ8|ø¼ îË M3S0CKubd•Ш°qÚ%½åí ü±¦˜a¤,Ú¤"$«V;6q'¦cVþÙ"ͧ,P€¶"dN1A?Mò{Í8†9›MwKúóÕfjšÇ-YkŠZfŒG²IƒK1¾W©ß[¶vÉlk$)V&fØ@"^o½ëÛÚmP;Ä÷`iã®I0NˆÙ…EÍxN%U›+2=0ÅqŒœeŠ©I8jÒ$X˜‚v¥Y›i²ƒaÄßR}›e9žJåËM¾„ÈPIJq‚6lÙ"h³µȱÌ2§Ÿîô¸ +U³qÇ ”Ëxî5bµDb¥«ŽY6VgRWv—¹=¹ŠÙs}ã l¨%íCÂ6SއSgJ©pÅ,”M‡Ì•˜)t¸WÄßAÅÝëø’H¤Ž-Sû©…ú']…côØeÄirÞˆÆÈæ£Ý(Ò¹0»6¶¾ßo4„%Õ)hÇmÛ5 B°<)–<2s\Ù5j“ùLؼ1½qfù>:y£Y[·¾Äý\òÎwzc¼õÓ=Þ=[z¨Ÿ?\:‘ÕV9k01VÊ¿£‹ÝXþÊ…*.lÄ‘ÁÎg“[Zét¨‰õ§TËŽ4%tÇ*VæEÃðœ×QY£©„Ïfõ]¡³À.À\÷áw™²”’€UÎÝ”ÅÍÀJ6Rיּ$ô^ +,O+f¬;6Ôcp2=N¦'n Ö;vÛNÚåÏ\`Ò šrÚå ž&ƒ¼[«­M x~Y ]¡Tж$mÑÊßnÛxkzùEic…=ä,éO]‡Ô¾0æzúJsQ?Ì:‡ ¨Ãaö•|«ÃÅ]l KQU;´U1[’³G"¹ÝMÁì8$ܼÎËw3ݨwˆB­#§Ta1³hò¡fèo™ymÕ¢{µH$Å=a9ã0a³â·Ì¦P°ü:4¥¨…ê$š¶gª†žZIV1*ÉÌ÷ß F$@Ù¯o–ûÅ›¹mn’”¨)D  éÂ¥=Ëí +ãx3Smn߆5Jˆ‘põc·ÙL¸¯N*£®Â34t2b/ˆV<4 ä’¦¢KÆ".ïkÔºkr66‘³Ì­¢Ú]^Ôì?‘ríâ-´¤œ03 ‰÷PÙÔ?Jæƒâ8ö_Ì9f‹ž¡1tõÛ=çÏT=<Âñ<—ƒãòå|˜U1©„µ4nñy1š6‘7Z9J­÷hÄ "\žÕC亡ˆ‰çÄ +‰’ÂtÈ8²Gº°Á—0¬“‡än dêjés‡KêálBºg†ž²™æódo1¢”rÇÞ6*H¾ƒŒ9¶÷z•¬BöAØFÁ±  b'Ìu žž:I”ºíêƒ\Ãê0ž¤]±*:9'¦jJ¬2a4nÉk4‘ºÆýšÁ¸»Ç‚ÚZ`€'a‡º•7r”'ƒ2ó&UÏ”(³ÕOJº·—±Y:‹•icZ¼V‘ê*Å4ØDÖJJ…œNÕ +]Õ#T tp.Ä9îå· -.”(€%1Iê¥{­›[å—¼œ +p'3Ñ>tc±Ä¬µ}-—§˜lø6‚š*ü6QCXO Á‡$ƪñ¡eeA`5™i»麩¯Ê%%Å$Â&AÔœtñ*Y݇72êý§Zñ¬ƒ)ñ+ •No¶‚tëöyê6/ tÌXÞ?NWƒã9‹¾+-%|¦z‘B»j0´Ü@!H G™>_nÙCÊJK‰3€ã€Æ¤·÷g*vá+e„· &|ÀçgE"z¿™}<札S‚ô¾£9fLg,âÐÏC‹W|. +Ê6…|úcGJÏåÉç~’7ö}Ò/fà·»_äê¼·p‡„j * Æ&8`6mŠöõºYݽ¨¸K% •Ô° qðÌyP¨q\-å1Ÿ±8ªF;]_ EÎYœ,ù²–ío`$žG[ñõ/`jm--+Ãj–ÙHŸ-´ß×í®ÒÐD”÷jŸ5&#ÐÒ:ª“55N  ñDZè³F¨* `4øë§"U݆“*‰3ßéهƕY^hk1ßšÇjV95Ùæ0k‚¿™×‰…Â`¤á;M2”(I€)wYA‘ºŸCóYêº ½Xù§==2ý£¸{;º¶Vö èA0Lã9›kwZ‡î)IóA%ù§5&\D6-Þ/9µ»uˆkß¾¼6§VÏȤŸ|á²?½ª­ÄÞzÚª¬.S‡É-Ùn ±!½ÐuíÉÜ,$ ¥A vÓýeL8Ž M F+SŠLÄí§]È#ꬬƒhE¸ŽÝÒËÄÀ:Ob?bõyú‹_ŠWõ:ÐÔÀåVRªo =…¸Ð]Ê® Ùç +ªQ©[*GMÛÌÙãÊã¢È±bu øŽ*ò¥$"rX<Ís2ĤX!·~Õά;Özz95çF`sÑCþ%è#ÕÆ_©Lã6L«Åò~/±àÇpiiqÜ2¦‰­þ—Ø|³©R5öûEøÍîZ´¶=àP€pÒgáL¾cP2:¸ÓßC(º‘ˆgTéîOª¯‹-åèeCC-þt-µÑæcú4¹*Vàøhx@Îp÷䔵· ¨øqœ8aÈó¢ÛÛ×]GŠG@üh}«Êõb¶›§ùr5ÆóulÑÕÔÔP5DðPÓ%%{ÂC!ݹPH×¶¼¢®--í’LzÄž±ŒúÒ¼šæÝ”OŸ•pêKò~LÎýsÄ«2ö_ÊÕ(ßèæž ?ŸH6´•Æ¡¢±}›@7$Züö]jíÛ–ÇÝoôdӪϔgJO$ð¦¼ÇÔ®u'Ãú_ÓJ¼'4IG ›\2©jçÜϲÌÑX!Æë ÷ìG&Ÿ¥]Ì´³MÓ÷ ‡$àqQ °'¢*Sú^Í-mŸ}÷T©™èÚH¬ èæ–UÝϹ:›Îxî"˜NBþZ¸Ô¬ë3aÒÌVX£òX–Þ`¨)]Ä]àû*í—$Íõ[•²¢”ÌÂŽ0AÙÖ&:(RŽÛ2œÐ<ÃF]2”¦h¶x  +yÈž§:ã‘r…N —óõƒ.fÌ2«›ª,%¡‰„q‘LÀ8]ЦØÈ;T³X+\‘fG“´”¥JN°3#‡²—îÎîØ\0rØ´°A’Š'lõíò â]WñLc¢þYQAUŠâuZ}ñÅN´Í eˆÌÒ4 ©*K† +I%ˆâÛè´UÁlbDmüb‡w[¶éµVuŸº°ã}DÍô”CÇñšš±ŒÒ¤ÑáKRÐÓL(ÂÎ#0+"Ìciî ):ëÂmØÞü©×^ ¸•((ê‚$cé”S–œšõþí… ¼FѪv¸ðò”%g,ñèËÔïNrÕ?YrSe ;¢8=£¥Ã¦…*1™$`*+&x’žJ‰)é)£%Cï*­mÞèä{õ ~åØiM¼¤ ©D„@tøvûq¨Ãê–Æï*[¶ÖI‚Ózú¦iÛ7å?B=#˸MÃ1*^™äž­Q c Y%ª¤¤ªEP‰UæTy“jšâæþ<†³MÜÌ®cRàñ?#ò¨aY½È3·Òi1˜º%ÑÊzÓCtÀsU¨£™©é“ ª™çSº8ÓÈåIÐÚþÃÂ,ÒßùræˆÆvHâ`ãñ£\—;µ^˜£>”â½ê/Is~›úmR²áTx´¸%!ŠŽmدµTµ3¬ÐLÔôåP&ý}ÖP¦àÓ#Þk Æ”8 $Ù³§xǶž6Œ)À¤ zözP§šóVmê2PefDZü +¥h¨qX]ª·°ŒÅP˸˰(ÈÌJ¨Øn»v’]uÀ¤â>5å²§PÙ›0 *­sEÕ3`˜>ytgl€R1icÞ@B.TM¾ö]Úû¹t¥¥°½IÓ‰ˆÄšîû9»×%îïPXã„qÀÒÙ2ÆmÊ93ÅòÝ\¹C Å_å ’*iª+10bd±IrV@ìXÝC^ÌM”pwØ·iÆç3º/i•øÊÔ¨H I¼0hwÙ&ÿªë2}Ë„‰YÔIQ€„õuð¤¯L²oS_“ ¥Ãò–i¬¢ªÄƒÒB&§–‡sÒI0ßâòµ®¤‚œ8íg¶{ }ßZ-ˆZœ¹Äƒ#ÄAã:xP“´ŽÒ¬Ê_xµÊq€ÜdÀ1‡M-ýB圧“²ü|U4Y‡ ËtÑ ¥…ÿOI%I6M§í“k·1Õå¤?¦"EAW7Œ¶þ€0S~²ŽèdÅ<~RTRÆ^Ê.lÀ ¯ºy·ÊP?5{pÒPdþ5 +¯ŰbÃë¾Mp9TIu¿Ê]u÷}‡›bÚ5õq­]¡ÆÓ¥Æ–M”ú³þkV‰Õÿ«[hßåÎß’Ú¡Çknß´ñþõÏÊÄx)“”¹Ýì>|*¸ éîdÃ(ñkÃÞ\* ÒµTȪÈè»ÔpEÇm9)¶øP š}¼ ƒLÝ&ËÑQç:\WùŠz:ez””+¤kɽň¾œÖñ\h¶ IZ¼PKg¦”Uù2u0Íšà4Ébs½ \")‰!Øw¶ÑbH׈YtZÛœEVÕiv{j4YR|36-d„ÒKOîO-4fk¬$©’ºo¸·qn:É >ß^ë/t`hqè_«~»ôo/Ñåncyƒ(Ôâs¬Òy•M%M÷X  ý$D› Ńì/¼°¹BÝýšv$tô’~4wz]‰/X·@}^K›ºwM’ýGRå¼…ÔÜÜâ8j%òðåŸÌ¥UE:íHNY—qµ»À¶y™9tµ3jÙ* øÈð§¬K¦­$Í­jL‰HÛ#g xoEhòœ/>I­xªkãÞÁ¢§‘Në8DÊA±¶ºé¥øW»•ÚÙ¥KSŠugîRŒãåIžBVDeOZ=<õSÕLãS’s–qéõU3Áò8Nò1T/–ÄE0–¡Æá!QbÛ|nÒ‹HRV?Pö÷bÝ(QAŒ@¤ž†ÅKy—Õ>^/RÑ( JŒ“‰ÓcÌR+4æI³5:QôµãŸÆðæÅijé"j‘44ò„1ÆÈ’™&•”Ɔ:ÛNv÷Û6JŒ±V¬¹­Õ©)ð +dƒ$ˆö÷k³eïå‹wÊÖ¨Å$€ œ}"­Dë6iõ§[ é—Q²n3ˆÔÓaN#^Ò%4pc(ñ¤”òRH©ŠXX4›·( §QÀ†çv‰k’dÝËM¶Ò€>/¹gÎGéQÞíöwi—–ìÙB~ç`•='g1Œé©åé—>…úª låÑ\δ$舕4MD„PãxlÈ«æù"B%G¾õ܇¹÷³oíº • D|RG_NÞº+ÞìÇ2¾ïÖTP˜Lô{½§o½%úôå›ê(½:c8& šgÈØµTY~\q?œÀ)'Ø)êÕ™U‘´G÷€µ‰±±Fòä—l§½vô8øÒ,±¶RÙ>#ëè(rÆ©ú{M‰UdðªJ¼ªµ3×ÖCIttÐmŒ"E²¼·Ù¾ZÍã>†žµ²WŽDŠCM‘b¡óñ|‹ò#‡Aó³åÊ‚õA>̱ —Ü{íÔ{-À†òöx«WƒÖD…޹ž™éõÇ®“=¬ mà°$ŠGTu³ÆcÆ0úÙh*\ÎP²%:ÄÕµ÷ ©pÌt;}·Ö÷]ÙæùÒ´©°•ˆÕÆc ükÙ&x¢á$Á>Ï*ÉnaÍØMZßÏ0l1f«ÉŽ]óÎw~…EŠ ):ðT«†É26ÑÞZÛ—B€)ç`¥n ÔìÃK”[ƒJFÇ¢™ðüK®«¯« …ã¦"E*ñBÇÇ^+®Ä©XTªÞñ´é ĦwÍ4âëMEO 0³‰*$‚y‡h÷@÷¼.xâ®Ò½@Œ6 +T3ºa" íÔltB¹{d£$=T|Çœ¶1««_eö†§[r½å×q#£…oUÄ̈œ?}VÖUÆsþiÉX†!ŒÉæä:¦)ë‘3Rò*‹n ƒnÚrZ},¶è¸ìè­þ] \P0üCÌ •^w§§ÅžA²%½ÄïãÚÀñ5å¹Sƒ "žjÑ +&ik”ê)òý&!ùÛÆ(ž„á2òR–fA Ø{ÚƯrõ\(™Ò‘ǧª¶¼‘]èÓ„í¡/¤ªÎt¶ ÅGˆá“9ù|AvÎòŸv:zU%I,Ö–¼.ÍZ b8lõ£…ØïÅ„tü«¼¡“êüx‹RÍ–×,ÓI'ËXÆS¦Õ–=AbYAÓQ¯»rÙ 31×…"¶d®ëd@÷õPÙd\{=GO‹ã´rSÐfhë>cæ”þ[«IÝbn~þ%¼l,xLG—[ä‰0$žºJŸR>¯ýáXun]Ìpõ¢X…\Óa¸›-l”m Ÿô)7‘QNÛ#º´l¼5A‹MݣƟþ!„úü÷ƒ!nÒéII´ypÃð£iÑS:õEÓü2æª8²®1ž¦jê%G W„Nc©¦Þ¡7ÌQoyOk­Èiõ†óíÖgI*ê >Ü)-ÃeiÇhÇÆ u—¤ý=Ås Ý@̘Å[ÐE‚LJKAI$44뽘­SÔɲU*…€Û·ÀÜ€4ãjuÉÛUk8q–ÊFθ#Ò«ÏÖÔy3¡&‘ú7–¨º1ÇqZúùj$ŸË<ÔôÑÉ ZÌ•#z‚q»0‚É}Û·Õ¬êJDaÖ zRœ™•¾ecʘº/Óž¸u›¤Å.V§ªÌ™G!áo‰âsÆ +5Ê‚ +—W@Yç,¯î“båsÌË-±¿Ô£ +0<ü½0¥7)B$ F߯•~ò†rÈ™OêQÌðW˜%=~W¦iU›Æezº¤4ò0.áv¸°ánbå…û°†ô¬“ +1$“ûð§¾(p I˜Ñ†êŸXÅâžLFÌ©ŠáÑO"RÎÓŠ§¥DJX‹o¹Ó_¾ÅËÎ((lé(ñÔ¨¬ ‰1Æ)ÕŸK²Uº)†R͇´YûHqŠjÕYbqWBMÈBX©Ck÷ñVAœ©Ä©'ÂpŽªEu›­mT%h;v˜ý6Q9È7ËT_-õ»ªé¶ˆOO_³0«¥¦‘©š&MÅš0ûhMÀþß9]Ýž¦!FFÞŽ4‚ñN!&™£éÕN`Ì™gÉXî.ƒ9`Sü´µÌ^lJžMd)$ þš €ûÚ•×ÛÀÖûäJ³s¼B| +"cøOáOÛfO¤„ùûèCÁz±.%5N9[aX¬”Á©Ò’z€õ’F†VP l-ÂF2çšY$;0¥*Sª*Z– ôœkuÄ$Ä©>JJzüzfO‘†-¦žXa{ _{R ý¼ g;³ugž¶ócýÑçŒÑMË.9v•¦%F=ݳè®n#eš†Åªb‹ ¯†ìË;±˜Ü6;6ªØ~·[^¤ hA—wzH*8í¥VaΙC8ÓNpjÈh1šEIHÊÛÙF¨ÖÖÄhº’$Š2CÍ8€5yM3àõX.w¨\;äÂñµ hN!#Híaa¨D7ñ×ëåíÜAdŽݺ’TDA8O;)W™rž-\¨ÂóóKM™R¢¢ÁåXÙZ†; ÷Í™@Pl~¡ßžw¾.tÓÑEy®T´˜'ŽÁÆ:é3qÞ´1ÃS+RÕu0Iòx…5XSU5-4õQЬDvÌžª4×BXVë&¹zVÒ +´p‚œ·ÝíAA¤j8zŽ/q™:¿ÖL\à]d¦Â:/ÒuÇ«)i±ÚÁJš¼%Z¨è®Ë%[†ˆ¨1»È[ß‚]Øìúÿ2=Þ€ÚB´©j $@“޼£²ÛçÞW‰’v$·=tçO9Z ãDB›­Ä¼ÚI«,ÕÅp²O¼Á öÜuí~ü発ZV´É TDŽ˜¢ûÖmYB1ƒ‡Xé5ªðëR4 ¥t2Xù@‡åþ’|-áÛ‰¿ ÖÌZ{K:¶áÓò¢õé/ðñëo«:Zœ'§I†ä:<0Û̹šJº\2&’4hàW¥§«‘¦”0²¤M¦¦Ã^MÛ³»Ù¢”DäôcG¹få]^§À‚Hê£×éþ»“rþn¯­¬ÏEW†a gÂr®[žj 1¨hãI^¡ª*Ò–x©“k…‰e6&è–0Ê÷ ò£Þ&`ÁÒdcÒGº–Xî­Â[%¶õ€@R†)I'HœO4v²O¢ïÃçª9Pt?,t·.eGÂ:´Åà¤gĿѤ¥|M%мîû'}Aî¼=Þ>Éírûd­Ä¥H'fÅOoäÞnûi¸x¥m“pÆÄm‘pê/àèƒ5áíýX¥ÇzW˜‚±§Ä°ŒV¦b’‘pæÁøÍ^ïÖk²@Ž¡ó¤×Yý ôÏ9眧Ô|ËŠ5>•£¨þc`Fž¾Z¨©¯:Ë4󂪋"ítÙ#È­eêXo}.-Ù\ cˆœ@Ãôë¦Ó¿|˜qR¯áÙøQ‹­ô±Ò¬_ÑEcô§-ÀÔŘpDÃå!)Ò‚y ÒC0yZFÛQ3ïÜnÀ[ì‹f™C½Û÷:”W ㎠Õ×M4•)­\HŸf4èuIÑäÍ}stÆ:§IWTù†ju£Ý"•ŠL.™–(ä¨,lAWuo°¼W“>«ÖN pÚ0pŸë‡U' Çó…OÅ,[թʬ;§°]±|¹…aØU áà·œñ,µÆ$VìTWI»PmÍ€'‹²]éN]˜„¨€“€‚ŸL)Ì®ùHº ŸzÀØê8–ó/IV“‡E÷îÒÞÃyv6¸˜Àt‘¢£›z3Ò~¡ä¼_Ǫ¿–²G†¾$†IãgpHÍÁMŸáÌ.{ƒ,¿3zÑAMˆŒ#§Î”ç66×6£¹Å`õI˜ÀÑaÍ=êö]Çér²QÓÔã4F45øhñ +i*Ò®&÷ZeºÜ„ x(³Ì¬.[R§ýÀð1ˆ ÊÀi ñè£EÑìÏÓœ_§uNÁàÿQâ§›2AʵQƒ?ÈÓ—]Ã{j§Ä>ÎskG­®QÕ1á²hç2½·k/ILI„‚ ?ãY¿Ç“¨ÂšŸ,á®^±¡‡d´lÃb¶mÆÄêmûx×tWŒŒŽº+¶µYpm)ç‹ÏÕ7ÄÆ\Ș^ˆa8¤QÇR³¤1ïKlU‰Ð$e±Ûß›»i*N=Ct‘Ĭ±ÈHŒ*žbßÇêâTYÛ¸î‘%<šNèCJè3Iüˆfÿë$8f/Tô•Øe7™¸ƒL’n³m*·%…í¯9!gí14¦Ë+UÁ +žzhsèÆdÅ#­ªÄó•=>rÊø! Y5üÜÀ˜®´R3²²MtÝ}mn1uœ&ÞRá Ž©Ã¤Q…­Â{Ý@:^æþ¿A—³ž)–º–¢Éô8Î „a5X†S sÕSÁä´rÒ4¿.b>x "ê + luS}ÛV™zÿ(€@AØ™É' +6ËîíÚJ‚I‘¶ÂDDÇ7Á&uê]FRÌ™7ÁhpWåò†?‹‰çiÖG‘¤’ª|µMÝ¡*‰gÜÆü0Ë·ÍJÉÂ\A +>#ÃŒIÀNÜi‘#Òg«Öôn{ne-¥Ä’P•­$mŒ pÚz½j­ÿÏßW=sgÊü§]f'ðÙ#4¹f„µ9ßSüèc0#9÷C8Qk LEu—R’´Á=s¢‡ò÷qÐÝ•½)b0¢¡Ì=nÇlÆž¦ pœ¹€TVÑPDi¬áª% õl¦+¨T‰IûAÁâeX²\ ÏÏW¾šOv“#ÎÁC§FºûÓ‰=+”ÄÐWaòat¹r’œŠa3ù;¨0UYÊ2ƒbo´îV¸w1Ío²û…¶Þ´¨p‡oǪŒr³ip¸qzLy‰¢ÏøŽzpÌÝvé}7Rº_IYUSÐlB§¬¦2ÇM8Ãb‹æªäÖYc󠫸ä\Ü\kÁ&ë\»hk>bž®‰‚zç0ÏìµÐÜ‚vð ’gßA&Uɸ69ÓÌ~‹¯ô°ô¯2u Ðæ<µŸêñjlF +æZh^ŠZŠ£/›OÓ+¨3#5½ô³&o.Sw]ã~7Œ…'L@“!dc׌›ɸi/“ Ÿ]œ<Ÿ8 ƒ®«²¶ ÔÜ4àfŸç1L0a”õzS£˜Ö)"–¼§ùƒr¹ÃÀðÊ×rrÍIP#aŒŽªgÙ‹9ƒ ;gŒD¤'D=0u7©½%—ÔŽQ¯¢­Ë˜&4hó_SRÔò$r4´ÓTK<„NvE¸;0÷C8½ý÷··¼6‹I”€AH&6€L ˜m¢·†‰‘êb'£±¯I¿‡¥F:w>q«ÌµýQËyºye¢ÃR7Âë0ø§T™b¨“ÌeyˆÜ\cÝH³çwÆíàá\$c mÀóç[Ë7ÒöÁ:Ø1Â<©ÖŒßщM[’º)Ó¼©ý^Ïtí:AŠã5”´Ô¢"T­O›QW×HÕFï¦w1ÊCeë«‚”"d^ÄŸ¤ùåæi~ëÐØvÄùq¢á‘úÅê“ ÎØŽ+Ò¾`øVfª…ELòQUæàÖF–3]S=:1c«{žü<Ê‘»Z!ht­$ÁÉ)>Ú¢/®{¢;ètá>s4Šõƒ?ªŒÏÒfž³åì;-âTÓ5V‹aô´2¹aºX‹PË$n¥}âmr@7 qÜž÷%MÑîpœAÆ·—¡%fWªzN4”ôÙ׬µÓü ¤Íu8„o Åp¬Zˆ ˆž‘’9Þ{̋䭀¾‡±ã—ù ¯\iO¼aëFY}Ë,¡Äº™ +˜è¦0«Â:¹é7õNèŽb£Íy«=¬µUØzÒÔÍMJÛnÒ;˜£‰”î‹§ã§ÛÕº×ȇ"R?†DÍ3”ï‚RÚÄñˆŸ<)9Žä¬ùKê0Ü›}4Þlºåv˜œ5cÓ&•&Ÿ-RPáyÃÂr­>HÂa¦¬µ8¾kÃ"ÐA‘¬Bgc…†ÄØ•Ðñü÷mÔ*'†)UíÛbýEiÑÌpƒ:þœâ§(â£+㹬ÆpÉ0¦Àª¦Y¥£­Š¥êVhé’ CPYA6º‹å¹k7im÷PбˆãJïÞmÇK€¤Î0ÌNÐ@íü3fU+ÓþšA“³P%cP¥q£§™§ ¤­±xÒ +u4MÄ—Ú/~æäÜKj›¤Úwi’ƒŽ¢ΊXÍn.\:IÓÇe™ ?f,6I«sµ5gT¥ê 2=-–ñ ¦•df%«K) ¸Ù¶‚į ï¬Iq +J‚Ú’³²)«ÍÕ}`*Ap;+ ™«¢¬"ÆW Æ“«‘á’Ò¶'üÊ¬ÈøƒÕÅ2Öíól"CͶ;¯m/Å +héi3þ6¡éˆÎWqùÝQ‡Î®#¢Þ‰2Þ3;Öþ› Év­¤£¬y+êĬ’JC xÚΫk/r_ŸïÒ,F§dbk$÷×êØ[¡N·Ó)*Ø ŒcnðŸH“JìïøwzjÅ(åÇ1ªìc'Ï$qÄ+N"­ {l¨ƒç–p¢ú >ç \ÄŽ$|åÝfµ€äØ¦ËØ@pêÂz~?hàëžz+Õ˜/\pŽ»ç¨rý,¹¯¤=EÄ|J M$ÓMY‡É²jiªª#a#ÅHŠè±°°v“"íOœï–Uan¦.]ÒI´$‰=ž´9·ÊÛÌ2Äø@b@ÃË ++¼ú·Ò~„tžšæL—EŒu¨xT´¨ P +X£¦4ëXΉQr®ÖB…Tº?— ¿ »+μ™Š×j¥wM½D‚£ÀÉŒ18ì‰Ð_1Ýä5pKj$N†qƉwG}uW¬7ÍfÃã1ô—¥0Äøæ ò®²UFÒÅ 1ÎY–6;¬B7n°2>¾íÙ)( •+f=M<¥’R6G¾ŒOB:±¯DØFgÆij³e|Y¢jèè©Db§¤&žF­–&†Ma2X°xk»ÌÉWofËZxq8ãÆÏMYa~£¡>Î&&$€O"§£ŸW9ê¾TÙRª‚,¹–L”x²­CªÓí ,sF'b»T(³\‹®·®½»gVÀJ“ +‰Û=tWr¶Òæ°4…mN8u~´\ÿþ¯ô›&㙬Ù?53ÏòÔí8ÑÕÒbRïjøŸBˆÛw@Äw (;¸¥[¢ŒâÁÖ\@¤¤’1 +áúõW˜Gx + û#…nuK¢Ç¥¼³ŸºKMA6W ux®3Ž´h±UÑFËTj•¬Å0{îÓ¹Øîº¬Ö›u(€ÀG +HêÒ§dtÐ!„É­Üï_˜©0\C4tƒ"òxëQ6Ük¨fŠih ‘Æ‹KNŠÈ5c{\pÒý YÂ5 |@þÀaí§-ÙZDñ÷ûèªt3Ðuiõñ›z ‰PµGOº†×b)yhÖJׄQ¬’E¸ï±XXÜ…:‹f9Ûê°AmP²vù N4eupM°PÀžzèáô›ÒF\ô!Œdü§69‹@0ùó µ-ˆÆÉ´»ZVšH"vkY£A¹@g:Þæ·*P.(‘äH¢×n^P‰¦ c L ?SæˆðИÝl†I0ŠðÒCR§VBÐÊ,¸ º__g)fã/?;|°4ÛO© +”ù{ÕV^ź‡O56™*Ÿ(ÔG,ØM4A 1TižEkÊ=ퟅùÓ~e}hÆ÷2°·o@=U+Ön_–:ã„u?+¥DØ­\Э Jâ)q„‰ÜS·ÙTA#os¢­ÉãI±o0I ˜FÐA‰t{ÙþV›‹W5 Ä8ì™ÓYòïF#Âé(úÍÕœV‡ËÝB`µ5VŠ:Iª1¨$S†ªù«;4s*“¸)bºX ð§5bí¤hR”ˆÛ·'¯¦*»É›²@lbAÛÆi ê[£•Ý@Ä*p쉇®>¢Ž®–²::Š©e_²ÉÈžÀ\k÷ðçrÝZíÒ·d¬žŒ¶-2«ÜÆÜ-A)ëØ|° ¨ž‘º§š×-AÔ\l¾´Çl•~f•˜)©Œ‚Ç{‹_òà‰§ÕhµÆ ì꣬«*ÔÊpƒ:GU(:±„`}§ Ì¹_ËéU¡¡““y@¨¯wFý;)¸P·¹7 RÒŸyA#Tâ ?rÉ:€N'å@òuºC‚I”–±ñˆêã‰qAéBûݯc#m9: wú²§üÂåÿÞÏúþSþFã¯odžy×ü@¿¿ovQëŸñ#Ÿu@õ;ÿ$x¿Þßù/VÌÿ$ßòÍö?æ_1kê;þžµìØŸîßoÚuŽ=¼Ëqÿ&þï»íoWΞº#þöGþ_ýÛü‡ûÏþôŸµÿÌ·àO"ûúy=÷z9öÒGÓÿüï|Ñÿ%Où+ÔÌIöÿä£QþCý_ðÇ>G Üÿ‹Q³íõá·³KÞþàŸ—Ï¯åa3OüǵßïWuÿx¿Èÿ¼ô_ï_úÿõŸÕü´·b|¨e“ÿË¿»aòû¸ó¶«Cñ£ÿ™—¿Èÿ¼©öûÿ½ŸïGúßáÿŽöòYúsÿ–?¹ý£ûŸ—ñuôõÍø_ãqÛ²ƒÏG¿ó¨:Õÿ%où׫ÿ$¿ù&ÿ•ÿœ¿üÿÿ­nö‹ö±÷uO—÷ši¿î‡gÛÌÒ}¿ê˨?ä³þöÏÿ$ò?n_ù*Ç_ÙëOîÇž”'Í¿éÖcüc³ÌýÔ¡Å¿êØªä¥þóÁÿ:Ûýäÿxdÿ’üqÿ)ñ帓 ÿ–¶lã·‡¾‚9—Ø~ß¹>_iÙ×ÓEÿ®?ïFZÿ’‡üßïwù?·/ûÅÿÌûø(Ë~ç<øy ¼ìŠ­‡Ú}|öЯÒú´ +ßùÚò\¨ÿ˜kþaßòqÿÉOþ?ÿ™mÄ—ñgðìã÷l?oWMfÿñhû}yöU ~?õjyCíÿÉ‹ýäÿ%Ûý×þ<ÿú×àk>ÿŠ•öí5åu4—É¿õ]Qÿ{;åOù&}ù&ÔÿÉOþ:ÿ +3?îMýßqû}=Ôm‘ÿÄÿëwúçËçMÿˆ÷üéÈÿä¹þJ«üùògü¿úßàøÛ‹Xá÷ìõ禷cÿÝqá·Ïø)#ÓÿùÐX'ü”ÞAÿ1·ù>ãýíÿŽýŸ&sû·M»h‘Ÿ°ù›6ñê +ÿ’¥OûÙþ÷Iþóÿ—î~Ïý*{?Õ¿ñVÞ}ië/îÈÿ‡n§ÿ½ü—?æ¨ÿ’ço°¿òHÿWöoàk-ÿ§‚Ûîþâ­»>ï÷ïéQöàÅNýßÜÕñ>^´S:‡ÿViŽÿÉ[þv&þõ}÷ž_÷þ=ÿú¼«û·§Ÿ]%Ï~älùìãKLŸÿ1†Wÿ/ÿ%eÿxÞïòÃü¿Çü<¾[ö+o?>ŠeñÛ°ùñ¡Ô§ûÇÿÉsýäªû_ä»·oø~7ãÇþY¨ÛÃo­{s¸'×nÚ+¤¿Þœýçÿ’•'üÄÿÈßêû?Ö·î.‹ü;wM/̺œ<öW(¿çDÏÿ$ß·ÙûboòŸô±þ†î%ÿ˜®?w?æÒöñäWÿÙ +endstream endobj 17 0 obj <>stream + + + + + + 8 + 8 + 8 + 8 + + + + + + + + +endstream endobj 28 0 obj <> endobj xref +0 32 +0000000003 65535 f +0000000016 00000 n +0000020455 00000 n +0000000004 00001 f +0000000005 00000 f +0000000006 00001 f +0000000008 00001 f +0000020506 00000 n +0000000009 00001 f +0000000010 00001 f +0000000012 00001 f +0000022389 00000 n +0000000013 00001 f +0000000014 00001 f +0000000015 00001 f +0000000018 00001 f +0000071751 00000 n +0000345787 00000 n +0000000023 00001 f +0000309929 00000 n +0000022613 00000 n +0000023001 00000 n +0000022500 00000 n +0000000024 00001 f +0000000025 00001 f +0000000026 00001 f +0000000000 00001 f +0000020841 00000 n +0000349167 00000 n +0000023665 00000 n +0000023268 00000 n +0000000113 00000 n +trailer +<<2B6CDDA818AEA84A83B63AD5CEB212EC>]>> +startxref +349343 +%%EOF diff --git a/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2022-719-patched b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2022-719-patched new file mode 100644 index 0000000000000000000000000000000000000000..3158e78e61b897321ed583f9e675abde44bb3ae7 GIT binary patch literal 23809 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%0De110 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 O7vw~zqmxmUMgJe90C9%^ literal 0 HcmV?d00001 diff --git a/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2022-724-patched b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2022-724-patched new file mode 100644 index 0000000000000000000000000000000000000000..5917043764c84db17256f66e492684e3eafc272f GIT binary patch literal 119110 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

oR)NLL=8=iO&q>pd#wL+ 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≪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 B4J`lw literal 0 HcmV?d00001 diff --git a/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2022-726-patched b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2022-726-patched new file mode 100644 index 0000000000000000000000000000000000000000..ae9769017695068d1935639f97b5576540e99f95 GIT binary patch literal 303179 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 M;B#=O>8a!Y2Q}`*W&i*H literal 0 HcmV?d00001 diff --git a/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2022-727-patched b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2022-727-patched new file mode 100644 index 0000000000000000000000000000000000000000..0189882c38ff5c14d6f2a450c05be9e1fa534de2 GIT binary patch literal 603343 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

$!;M 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%0DP8 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 z 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 E-30UF#hu`$vyu>X~C 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

  • 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 literal 0 HcmV?d00001 diff --git a/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2022-744-patched b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2022-744-patched new file mode 100644 index 0000000000000000000000000000000000000000..877d2bf4b4904fae527ad4df838f2ce9ed321422 GIT binary patch literal 61248 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 literal 0 HcmV?d00001 diff --git a/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2022-751-patched b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2022-751-patched new file mode 100644 index 0000000000000000000000000000000000000000..b5f5fb825e59aab67ca76802894db917c6a20803 GIT binary patch literal 64578 zcmbTc1ys~s)HkXi-O?b9ARR+@HP@osuFQ(%s#i0s?n{=lRs< zeebvKy32KD_Syek=eN&)pE(82*jm{R018jU33v)X|KT9dIw=;Ajs5S|f_6BC_0P zhE!Dy5+KV1WrE1Z&B86g&cVga#RU-O5Cw>fv2wC;aSM>DS|Ez6-lzT_^?zV{jQift zW2Wx|{QvuplZ%6tosEN(jhl@Wz`^pcELLVNNMu~3Y^-dgtlSVD007xZkhnQHAHF%5 zIY>D;I7vA3G+UDS9hwuOo1HcOL1+mM{ z3Gw@%!2z*xKmNX!x538thdowyQdR&PDH|L2|8=mlKy>a0WL@{N_wn6- zKlp;=i2XiJZb*#xZ_)i6@+v*h>|7A~@4*4F^Y38g;2`~f8|>^5T>g3v!IuLP0|4R| zGXA%iIUsrY7rTGI*;ycYxF3+%?s@DG%>Qo#zzxYI021?q{C$2N<=NOFG%IA?+z{V? z4rT~`{~g>AKmY6lb`}UO_u~P(d;IcaP(L^8J6EL-rCU zMEAdg?S3u)+kosvwtvRIv9SXlb9SGbdz}Bp_fJg!UAON4dAI&&S^l>?ATo)Wo0xzg z#qhrLX_G?2V^RQ{f^9&SKqDtdNO1!HHM0fU15NFLwq}e#D@Rf$Tadk@8Q94IXk+XS zvImng**Sq7LB@twhLBpu=;*-m561ygiT+pKKSK5(Q*#GLNEpVCb{(8-ZS6r04x~(u z<{+Sv5v1B00d378N6G)>Fxr4z{@_}HT|o9m5cmHZ?@<=$U}SFYXl`W;VuVPOGJ&j( zfe!zy=#9RUjX5)bRf3es={G6$NJ0t&li6=l+8StN54L#>+5FFm+;1VP-=u;)*cAAH z>3;}D2P0A@)qe!Jev=S)j=$B7z_xDo=B8$jj}CzkTEK@iJ(7m@AZO4cX=HA1^iUJWT(xYy$a}@~`YY`G@TN^e@>* zzox%|F#XT!O^v|T){q@^|9(A0V){1#k3pIlLNLEirP+Vf%^$etzte91+m-o$W&Z-& z{BJ+zzkxQ_w|KPr2ZH8*AotIEdmqlDpv8Y2Sw5&+{&!_o4{WR7v0DA!6juL37!uxt zy!FH9<3_gmt!wjJ7xFXfZwPJ7ZT?N>1Nl2a57WOAWb^w)0zY^H|Mmg?jV1U$ON9Ke z`(x9Be}e}$bFwi7+B;cW0i7Nf0R96;NKyZ1=iF1jy6&BdR>b@S{WBf?|5!LUA zZ65^e9zGxUhy8CkNCp140NDQ*p~oWR@LSm7&k_Nt&3~1y`*O_6!u{aJ0aD*={#nB# z{d*OU^S{>NVD9>_FogO;6f*lu@DVG>5%X`%k4{A%oI(yb`^O#NXl4)k7s5ySx6OyS zofFU=a*8=T9w?CF{h;u-D;MxTF*!o0KlCB9zXY8goICwS$?5loaQZJse{Be--y6c| ze{2Y+KQ@HZAMcgZ|Ecayzf%Sx*H`qVVulwn5yY~P4?6w$HP(alPpfkObc~#V3|fXlg!lx zv;knB>x{H7=V?>6IJxDbZHyFY-m&YWhL04v2_%P~oI1OuqN$v)H74~JR9k+`X_as8 zzH8mNtK!Y zqnTjw3u$kCatN+r=!{%&9zEGN4FV7Wop+)lBjuMH6*1oTI6%%*&!BVWs-H^V*?Gs{! zJEHO9RkY0vY9AqezDuHCM|D0C3(p|=PcGIlkPbd#AHoNnPgdzSwD*d(0k8=3?69QLeC`5RA zIaIyHmWWo&=SE_dz*hpLrSKWhNEOVShX#00K}M^?9|&!*+Qb-;-N?~8;4>%)F<(k> z;>dll>Vsc_aDvyxk0pm@HI$A^S>B9~g}vld2(i1sT3e z6!(}>AE4r0q#&K3MIYZJMq__Z_}2tNODuVB=s-Dd=v%p4T9(xs4Z7%sx6}@Ict4}N z!AlBM%{rc%H*v0KBHqc6pckaomHJKX)Bv&@qT6imC{K$c^cfevzkkCxmHz9ndhqVuQU0&oGFm~4lG!`^ zZnZVZy*HOi9xt1d^73)%#*5s`z6U{w?V`oFxPkPMK@)}? z`1j2>$OFjz6ViXWpWQ1!`g%ZHsfXXwq$~g~NPABja^*8O5{BF!LH9i`6-SV@+I`#a zK0rua1VK79oR7_{-)+A~&c6%#r)R~MJJbL{K~o5l(yV7T6Yk7?PvM+2@uH`sDl0sB&&#Zfo+U!t8cpyr!_O(G;Lu$ zH=|`;1h)SAQ?KA|mhhY6(cbml!pX0J6TxOjll~-bfWvwpw`sre@K1%*eKe^EMCL)S zpSenjIPVpHzUo$?s5Lz;;k4e)MDtwra2(6F+ScMo%FW-iEGhG>i7?) z*@8prC+H|o43rdOI0C0#9B`j3TRy3E4cMw|VTvdXDBXJ|=k=XbWS5B;X-Uw)0uu-H zy7sEeg+mAy{PdeVR+fBlOOSk^d@z(rx|wxMaqFOZFOVNwjk*m_ZoP*68`_gg%*o=X z@O?^RVg%mP)un4+1fK>Tx!P`lyro4iCq8ouqH_tLsaQIhry{*fq6Z0q_-r?eIw7$yuQG*5_QJ2c#l&uKQrTc zadY*J?dX8;hOf2yhS4|Nu;~UJ3Hky$Eo^w8NhcNDo z(bi|oE4tgjNN7Fe&_klLQo2F()?MZ#+>hL|=+S1QL4gVE-gEUATi-Ws*vVisOzLc^ zO&rsea)w^UI}K4al1*nK$c-YOjC~k^6~|ka$8Znh;L!l|yQG(xM3E7bpCzIOn#q4* zlq1AXXL$!Nsv*adA&qIlreP>YxB0Y`zJs5phGc1f;h1EiC*cG@lQ94Nhtbz#0b1l$5`qi+a~>$GRfeRQ ziwN5@_2Za*?|!wmTkgJ#&KZLS!a78d@w^^st*Hl>+(KtmV(|ELw{a?yz|VMjoNiCl zo1U!5n1rKeK+v5F&_ty?|9ozRCGAt;Xu+k({M*|LeNu)+c^kLs;lL~O@ zz6c);(PdEJ-|Z1FBmeyF`C`zI6#ePUGEnT$~e9-=ICTiZ7+NnqPnX{w&td)(Uaw-Jr~4#Wu2YMUhV zAKFebFvraTZydi9n7%c)#X`Y*dH7w{6zT<8u6Grmy!y`^Umwq~k`q=oQDWG)HirYq zohShfhZRBJ-KB20sNf|z@IyM;`X;dZH_+BvL@~c<)XGu-tqJE6t zs2d^hAm+zwoA5mk;^Ep>*dQ;Pe#D;w!sr%@HNx{KULpkS-;s~BfF$YfVkO|Gt#JUKHi!VYvy?Q;ufLUwa%8YvjI<;L&h_qF?R0WkUYNboc#>HPhRZ z)3<;T1G3o!&2NOyglq!+xNY|-YY8K5v7x^dy1AYC)lFg-gI~mK88DOl6e8C0?^o2n z5z?=m2i7sBo{NHh!&ZDB0lZHSmhx= z9TtM=f(uwg=7PEnAcYSI#^7cp36b!NP|Sqo4w)6{r_d+&Nz)qj3rxpY#Q2FaDK>F0 z+0(9xMTfUFZ-0F$Wex`o5ChXt_<01S zF+w?3x4$xt*g1JB#RM?Z4*C-HlK2wAEwDl8R*Y+v=@s3xmx|P*_{H)cX_XN7-uDYD zWW)^}u)MJJt!kSs9oOLPL!)b>EmbIGDk~}TG4iSNl;a&?*s6B)r~}M}?JJ<=NRFIr zk@AFc44OOgG$!eZmgFF9B|9SMN~@1}Y>J*@T)py25|B>KW*Uy$QrJ}38rWpoWZD96 z&YTimJ-rFO^}P+bO}Gua<-CcyjrPv68*w$$GFK(gTFEfa*-FFDy_5oo0b~Gg0JR&(e*glVO*@oy8h7!vWV#X{{^k!|S#%Ra*$1s(p zK4c3*VLvh45ZRZ}Rs{zM=7r=tl@O+(EDGTAh2AJqm}KM(%5E|s8>CBw9kw5rB~J?E zVsP%Tr^D=t)TGS}C7bEjq49qp79Plk-jd=;e4Q0Hgnw$0i^01|UKh`pRj@gCs&~b# zD@u}~FqpFmIDL7A=oQ-};qzKQr#T%wv@pCdgtpar8h(m-MRVhKn|$kEJXULAtVn@H zz!U~+A?70QlZ!!ODZw@r+~Xc*_ND}5?~6pCAHmW&XBa#VTe=Zps(Vh+>` z@3r-T%h!b!Z-rcpl`j%JXo~mkCcHZQI5-o&1~wS!*|Z?L8+@JhTT>4NEIiC%jiN7U!G`*Q{OWZ@RJ z@p!rhu+abXHP{*~*~EQjGBGm&u5NU4<2~5pUW8IW054vwhpx1oP82m;++LlR7@?eT z_8Jfzs+TOp@p~Q~Ze^r|*YR82nSINc3di9K^>$nv+LH_?=J(k>(>T|-t^JWffi@Hr z1vfy_;Ci^)GJ$5pUwdmi)cP&xQ_u?WYgevi;8g2($#h8u;@hLr^Q9BXpA(71$G4%0BZz08rujf1B(Ky70VynAL|Co3(Gsy zCbT&8Jk&XK91%Rw%vS@oIOWRe6o_lJp~(!xHQ?{YCTHHi^`z1ud943Nt8m#|tJ12L zMpV1ud_WlL)011YJK)MK$(b@x4=>ET^mV*GMKKx&p7z@SQ8VbDK1U?$bgR0h`^*=u z?g&YzmLfxqO}ona&iM*WK7@JlUU_*;jk_WGOmYHu8x84bKzHA?csN1a0R`v_z6oa< zo-POE=2i`s>btw0BU0tC)AbDQL-e92>Oi@R=X`I=rd{#UygoR;EgJ#nV(A9=LunhZ z!3|L0iQk}7d`0MLj>O%R8-?kx&NIN~Vi1dMXD(K4=~8}nqowL4H;&SguyAOH&o@v^ zu_i@ifs96gj zwc#cst~9ezV$z6yOyiAMSah35APPhkm&_jQMZ=^0c_9!!!<67DMOvKO~B+7g)B>gxo$z`YOPZF?R;KZ|@> zaf5zn*-t_GB#2Y|*^$+41!YrS0q*TH*Cjy;y`L(hNIrpMG=~#AwfuU|Zd2>uO=O}n zG@7W@>8gvq*Vz8JrO1_y_3DemCj5^oI7h;pv^0gcR01eRTEAp0mUM><=CTSu zokR}(;=3D=ZHMTIcnbp^EV+pPlgQRD#M}UH8dFbBAW%K3jQKF>DN6slOr(hqH-n2! zBE+Q48F;ERFY|?YMb|DwJu;xbY@1XuJkr7af@57 zs43y#7TKf5pDe%Vy)l}71;6>U`E=ZU+d1TXCd`Ft|NZ?SIuU}PAt_5>yvRFr*$}Ao zL@vo$GQHp=vC7;MGe0S6nde0qvG4ms1#suEZ>W~r-c4%mQV_qo)!@_Nd%eq)LY2ah z!i0*m(>`SQ-Zg|vKIvsY#zx3Q@I**W===7pWyB-Bqo+r}BZMQEqnu@?wuNAlP?GmP z&jqpXXm3S-$^43Y7AHlSnVHolIxLeO!Tg*=T3Z@UTA|yZo2#2XM9naQK5~-sGbJd> zKdK^X;H3+tpzLjg?Q3#sQ))Eop1fog^&IclB)nk`iOXy=G+i{a-OH72G$S+v=0zi@ zIjlK1uO*WixxBVdV@IrWI$sYYStQ>^$z(EQ6=lw4Qe>WFNthQq233mGNxDn9%Up$= z2A-y!2ArZyMX5$wcc-i}+auzONkoSjQ<+mtL}+*EuCg4{Uh-e2!;Fher5nA!WuU6m z82vs=Uemsg6U*?rs&;nS{r!O!pZU=N&Yc|&H!rUT*GT_fvIiHMBk{`a0pEyQq(i2I zpF{SE%tly0Z}J5XiIc#d=g_6Y24VjKkD$Hx{;wYK-Q{(Wua34`yThHJ;NDkp2#f$7 zoZ5GF@j6kuth$Ig)pfg$dA3sr$}9FgYvsN2aU?poRy5|)Rj1b6>1(H-S{PQe*Q;me zk8OKp8JcY_9eNkE?TZc76AGrQ8ZDV7!gVCSzIIC9$#-C{Wweub`C-RkJGZ2@=01Do zw_{pdqkHi6cJXTVOktwNruOsbk1_eJj@l}x6Q`Xuj&IhrGn6&lHfc6gHCZ-pHiWaG zv*)#YF1&lrV|&>%6g3+*CA01O#rrZB)%#8RUUNb93bv_B#ZG80;dbE;`rA#j{1c7e z8oL^YZ@ygPUs&!h)Ct=8ylgctX3gr8T<iBcvr{`poc|PMZ|zlX%yM@|WduQx;RG znz4lv&YI^5yZYq^#%Le~Xa11tRr52VUil`<{8m+@LZ5k14G)J8B-nq+-G8$@Qj=xBy%Dn;m=!GJn!{n!P!V# zy5HHa*&1|wV36X{V@LVB1{c4t;|fB?Q7y$VsfHaqDrCy`+}MGV8bcwyfT;* z4AWrmaTogyb%*gOV;4|Gqal*WC)FH{8 zA0ZTuktTb_H*8*JG2?1T8GXnO*q=oZ1_;(evK zELs^Hqq$)SE4&)JTt$s|=1d*aNXd_QGUz%TxXnUa}IHIdKIgj5#R_DQgmbnY4d6eY9Yb!2oqxC6$WgY$ztiGj!$5zHv6C>zM~0NIOBcV zVi51>X+eqTOM{io9DnL*VTBMB!bEXt>_^xeE!Kkd0}cI$3+rKCnJBVc88beR^=NCZ z!9<|3K&?#P(Vi3iI17MCyae)j2v`(C$a5Y!@%1|2(N z=OMAS9eRLJEnKr#vH3fmSan~*Vq@OsCwS=_CNRQ_Z z{Yt)>_@;gaNzh}cRqqrzEHKfGZM$#CU00QvN&FRt=m$ogL8v&?8pi2Dv^5e3QHDWN zu^s3tTW9E5`3$f>)CpTytQmvqjH{?4DVF>@8WzNSw-5cs%-epaEWf5dM6?)qCAHwS z#o6xA4>jyxpKSrKiYdiRS$D{0247VU;vTMBj!VLFx=L6_Fyj^qecHVp9-6(`?%n@E zE+{sap}88A>%sB<7rN7(Nu*EC{>Y03FM&3f)b*eHCuB|6Y@IHtXh(B7+)dY>!3Rpf zPn(KGL(j4Es^S+cvCietVy81Xk8EQ&a=m54+&9H;B?KzJzCm%)8N)Nv1)hamz(leD zr-e43`d=C`$GC(-9p%pd(#&H&giC*mH`J+j%5emj^#tugc96QI*krzppcVQ2BR{<} zF5!>3a{+$C@2A4RE2);5=tbVrOMo?6A|sa*C1!&8$YkbS&& zximO<_(Ybt$AJgApKW-a9W#0*Oal4PtrI(yj!Ept&T+?*Z3v@03Q; z&A60kLu<#F|5?u|>PU|F`V}`3UIE;maqGevo*r20fZ6-3CD^}z%>O)nfmaTa_Y0zI z@C_6ZauKnk;!pQMJ!Fp{d^IM2_pg(Yjq_C(`RYq9@oA_M>S*Kd`;|7Xy}F{V*-gn% zx|T@NiRWLGUkByZTkaj@(U|3;M_LdayGW&o&CpLuLC10^!i@=C>sy4i`2i+4kT{0l z;Ui-lW?Gp2Qml&9QxvnVAXT7v!K4+Gbnyz6j9Xz?qoU-PWLv(Tt@x*p2>YI8T#Ml7 zXJkA5}3P{1Jz#_$d`$q1U1Md;VYi;u12_u`J4GKK>t*81&&UYK?ITKN|Pe} z!Zz;>^`$#>T{6n60gl1hU#^4PM;K8Gw{NLcN1FVaHgD7BD`hiqwr(YLM)v&#AoG3~ zb7tf@kGCbZf);GCkzv=xmazHMrSDhx-;(6pg&n93A-7>p7Ku${E*_y)r(Hkki#|dG zvTc14xFuTD-t)8V3YbY~$3xlL4X_0uzn}PsBZ2JH1?)AeA8_e%%lraPL;d>Jv!?Nf zA5_@W4u5BaK<_8(-309~rjef^WHTh;=Lh<#_;M*Jsk> z?Vwh3Bk)C-@_o=2&50&o%sfF- z*}jvNC$&K@m{e0(Xe)gI`cr2J)`*4YLRlUc4S&@;hxMJSUwkYq#U=;5D;qgENrg5RPXW zCfkVoz8QJHz6q9NXl8{Deco*quQ!viT^CO})#~Xf?kr<-z>1TQ=_F5CetWJ zaQ7gw1D%E*a7o`p`^Kl4At1pCJ%$NiA=wOfND|6!)tu&w@6$4kjLIF3Rm;k?>KR9+ zy?0k*G<=A5maR*m!TL)fH`@ya0Qe=^XdWlA0{9hPn>`1UhX0VzL;k>vCwktf^Igq$ zRR>S`Kr7GZS*DPUshOwGdIph4g$B7g;pk9eoU=ds62QNh`e{()JIR=1LhAc%X$7wp zj*c&D?m3D)BJsiE8ZyaSH`b*UH4oVeQl>-LV#CGD1hY{~e=-A9fQH;5^O|5(Dy<>` zk-Ze(n^NQq$R1vpDma3GG5!UweEivvt#lmj_;5eB`mU-k(%i1g&A4?#>665w zZf;iix}Y=e_a6N3hzzLQf{vJW{bqwOy&g{#c1q{*u}dyrT?*=8 z2JZw|xuGrM+fZ6MVtg_oQPc5K@J9nWvKiZ=^iY7PSM8Fp2Dmr(T`4nUJOkp^K%9qDDT2 z3X(?Uz7v`F((^Q|7?6jbndWP z#)6X1XLVN!=DVq_zZ&-mi{69VjyN4%-4h%Sj9huVW9K{&2JGfMK0XhfZ`@^aZDNt| zziCN?`x$4^w3?b5pzQj2ooq=->&edvGvdY6Gzi0Io$R_5fQG=-A4b93R=89+ZUQl@sN{1q>9ytF)!}4B_yn~wahEl zx~3#8eS)1{jPJPcyZRK13*YwiUrMtzU27q{BWkiHuVfR4zw^V@kJGsxzy=!=-EEe_7im{+x117LjrwIVnjeNsHIX@z`N|g{_O` zd-rN(|CWon#}@Jy?H1;i!`1<%Of_j-B+RNwc?3O0K{xg42~G$@PtrA)&uYW;WyA?X z90y~x?gvH}U2hw=+_kb#xVmw*DYpDO?(JuZJMx?rGln%3Hl4HmwYs(*JM-g>1s+Tn zt^1uI#&Ys-8)9g_eh;1VpWjykJFPF-F0C%f-E#T#ymKM<&1kJHt($@|&Z3mct2ve3 zt?j8+hv1y%oNmCB!&lQL(}WGZ0SZJ;@py9SGP%gS$>LXPF*FufIoRshoLCDqDYSN3 z73I<8srJ6Zg?(>uUb(!IjTNNvdE=xeo;&!^fNlzRe?cB4$ATBCHMu5Q+R zNwHF@YO2bD(t^reu6MS#u&kL&V!HMSk-5G*C6N%^NSPyfvdqSy+jsRr=fR*&qf_=P z9IsSwk>)Quc;ABKagbXb4eD6=6Q1^U_Q9LH03>U6JpmDf_u^Pg% zkbzt_soCP#C)o7Ibxp6!?5n&l(_^|;v1QcAK{RKP)(J}m39&eqQpNcqF^!z22YO@P zI|4J_JTft#37g1$$8)HS8PnH4RIM`@Pwp*`)mLkjsNnXOXsC7X_I35L6?E+3=<7Lo z&S4}v{Gcd@^N9h(C+>o)52(gW;7VW}~`dG>QpbL?g>6*+F(6$+R(ER>#I@$>ts(C+*s2i&&Ln(2Tc_SLLG+ zx)jX`gL#EYN5tzTo?p_yAmHb($vO-pW>s&~T4GlfkW+i$w!)NRuIVTY5jisp7sshp zFl1G)A*s%i+m*Np6V=10FJx=_|CHL_W~FPKkx&h;X#L(H`_=WxsyZw2BaL9=Dy-AV zYDcI{w)@07Ca3DEE4zzmpIbO_Z`B&!okJnqkK1L6HH{-l?VJOoY-lu3>oX!r z%Xp(s#AXu~>@7y#jL0Z_iMv^GRUOa$9@ju3dT;ZW)q7p9wYpccRbU)@v{9)=Q2oPHfhe`|e7|9gheooT-kNo=+;<2@d6- zSL#7|9^Mx|Ymu3Oc){>hXzazLhE9*?EdoYz1(zjpjB}f;d1)B4CSW2-v23N?igyqH zb@{7TV}%)}66h;!FYyVTF*>VDw7p`k+t!>!`255jkVq{#uF@C^DKGG_a^79WN}KZ zH}?_j``dkT(Wr^9pbHGd<4Vf#=q^2(H-w{iJ1zRJ?M&7Bugc9BW*8_`jAqQy`YLdz!>+Oc|g2^s-g+Zbb4E z(_E*H+$)Y9Re(!~!Wzkp>!;$?(kU2d8XF?cc*{=wnZ5ICV{*V%@3fGbh?kRBtHAhs zAY6!xrnRN|uyL)Ko|@24GYdJPu`)R-kx`eiEST_I$vBJsHGpx9YeeGgNfFO@?(+Hj zF#IyRsY-qO#KwspwWKms8(Tr^fhb@mt=@jvoL?X zUZ2uuVRi-wCE2(n;_e73-E2)p{|y=9kV|6WB3IR-8&H^A>uU?);?{bv9pW zJGA1}#YL^A>OfR<753<5vW`Ehea2uCtrQcDY25hUb0t>MdPRiBNQPva{6I^Rl27tE z6v4rKSq@Vix`0lX(0o#QMDMh%IFy#$w?6z!WCo+FFQQJz$S+sLJp~NIs{mjy{A(T!oI&eCe%TmI;ER+EYTw_yXouMB*UZkJWu_{kZE6(j< zeXX`18&N-uxKcA%77%H9T@s5-&uk@_&*Nq=&>pqiS809vv2tvyI`fS$qEs_eiR}+> z>7~`fU!$W)W7Tem9 zugF~WA=h_`@}c36aC%ihYAxOnrPA`Uz}xpuIV`8!&2Q*&o{U51{!(8*Nwxr+JMjgq!PZRr zTKdX&-jUHa;B{Z8i+l$*1nMQ7Y1{s0Odxr!pKlvAIWD(k1)GwYv`)=C85zB(h+3XT z+K<4QQ&OGV4B&NltJoH%3N9sm+##GvIA3};7l1EZlRe>0F0L}**PSyxqXO>7c5Iv= zqq3KLI6q;v=*9fI_5DK{~nM^(gLVdHG2wGMWw zzF9X`ZxLl;3y1HO)v4F4GGD7p4%$-C!~pWz4!XZ3qF&Q!t6*Jzu58|F_?^BQ8(Z^z z?!m#ju@73K7_lA8-R|_r=}sO!&4!_vm2L7n4JPu8Os5&o%#w`u)q*c^!(6vmdbpa! ztNY~>lh#%eTm8!@FV)t_me@Xo{0K=)PcN!|MJ3U|_tN~xFma}Rk8;v>GpA~~s$dFt zmg2jbmLWqHqRXl=?y>hq7dcILb%bQ_ut-HzTqnqcb|mV0wLd*7s?bdu`MR-|t2wh2 zF$La)-Q~61xR;jtD+OJm$TE7%7FJNA(-iBQwonZRzD7Y?3k=84d(%}*JREitrnn^U zr#f}GDtG!5l@T1HYXlb?P=@{Cis15AI_=BDMY;QXC~#Im8(tlOdEKFVGjv^6?7X6V zJo3%omdNbzL+nmFjS%dkPhE+HQ`EH!d(-fvk47>xL%n8{WSX{*lnEkhxCB8+xC1GQ zNedd~#rab9?%=8J_xYwP{q{v>cioz|qcM4EGgzBe``yG9ydKhNlCdbh#DJ=nf}TL+ z$R6d-Kl|%S>%!L%c)2M*?^sfBnMSgA)Uip&##gXW!*2iVi582r{=CN`*OwIsm@F}LHcBn`QD=!PQS`MwUUGvsr>Om%lQqNqgOsiEQxBq1BwH3&|BZHXm z>kY?DPi$0D)g`xOZmVf^EQzs2J|bF@lJ&rJM3eumblceh9Z8NZa|qRhs(N8zww_+n zOwLRxP13s%J$hQUBI!9RAoaHpw0=@6@c_jU=l#C!`R<70qVCU8INHj~(PsVrJ3=qe z%SKDYED0$`(=OasWEPrq%96hN>sM37I_l1} zzfM3vX}BuCv>;r`7Eg2%>r($kl6H55ELEGbv@g` zUk+EJ|C}n$r1NFId7v(p$JQXuF%5kXYgTQH0lgx&gal(oyxnvnW-k{gIrjC{M?O+L zCIivYE12!ppu(WM=p6fU1yk0M$BisiB3*<7Qk}!| z{*vpq9_{F@x~ERo!N(z%(6IR(71GBOH+nVHHE{;Nc=IHu{)X)^1F6d`=ofb7MDOluhh;*&PeamgC-X7&yQ3cCU=Z!M+jEO@Pjg|7?+wy+ODq(zmMV1P#r?dMdI@*t!e>nil)EpA zuL4z_fsj|nUMe&HdIh2I!(LyMf@Yl04}R{bb@veC`8tC0(d7p4~w5uat_@L963KAUh<}C8@ z)CA>Z|J-R}D!3?_sf@inHsl!`unX)2o8cyr;)gu(Ug7!^G#jy>5 z8kLx9r67*!wf;?0HZ56h#5_TnfPrrhXzhHjdT(@UM9CrhH6qDC{ByCvCpef^F^+Uq zPO`7h)y(u0cDPgJ(#a_uy`Df?`QL>k?GAg`qfHA{{$jDUIG@HRR zW6XGNS=p`JDa3k;rtXA1CeUrCEolvsstD3yy@vfli8 zdlh)E)hWI~SeyMbKA@@ZS2sw+~ z|6nwVL;t*9jH;J8Tz0cI%W8uVsZ-&p5EhD^{ByS@?hpN$9!TO6$*7vCsdeK><)+X0I3X=Oob#W<*=8W_zvAdJXUmbdnGZEbvI8<42^1* zujQU@FW;!Cl~x6Rb$vHk=5`Y4pKk|PLuw^o@1!i6!WSh8!{|ICLngl&CW^!RgjvCV zq2ngfJMHCS@2;>Cdbmbq;w=^WG6g|TER&K+fw=(3D(spk{u7!0I~>UY|JTDb#4=Z9 zv)VuUt=EdEe0q7XbdC@~9tBfb1Clq4mMSj(@)4<_g1K~APM|BlmP_h!9PAkD=ocll z0-joDW<7TO37@_q=0wW@96pV405oYoH&Van`t+66C;~AMifn6r72DB@fJ~OXf+X)^ zw`xDlxE__bhev9zp}HzR@T;TQ1+ISnbX#wur2Jx+Sp~y_RE2)9^)-@xjWCHPyHKlG zSiZ|g zoJiJkF^eVN(KNiSHfm=U>HVNb9Fs)T&CIS-x$^VDZN3}m+-P6=&h?IWI9`#0s%w)W;FafJjA zUgnb;2(ui+K(zln>BSp~j$!OAwwj3g3VLn^1X#N=&BN>}%eX2(a#<5bUGwy={Ov-E z?e4SmM3uh0j97i|yzLZ967!TYAq7bo*laI3{N*CI_X#{9lhs*+)$gyadWH|@hnhCr*hr#HgoR-YTPxxRf>(Wt1&vQt+eAHluc-wrm$HR^1(Al-`GK9>{7q zHwtq;Wf<44HMup+>ii*bj>@Fd!ROPe6}_%{b(&arU0H9<8;n`!l$Wv`M4zpfKsE2D zE2ybG&_qqTqtl*RdCHpHEHg;#IG#pJ|WVRM65D@o^#?aUaFNytV@N zE%%L9o+2j_4xGK5{M4CM_&HvFLj-=t*_AGX1Ki&|-xsmFJqzBsoeuN7v((+tFH^_g zHFK+c)xh84G)Kzgc;5AOSb%e}c{YJ;j%0z+z?xpYVtZU;kXf^0yi%`16h`Zwll zsRbH*;apl#70dK1#~G?7yVS8n^GNM?)^l8Ls@<6hpX6mva7)x|5EGhB1lrG5B8qip zO8o}UhUA22w@0l%v8Z6ze@IPX&}k6x>a|~s+7|s)HcuGH2tRXfxGb!Tg4uBv>tGWd zWcN+KzKAN`1g%uf(9%qAm2XU>x-n^HU=0J|T78#4&9FUAz$h{~Kyyp{w78PNyj=nT zKU*bwpXs1GrBEdrvqG()+Y6XA_^NJ0t>O6_vXTZpnT+G-R^6Xl73jWVSYaa*_@gDw z{XYOaK*PVVVUtyPFpsEcC*~${MVtp4Y2LSFO9Ip+?-*NbP1err-QiW!m8=J+=Vo!6 zjrygjmMmrL0`-=y)-BW)co1)4*ahq*7yw@)Y{fgR#njFsKKgZO4Z}B*1!~!?&5#Wk z@x!Vdx-)LGC}zy66$HCMBz%T8pI)eo2-v3HQgnRN-t`jJ?e`u^6NXHlFd{uTFPB+56Gk6f_HA2LO3AYB9-rBr;gB4z-Nf0{%(VOiBba0p zG2`T+lzkKw(?C|iN*R|0>VxEL)uQr%OO@5J(y|R@+lv_zI*{GFt-Gn+q|HEw%c zoFzViULmgHX2U3*OkH|mL3y3$8Inyusoq{xvA!awFh{|v)xw<=ddB53mNNA(@E&+5 zEjN$#VpbnsS-JKX2^sIc<+ta*$u_V~bvF)4$tI4r?kDl8lHGYHDHi)7e&!kG_}rr5 z?NwwsJ9aNSXm3P030-(Le};XgetCw4YIFS{Jjj|}d_yv#^zk(LTkd}L2&)2cJ8 z%sC-BGwDLns-1aTSFVv1uHLw+oMK0b_N-c#yoSkJzA7<4O5&0w&)$){cB5)T?pj+R z%{@kG|q$!vo^y1kg#G7f~+SaFn>Xc~9}@)Pr*~`V7$yM8w8MM3lrb*w}PE}fb1=mNyxuH zGOUc)$_6Y{66crZ6dP_;RS7Q*=04yc1t1GM7 z!D{l3^jsV}w*G!c%CC&Q!1-~0W2a7nSLg%Rb6IEB`Fd^;4F_l24tJ?^|q>#a(GfKl77o|rDc-9psYYj<{A*d4wTBe zoKee$7~#puKRHxWqWnOU+5+{tbJlaz=`%Umrx}-uY@+P2lshL*%1lYiq%*RX zXJ%wc$g;ih$jf^hq-346Zh?GtYU0X73dS^{Hi9&)ot8#SS~+gR40=kMao#MdPb!N( zzqRVl$%{;EAu)N>jKSSioa^Tt$r7il_MF&G&o0`hhc`C-bCzUX85dREiF7H+U(bt} z3UQ2$SYl1Ity8UCw{^`1`pB2x+ivF&!^8=>rllE>pN!1qSrX$9>MdKKtCOXI3m3C4 zQY2dCjk_ zb@v|IZffto?3}#}X)7tVmQWSDa&Ky7CoX_( z8TbR+`N5y;aJugtIoDy_+##J7oM$Jn$iX{Le>tJ&=F%<|b)quTz48IO@GhAw-9z3N zv*Hb9=S#O{#8uFR`NWPx;>`sKq0DRREp>8k^3vtBC5<3|Q5O~zZP>vSR+m>E$dQnK zY8MuJTG#z331gakl10?4^HUfr!J{$%o}3%N3V%TdxB>hhgo4-scKAS$y^R|{kdLJd znZnAYr1;dDn$6Ypsp7pwm#OmNjFc_R_Qm;e)+v%IQO>5^b!$|WdAnEdrd{OCzNnDy zEb+8%Os!1wD!ooFXD4wq>&%5h=RIXg))eTWM~$}HMkPy0`5A8BO!3R~+?SM#{1fqO zXLe8>OauhybBl;sVp7a@l9J!CbJS!dtAdiR;P&i( z+6yM&YBvFmU;^Z!rKjqUYiwUN^4UFh=R>S+6a@w+Gl7K>SP0h8;gUipS zD9Pd~cK%a#;V$xPDI3CRSOsU~61Xm02QG#SVcT(?Nj6Q+QXPMR$|!t7Npi_`p>gcy zc!W(R4~Lh|O3TQ}N+T=kT&_Uz*aMWl@np2s77e$>wsWU-Cq-@uD~lz|>!@-vn<&g7 zFD$62^Ew8}-FH7Er>bGJ4Nrih>>_yI5v?FUmdciq=1gn;aAw5{!nVY^VyP-QCo?;V zhG7Ot>{F9Bp#y{hc*34|0(~VszUqvxy34og&G~`U)S2-MCNN{?hEE@-B3YT*{vj;M z<#Mj4>e9+d_9k@DUmPLt-(|}WLEk9NCbKu^tlFqrZ_T%DiXs4K63IviFX&)8a{6el){YiOB=u6}-Wa@l|yLt4MY_biSngKtyFw zU_?YvU}eO?1C^BrX~;?W751kp1gaATwT~UGb|>qG%ge;sq*yk@My}jZOp|r%SP5K7 z8JzwG@3!LDjCkbAeT;1f!GZB)Q$H_DB`ZbQJ9CP6s!FWIwh}r*MD9}G`$0;=0ZU*H zDxS2zZHKdq)XPdrRB-Zs(0NOr{N_%^mBh3C;f}_CrzZcMRaN)uDEYH}kL8o3G^q{D z(o!U6+4KD#vYK7}xjXy#`+z61n7Tk16|-%njaHfropSWj}sqwpC$#x^<_t+ix zF!EQa%l^>HI*&bY8`xoRwN_gMLsDbsPZ-Hmi>mi;+D}Hs7^0#|4ds<(rMt+ASNQIz z3KB*y2Yw?{b9dJ%cat{4Vud_=vl0$D3_Uv8A(cb>j>u(uvTy;feuoBe;yhM&ja*hj zojS7n_F;Iqt`Z!+c#!br0CHvi_G$&GVuy&yLNzp9Zdncc$91;*_XtU|!Qzdp)@|5A zlQg%t{@VcLp;yX7B(yGu1o##FD*g%nDSi$A3}1!c!f)fBz!yvc-GDz( z0UUG(lYu+v0j2;aAO#}O60`t*U@Fi641|H6U>fKJrUNga0G_}VAfPvx0X%>V^Z_%$ z5YQLQ0{y^j&>zeJ13&;62<8GeBp0zFHe>^`5mbUJ=st8mdJsK?9zko+W9V`8Bzg)x zgPujtqZdFG_yoO-UO}&-pQ4|kpQG2&FVTOYH$XC)g?^2G1FFGQ^jq`}$N{U+@6o$p zH~3We(ZUFH9Qqjj0d0v&P$y(FvK?6o_JC{XGxQhKlmBsWv=!?HafEoP_eF3u2Rp{^NORx`oj{b?(qIKviupDSn3XMk>f)sQ$(gj@uc7ae3 z17cATDn{3$1o{Sji$6rpVF-qTLL?uZfVzNmbUoT0Y)9K+I7Xl{ungUZZUXuEH()>b z0+V1)7>Tt22f%f#CFY8`V=_#RwZasb5~GA4WM#lX@FnJhwZ__F?Z6@M71j~!1QM|> zSXYn@49I2V60!p+LZi??bQ0!=^+Y?N2IMoa36x>I`JYWi)`La-PwL~Buz}bhRD8;T9XMqnec(byPl95x=TMYo_Rii2>F03tvnIvO2=`D2r@sn|4Z1~wC$jm<%~ zffXqKbDjUf7GjIAKr9Fx0XMJ^EELp$n^-s&fkj~kECw6}Ut=cBjKyK`SR$5$tU@jz zg~(1c1`WcNVd+>7mW^4_SkxcO!&dS?Es0!17hwh1T5LVG0o#Oa#^YDCVX!Jr)NfK_0-Pz|!F@dqdOV+XK9 z*kM!(j)8Ab6FL|992^I?gr9vpiJbx`z-{5jC@)|avCG&M>?-yt_8Im$b{+c?oCM!u zH?W%^4-|k*a0=YPFJrf`+sHoT0Cora4!bM-Ng#9N?kP!g1&7IZc` z2V|h7XcD>@cfnhNGvIrq94W&F;O@8#m*cH)1+D}kcs_m+S%XePr{h~eAhHXMLql;d zT#b|>B{+j?@YZ-+yd81{orTT^TR{=niB#dmU@2OGmg61pj$k8F4bFnQcsIN|-W%@& z&VhS)e|!Kq5ANe1;e+uZ_)vT}J^~+wj|LaO1AH7l9@&o^!YAUB@X7cTd>TF-pNY@H z=imYOJbXUB5MP9s;HCI^`~n_^Y(cgmpP&JFARdJ4@DN;&hvSiW6mGy{P#tc>O{h0= z6`cVtf`|D3McH@2HI+P%lf1knzSF2YqmcL#+gUg(3KkTx0Tyfs7Eq*1?}>o)-n$e* zI!Lvkf{Kb_MO3V3JFyomc;}t_avSga-xomdyu0u3`~N6}-JO}8-JRW;-JRLUIC8af zYEL-pH@tg!s5+|AM&NgQsW*=cUvrn>5v(K_G zvfJ5L+1J^(*mu|u*iYH7+3z?{F%09fx3m4R!PpRN7$(9fYy>tA`vIGV&A?`2v$1*D zB5WnL23wD9#_X_dm@DRm`C-9W7#73o#LBUgSSxl8yNI=8SF!8ZZ5F`pv3|vV!X9By zu@~5D)-&uE4oCHtrHJ*0Glnycqs5uTnZcRK(c{eLEaWWV7;{#ze&ej-tmT+-HgGIB zJ2>H-C{7$Fg_X>TVaKrI*mKyk*`e$(b{u;adnQ|-J&zs24rV8@=d$(KKd@6+v21Pj zGU$=e*#&WG`UPXJ@h(va8uO>{@mmdndb|y_Y?Sox`5Y z-oKC%tih3rW7B6bja2RnjY%3jPiWG`WtvnR5n*p-|N_Dl9FRu&6#@;RBD zES8cD*-G|j&QA7VPBuFnn}SWnOxPNn9QJTdE~kZ4$sWWxg@s_DSS%KWMYAVx@~{us z&#VHB<`i;vb9S-*!x3|eIK`Y2PANN@t;x~mOvfxROKb-ggq31toa3AmoRgeUoF6z7 zS)W-~+56ZH>~rk9tWWGt_9ONSRtLL_{hoD=b)Ee)`&ZTtHemnGma=YQYHSHBo^=c3 zVFWe+6JR5;G1z$KolsT_HktK=b(^JN{m7}~G_sC!YB`5l&8$0^0cMCT#a6KHvX^4( zSog3km^EgPIbrUYH?|!MWZlOiSr4!z)=yX}>minb?Zk4ieAXk@W2^?N$M$pfbB?i2 zVNI;3s>g0yup8Kq*jucdQ^jdu9bx^B{f2#FJ!idOy~H5)2ZzOa#TmqU%^AWO#@Wj` z!aB*R=QOcSu(~)B&PW!`so@+_`<-=+Q_VTZI?8&>nar8SnZ=pQS<2bMv1YyF*l`?L z?^)d(7mho}i{s1s!1|fv$Jx&D=Y+6+;ly$hIeR$GoCB;TY!jA%6{?=UJ%}}O2+jb` zLdM6JgA_Z3OoEX}`OiT{geg+v>s8;MlAxBYR;tEK_21Nhnu5h=30V@>6xK#oC{p4X zXh}{-s{0I5U5vW=9-E64Mh#k)wjeX6opYP>3FqOX@abF*SHvB|oz7jx4dp)LkvvPD zJ1>y;iuVg2;}7Ob_!Ic^`KEk(elS0tpUyP zeIh)FL*J==H}AVO-`V$P^$+QPig|Q&05M?f0Q~{02DlFh9FQ`ge88Ro4Fir3I6vU_ zfbIcGL4Scva98k1@KW%4;KqS=16>As5A+`xI`G7xF@pjJJs3QG@XWy*20IOoA6z*2 z=-^KELF(VD8>nwo_fs!bf2{rssZNd|myi~ujLai1k&j8`kRd}R4bdO6Wr))d*^r1K zWkZe*c{D^Jq=Y{RCkYLQ8V)rZ>N_-IX!+2ZVOqmx4_iO%%&;fJ{?Hhxk)%W=!LlQ)51TFZ#au`)6ahW6Q@L9(!Tzy|K^7{yc8rxH01v zkJ~tI`?!R0HRDc>dpVvne){;$f>pq(`=@BO-r1XJFQFGK|54CNxMS3LHn}yeeK`0!E|zZ;`HR{dD9O~zdQZa zbb1ChW8e&@896hWW?Y-mrGx2EI(j;mI{rG*IvF}eI?X!mI`4Eo>kikQsJlXUv#!5x zoNle|S>0b|s?XG!X*n}&X2Hy=nU`ihn1#=pJ8RLbRkMfA4w#)f``GMjv;UaWf6nkZ z)8?$0V>8En&civs=n;Ao^bGWh^ys-dbC=9Dox5#r!rbz?KhFJS-jsRf^W5ge&dZp0 zdERUN@AT*D>+8GgXXzK}SL+{|Z#O@3{yhUvgCK(%gQE+?3*r`JEV#L#YvIU+mln1! ze7s0w(Ue8@i^3N*FM6<8w0Of}_r>Ll_buTrIkcpG$=xOImq5dThQke~8O}GfFq9i+ z7&aQ-Fzhzs8;vs3HCkk}(a6SVhf$W%UZZxSD@GkgzZ!pMJj__rc&f3!@iOD}#-7Hp z#s$XB#D^@}%Yv3&UiNI+@5`qzZ(lKB z#qbpqRxDXzvBG0T=!)Ye3ryCTTv|DBWys2|RbHz;tRA*HZ1suNch^i^Q?>@KHC~&! z_K_*aRMS-7)W~#$si$d$9Cfg<0?YBE^_tK8Gr|c)&o7&sk$JyuEx7xpV80}#05a-bB@WFA6qq$?G zW0m7!#|Mt@w++}vZ8P3xw=I8L%eFU89H*&HCQh+VXPjO+DV)X52jUmy2dr!wZipB*DhD3o4{?P+f28WZoj&7-8DQ0dDME^cm{eVc$Rn`@Vw;t z#Pbg?p;xWf8L#VJZ@fNxlis7fb-j(eH+s8xhkNIGH+Z*u-|*SsBljurIp%ZMm+&3# zJIi;oufK1GZ-wts-&?+~{kVQ({l@zl`8oP|`|a>6^y`+X%cjdrWZPu>WtZhr`IGG< zx1Zg9Z~F)TMgDgF!T#C))&9r*@B4#*{s9^RdI2i~>H_Wtybt^?aB84Q;I_aWfoXyJ zc4Y6U+tIw^#*W{D1VLIsn}R%ol7jMs8iVcxW5H#?t-()&VF(#AFT^e+KBPJ1edx&0 zHK75aS)nbVzl3RoEevxGiwfHv))00n>{WO~cyf4Ncx8BV__gq#!e57ji2e~HBlIH7 zBCI1^B4iOo5p5ASA|6F_Mf@jnNaU!Hb-8FycPL4 z@?-zAMnnw&HzsU_)J(zB$W zlkwzX$)l2|CtD^*Cg&yJNWPc+B88hGPT7%iBvp{Am1>Z>F0~-FH1%NW`P6%<-D&;P zrl%RCnWSw^^G}OS*G)G~_fIcMzmX0z#%2^{G-lk*{5kV;mQ_|jR#w)&toE$;I|uEY zuyfWrvvzIV6|rmIt_S%8@~QlZ`AhOG^ZoLp^K!-6#hP6eR_*#%_66lrWklKVvdpr=vWBt?Wsl1~m1E_ia-DL+@+0MK<@d{fujpT4 zP_d(8SH+QvA1eiwD`232E`39=z-h&>@dPj+ShUS^aHt+LrUcGJGeuW`g%k_?NT0fp$=zO$mU@LqgH7 ziUkIAVaq7ksyl^fdPvZttH73?+YHQ`fYSL>h&+nyD5YR1%$Y(!PlWW{DM}AP(`_wG z{cQmRxY))!V6Eq$r&4D>x0ar_#XRs4JnaJ zrOW#+oFE>$^L8LyDLDgjSN;qH4CH4@F2IK=m7C1``l(->AB0r$J#`B z@tHAslIyWmu?M2~WyuAZdn5^vh@3CcN^;(EE_zp7cC2PzO!hV#kzqRGuDjRCc-0dZTE^tOhYsp#k39wfP-Dxd+DHnPuweYK4 zumZdQ%i#+g0c~#0JHw(+f-6@EC;Kg;9~@a$!N`QxRCnyH{AZAlo6hjr^?B`Y#M}=ieGs9DQsm26{BdQ^OQJ!LZE~?jyhd4+$ zm$ZNXxwr%gnv%={gxR3Uxr$(wKgFB~0nCjCeBclGtjmCpfn_bis)Ize1ia-`A0(k2C7kKx&s!#5UR>OiUtkNRZl1~zhNt(boV4k*K$hG9Rk!TaJZ8UE+EK?B0>;4 zQKon*SFgIgq6UmR00z{^?vbvv3$PWQ@o#V}m$;PJ@0^jz2RXbWF%{uuf&AUUDIpFb z>l)svlmnTy63Ys^EWNbE>cs4%-TW=wlw}*jeInfCnrj_gS1k~k?y{@%mhADX54#u6 zhc&!q>DGB36?}3~NOoLmspygmkF1WJ8|xNj*Y0(B$Hn-#`ru+2H@~qlo z&9;Memu`#ZItk~jU!@l$0TsM=JL+5)ir_q8Bh=aHQhif&bk~8ZQc2;iU1@t$_=4^P zFqL4I{1Ft;>k9x7R3M$eCa}?{!SXtVuui=SXb`mBCZY=rZw38YS#%q?2<8xU30#0a z1TYBoIelNwdcbt~#@;TErIo@mC!T?Qt#V3|ZB}$;30}tA1McCe2a{@wMS`Y;D$oK% z1fw26aXm)YDwYVLAQ_Kav?zX&c=ejZq}5V4-aP`?^1cZ=-2ay-imHOdbK+yIQ4!VB z(x~L918^RBZ zuUy}A?6ma4shX>|M1oM%wjVChW=PCxJ2Bd|h5+_om8IYe@fT<1A!>mX$yTc;$P1zW z#T$9F+D3}ZQu`NgWaH3(@kUn6MqFgj$wpMyK^eUjEoLRaS9p^50cn=`s@|u^bYT-I z!Sw|29n$wB2y6kPyT7RM%alrk|JBJt06i1HGU`qD6myEyFrZ%wM^XZ~zFkp;lytu? z3|vxZ$q2zK>Q%S;mF_7_bi?%Rb_A)BK?4R9xI7?w4Fg6J{%RBmx?_K($bCyG(jbE% z4N57dwkpOd5PWGv;WJ7=8!<$%BlL|f%o-*6z@AWl-wE89|3ik8&9?~hfk#htOv8a{ z!a9*4o0~2-pFg#4!+Z%eGAF<`USArxQdN5x?*jo?LG&6L0zeUrdC~OMyy*BR^J0$; z5}rgbn<{(^@}FSzW?ILM3N4ZW-&P=P1@?&H2zsWlRf|^z?C~{RH)xMTO>VU+;mRZk zQ^4lRpcIFE(@$Jy=!>7_)&gG~h)_9`sAdwZ)^XfIAjQ`Vl{26sZV^fd+Ry-D6gGhp z+$UHsDQpVG2%usj8h1A&eYzhA`uTA}>3@<+BA&zQDiC@Ce6I9qSAWq7nx2pvNZ*zU z0XF3ceNSz5 zGylTd8l)iliv-}Ogc3g)xL$I!1XPw3%GD3t00uX}Fy=RTtOWqN<_JOWQnHT_kV_vF zl8e=Bxk~nDH@tz{qh?rFnDuUX?|LWb%8-E&U`+sTu$F)!tssOa0F`ix3`{$u&^V+T zBSk9gFD&9k+l9u5i!IjW)#*u1DgsiiQ}3nk%Q{)b2Ln28fuUfG2-w0=U>Nj8{}?9% zcjy5|z|p`(5*@ca(#gwot7e?bxf(nzJ1r?oyt^_wtXc}jZ>|rmj%g6mwutZ@(wS!XavSHRGemIMJzX%UC_g15NAmG94x@Q1Vj`X6 zBx|-%M~)^QVFJzc=aY*h73zMBy>KVrO+;llaDoEz52FT~;rXt~3txbOIa-N|b?M zH~~k{!K%yjlaJm!!T_b1R73$Mu%QSo7p-(KSfI)gfN_*MqhgTJZj6lfeSbCDFKj{( z1i_f<2FO&OicEC_M)LO|Q{AAE5ah}m6~hjxm;OSL+vo%kAY4e0nbw40hI}7Av*uTV zwA(_EIiZZ<0X1ZF7?O%tj8wP-3|SZ9;DE5l?g%ZA(Z4)k(NT(Vo>Zv37Cbu-YUQk& z7a;pFMsIT^x+cgJkI_1@OW`bB#Z~e@KgQ29awY&KXnJ!gYz|`7iD13!#8xnh`5?Fq z)>2snT4iYZ4hy_~j>yze2ME?(BxVT;txtrlZM^M!VhjZiMG%7B#0!G-orM-a9fS@C zA7|0AaIo;WGIk>pQ^#zXVrmsjVb0(=I>tMS9UT*s9D|6HvHRkZJ%YAr!sSXgxRFkY z&du0Wk*L`UMp9N=kn*(Jl9*(5lZq{h+ZmSat_fBvZK~&IZ_6{&JkH&HF}t?*K3GW4 z)+jlhlUI<$7o5tK(Z&@ldM}tuxw^!=id|h2lU$`9yn}HyaS868Mw-?mP2dRl9XJ?T z8C_YEsM(x^SMuWQ?Bea-6CS*}xPtiP@GM_VV4xg_ALpjk=2aIq0kkL6C^?anSD45b z0BwS`5Ovlxf@MqyGN{yq3VM7ci;nzAcqfM>hGc~1X~OZq5{v?K@bt8uDf!~u%Gq2v z2rilr_&bV2bDZilAzz;ARTNhcR~(!bqzU@Ng>V8~jE6@CM}>(4JRfrt(o0&dOK!ab zns7ayR9KW)C@w0Dk1Imzqdyw3lU>+s#KQoBH63Y@=>%&DN?B2?4Jc(!(e~#FzyYQN zrueSMI+2HfnS?d8`I*X2!&T|z9b#9fKrdgFwPNGbXS2XzG5F6&*9}Fs4Y2M60iBrQ zs4Cjyn)2li3MhHu=~jN`L8~J*zo;l5Z3@OKhW)7?>wl@o`Y8dpOf3U?YSBbIf}l?9 zcTNOF|IQ1~vfkkwVH~7c$qP-2OAJrqr^><;!+HoD{crpux_#W=qFy8O2sGErfzxHy zZ>lEz??xKf`FZfaH*-mkA@Vl13j7WnRIJla{wLOXhOW3DuOkKT<+QijTWD)e$E_vE zsX!MT6*f@C)L9vr&x9*G{CT4uxfq#2XXs($2?QU|eE)j}V+pt>oQ5zO&%gU;gf@Em zJW9}mv4#N4X*1ziA{uI_unsrhmtT+p=^~1hgx;rfzZ8K&KoY>Bfx(iigO}ap_7Q}t zvKbT^IqHvWm4P*tY6Mn9&Evb>We-VhCbZf>6?zVv>qAm? zjw!wF-(L?1hQs=5|L2~2O6UAv*r={V84#-~GXpm*2;hWvIsZ)VEG`#^0& zRFyOF@t;TZ4qY!7THqBLpeJz3-?&gaN>BV!)Qcd$fCg_aFsE%s60nN%CzPcsloxbG zZ^56t#+0_0*#r4+LsK}D`qRmxGDDSsTt(09P|c=fu*{4orcN;~*#Ai70EnN>K*x5g zgBZq%zGVbK&hi1NlMvd?ZuOeSekgarL(=KbsIdrjC>#QwO(ObwTGh#05pwE{&zpL? zSG~7y=P+HX>RE(qjBq18l%rKJ-<*b`G+!M|14_S1GpLBvbZo(^%N-y78 znx3Ia?$6C`%Bd6A*9LkONOyat`XsM0jnbGIKFin5kMAi9a<&rbw`_b^T9lfRB>@B9 zq(h*Hs?(kZ!Mys*F3!2V=P% zhm&`9NE34tGqOd>iBLyKI+{4N;o!SB zk&^hFxSY7`%HxL{4;>7y(6Fp^clX^OGuM3Jxagd=7>Xeq?cK$2IAB9I5Z^s=;dZT5 zzqD!fE%EV+)2F2{=%H}7o1MOaSj+6!Prsf1<;|;oP;GREG%+A4AUTlFOs}Gr?iJT;$6@dKy-P^=vT;&(`m)%qbRe5dEKFwb@;gAIqgj*wQ zcGyW^4j2f~51wb2VY5{vCDtn2ZQWt`usj@XA}8SMhig!V*bZsqPWX;I~#(z>{+ zIE^ZvT@p^J|4$DDk?r3;5oAT}Pr}#QZCL}xQfNSa7A{8H`VXynXKwTy?9$r8>jbpq zTxW(~9UKA33NR2uuTY|d3WG@)97x7q$O1vMEcHcZ35{VW_Qmj@Co-IM*sjyIa zdH0YxGlE&~X3~jhJ$8UQ7-FDERbKOW4+8M|S8C_!jy@bf!TG?J+9R|-1P!4su1GTd zoWz5MK-bg;@DQ%KNpc9#)`!~5qQV+Y@N6z1e=CCe+0j2$31B&_@P*>%hl4 zP*bPg&MuelWoLV-dH0d4|os1uBvKdbl?ICvXVXm<+3vv6AzBe}j9Zh%6hvo-<~fP(>G!MhK( zcG5-Fyu{-vdvh=ID|Hs-EEG?lBeOG-LhjO4BcWIXw}2r~1l)ZjcGJA5qSJUT_u=h= zy&Y14F{+8)agtU36wJSk(bJ9y!}4&sy=%Cm7-9<_1C39|&p&TEx*h5E^p$ue_eko& z%)OFQ+ig2-#1>}$4y&Y#wm2A06Tu;!Q^DXciM=*M|8U~9f~-7E!QWeK!&rCUG?|W= z&sGnGGmj`9)s`04a*CcBvm)ssCrPHP-_DQ8`H zhSBRhqj5TKTB!3z`-GylM$oDg5$?S~L_!+Mn#f+aT(1v3{h-%Oz zpI6ffLNJBOpqgN8EB&&S)liqw3GzEL>M*(msv#4@F385o%J0bG0Lc=t5`P8Q-ONjI zB2~B@yXu4z#n1WyRa_L+vUgKkEEUn`n$URthsCf0J-I8{=0G|rgv_`^FqROz= zEF5soKfCr=(#8ZWl~ydiBtBc(aYZWl%QgEKQCFqFCKFj3Bf*#D%taRx;8%o9o|wE{ z8n58vi5ck$>Edq%SJm|3;Dq>K=@lnl{NmN&rv4TlnqNA>0%$@hu$D=d*0mM!dIT8O zEBL~AFWQjpRAn#Ow5e&!v12$H>b7rh$SHBl-t4OVQqtg<1ug^b zLb6uZ&`4L;@M`Bz9oHT{zGgHFaj;89kG%{6(Msra3!@!qsW2`tJ~c;_lbDv2Cy7pl zyhwcYNp5Wp7?U6YlPLJTi)j67p56TP1XUzeU}AKzC^$YkZigf_8t~HbbMv@xLO9e< zU?QuMOA`}!iFYN%$CgM_Q}KjwFb7N$-95*vzaNz#MRwM98E|Z)rES2G;ov94fvpgX zqPTZ60G62<0XRR3ZgWdY;-Xs^d{lCjn**jZd<^#$SsL)bFe>#_VN#j+Hg{IUsPNE? zF*8L5T$G!3JuR_VeA|-i6$~|dc&Uy_C=eIKB*a#$cnJmr_ll0*<`rkeN1=5K+QJo$ zinc~pLu)Hq)$@@d*=VY0Yi)$Se~jV*PNR@XalgX7`2zR*DCld|`nk>2iU;QQ!6E4_ z1V2zvlSX?tm9p?qAyj_3B?ohd_Fk9&>E5-I*@`})$c(Cedq)8v!I*9FXn5K+pmey`2+>E(D7In9FlKP=?0@*OAh7oEP zC~|FR5wm?aRfegq%`jS%S>;%&wGKlIo$XMxGTlpfs2Gl{yPHE{slo#f;=-!W9yq=7 zp-}l97p$ezaKT|!q(9mh9cTgOuQ7Tj*dlzSeR+PXWOd{6V>d-7i%vG3sI}OTC#i}% zQI6mAo3~d_Y`AgR!uc($FKm*+p+T_U8ps#H!GNU&hM<3}w_vbj(oik4soL6RFW$a- zdFJPI$qCzo=F3HbuJl%#Xl0#eeq(e8?IW~pm^T-%wO(JiRt!auh5m`w7Ot5m zV0-r-?tJK^{EQeGG%WN_bVh#C`H(ag{vaGPbLJRp``ltz3CII^c(H4)y|rjQ_(2Hs zU>@#Q9kldL@~f8o#rX)y*a6^5$SFZ+J{r=IGPGcRpD$Oh1K)#D;Cr$b z7}4Ee76lrVS?D8{elH|f+jEr~pN;YTTtU}vz<<*E1n^lP4)BLOqT7Hsm_vYDV6(8E zg6}zC3K0qoWx%fyd~O83$PUtP1Rq+#hsGfSpodI$z*`R3qeiVjyGkD9wL#Xezg|ME z<4Nd*p@6r7DO=uCc8Mu#QG_p z*)V_$c zPKjvYwW=jRjTe#b5abbQ6sGBOjF*=d<}LMx1Kq&DvAiNnpL92|uRJQ$PrASk-{kFT zvQT7HVtUX?;kUj z8XplNm)QDRd)bN&%y0bs^2q5QYwAK}Rnmfxtk6i20Om4df4dt4i&SUas^RZu!Io|e zTK46jnZ|;CC}%KK9o{q%%r!Fewuayp#k!6DWUihC)zp1Tb$s(@X9rRP3Kb^E2CX2N zb6q)5Bghw{2~uM}bGlJYT}CD{=ui9&iL0q2+AF#$N z94(0VDC=uA=jcg>)W2g)pdTSy?;8{l&DaJ@C}c@9D33$`f+JCb6BKX09yqd9aB2)3 z!j`BN(P>`_ySs^=mm_-WHzvs7zYs&!KW2`I^?D8_U6>fw7O=4n7}Tna&#o8UN1q{_ z(S(YruP2iKjk{5bz^`YN-*Q(;kNjGQh%EhQA`=w9^&MHVRX|@Tgx;Wc^%nhmw~kf3 zpGg6A;!B@)(3vx-e-n^{^iO6)1;LzEejSBE5HcId$Ng?FnplO_rsMVG>%ZU)g&m5~ zlMo(bcz1;(koC{V*9dhe90%@B>cK@l-t`x(A<$K!65?JwRR?z=tRa@*u1c@;4H<(Q z@E6=j=nBt&J5GHx0uYTzOXXyy{NEa?OaCMcLqZMgbS62Hyf3DI7-< zh|ODn>6S2h0LrBqk055v=L5H%pCO*~>E4TS_;{%5Q!%;c6S4ELg{k4~UuqZx*@}Jv zsQ=!!q#*G+89>lMz~e0I_Z`4Pc=nGSYj}cCCQZjOX=N-*gPU+wBNz>a^!RTmPJO)v zT}~-ocuGI|1)ks>E3;gfoFMr>pJ}w^(Qe94+{l0N>h&9o8=NFoR=DknOMdO*_wDa~ zlQNHH2(ClDI-q%->TyFIPKW<2{QD!JJ)R@m{>gJBv+sdN2^__PL&D)0$d;hhQT-0u zNK2%GZZL#me6;#^bTeLBM-y>VJFB&;?5Lh2xr)6_xlM`uL~gI^mJ4%=x1x9GS!n1x z?lQYNP=nOgg4>9tt-(GvlG&EdCZk0wa?L93CFTdNy51J&<|ZcRNiFT2HkkL3E~&06 zt=*lOnwFZBTv(?OoQ2yj_YL1FUS_tZnK@UE{PtWqGh3t`B7~e+e6v?#s+sg?N^wrP zq_OC5#W8Vhd9Y`JwAeYz-B|Q5UT5)vbvN_CUFHyFV<*``JHHUR<>6*tW=^Zb({zsg zbhNJcXqGhmaC7WYaauvtUfjkyA=XYxj}fySLz2=m{K%%|WlP1A zC)>}qDt51zOUVwiKnJ%qB8Y=w8-VcUU@Z?YTK!5S2y5(Fr3(lAY$HUQ}ALN12=gt*2*GiEf zvrg56LtV%?VkB?%s`%An{dtK=`cgP37T;-=YOzXG-_9*bPAN^7WY)B%o)LHC$46F6 zVIeQpYH9pN@z(7rbrI6&-3he`A~$Z5U8236$RXY#&OuVeO-S6AQY@)W-<{GZ1~X!D zSj&rY_m5jIp0+SGT_z1m4X%zl99^fejhnST&1{Vb=*8kmckU+M0m}&0tH72iG3ob2 zv{@cAZNI)3<{|v(d~x3?uv#6I!utJN(Bq?P+~Pqm3Ao)AWxdBtx=)ROTl zS$m3WB^3qbIkn7 zIC_b5rDwsyMolM|(;j<$tKBu>@TCQAV8qn}j@4F`CYo_^c)qh^hP@b$7(W`x7W0I$ zCK&%S;DWi*>3+i5K8tK^Br=(2sEb%<<$Ev!5Y3mLG#!#}+aoP^$+0vMApr#IiNCMx zgT^X02xp;%ojK7}E!COSRa$_u5~)ymJ;-frZ3MyfEP8z%M#t?D#+C+OI4E-A#!kXr z{MH9qiFFrr1DzdG;1E}E0*_ueJHbF)k&u^|D**{{1t;+sZ`U|yF`Ul@V|L$oeox$T zEYNAUG-(=M%{`cNA-PnN8)#KOS`25-hr^-fcBz+NQc952e*>PFQ?s#ixJ|aaU%p9nt>M3X7 zqve5a4r2eHv|J?Wkuff@ei7R=LI1=DulIxHH^2vtrug!>y4a+=q^#6Eqhd5FfEIo_ zD<{87oVPPNI8T}qlbDbkmzANBd@#8K z?f~Y%DdLH?5Qi*j9rxP4tCxUgB^(E5rc0cxx7oOF;ZIw;XT%-xkD2eEN#nubsss3g zj}HL`G(=FY%n&Y#pSjU2{LYoblA^lOs(DDzJ6i2wFZumST*O zDibF#uNt+r{Kz=?0s$~XE9@_;DKHs~ZQ;SO@i-8f5Zh*(|D;^F9x-xDbuaObd0hyU zpjm*JA@wJ!hR^`X&GnvQ@EyfiT=N$&1;dyEH1a@?>fxSzfe}~0SOL+ z@NofiwuCFHm<`5!LS?_7VC?rU@*Tn%s$8XLn?$Hk-gc`$?Q}zBuAStsp$P9gHTY2R zb`o=1KoWiI0j+MJ)kOv%qQfBm)WeYLk4%2LNuPZ+_O(b z2Ke6)(tiIA^-U9T32jsv_+1L!d5lkYPgngNzW8^61<^!2VBRKT;HwpShSYxnSM~6p z;pt2?1OJ(MI9CyAhKQ@S3=D7toirOUf4^J3usg9Ux%+P@GvIn=IG``%Y#!5{(V5=e z^G-e~f{UK0>gm3#T2yy;Cv_!tlc&ESFb{4}v^7%5$YFZzRrgI5a4)6DYARBaP`HSG z+1$ej_^x}xKeY1)MVsoVZXp_ZMZcQg817*FaZ!z3)NKVt%2I+fG-pt-ZgCx75up%wm(sKHYw|v&6FEnCmI= z{`&lia%pKjBxyz`g4!iEfmkBcQZSO{`u%e>0HlDwpe$Mni@$g?GGW5}Y#z@Y( z-}y@&22KHv(1~jqvBB0R==d=Scs>(8=PkIj=JuJgEA0|y0a%aZ=^$08_>V3c$QQ^m zMDjDJ0qN#h)GO)*b^B|~2H+}|8&W;d9n3<|4^5Ds01tBNwO45V{|%llW7P1UVmuDX z>(XVkQJq}QT#`#Vfo2_9PiLu^+~8_yVU}>S?MLlBx@nTC;?j!JJ^Um44WY>kF6IkF*jScMe4rI)zL11Pg;T{GnHnYz@K*`_VSLEA~IaNb5V-_%QHD^8KWWo9DEAgiI1J6zBhsLnebEQf%Lr!tO`xXvac~GNPRGdR|5r>67N*2 z210ta3N|sg_{uSWUniMUds4j_wD|E zaheWWdLBt{I9N?MFyGG-oW4s0Z0QW(sLaJf10%iTB$hqi^WsB?neU1cya;Nge{E&G zsiQ|BtNa|`p`LOKba1ipy>-rC0(o>l{JNj#lU3q%zRQ*)Yi)1NzUo7}O*ZC9%4fn* z<AJa;(w&F;V_PYuO{X!@xk#56%7E|`^f~csNMj0wTBk7LNiRL)?Q!4Myx^4s;nZ`Gt?hjz!r*J z_wO`IN~vCoB;WP-xdB8kUBn?6(4wxQ{mUu>QD!D(BwE$^pMKvGK=j#eB_E$5^9(-w z)^1Z}D+%ERo{}-vR`Qth>v=7#$#7l(5gPVznXKs`ef_99Q0pYOgW;4dZ+ddXmN!Yb z0k9xk08WuPokR)PMBL#4!{o--CmbsrH%D)rja_!Ji=^&A;fYpJtNeu10ZDPqft-Wl?gw+mNd>e~pSge?0lT|_ zeHZDAG)t^=_m8)=6%>g(loLVQZ%UXV@AUsT|Nl6{OqM)1U9L z9`w9ZA3lrDF}HQCWX;)o?hnKd z?(I2yR(j@4#oha&<6+JIMIXGtl3}`MrcLGT?iFQh$GaaVH3UM9!W?koW%is}7at zdE}DHl*8q@qGX;NY{YleltkBwj~vJ?tNi+vhiLX!R3=u4D=V3=*bxAI7$pPIDs9@W z3MUlQVG5y2Sy=>aw6XGSZtm5np-G`hVG=uE8_!MRH5(7LN_(>5fJitX81|Rcg^={rPwuj+p4wH39v=(f{q79gGG$dB6o0 zJ`cpRV)L^^AfBf*MiK!BfyrDD01pUZz&r2*7yM^}5bALC-r*pM3y*W42+U>zBn7H= z>;0+SE5UXP0yUdC6!`yW_F!hO)BDtfIzw&lRK`a5|9)*k%SNRVk@7=~F?$Nm5n$U5 zY>$vPr!r1iXH*Z9Gr^@dnJs2VcSk2#{gvj0f8%fn4D5+-0XO^Bl`oWi5#?BT=JR3I z{`1SS(o22QSL*+G4YAgSQK5l7>qpmV+0RUz_XjyMUx%ZaS;l(?(CWUt6^`Vdyt1WE ze=H8Knu0Q}Hd^%Ia#JoC8Nc4R$?49|I5QS^!Q?N4F#@gzPP)uss16_h$FUd$`6@&7 zPocPX;$`&aI#xp+y#m=oO<=F^zTZQmLlR$qnHhf4_1M$fPt_ZVD0$R6BnO;5DDm?5{_(<0kRaFDFs1t^{ykd z_K}-6z>XVavYKLrLQ7c1gZ*P6KN(+6DJ^-*!Ss)2v9P}?`Q`d3fCBtv&_5Qh;(fh7 zT8B(DWd~0Bgd)LCNl1)Om&EUk&qzB<(W8`H;d_JYqhP7&bQy~~i_1!FgQ}0mv%9jh{Z|e=9 z?Y>?nuT$L<_u=U%jC*g1dytlXL8_o1_Lh9p3)+eWGkZEgyp<}Yf1FAEZ8WOrsb<6x zik#&QPR~XI(R0!`sQZ2Qub;^42xKBWL(3+i&c4;HUh^si6-2%wuTNnL*3rW!5vX?< z44-ab{fYEN2(i#w>HC+yQSa>-UxXDq1-@YlnP+X_CYXGL)!c!B0+r8x>*?0UdZ`W9 z$bR)w!=7ig|1LgS^i*LOY80@SpC!z}IU_0owd#(nx2t-9=F&$;5`z20ZIr#0T1T%& zsW$3{Touu5LH)9r{T_%H2ti|IZ}ZNcwvnGW-A8|fHeIuz=eul2eEDWZ{%WF!KqXq)9`xW3 z%BR<$b?e)X&ZLWi8Nrykg*LZ9rJXHI(H&GYVghX$fCS=Q%UL3qW(N=n6qtlI@@wTR zv{9bJ{2ww)!2v$P7iM=>cSyYa@Z)Pz_4Gx+hLW72{vq}sL?pBTpOW@wP=khudx^HY ziYajB3gX^*ik87W!no{&v@B6(LPpXqNsNvPOSw7qcujV3-ahfEYBzIBFY5)1rBH1&F6SjYO>VvLCYE`MB_g3XMh4hNz`zok zlB)yZC3@_6vP9u>k|0lj#e@<4({I%I^Axxb`vW@yI)d_2dN}i@%^3`&gHmBB&nXFa zO^Qz4BLctjLQI*EZcT3=Wo z=gDHz_Dg@}os7*1Lz{1Zw;U_6r&naKuXLLnx8voerLkYc>WJR3T1LU zIM^lFU+m#mSkY8p^gdhq26_tX-~lJJ#RGNVrks^^9+;iS(EjO?@S(}M=~_!ov~|y| zefsL=l}^d3K%t@IX0w&n=Q^*~95{2XY1KT*dAI=)xXcjvZ*O9$%6hJ@7yz=}2???Z zXk?C5nXAva1OrO8`=IPHP{(MXvy86q6@F&!=pqTf(KAchuTmxS8e|dlgX1a`yXsg6 z00xHMym}L(9|H~%v)DR*ofv+fvN{PLm9o$nun4dv86N>A6JX@$T|y(puB%)@Kv*?+ z-vo{xWtBexyB}h-4Lw!}EFlm404LgQi;%CA9Nd7HG}UI-i9ej12xq#-`9^P)9$)Ub zYlC=`jlZ3v)M~T$3KJ1jd#LlV<6P~9Ly{v`Yk>&xML$dv20|=stJem;xz|=_E3uhV z%Ok+O^7=ttRgiOyG&Lq6Ati<{fVp7Zmq#F&J?Iod(V}`&;#|q~5^zqg-gXI0xKzaa zI`ZWgdGZl>Meh$Jz#q!~fdoA)C6IuR>1LrVm)tf;DOSBN@%tOFRM@%Z()?Mgj3-IR zA`P8Zle-TtcD$4jb`DbP%2mph^s?oGCp+r$0VPmGMjkaw4)0I)c<|9M=9|ZQ@yBX{|4>Yg zO>eA8*3-c3?E2wjmMs|<9HCA3=Q7=hgz{Wr07 zPT!Y*dG+*zd=@0aVbUoJR!!c)g45y$JFc$6r=p%PB-k(mBRxR>R?r_;_Y4F{fz=vd z1eA%6MV(;9QKTi7B?Q2O;Je;*U z2E&3uIA%s53NiO*ppPE(dDhE{FT$=tq+^~#DxEC^fmktH2m=Y&J969*$jObqjM-Ee zt_Kk!AS-zC6JX>p3$6YsMRwnTo^l}GfBCBvHU+v7U{V0~Zaim-ng#CS6yQYM4n95_ zS_){3T7$)I!Q9fb7Z!$C?9TR6ruGkSY-EYA1<%@R$0E6Iy5DJgJuhjsZqb7e^l1B` zju@o8T$)(xanK>qKH5$#Qx6!t=L4{TDJ@kgOISEXJY>PRk?bll=yDH8Ku_!@5v}#e z(}@z8C#L4iz2|n1)r+0I>svUGFFulTD0hFU#LBeI0g?XoPS;o1>A=$AU;&&ueOh$j zEH=}VD7|?*`!)^OJ#YpbhxR@04D%xCGzh@PR_d^^6~xbHia|6KZVSM&q*^{%{|!2{ zZhfBgBI!9Q^+Pm~_2QAUrjPvC`{O0sIG*TFwiDtdHQtXO%b(4k>0opL7{v-|_5wI69gc>h<7ZDgSJOX*2_{WR9YQ{_Rsxh84dxBzjriYQlW;@stMr`R$5xPAGF12#B#dTxk{)ue`T>DvfpUPe+j-Fo@hRnBSwR9)e7 zfyDaAvjae~ejoLW|8S^uTYAU_!cXBH;Xr?4ci^*@!uoTUxeHhG(UwP$ z7q2|xbUKV(6>jgeQjUT{0qG717MBH<wuM_!v#;A zVD%9te)dLWXA6)WIZfsu-)SfkMs`%}+PPwEhvq(mtv@W1WR>Ac|IA4nb2p!FZca24Mhj+j~G^x_~; zwwB}wY{jupV5KqT~+oC22b$2yMMBOIo2NEdi=8m%pR!BGe#Sj|2QV? zU9rX(HSmSt#^#-)vK&mDB$S5L`A5(J-&kbLUyJMo&lpv?s8AqkLq)D{6AB&NQD}{+ z&|Z)NY0_n+cSwj2OWF7oht#sv`(Q2!#t7QoO@dt^V`cqOWp-~?=46krRL+a#)h+2Z=_P<^)h@$JpW?Lk+`H>(g_{~7D(hw51UW*y(yGo~7_`T=Vx zI_d#qPrR*9{pI+@>G0=>kBW+~b?cQ%> zU@!erY*<56>~0$LZbK|e#*OIRe~ax%N2i=}PnH@Nb5?Qoocx#l zzdn1qzyAkFSZHIcTaZ+}LQmBo0YSpR1$*HdFfNEy6*Oqd>6^N{k;~7jZm_| zYHxLnW_-5&)$NZZn|7b^yGB!fU?h0&cQBL#JxE@GpUfjsbv9`MiurHnVx5XH4*rZI z;Sd}N$ABltK>RWDmOB>UD%$h4NgB0=jn5=>YNbX=tJO(rH5au#Bq5NV=Wz1jmD;9L zmDMp3*<7*j&0MTIcp*x1*i4r5b`rb@P9{m-0L|eg?i>-1i4fFS7&KF6CGH)OBvCiO+8KhNiJ#+7sc{h1S?hhUDrN1}4 zIf@*I2uya~WGL%E1x^_X6{E;pd_nd4dv$LE-Cut&RLDX{e4FLg-UW02ahMpFBaGXf zwwuDRp#m2vFx7`}Kc-SZ-{XeM$E_=`IGqL6mo{9XR`4z$ReIZ@1y!}pW!gpvAs8%Um;}=V|9X}Cq zoJKNeH}F0X9Sy5k0nThdmLhornvb@7?e!<*`s|9jYPMRD znRq7j)YT=9y zo$og{@RN9%CMHIspp8BtjVC)3pMJja&det6Xv&eyLxmF91=iqm+$WQVEc_ny2VDJ&p)#$l-<6a2&mLY?xI_&oA%Gf4`=(Dz?3*Nxb&;n}$iKaI=bNV5 zzAf~^U;$StiUE^|_U}a?vfT|Pv=1i?Vo_)Fh8IHc zxf8>br(*~cU&C|K*y=6KYc|i0T39a2cbHYV1D!fGCqtu}SePK7na-A9z07)uHpbgI z8F5bj;#)g!m7F~!!6jn}Sj13QC*y1Eu3+5;5-yF#&K}PPgW(|;LyXoG4}h{!(_oZH z=b;JQB5$7}o|+K1Ny%;qX8^0)2+jPN+B={dRts$q)I#ZB%K0hc1DaA@1BCg2|N{A$n75?QCAh;4sXpv_B8Ns%2s5mi7$_(vs%(9S!Gk8mIl z^b%YBT+ckm-XX2==uDrC<@UrsN|4~bw4QkcK4PqYY^A0yLCo&Mc26Xwdyqf0StqpV zTC>}zZARv2@cVN8+vd>xTy(vZo#hwKS{w{JFpy%gd^?XayS>x zKMFquqrj-6;8QT49Z?{K0U|Ik8BF>8_hdK)4rD#vhl3O0G+Wz5FbxbwXUYM>GaulB zWH)^Umfn(|Q*}J#*GgmRBNEY{QU+wcbATD_PS04rXhsH?3(Y|car|F++hC*>VCtSS^)PsF3z_QjH^mzd^ zZ5I4ZzK`_z)bp@MaAA^q7#kFyqz&h)CXl>XoLX6`tEGYH^u}S6RxO$n7NkoJ;<8+c z#Jo~f2@R}%d=9#BRwhfoCU?6Ju&G}Qeh(;?g7?RK2j73?Zx@@o|D(xh*Y`kO{9d}T zGA*x!Yx|toSGTM6hG5pW%ko)6SGpAJ-3q)Iqfy@%=N3XUuG76gQ4eM{01i#5q$^PGpAO-=J1 z{S`i5Y}ho^lLD0Np+E!|Y>C;wsmK$Mze#9b4%MvWR~XW^6A6XKI=YpcUj}< zmt7jh#bzgDC~AY^Y;v4agLK|$Dx284@`O_QaqF$yoRxxq8r<>)7)0_n4>50ed1z0E z>xAIKF*smKn}Cyk#t*uQS8Fn2GJeC|=Z~M!k#4E*h}*a*@d{F8wjT~Bd3V02VZIbf z)x>BK?55HAXnoW^vPzL|Karl1lF2?4X?AELcF3W(I20Xv)U1!1*e=%8)M%>dni{pb zhAS6u(-2{rgwi58@D}GM>vNns=q`}QQe*tF1xr>Dj2jtf`?4Rb~6YcHID#jD#qKsOi zKC>uyH+{6uXT#=zEeqyy1E3iZA_k0>u-Z)uu9z>A)aAcgu0@=CvH)W#GJ@VmWBmSy z7@)G7#Hjao<{Acqq+?JnjC>a|aRT&xxAC#_JG0RkJ5po>vMl4>OY5P~(>4VhGx8xiSf8EDe6=A2p|7!IzK2h*f zOeCp2ia`t*N>*2)uUuV)(M*)3SuSo!2T&drd>UmqbC5ctcuUDs%;0bPm}mhoU-Swv z|GE-eR7tb#Un;RW0Uu%vJ+9}0VA}G(siqL9@K`@Oq!|&3V z|6ONt$<05bJfIj$?icw#FoN#|7~KX&AEW}`QjZd*8j&|o@rH+?X|31VuC)rtv`vE; z%2wOC{8$)nycYVW>0$q!&~OkMqGjMJ{1{+2DLe*vXAW-=+7BChe*S7otr1=X>?WUv z2$rGu8uDtH1F#>;@rC$d`2j#=)FWBRlKds)2}vE9$xw3=jPq7du%n9Zygd&!7^ZxU z?<+0Ie}To!zgmH!m8wViXC>gfv(11UOuin!ry-q2F#H`Q#>1!oGei&$q=MWq2{j6h z#P82UDV^=y{?q(%1`bhgu$RS#ej8Aye>s72+J@CU0 z1=N4h5`wlfI6>+m+Bz=@c7xsKCAA=_d)bwhU@RDW<;(@_UOmUS>p}e?qZ6pBCMQs@ zek!0X#&3aNk!-&OEdcP72fPY@1y?=bPhu-HSFo}kPZlH+zG%G;vJbvt$b2yaZ;4^Q z`3up3nOlAe^kTse{YePK(+XENJG0Hs*Mgs`Bn~cK_I5vz`s9*wwyB;tCH7B?^CtY_ zeItD6fWXqD#y1s(<$E$4(++0sDy*uO96D5b2Uy4jGwDwSGnm2x28*sov{GgK7oALC z;7*m5O&(fh>SuEBpM@kiMs)nS;;2w=e|o`=mQ! ziIcJ3)obWg%iQO0Nw^+Asqh>3;d6QbXk*gC|Yl^kmT1i=Q zT4sS9Y!QFEATH#GdQc~A;z0aqsHpAp1Q?f#M-KE^Pw18%vf^%E=##%ZB&L) z8D$1UOMxYjwu0WkmPL~cFWuk4Z1UHG)VFV$H8#)zESQUC%|5{}=f7GD5p5x2uQL(% z+dcCy?6sQ$F5sWeCGnz(IrWaoYYQ2S8!QrDrl83yfnr17|6)miu^0kNotTY}eD{s` z*D>VHOXx7O05eDp@I-uREXIqPh>qZ`8`0bb>lqVK$bF1(8!PO?PX*({h;m|k=03r! z{9_cW#j)2B@x=DIV8RFztb;l|u+#Ij{vdwhvO*6eSHX!^YNBBzh?au)CO@}@X0~t| z96X-gwlCnoVfmxx)-NhqMLqF>$N2HkOg`nn+=B~QjhdjIdVcD$&{4jmdg|jt~g8ly68$*8K zByshR1Yq=#5}g5?QVOy%OSQ6k9dUzfQSMb{#3Y2s*247!Tr64+rUjo*OpnvcyhOoE zcQ~wt@@O9$_=(6BOpI&RR_xZv_JV$lqodl9c68Ke9V5wVWsNc?D&0f22QDC>r3auy zWkU!!)B}taU4#|HQBg*HdU?^It6-W9a2Ay>Y#6JHYlP;qqoS&xj({0N`*dID z5C#26yo5H=jnL8$SQ1FSwvqY`AqI)uQR}Tyf(NvA0M>-9UJ4h9no*>gC`vD#EZX}! zVFl(U-37_FFu&pfpCnBH1Be_=POe;~gK`z@sfObnCP&?jWoO}vJX$r zjNud+J9b5!l57)YtVmyyGCw)drdk7ZIYS5GbA^B^U?=x}mb8VlE#5F1iF_aBkpJHPMC5;pPB(WE2TPDT^4X0g?sPdZlTKeGWB)xu>W>Y|bGBJ<~E{d#5s0~ZAafwfH&-W<{ zltFWk2~**F^5uKH&WE#@q*w8;gL~DJN|;YFbU7O>0l9Fklo0eNR(fNVkQa8u`Bb9ATz$A<8I+K z*$r=9Q!v>wVL^6fTG7(8H$4?agySF&Y|-NDCalRJ!b<%Jtw~rctjWLFMHcaI^4jkw;Ni$Xnbs8FSK$I)lY(&^fi?qaK@rbH}Y$gfCm!x z244Myq5KMiv`vJzupd}69*<)y;NG4+C%tmsa2c*_`>qCb*#)XX?t#rDh;5@H`ZHi0_rIPTD23;6|HeC2wtM51dIW_nc06Z#`eEizyNUh6%yN+w(wQj3VxmmaE%*+ z*ubln&zOLszJA?J8_*XFokU&+>q%q%*0^#%l%l-a9%rog_fF)$fdgo+Uk1GxQ+uCW zBEh5U)XSaNXT@-^e=u1^qUXjBh!C9b^6YVPhK@b&R3b zDDZ3kQSIGujhBUso84~pe6L+zHHZl8LnLbviDEcbdG7XFE(B*5^I>H8o8^nFlr^9hu^&}=;R@8N40J^`f&hm1cZP3QYeB9{u| zw~8_K!v4gcdl65*>V@qay`W;v;9!`AdSGrQ^x*kh>agW2(KlX-#r92U%omr)rw{9| zAH_A5tl*~{WeSQ*^C~rxa*?sjPW7SzMFV(ZrciZ(Xtnc}l`9S~l!ckUfgg-&v!*2c z6y8p%+Ty6*LQ_4~tkJEeDT%kYO6|>Mdg$ETXEE)%1$I##~bCPB094bl}Pa;j`~ZVn!U0L}IQd4Sqq9e~ClJ1I+-#TKNLBp1>8#w1lE z9=gOp|D*ug!y_rflZ(^Fr>4sfd5GPVZZYnxx~@)DCv<+_Uc7-?{Y+lIL{>ZnpFNhX^l`CMqc^QSPmZOz>vI_wI|`O9SfZ_3t^Wmqt@0 zHDFaU7++)k^dTsCNKGGumBduL5}PC$NZxBh@!?1^342IAAA_y`Jpdz-Y%-9%gEnAe zmM18_2PD8&=|twTu;i%=m}5|*kAbv#C<@3r#bw_|ERgBA%-YeG{xH3bIwhn{gQLLo zBP3KI4$0Fs)~#)$9-^ZiPD)wbeo^383|Q8wurLsSStNrF{0U4V81M~)GWTLY54@Dh zt|vXDzAj^^cf>i$@`qqvsJ{nC5A%IFNxdvAtV~Uv&uqDKRzk4)YsX zUal!eGaR6~I_P5g>itkamd@O7e! zzhq*XC<(tJ>S#>@e|iFnyAW)m79!Vx#!2K|#3=8hR#?AkLf}ZOOX~*zBgi=JQO$l$ z;FBgWb(deWb#*Jqdk6+%Mz>vIST3;CME?Z;_^?=|EHTPX`6=xaC5-uWu_nJTsgiCM zRTd=6QuOkJ9B}7wC^D&@PXgMp~(rqQ79BTkj@EPVC zS#77(Bvs>uFH|=fpMKg3Tnx|DD#XPW^4*P0EWs0vl{;TDkFmwmNZ@o;cb3#&ZM$-3 zRy{SQgKm*0MkV%xhjCeRz^Ba38ouXl>%uzF`zzI*GxbyiKa*c4g=16%v=G6;S|Zt1 z>*6Y}6X{M7nVPKBEcz#rHdGT5B8R158W~*8JlDBEv$UN=N>PS3ho-(R&)*T~8yevr z7O6!XJkpzp+Lx=WqVFEAKMqKSE4}kTNt|XVX|N`~3T;@W;$ls)wut>nl$E_RhSRMk z>P6}%ZF6#y#A;3wZXFtm!n%^SjIYw$O6#fH(-~?g%mV#JkaIAbGq%24+vu-A?|LeD zI$knk+n)&i6RafTBEUk1ia<#UyFbjrNn^2ibHwpiQM~OIuy#BW^_B&LwMTiX2ADBa zD1V5b{5!erN9F@GJ;VpJsWlpwQf&G|97f(VYI-o)<+qZJUI{YhG50#GqrQ`D*jJNK zVI9o;(ZfizQ^fA2&M4kWKE({?gPBK!9D>T^pEI-=H75U?I$Dg%4=niJ$Af{gJZ}4L zFBSM!dL^9DE?AwtXH+`;O=qDs2*m4YFk^18=1XgtV}W8sFtd{$Vt5p;@e8!Jsq1g2 z!A>m%-NJCZ*fI4(B)zAhbHF?3m9Xg#qf@WJ3|{%vqjwPYfT~c$2?jHDrZdDl=xkt; zaOsaIF;n=P@}{A!a3T|hr)jT4*1#D}Qp$ZYKDbV87aVYaA>>2jk=^Gj>cV7v3ho13 zaM?r1`}lxvind(~T+w-a6Zs`t_}?XiFB_=Kc4)0Hea#+trbMIQd13v0%@6e`?i8QFAjZ_p6-p&IpM`JApMEh zb*M6{k**yiUcA`e!PRH>3LActI5ypBhgaNOg{)GX9^wZkkkkX+U;Q&ma;nZ$mBt5` zvt_A7$v$ymn!<-`&)Y<9a$tR6l6@x;ULRj(T-!tG0|3A_eZ2vCnduD;* zXY`xTz^Ho2 z9r*6Zg(&hHLx;z}w?yFSZEF$ZoRjUwOt;+?$|y?sDoA7ScD<#lVw4hwqc zvC|3TG=dd|m^CC{X7U;Uy70F~;2>5RSD19${B9FJ#3WQsFhgyL2A(*ftPSyYy27ZO zMq~n`eN82>Q&dkT@ForCJC!SFncq^Zz)WE-ZjRBA{Vk&vKtpDSA$x+pvJn>&Y0zl!-o-!Ot5o?`wIIu5*|Lz(p_%tspZ;baGp z{MlU65cEA`44yH(a*_7d$oBLOthwR-T#_&80LFA#$CzL-;E{lfF{B$oGKThbo&89@ za#_c#gc0VOu2bK}Vsm3337%Oyd$0pj$qpZOrDlKU#IA?pzw=^u+U&n@V@Gv0yMSH5 z0tNgCpfg@sG`W$ny8fo$t20?&^P1Swt#(;!>CF!DJJxZT&e{+kdDT8q z@!7&tKYq4&_<&jSp@oA}R;eo+6I0|(gzP;KbCd@CzrPPi4$TD9|8FdX>m|X41tI2q z6aS&~d-3e(SvzN{w4bMbo_$j?Oq4w*^%LzUGqtl)XJ<=>iEm}!NxiLA!+!D5HX7PW zz86IU+jwBB2K{cU?(Do3EqTKS2gK-S<775^T)KDa78Y@SmW%9l7 zhShTH2~4nCj>`Cd%yKzuaXxkn!GB})3f}UP`3yS-H{J#et`lC@#f5}M`R$bXfd+LMQCyu`R00Tc#)V~%BH1u;fL?s3S)EguQk-6z zCF^))hs_+%f;XjpFp+RA4Ak$F3-9t+U2?Kcmn^ZuR%1arwi*jkmIhw}K8)Ziig$Zz zVekfOX<`MTa&l5T(N0@6TBk_zVLVZx%81=AA1L0gicXAYLlw&-7t-#Y$>~0v+8`#9 zOUtws^zr>Wqno+2p%sBH^0js1W2uL7PqOvU!Y*S9?dhdT@ZoNGh}BaFxY!AbVIR0i zKCp4@#ii`A^*7z`M@T-=i`7>MRZ+3Jh`xC}ry2C+z*KRaMw^+;wp+nfQrPv-Cx8HB z-Lb;+(1^bGi64(QlEHf*X|>-Bj?6(3=2JVqHb0 zwu-)fBQD}92Pd}2OQ98fAC8<3=g{-!rspl-Km?dW@CU$FX}}8a)h_muc3Tnf1QQ7G z4M>wF%#NHBxKIM4MV$=1y*Ame%kztm6W0dtZH1$}gc8yHDi!J$cIpt{UF z?Q<~mb8USER2<8?H8zk8n&3`?OR#~#Ew~4FcXwxS2<{pP9)f#tcY-Il4GzJb!5`<` z`|dsOUw^OaTD!ho)m_!Ad#0=V>;0iR;>+=bzqdm{3Wi}_Y{qr?o5H70$P%o_8478#eEb)r<^=-dQh!S-O3T5os&zZvE1N{7>+t#F#W@x1X7`HCe&&MoLlGc zlY^P$USw55X{~yii%Fcqw7-8EGSYC0R(?}vPB|@BubGsYmMpouO;d8wWa|_X7Cu8) z$G#naZSxZFiqKU{T6O3;KuU<2M&WY%Q_>*UWgKrzZx}|*z@;JjCH+EJp%oe*CyMBm zFJ?R78KFQC8j#;ZM+U@E_jW{35`$+eVU^Hh8yFR3V@V}$ug-1?yZYW?F@|1H?H?l~ z0bvk!orL$|3ER_^2)@Ic4nw$p+{Z@h;S*%X!Pf|L6;coCT+cA zmR8xooki{q^W;6D`vNW{03y*I08v%~*f$|$7>^pxPr!~1Vu4Tqa#SF?-!)VN!#mzk zx?hF02oUXMe3p)MZdBpOZNH?R_+kGd_prlpUSgb zVa}N$kFKtpy&y)XD**K%r_~Pe~dIA@^mHsW-aBAc- zu?J5(5U_bx2FLF#)BsdO@IJ*}%^8Z`q}@n4J97DDpUv?u^ixRKAzGnE>wX-0sROsN z8a8$>U^nuDBZFStw#DDj8S6!eN#)I`S4gOxOA?FFp>JJ22Txtd4+e^{dlS3WB-ujg z3$9C(B&u0Pa?0}2WnLI%gjO3 z0L6?t(v%M^E~3Si_jBa%ydiGHsuCNmefhFt5@Ebac2t9gD4>YsJ=oqJPGC z_$M_U3Eh|x*|=%FK1|<5GxG?#jhW`MyyTe4HH@C>*`}1yx#g|U4U8qfeyH`5W430; zQ>+RhfYMyg8cYif#9@D@i=L1!Ao68guv5$CadDo`ou;8>V`Ou&_^we%n|PH$yP#$^ zu2o5&ctD0q*}u*=UHa;n_wB7Y7CCJE>$HJ=&Zhe2p!z+RxNcNx7ve_0md!r))!Y3C zxplS@8YZhjg)zQ zid$E6$?BCeecGWn%SAbSr?+q4`7>uGAh{OSHvcj`V5eJ}6MqV0Y5FEp9SPriY77;6 zWk=as-&%XgG$XnRFr{lUk8$SIR*%&|3LyGnI+qsh57!`wi*-U?ZVXYIhtj1FOwU?d zTgn)z>Q5Y&w>HR_h0FmRtjjDa*BGm<35BF#Nn}1B{1Ke$R5!mrs(eB9cPG23q;f|d zz~;B9d#bft?oG2haLoDA*p~lEnEFI02!}3PP|lt&nKNFBV?4*C(okq>=Za@ ztND9UKG1R@#R&`7cizFO4l4+@Qhu2Nx8HMn2+I3KEPPZk7k!>pBT+kIvXyNQAHwny9$(IeZ7QPHdM?sQ%$1@cQ;KVCH!a9KLBYy zC!Dq<$=u;1LiyX_Kfy`jqO>$D8df2-!n{yj=2GBR;4N|hAI{XxBpy5)^gsjwUC(K`HHf?-?w zevYnks;b1?OxcD_Gn$&UFNu1Wl0YKx7;Uu>AR7SQJenOSY#3dC--vA!dmLk3lt2f9i-v2+Nm!A=E3FH%3q#!K!O@K?qR>QgZrX~48QL}?e18V9zpdhd*ob$I+M z4eQa9*G>UsVLtR;^B6W@M-p3I09-FJTXMw? zWaB&o#dHjc;K?%UK*ckx-%=flw*-uk|BtBue#e?#h!OhWV}t zUp8cUj@E))O{h;eMin`W(bLD1Ik}hb##J2zE|yg<993=O_@v%q3Zubm=8>mY zOMxYtY`Ib5G#YT(J#Q}8++&=<0Wza!@k zYT*YQl!zJL8&YaWQo?xssAhehY>Bu{9;WG=jC2-NBoa!9SR<^w(10BcYmc{akaX3( zU-ZbfS4KD=v18fPg9O(PtZiuna?iFXe?8z27*h?H>*As5dITUZS1UZe@j~OX zI10a5pOeS_MB)%6+NFOvMNT;9jL6HLESP5>+jp(`=r#OG75Nm%BcafP6(|%8Hb1N5 z${jLLAfcq}>YPNQO0-7reWURuswr_sk?MIxsaD{S8>F+)@c$3`VJ2}QVJN%$DwQZDL76Wrcp0$T~0jGajT`cQwiMbu}y zGZO@e(MJGUEt=HJjv)(43*Fb7AthQj@G>^$>sf=|S~TS9F`yik&sf_$KedlAFvA?L%1iQ@j@#*%xbs*+toloQ^v2cM_+St3sZ$#p@eq9Wz}mWBH&% zV{9b`^}D_jk6+o98PqmS0ntOrLt9~6iI@Aj!*eL(^&RnX7|A_kIpar-zw(L~lH43# z^Y|-aQ0+1Y--x6!{?5bss;Sk6*R?e`9R%0*GEcfa+N08SR+e|`4LR1GA28%)ig)M;ZGM7kz;s`Z%hS9dI~^*OtR|+rZsl*5qxH)!O*l#|VQa5$`u4 zc2{rsH&zigi7G^qi*%m7UROA-BE>=ZtjP`=oa{Z!gKpYZXR`F?gLec`ky#kZg=y;b z(Z;(a5qlw2@-O=Ei)51x`#XZ6R;q6}@1-{7phd==($8ttRe z=88gGw2ng<7!6V+{XGsg@LxnfhsYeoF@IHR2Mcx7`b*rN@v#rP68OOBf(D+=F$TGA7NyDd zh&IVDh&uI^s|Y#OEf&7d4_vTFt8{88HW~jj`V1|F7mcP$1XTUx{Mi_=H_POCi&YYTnKtUgGO^IO4=xNVr#f{bC!3 zWaSUVXPv%HustdJPpxMFs&D8?xe;;9Tbx7^!|-_wR}0O~FPm=~_e`gd@#lWnWD!D~ zM8(n5GNI`z8CuDyISEN0rslTEo2gIu8wMI};>eB>>V{L>r~4bhzWh{Oqs^A#fJ3Zf z1Hn3YBs;U>?y5>^pK=Pui=f*-oIAcW5}5b*Wsg=u{xP#ciOUu5oqzYZ_qj|0j|0JL z?-PpTWXB3`Ug@2lEBj38>vv_Jz0oMCo&Li{4iEwzsfKV%l$r*O^~7g!%uX(v7&G{15}p9YE$F};ECzZTB8lQ zu@|~{L7c@0v4tLfs%&w3w*aA(z?QW~RKmiT*^o3wplLNq`VHfr_|`6thUt`>cD{KS zfp+gOb^u2UYd!^)%C%AYY^R7?5yN6?r`|PbVIG>oCo%f>y=t{sYFHUb1;cqSx3i_T z7}bWj)nR3??35CU!kOt*%YfX`-Xg>s8hA+nxX~HeEk?~zv9)Mkj*zxM0}@v;=5_&5 ziU*+EPr0toug^9OUlV{3R1nE2Yj=3VCWZfu-J;EleL;m0qVm;q+P**0f6v!z_4YOg z#UyO;E5QhPud}j@R6(G1UxSCtWW$k1Hj)kDDwkNxp~uH(t!|e|c?@6t zM}&;fgCKBgb*08DzNuTkklpiBr&9>ep)z~*RQ3-C{v)4+4$pd5f9$#X_<4km6lS%> ze!d#kNOF;^4_4*e3eVL(ucCJmavNR6t3N+`dl&y!6!uc^p!yM7#{jh2vUqK0*(X^{ zJRiy!Tg)l}TQ$_*KzU1=zE!o@;Vl&!*G)0RN{IxM&%>vTjv;`EG|5>P9L9TEMfHtj zNVV1XZ*0pkF)e~OEsjkLJBG!KB*`YPLfDq}8_mlsY2-7acaUAsiF>81=aD`=nX{z- zLiY9*2QaYNSB=7$^s!)*a^mOu6W~b~ayJ_weOHG$u%xK1N*VF{TB;pu{$xG?F}x== zd&YgAZHD~lkHBfR{Zh^MrHpIW?{);h=3z}UNwA4SNY>+1qRS8ZU9Kep6+xME;$uar z8Y6qQX|o`?idQ&h4LJ&L>Zo0IAHUnA6;`JHFfB9tA(2!r@=R@Eh3R^vT{UCMX;oiB zWGACNXTRpeBBcCHIzEN%oxDERjgMpitad)A^%wgKQ@=xm(GxbJNHz^PE&C} zsGr1Y-Jvyoo#_X?7W>2f*(<3zmR2=an?v{3CDAew_1=mi?Xg;5EyG?%ajT6-&N1PN zOAEeh)!vy^+!`61Kj`{$(nMRwbh4wAJTF2bv4dM=;+bLL6m$+u=h@G57a(!Cm0JUy+1rKseWfGl_>}=A0r?( z$aKu)&J@dhpUIvnk+}kf4w5ww`elk^Y*?36~xxX~KyFTEnKB?{~xMSXHEv?dn%0q(h2Cn4~%Z@S^ zxyl^;pevA@o5%8#n2wu!zqy;w9i5lk_fOrLpx|`+QCIVK7xZ=6PNupUcBAezk*LHM^SK<(-{zOxFs}Yh;Zf6VBVv)>@ zJUNw2%3}R}gMbj{j=(dvg!AJ3Q&(!81bHzF>Oz{~-^xF(zS-(IIY~z>pQ|9-eG5um z^$V7;5lXCoVEIHPFaIahr>V3&kz{S)0g4!{xzTD?7dv7G`h8TJ@yB~%)V0%=@cf-g z27UtRKvZjf_Zc;F?zZ3aHso1#}h<9BzI z+G2)X9%7=>+TMA~G9;O{uH}>mj^!p1R0(@=1gC_ZjikYX5h6K#0TZzHBZ5m=G*~ng z8Y=?r%XKiG#vKE_iG}}uwy;Rx_=OCDkEpPD(`C|S zMRUfF?2i{L^tn5y8-^x$yv+iFji5cT2X~IH{R_$f{4=@@%umw@A5wr%>}3C+bMa{C}cnyZXx)2j@$af67pD$mn26-T_?5);@`YrqW;ItWIOif4^1WEPlHYxvFl zR0Z$F(CnIeNAj7FBn1#9f3->Xr298U1qT<@8uptzs^T#%pvC?S;>_$;(yF!uo$oQ7 zCTl@3`pN}SjMZ}xrPW?mfTCIV;+V&&s(dc^6Miu!2NLo+!E^JbGmM2yy~t)!T~^Jg6pCn<*m8LYFLbtRi1T|*W9&uFwHpnKis{>^o!l+7Z4_@yFg3?YT9e0 zc+m_W{sPo^o)G|j71Wz8u4n ziM}|)lJUNmLz1z+(?gQczV$>szZ_?z8pi6LB2SaBC2i_rMy^b zq~WC)VrpB*YfWO8zBJt9;n};o9e4r`aD#+X_k??px}Q!GmK3sME71&tf4ZG~ne4;B z(eE{M=*$H_yeF6KZg!YZSl%hsGsa8W)r+uRO?icWN|-H{;Nj)MObHu)<;NbB6TL=D zS#KDGS3Vhpt6lvOQT?(FSHMBMN@wao{jvqO-Cnp#r(0g)(ihw`Oy}K6Zwg{7;sSoC z53vpP{6&;#vuU=aMcS?Q*az_utg}L*CG4*=8EVW!e?rSp;uqc7BzYns94PzO#!=NR zyMZ50cSoZ4FU%yaZrKH+5&`<_Ao?to@--Y(?tWwiwjdQ-k98bDo00$(9LGomK_!Bm zvuun}By)I|08c}~YAh)P%!&YAYV(1Ljtr;Mh?g2&v_M!Nk|0~4tlWOO4tyFNLmb`O z8vuWPfF#aoI0Bhc7o~ZM+Z7uy?b&k!gosBF_-P}J%= zGmqnb?9-PSLYX?=WA!ddpr;u8f3`Kc_U4-~SxHiy8fJ-A`DU zFz&A16G8G$gJ*ED;KQGXuhp``zD#j9%k)F0l zj9PD!VtVk$KN7v05b;~vB|g=v#_=EjMfb2ND|Jkn_O3a{7jYQUk39Ui%_nsXf{L!L zIFy${HQ&U=^mrgg+`E~d9d27X#l=E%Hg9%d5FS6pSZLhl&Bo}4*J$WQN2V5ka5Hdz z=S6huax`{M2!1Xg2fmMWzLW6UA?z{J=-K>lxO0uE1MW_huQtQBT|oL9mad$`EW%d4 z7&V&DR}i|}yg;>9PMcS*8i?T1@O!z3CuIX82Vd9We_s_pMOW%dDpoVsZ_HocJ-AH1T zmD1d_TXrm*Q0sJ><1c#|AzSZ57tc|_umxn($zb$!yM~5sV8_J9p~Lz-ijamaY-iI# z(0ylfXUSxT$!#?2TWp3GbE$@lQab?)J_%**#qvT+XR9`0v&WBBkwc!>T_4Z4Qf|^z z&RZGG`w)nY1JP@`cJNVQN$0gYw{6#FQzq+in(TqXbeDIvlthzlmd@#|My{u zaW+nYYbSSZR|}3NUd}CBFU#1eEa>4ES|`Wu@W;sF3@N2tg403+^^LI?aZt?kdxCkaZX98xv2edrQ zoIGkl$gWRhpA9Nvo1kiM{C8)tp1(4_BMTLh-N>+pf~LKoxWfVtPZvDL+!MhhI(y`y zPiHx&as6>K<3PK^RdBN$EZG*3JzUtpz_2cu?!Ry8? z9U&O24N6pkOyTORDg<7@(Uy8@ymci> z-#hO9*OLt!x?#9D_Ol>o}~uSB5s^J zb-tc&c~{P!H09DMubS9AM|~W0OiJ{AW9ns^6}LOZ|9R&YH1XABvV*`0EHDnnwa^Kv z`?g`b+2?&@$1TdxHP=9nGx4zJ)KJ2`q?+{s*Fv^`LD{K6HOr1<99$WYQkq-^Xdf({ z>^x5s;``nwbOkxbI#AGg{O0!EV`|giR^U&=^3-I3fe?{b<5fYkjRfRC6k_v{yx)7$ zFV0M0&*|!R+Si8nM03Kc(Jjlr0R!}WH_}?sx;5b`xTigQuuml2d6nQ%9&>4cpW!dR z)jlhFH~Z1rdG6!gtcb$IcN9UNykc+GaDHfO>W)K3c{{Ba$xi54~ z$mwWuh~{ukUABhItcv_2J#OEMTa;Dx==ZhXZpWT|CiC0WlTECsq#icsqwqlV32;5j z8nGi44BY#KLx)W9Q7Rnk?fVcMU@}rc2>iD`NR?!s4Wp}FXl2FZ4?Pu(a3oh@9Juko z@uSIRQrSj^SjjQ&cH^eWuVgFYA$TZdqD75e5u59|wTC1Y9X z|EB$3T?4I24ZO<~0K}~OvsY14-aeD))jAr?5!sg;Q84R_YuYI8Uf<|g=XJI}0Jfs; zi(mh1>83CK8e{}C{E`J&V#!WtnSw5j6di3 z_>~_YzsL9y zF8X1^S0K8qf8E+?Z@ADP1iXVq%01kXx@36~X6+!i||dTi0U?=(ZUJ!`Nrp`p8_ z>3ra*t1{m)dIJY<#3uULw8iNkhTs~!ay%wDFMJ;|OE?aM#r2C=V-HI{rhW|BnqK9@ zjszNQ?6}#!`yVu96%mp)8^h_64I|?#7Ne-EJcErUu?{FC&~YyR+F<$PaZZn=nw<&v ztY+v}^U5;5LH@mCRsg@E)1W=;6JPfh6tLsx9$Ci~V7~RRY=*9A z0qq(l%~Ahv_Gp(nVb^!|AaFCIdVZX&*f@FQHcF_N{Vv?rE1tOj>`k z@6C!}N02|AJNte&tq%u2dU&%3-TPNCCaTfr(dTW8ls+v!uQ>!DZPSy$ft*=kKfR_jlNq4!BoH^++FdpV&`TK}Ky)_+*2pkEx|~FuX(<@UsZI?`^%k#_5E%qCH?BcD8n%&^)9F^pKnT zJKBHuZ(#8h@d>)WM!Y!!jNia_&XKM87rVbArXs3=Hd-s{PK4gi;2&!|b1hUoEev)T zJZ{dXbxd{wAIl~?$#VQ-hQ~yja&UIu`Oop2sv42ql21YlCch?2IuxKnP8?oh^5oq6 z>>rIod0TQ6339e4aX#))$)4N88~+t(ofiaeOEi z{sdt#5W7oy4abpa2)V73-cB_q9F*@Lvu9AyHfPO@Tuf0S<%z79d&YkVbgKRv@5@9a%&YfTmc0m>+Q7 zr6LT-egEloF`DWb!EtTvKye8?Kgu+cwFtTDVeI+`!n@ur$b`Z6t&a3l1TU(Egh9p( zAvbnT;7FrO0Io*k`aW29C9G`8(Jiy6WiW_H)5)!@sAxW|y*VBK@>tPDZ}gEKvk5ci z{m$vrSBvA=llID7FwnYSdC<>dw)IfRv$ZJCvh^fGfp5`XBWG6?c9DhI<{ofUaTX{u zzL4mOE%!Fsk15#Y;fmDMCIX6Nb^Le~w+tODhL`mp2dSAULaT(osO^BtK&9rEJ>}!Y zU-Dkp@fI-5i#{-z!gszJ_D5&Wq0Y>GgUw+aBq28${+ftQgp$UxFGO$}YL*seduh~A zw4=v!0RBEhSDg}7O)zKZ=`1sg}-H=J{HMIkuTk|O`fx@U0zE-It`aLmV3nC^+t=2k+b zwO$wdkX0Ot{a<5-Uc0C(I*bqofZ;aXue=w301uf{04B>iv1w#YXUq~J&~`_Qci~6pCpLXG8zxIv}tYOaVE(D z+79T&)afBHCY^8Y*Y0=UrQZJ(?QyQEr-o*b@07nYrv17~7Cc0RdiO28)f7^Q;5{6u z@0^=PvPX^5Ht?cfnERb%j~>PQ=l{abL!n%V^a1)~QH{G}F;lY7I$GDy?RCpO%Z?|V zsT(%GoC}8C&h8~rQKISa=3@ZvCV?xOhFmXjn=QNfij?vl-zm1^{|*mcG&EeBZLj z>RtP;XA#TDF1#8XooyRl3l`HN&M!w-nhl#uLdT0oMrG|mh^~gCWa@hL7epfvAT$IZ zYX%0YGCKOgEC(Q7Hpd1B51btub`Z|?C8=3>2zM?f%H?{1Aj#xs#5+erDw}?(*~o)iCyY0#kV=*-^B2ghxmwLpLjJM=}})>>6I`-*NqtG^yFN zb%;Zks|t7fJQ#qzf7h$hWko^EozzM;6^pmr)uN*> zI>7@Vx0+F~G~tlpJK^y7jj(X(LM_hEeSa!vitqciNAaHmAZ|D1!Vb>S5Xd!VwT8)0ONl=jR9cbHJB|i6Py>Gzx{6!$>;iV{>I`?wZ+}NDp+yUPP5cZETF*^|X@Nr@&Cu8}-v-+6p zd(rv={$xE&ySa`K2X;Xct{;Z#9;7!x6(qcdP9Na*4>heOA zKUyc%g}epPOEM%{47qq3kJPdNh^EkSBXWU;MBs zFhhPP(aRKGODr}1n<=4|hC~DADML2j+K~-tY@!~$SL??DSG$bPA2nr zYCR_;)ID#-67!DXNcR4Bw<{f~g5+;DSCX&7v{RbAUk9d|UCH#s(k8!gL@*Z|SOHh$ ze_J672xCrBUJ?i>C{EdWhh=};-Se`}$KMmbd;OT@C(ZKWU`cFU0G&GdgX^85|DETO z%R4H?e7&6Hcg=Y@LRp`6?P57|*#uE7zNXG>wwqy9^>H~1@ep#|`k@;*Qr?u!mOZnl zsD_X!cFf#mfxjVux^~-^`aY-OVC&mY?&uBJJ>PCk1hOP>^cQ>Pk9c9K9%Nv*uGk0d zkZHYFxXK)&QSYhV7t4)KBaf0)d5;z5hugBgBeK#m1y5ZOiDlr4yL(z;Uvl|&M7jL@ z6bsA};k5n~<;{^tSYatD#OoLeVA=p5Z~Bp~Ii*%7o0XfU^ns-rq}5A)$)sr%wbfEJ z%#WO5Caqnj9uw%;6@gxaXuKa$ zwn`nY)6K_auSm4|p=#5nU8P?clZgHkOtpe>tDoYqE7Swg@0${DM&g>HZsmAwKH?aG zWR-3ljt@0Ks*zYEqVq!_LEn3fGpYDpstB5&9MVPfQj%e+_&+&S zYNJdusaI_O?8tchU?GmT%d>5K&}h``_)P69H$V&7R&f^m@JB`~C*>O8WsvOob(FY} zEZHY&OVt0UY7?2)iP*yt|HhGg#WMikGa~L)0eQ|T0Fj^%%Ws1#j3;%II~$u|j9`F0 z_H4PreEf|6$CBmjCwWSA-73q|Y zRdZxo)!8|joczbjGL|3$I=gJR_b|AXS@{x8MK$<6jpis!!+8wbZf zDV~4q3&g|5`rlS;JY4^1_R#x^90%7w2IuN*WMymS4CLnrvZz>jn^CZ_0$G$D99${>?j+~8#T6y~2WED4m;e9( literal 0 HcmV?d00001 diff --git a/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2022-757-patched b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2022-757-patched new file mode 100644 index 0000000000000000000000000000000000000000..80e70fc28fa9ba29a1ffa3cb17084922c88a51f3 GIT binary patch literal 114436 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 B^05E_ literal 0 HcmV?d00001 diff --git a/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2022-772-patched b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2022-772-patched new file mode 100644 index 0000000000000000000000000000000000000000..ee381cba11e43a15bd6840a640521296d3e8f84e GIT binary patch literal 9821 zcmeHN>2e##5$<@EYh&iJb2*162V==Gf!(=wH<9J=lqj1LO+cm+6o0J96}T=O%wk!x z@*{bJRDLCSguFo>BR}#6@!vSFpmfjP01-k`sVWr%DiOPLbocbk*E91qV0C|MXU%PC zd-b0m|NS4f%N#a-@FBCWU$@%_(PVs{97hwzvG~AlzZ;)SSWnQ)k=@=LpN~@J+U@S+ zvxv3#!+tceZ``n>(TNd3?MhkuVG>d6Owf$vz33zkH^v{ao`WrXEt&61qhpj}Kh!Fz zCsXtn%PW<2jbvu2ac7MB%s8mA)9vm^rm1_@n+gQ;ngyKs%>tJN%>swHWZ?m+t&Nqe zD>c6tjr!>+SM=m2RUUPK)va-H_#QPb%^yT5@v* zh1Uv_{t8axZTj;eRC++#>#bL$M>56^0Vvn*8xpbq4#A*_@ z(M8c*w6s*3lmE~q)vKpfOZo!8n2>>JN$%qp>!NNmY2 zVQ`Ig(dKQ`aETV-w>;%JuFJUg(WRb{LN&FxsKt|k=63M#ku#1BlqLN9W48IT1h#?MjR4Mk*A0DnMnjV)2*$d84r~Y14 zDn|!2eMO~tr%H#_tMa$3!bs2hT;f(wv|J&i8!#ROxT-uYeYfdWfrC_@5}cQA#fig_ zK7c<$T#agBO@b@lasnkp(9|U7E)(?QE~K#$#QWFhL%)uo;zBh`G z$0ryccTX^o#p&a%Nseyb#0OhLbwyXJ>d7*M8%F&sCkp4Q$GD<1-n^_0>_ z%ylK6bc8sn4Xc4fGU!e?L|_-t$B}%1+q+{vc6*&d2A+5vS(WV!!v2H_k&Wjtiu)??hJw9daJL6TI$c% z(fX)Ah-y}mo(*%*TGKdc>VYoALjl=Y9;}+)M(2iSxhk4E zk8o;-7I@x|1y|s+@HzNAd;z`)Hhc+Qh86fSdyW|Td)l~a1(Cf?sFU7h4)|&4-t1^AKu4(y#rmichP|kcgk8kcwW>M zr|KTh&*9}96gB3|TcK`xLqPaxT5(PI86y{lAJ2n4%BVn>$JjZbYn+fP@Jw6RnTI0o zmMc3)Q63fMp(vNkaObIEsfI;F!h9srsj@)wrATtodu!N(X`B?-;qC%JD#h1s5s1aw zN-1C@KYcKQ58x2)!>{1i7XqrW!A=2cd7-V}aF-X_|Njdu-hs*s?UMyQ%S&&Qv3R~q zFESU^1$24ojqqf#y!5j6^3vPjOO}`3Pr;>kG8~W7)8(bNV*Q`@&I`*+FD0Yg;%d9R z^e!*G&w{D{br?N0_gb(iJ(GdMjA+RMH7MSS1-jrof<%y%a)t=Xx9Y`sSWK=JJZ#R$ z)+r&8bF*_Op@L8C3C?<4IY+E~@O;+uI6q=ORvC)cM?O}&E;6$YvbNmw=_$Zg*i<2Z ziT{bU#X8{!^h9+iq2`)K-lC$QE^y6U7V4?FTqB$~C}z?hH6}_*uf;XyP}QZZuH!Av zMJeqgtLu2k>Po#RtE)9{p*Mx6kgJ<^nWFJO^+rdA2 ztlwLIxbn7j&q}QO*1-Cg^@;Uws{ts+OAK zO0y+4!BIBLghQFcsWR8Y4Qi@P;%_3R%kZZQGi5%m#;JDFRWr6oN6hGzQqe4wV~}2> zpS^12N?##-=u@>+jyGe8a#pty0@E#pnz2u5Ipb-CKmM8Siz%I%G8Is&vuO>wep>I{ z9Y?Fct{I*tVLXTu+hmeVc2?#Y)dRfYA$qgG(20K=F`56$DNNFjk|>*Sdv$gD?vDK* D4+%kz literal 0 HcmV?d00001 diff --git a/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2022-797-patched b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2022-797-patched new file mode 100644 index 0000000000000000000000000000000000000000..0d30fff4fde96dd2e2c734e10a99487c979d39c3 GIT binary patch literal 37649 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 Q3c??{jj5X3!uDk> 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 C4tc=< literal 0 HcmV?d00001 diff --git a/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2022-818-patched b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2022-818-patched new file mode 100644 index 0000000000000000000000000000000000000000..277ea1afd9bd63cbfb7840249a122bbb82a0d3f8 GIT binary patch literal 4656 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 literal 0 HcmV?d00001 diff --git a/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2022-855-patched b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2022-855-patched new file mode 100644 index 0000000000000000000000000000000000000000..b393c4d0fcd8812a5473a3587b9670afbcf912b8 GIT binary patch literal 88421 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%0A#-v*Q`mX4 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ʬ_ixl`$_ z3ycU?*?qujz=agHLF_|1Ab5jT5&bs)&;LiGBj0Oi;zraj~GajhmeA-$E z@BE^W>>*E&n(nG!-H;B!NE%xxZN3E#jqv9h_)`rcMj9R;Ns**AVKSgy+VM~`of7;xSqttc>Sr50n6VlDJ z8(bK@lZQjoiJ<9|(DXhuy_=hUkadES{TOb5;~pSx0CCd<7dM8_z}5@6H5GQYHh>*I zWw5+u;Ex%c$QoQKJrA!8eoyJ26q3AOReM@S`wU@cB2v#PFBK$R{z}DPuo}kuLxV;$ z?dP{!@$w*k;SI=DWGAO(W@^s{2Zx3R2dC`HQd{ts*}2Zk*I-&ngqe1w2*L1FL7P(W znmGmUt%i&(>~ll1ns!wflGhU2TXBl3z6o7V_|m)3gc)-Y zm!(5Ra|69pz=481tTzjRE_22dZ>?!%Wz$z=1#=^kCk_6Vrqlgq8*nI08Mqb-W@u z02@5;3{m1LHzw`-X_aD3VV6sgClEe-O)t@|mH}_!>p#{Ex}dm=wm1^3KT*$B>AuA)$2D^_3FL){!lA1mVeD}vs_})cW+kQKueve zwg-my$lZCEEB3RKCeb*^_m4A!#Qwd+rmF3!Z_n;QeeV1Xe3eE0zh){u#TZWXU^D3A zzlvA&-GjlcXnmj9#!i?y=LSAXp|ZufVMQ^*=7O)1E1gQe$j&~h-rcO&ot&Jp*=c2B z=@m5`0@REV*ilaxvL|xuOIx^835LW20*afvO>s0iPp9J|;$suG2~0Epd3zwec%X$v zk#80dP4`K!)*Tv^x$$)R1=3Jt3#65u!DR_s`Gc| z7I9w@ABDrOfU{8(L#x_M5PX&3*iBbH%a7m|DMU4@w$`G6E)=9I(#tc?)o@HSZIt9I z@jp`YqWX{tRi{WXQ>38iQVL!zdaw;uM1ZcX2$~m81n3!?0Np?YXi2`oCP3q3qtqml zRNQT*UEocpno!A15=T4Jy0{WCa3ft|P4qGI5_E1Gjk-qjP!C$^2K;#OHAZ7N3ke9KG* zjjfcy*mijzj{UVX&B26=UO|W)f^Dp4Ue_Qqz~^#<+4u=fW|gu$D3-%~0ssV$vF4kf zYGvTtCgK;)Xlnt?EOhX61-0r{--jkSevabsZ}ulk3d;*?e|Nt zlDJvhFUuh`DQ}Q)Px{sWR1RazS`XeF0(P*C#hL^()IlN_V*+H8()yYa= zr@TZ0yi6X?H7_7+EbFg%a!C%Wf0kLHSR&%fgotaj6${kqe`ibbKix>Ec!Na6CyyCO z?#x<3#D)vtbsohS&1-tYT&WGBcr#9jxo2Oq^KB~By|PAGo7sLeZjpfcwS*+Q-+H~erY zyk}YK$h^_HV8x5N+ln8YV=#qz|YWW4G1X$q$IH*)%?cX259^0gl};WM#bS^aEJZ4ND%NYH^f-Wby#G^g}2IA=u?dtj-nC z?TeEsRK1eI!&0%QI}YdYDsUYS{Aa?7ZfXip?C67@_rQZA8rA1zcke!-+u?EQ4C&}II6a65P zHGV^n{GM-y6$;dqSDAYT-1r0Ght@RX<&LNi_lW{fv`)W>mw_8O`c%=8#fRV@@TJir z8}JeBjrbhwhC@orR`{7cMT1(puL!(|doSEH$-ym%?uAykiCax(pNY5(--I#>>l}7s zFU2KgDR?OuTud@>#QKfx1L8^HIEPbo0^jglrF)ub%6y7m6`MnHNVQ?72$m#Yx~Slm z(k`w6uZ8WZ&PU=$kI*@BXe4R1mcNMB#n{{8X2+|iO}l`sf|pQ;|98nLm1ZK=EV3`TGe zh~I*dI0(-sW#x>QVTY?8ElY%S>>ddF>L}mp0I&lG4u;M~&| zWVd2>3f;BTi7&{Sqf*+$!L8dR$cOy9WJ8lu2x2Dk=p4w%;3OGL4()!RW;S=xEl_a< z^lhs4p2skB{~hw^4#0$q?Am`{)U`OheqjU-mws)3ox3_N zYMr2sh**FH&Jsoi?3sNqO1PukUYXHd&!K^4N^~9q>Z-Qe0{Z20)hhpa+J%0*)My|x zZI^zRQxKJtqt9`=pWYlihVxy#a9ZHXs&bvc;J0x=oOuQ*ovHl~d*o1vgW1d${f&$U zyBz(#to=eCxcnC;fjxInpO>*;n4(P8Z%^j%+W~mgnrTA1ay@v=0-vxZI}c^`hdp>o zIi7TUY{s~BPdg?erAhRRtBi-mO(D|Jo*|&?elxFu;&t1#&I*Ff_O$AMOjmn6RCyaWP3O#*-DWqZ zBW5~hTG3V}%Uh}FM)!K@uA*cUT6Qs#K_8hVgvnsbtx{xM%1SPqq|0ilw}hm-kP)`% zvfJBpe17)xzQ2)e`)}qv*Wd4Xp6~bfl=UvxQ57%)j?nnosB+!%j=4^RJr+@|y-Yok zyL)SflN8abSFV;(6>7ILJ8wn^#mI4Re8VQ?Bc)MUH>~ZXGT?VKiOw%6ep)9$~tZ>;=E2V1cZVd@iy^9wn1@K-P!i= zUeisX#$2#|{qlt~=L+M%lq`=u9hJt;CR4*TuDc{dUvvqmhv0WuP?b=%t!DKDbCb8^ z3>ZUDRjv)2|Kpa1Z(8#RJuOR)R7b~1ViOL;saUjlXd@=C*HD~RoKc#3##BS5?Kfq~Mm;vF+P*@;i{7q^TK4_8M>spfe}PUl)A*D9}eRF+1nvf1n##LA(U>eFM1cf>65B@FOq@d)C?h0<2E&1sOwu3xSp3qqf&BH5Pc^99v<`&ZjTZ$8NrAduMeAqg*uhfN% z*qj(BMU&0t$QDh1D+gm31>#4rtkw6<`f?eP4H?q2ouB--r|RYF*OeA_Xw<*$=gGuq zf$9znHu1m)^TECAbVBTb#3-r1;^=J|6u?wLS`&fJkn?=@NA8oQZ6P!#wVKP)tEh;y z_}T4I_KBpF!>ky_GrYzwh{8RNR80CDMqIBS3a=1u^(}q#+q8jo2Om7RSb9ak6k9Y= zf)>G-4)A#ti`KTmS^6iR@qv1+13u9-{ z7mnrRU8|cv6%o!3a=dUMBQ8|QOXHmR$8i_gp*G}zUfmDwflbHDvPv=vO*LvTN0*-F zV6J`x3*ZT1OFAMe<+uBMBm7L`Nc06{65_iLMYlXcxM-zOV<${%gQ*?VWw?kjwGGyg zu;}m&ump3-^UyoW)2tntq0C({SwgiVnUl@TIF_rm8>$s7OkQyj%rKw`F2xo`r?K{A z%AP|zc1X~80b2X#2KX`>UlU)|$}LjDbP;C)|Jxu!cHDxd#9{i`*iLzHa_)PYD$P`Q z{^TJ=^Q_Q#L?h!Ti{A#w3ZqM-i(}*WggZq9*N2(p6`#Q^bNHYp1_N5EPl{WnaF%xK z<=-W*8#~{f(;iUevEskU?J-_ZKJZ%`lmQQ~laUmVVbM?Kyw&%Yq0h( z@K(bStc;w89I)<^NY}0JFzAM3^nKjR)DfqAT>nAeYPIWW&s!1yAR!Kk!SEIQ+Apdj zJ9aQA3YE}QJ4VGIH4JOJgdTZ*39(1F$x)o(;XV1!V8ia zs$#1nmVQP~%VPW(oF5*!O1Vh<#oM09y``|BUZsq z8@s#)o(;r2!!SJ;`~4%`kxtVKKUAd^CgH-s&`8eC=)ne@>jNMV0oG_jpV7{qQ(fgf zl$Qa_QZY02=@uDSo(sN`nRO`XFq?9V@QRN*{)=Q2_kgAp1|i6rs3xiJ3~IodpnOzl z8Ja*B9M8$qhMovggoFeIW$)F>AjY`x!#9OOIs7e8rqA~NNLXnv&U#G`$a{RAQ4Ok* z>7rUyXdC#@RJUp*Osi@*%q;^PMvB9n90{XT1Z9WdFtIqy$&oO_-*A|rQF1(=V8Z(i z#`1fSkj|~HfKkUDO^Y>&SrYtJ_!^;(TThqe6_%C-<$HT80=&HQ{Lkv`Km!wa=V2WG zJ!t6iyrR+yMS+)hpueZL_J>l8C?(uQT#ybh!#nEWD%u5?qn>OJX3&q^C9pxv3pp@G znm(A?hY4Da_u3F-LtG?lz=oja;1e)(L3U1_jM|c~JQ)-i5)#N#bMV#Vv-<1$C{ZXr zO0;;k{>AKh36?LZz+CPQU8rSF1n0{j!MI4vWaD2{DH6drdI3(Qjs$)%gY}g!VKUaw z|3p9L6aC#-A4U%w%nxR`3NYiv!+m}{ZZHrcGoqHX2Q%WjF<_!5u90^54?g;!8yHS} zW#sz;mcO6^GX}lr!YmQ?tTism5^42*&EL~@$dG6x@k7<{6O->=zzS@V{?R1=qe=LC z8VrYR?DQsj1D-oKn(sc?Ov5-VxJ_DPL5nd^!&=|ywE`FiQS}?6`#RTt-2l~RA)?-+ zEN-f$=qY}wk7)(VRvtL%AhU;`;LSLK^U#0}dIUK|<;TuTFQ47JD^GT6ciNUU5{Iz0 z{$8yAu5Uwj{g}1fq$>4lPGz;Q{?gC7KO{{NP5)=QTBDk}vT$N1xp-$a+T2EI?%Z5~ zMFkOGyd2l4V*wSaRTM!5JGB@AAAk@NAqY`HL`VgSROAsNl~Nu;)jE0cenBOh&@GG)*?l~aMoSz46DpO3$zJqQ1oQJI{sYeR&4wgR1uL#1B`s#a zWBGj-JhqqgV~4eb5yvq@q{Y0%G2K{HUYs#!;7s^3_%G^L^tXB^5`}ArI8g7x)}tw< zCqxBY4|okqVD1R)HNod&xDU+T&!B1o@lT=o0fBOjCPEW+>b$pg^*9N82`X{=1wl2P zE~`szqbJPz<`%ZG@0r!$aG8AXkmi0{zUr)uSX8iLDn5gPx%D=n;{M@93bP4HsGNs4~=d%CHZb zeH+aW4V}3o-<6=Mkpbz!fM0;$&||5t=qp`0J^onXVCV74;s{lS<;HOgzXVUA82*pU zkY;)V|0WCk<3ve?v8a~*wlqmq%w9Z_6TVA^PU3io?)aObHS)5^kizZsHb13O!KT3u zNWwsW2D8Z~m>tc)GH|e9yg6wo*kbgWZ%E+%ZV-1u{o3KD{eY~(2%6lH^_5Q4CWot{J;+@whC#z?;6+Nk@s*pxbu z;{7Q-&|pD|f6oM&V}iR(8$CW&e5?8Q>^}&*xwBGU9=s{@i zIDtBB6ZiUtJG~#fDc(0?v(>1`P?z6X&|o!QQP~PSx*W9+L;E)(;8kv2TEXTA<@;Xz z1n-J$*L23-34i`+x6L^?2_4oSh>!vqg;8MiK*lKi07jvBnYJHtyFk+~0rQy8I5jcI z^++$)7>kWG^~*q`V*Pq={}t>$pQ|Ej;>nAM57znbaM-?8U%a1HZV(f63P7n|ZqeALX zIY|}#z*tsq-oWd%7T(n2J=#BS(&Alu?GH>X*d#C(-bFLw-1Dk36*q}XcFq%swoDas zFd#Jq;+;a)I|AiYokkO>iAv4&w!VTZHkzQ0Vy0U(0gm887&a|p#J%7^!ezA|PPu@w zVem&dG8hBsN+!8U==y!X8(GOns>i9`wG35bzyi~|h7`NuGhPhw;Zw69oD{#MzC_3A zsT$1sC=2Ur((u8yQSdIOggN}`rw}j<0Z;L;J>@6;m_YNA(b9jQBQg{YcK?J0$K{)c z+X=AC0o#WVE`u;+JA!Pot@?{(Z+f4%rNS(7(r(5yJ*prHO3CfRMD)N!q^@N_0ycUxRCJk132Nsi32|P5 z3eNPy|J3|`6O@?*{WzEL1X>BR6r-&z7fS2pI&{r6waOLU6)D4ZYJzCzAmaoJhj2Oz z-W2t{ClG1*2{3X~o2J~|Oe9pjjpywm4k-bz6IA?^$J?0dXJTrciOG$i5=>-+rONxj zbAS(PO^`Y!NZZeN!aA(Dsbx1(Tj{Y;eQPsYQKheMm%&0b=MI{8Bn)Is@g?0w+B_0s zXTNs0V`OZ`*`ruzJ!W)vst@qMjYUH@cGpZb-DPgmV?Pyt|Hmng=$&>X$EuyGmP3|B zwKH-reO^I7eLADsP7zog;#kgwdnKh3u{>Ldp?DK!y82IIH1Wrw9hO7IZAh*R!J*+6 zV4$CmgxK1x+_UI#?2ObTSejxV92?+sz7qnN3msDE7NG?xD-aJk&^x!EFWko-^%klc z+7r8I*a-F@foKRsJa9&#zJBqsL2R*)u&}oNLNg8QLwhtomqlG7G1O@L6e{Q#f`q;# z%U4f6;n-0s5@+579g_rg9qr17S!gbJ(BO*w;yaKCdu+f4dE!1i3yILyICi0ks)kyE zlT2eb@}4(XgB?p<2m4N7KnAjQWP@lqZamK3=siTq#UU*uzsU?KCIRr~P%D4qMUzi$=pV}`^1IsWfg~Fg15?+c5WFyCQl<&$?7DH#@|2Q zIbzMp*b^#koE0|3rH#*2 z;i-|E1W*EHF(4RUyp@Mq6&Do{d8sT`r4kTN^N?1>}FgN|?}GK?lB!7La2bG6k%w z5M`{Af-`!BG(^Gayt3?a`(xLSw6w{@D`{S3KjaMX*{#4xv!>AE{t^b%%@C&LL0vyT z-#|kEiuL*-SQX_tDLyD+J+sYzkSHw6t1P^1|FEq3R0man)cv3?Ak1}|#bt{8;QWxn zXnQN6txRZ)Z-{=Ns_{Ak0T9bE%Nd0U;vvipg~b!d1;TLa{6%sbc>D}=%o6z9KfIoi zPl14)(i)=suHI+UmT<42P5H&)irsz!P0g*u8`R6Um;T-5SF`*umxF&@&-tn9XW6h* z`Lck3Jy9FwrQZok&e!HwQ9o71sDd`^Sf&Uj#L@c)zG2u|JzP>V`bnKhMAr4tA8&VG z*#v*Y-=(&KgZZ!h7*TjZxuJ(9BkWRPLnTed*{RaBY86GQ4IxZu{ zdqVO-4Q^P$PDDOHU!za~1EGX?X+Cp?VU-<{7mvULL+u65+;>8<4pYrLNG(rF)}_W9 zkFIp6JDpQ>Qem#n8-mF)>>M7Pmn*HTPAI;C%VcIR?=suOzx-J*kq7z%O@;^`IULKlMWDB{-!lq>vB+nLqD;D)d>)fSc1Z|>tdH0LMNpY zhDvSo-iyv)bU=25I27kPrV|3SyiP0Vt^7{zI97-OJ&M5rC{ZBNL!eL`K_925ip0Ss z+1K$ej&J6`Pl|~B{*_Rl;GGQ6erNUqwFUBQC9ak zExv_TFtD8|W!Q9WiB?i+f%!c!--6Ame005(yq}381!%HiiW^eOkmD;QOi7VvAb&w0 z_OlH5RsfTazU>F44CYLKjHc$uGa*9Y@!#oE$6UW(M`SOWd!FaYdp>) zbN0x^0kpbRWCe|7Tv1nT=Ma(&EHSPd@}W&Ry*B0Ge*Ef~5@}eaQ0!g6fU*sWw7fPe zs4V<8oKPNDNx3`|1zOm>&S(#z+ZnQFJGEqYb&CSrFjv3a-@z*JQ?|fj z?)CoRvBRv+8E?LrRgQn)l^(6w*FEu~!FTV540hdQ<9LAA*mmN;`vCiF0Y0(?h$-9n z+a8|W9{bYF5Nv*opTCn8Lam&JSHiS0C*i(|I^z|pt2Y~F(2X+q6bY+lMn$C?cY}m3 zr8*xn?n{IgJ z;4aKSTB+%HY1S#~PN&9m>GD`_jV|+mUIDLI4@_Ck;&6$$+9Ja{ay1lb<>T$TEZlb2 zWFSSt3y8NwvQP7KDh&&Zo}-mJb3(sKMavlNFy9meb&sT z0=5=r?^ftn3z({FNlg^EJ%tG{<)OwLT&t*4tv<1W3S7Ha6RaruR*-w@Qo%I}>>5`s zJfcARFki)nHthO4+F{n6WUZuYu(uzwtz?YNmj_`-FGpB;cE1b!jso$s7vKc5T}BXz z?A=|^pAr@B99mUEXc+U7x~PVRF<1XtH#9I%k2AR@NDMQ4snIU zE@5{|4+RI9{z84@pP~s-gfg*sO8cs9n>iK3GcHY^oVZsNmgLK9PGOSuh6MXz;&ATa zyh8;=4SCHKXYG$4Kb2j9Dg3>KaE1b@R=+=#3S4rcrTv#<&F6~Kjim}~?DtL`7@VJR#DaG;?%{8 zvJFT4*T|-6mW7ANW20h{w*OG*?ND#3ExAx;-}3j07eL8+67OxlA-@*6`K%x1zbrij-x z0FwszGidQ@Q7rxDrDWGghBae^eCkJ&uQ#&o^F-@uSc_{>)iTt~?Y0D~E+x4mzo+q%`X^)$&N|zQ~pFiFsefu!)mZDFaD&x3qw}O~m5Ipy((ITW=|9w;v1r1(JV;kk(MjnZXh#w)~0I1$d>A9HTNIlm}8mQ`rVlh+m2TyCZwo%Qil zpdYRHHc;MOGr}WN5@O|=Jz8zTF8g#``9Zd<2H~t?01m=5j)7M{Ft8Uh@G8f^-j57~ zi8#Z~&Y}eRsSUDkIK+~@Z$>>aRiBSTwf8+!kqg>@kq|WQlvbNPzq9i-*!?mN8(1Jb zjGP3W#367JfD`5ucD!Azk`SZG+_ZP!!p$odJno$q=D>P^50QXA!5v1xhh_^){I>!O z6CMI@fiIDScmnaLx}I0c&8z&<(R+#X=#L*R;oPWN+OjXCW+COaHP|;z(VihFGv$=k zQw`Y>F(&Lw7uf5zvz6G+7F%LFTgCXBDjqrIx0zuX3$2f(WZ^*U<6b!itM7OQNA^-iB@s2tso$% zfQkg8peP6|pCSdn01<>V;713Qs(@6%^OARUdhWZ6#&-H|=f3B8?m5rB&pCIs=Q2zI zf7M@AUf*S`p0539Y2b&u@O~IrdGrnZiz@`D>!8Ve0(*V7a%sffg?!v;}7-AAP{ti*Mks*a;=u{WkEt1nf z%X07q^Z}ufb9v*fNyZu1KveV2)>hZT&f3#ujt%YL*XDGuNBAS$uN~$kUb#$MuFtz) zSCpNfsZSxnRo8ChS6&++^T6GXXlw`HHYeyEoP3$Y>s=b{!MYS;l!LDhkQ`~z)4p&B zZiJ>E@c$e9?FsE3PiX%G(jfUbyGT}0lJCNgZqTb{vc?F|R;uA%J-v+~y$14;I7i4X zDNZie6lAjW)YyoSwco@9@=zF?qs|g9(++VK1Pd*znG`b-FPDKxR6Mtjz?eFglWE^J z50w7>7=4NMuO$Zxk_-2r#V1qJ>ZC8zR`Mih_dKyj0LSr)3(C3u3feEZf3}a{CKo|j zV^NF7T6+5gb5TlBFFY0ZmDeFyaX6SMXzv43k8nv43xp|>65rz0=gGzSIIG=3selpl zgySXWlS(ybjo+{E4Gj&B)}4%097;Zvo~cbw`#LgY?e>^edfPT>)zQ^z_(K^?DxvLW zEdH?>OVNl0t}Kz!Tjl_Q%NZ!S)7@R*^OcrCKtRCGgTH-+9X;9c#Gq_`xR5&1#0~~A>ZF3=LC~V z)o>S+!i*oJ791{ZfGt73ar)gxfhP@4By6c&4b_|4H`k~kv4@7*r4JL! z{7KWxI0KuCVeOxBm*)03xe{rLEkU`B6MAF zq%JocCbLLW(6=!Gdet0a0Z-Q28EyfO5_->-&_`0N=n}}%^>n~|$kCMY(RH7l;g!jiQDwLqY!<<7-qbHuJTRUn0 z|Hsj8Nh@APW4Lf*Jd=&F1dSo1|6bzQ)(Hu<_I*cw=8b+!tMtT~dfHIA=WZ zh6^&d3${ht9W8UpE@1M0M-lFC0# zdjo0h+*VJ;PuQU6FxnrHCwGtv&ACjLae#LaSzoDJK2D~-(c|7p|78pA3wZI^zy|Qk z^&4X44ad`6;MD_OT~6cJo)>2fEQG-1O1>Ib5AX2RqmPihXdVCXiyUwz@bAI7g0wJB za+bzQ#w@0T$mlP+5vr> zWx*>JST2n~j^FDzhwBvr2AM&Z3mGsCn;xEuFl7x>g^*+XTsV!o_M0yH<2XjG8*mo$ zZHBthQ+6ojV8#)<_HqZ3akBQOyB>4x?|0D}GlF}~!LUZ|KsUMk4cLKRiGvXJkUrFe z!7tbH*bsgYIL<1fFk*NVSs%MClu4O41&?XOwwwiTN0HFjt)a~7dvh_djXu;>J)|oR zK#Oev{sRY~1qa}d_5paSkx9iXZIat?d1#W;UA^2ScR4W2jL0U2Pf@pK_!YS7!F5j) zs;JRO?z8dvuG7&PZ-^h9B_u^9gl*Pf9ww9D@uc-SgeGlTlekJNE!ZOqZ^Gk483s)4 zD=Kxg!Ml0Kse)=v?l;G`XX>n@gJdTbnr&9hGou&xZ_x&BTJ>qXUS$_4-8R#08eww2 zwyKO+l`mFhvRBoERb7ASWnforu%9A$pLnYWoI0H*5SYpDbUH>SkFdC?&%u3k}m2T!r^^;)Lneal@pb zXR|>EZs2$azSP0PVQKM-y1gfI%QWBZ$l88HXLVU1i}=KBKFUSBWlj#mhV~F245&h_ zoZhG>-I!kMi>HDY3$!~HHuX$F%eoQTS0pVou)x*C{%{DFjgKGt8wZySsS|Ya4#DOc zfz6ed6pbYzq5*3HH_NHcyb{{sMofb%0~yYSUUOzTrqYod9&KW7Jd^i{Iv!L!=gk-rZssxP%@YYNa+nKwFpj}U{`+uB z+9CAaW-^^z1eawnW-p_q2#DeFr4#wfWr;tdML;_QS~?#H|2^Y>q7&=L&Qoy(g&I$b zK#P3X=i)KY;x}pXZ~U1`j&3O3%Qjr1l@1sm>yYrNqFwnKQt9Bsq|x$L73Kj}!LS1$ z>Iuv1j4OpnmeqH0AHLC8Ij^yp*huk%ON3f76A3N%4nR+4W()V7dGE7|%Nsj_Tmt1qN&1!pX&oP)N>pi%_+iN^$7^OBquRZ3g| zCvaBa0_aIwRatAiewos^`>Wuk+LfVss7(IFs)I3ho@SC;a-d`a+e5N-dzHwUD05=5 z>%^m+6r7Ot0%!HIksg&Z`4fzKTFQ^m`AX7VTIAhKPL&=gw(;3icnet30ZyD~%f?!9F{jDbLs1WNspA9XnQBsa2^5J>xdgiam~%#R@n@ z5CQ>NwJ||)fue(`Q1+mr0ogSQ%2vcGXi)1?P)G2fw$oAK{=N8cX1@Cpqo@53^1ko> z?*09~HAwYgHs_swj}Bd-KwH~AYg?AXAIneq-A0^k4LGQT^s=T5 ze0f|3eYq(EgT>?{Oyig1sFIoYh|oFZn4yDcGwE<*^05skK`@*kMkB?j&p;wVd==;% z7gqpVNZHceLYouS4=7}HYPeQF1lF+TN=hSk7*3Un3XSo}_TJ#tg_-}e_wn@33apS~TbAtt z5pe&-GX!CnZ;imjUij7e@tMUmcvRNPG{1*o-0`>(?`w4BqpobOpKR`K#_OYyWuFUa z<_yI`idP)fux|{qH^I+{Y&2Ps*Qr$YbNaPs&$hnf>3A=@uGo4y<8nBS(6dvKQaBma zw3B?O)e{gbe|13F0!B~Xq27>0j|`8IP&{@>GTe7{MAFY&QLZc45B@E|SI4C2H)t_Y zLkzQTDZ}7Dce=sa8&?1Mu{-1;{#rrvdNkAHV_eGSA(Ac!s|<-hPIlv|V?m`4OdogS zwM(6?PE6LVM%(++!#|5n9pC%ZFXz*CBIb#VgP-?gEOQyfnahE)x)Zi2;r&T(^#9n~ zx6K?nnE;4Xj`}npzv&>m&OqTj9euFR9)M5#7#tYIx8LL$i0RQP2ArMfBBSQssX2yaExJN#EF>WXUv?AV%kn3I;-^=VZ=)2yk27^F{FxA;A5)Zf&_l5hNvv79+%SLm z38M}UE1%@hC686NCbeLUB_pV`VV

    eDpL&hST9E(=`OW&QlRMflr!_h-5D zAF4ihIYDSkQSQ@ut8c7U2llfMv%EjB`nL4yJ;zV2yKNEfIeV?|^%(ARd%pFb-TZO> z+cQSBb-VxCXBGd~+ Qp&{@@5LH!Ie>Yw(0I`)%F#rGn literal 0 HcmV?d00001 diff --git a/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2023-1079-patched b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2023-1079-patched new file mode 100644 index 0000000000000000000000000000000000000000..c8a1766b33a51ea94bfa296a71714f796ef98e9b GIT binary patch literal 117260 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 Vj+)uDvo6XxL8b0A(~;li;8+t@`*fz3Fm2&&mL8 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 BGJ^mB literal 0 HcmV?d00001 diff --git a/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2023-970-patched b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2023-970-patched new file mode 100644 index 0000000000000000000000000000000000000000..3fee7f73f6ae5ef4cd9fb7a3107c7e1c9e0144cd GIT binary patch literal 972 zcma))&1(}u7{)_GO`IIet$G{KfFgB2vq_-_$)-tTty$BEEmCx{J59Il?u6ZmBu7CI z6!aeuExmfsyNG8m3gW@gYm0dCBzTd=nawV>wxYWXJG<{Z?>x_MHjy(b)oJO10&;JE zZ0!LFijcH7!0ap(4Aj8^l-ZXi6k3BWhJubLa!3c3N&tHnU&za`KqozqLJ0~BwiUpe zPzj~0v3T5XU&_n-QjcPf22dSuw}>qpl}Vp<5!o&0$Ak4Ukk1yzwwgE~J>O(Lx#KEf z6*eiAps?I%Z(uWg6_!Pq5BstLuQdrp6tgc;Ebi>LOx#0k>ux&~`|Rm3 zaRr;i3Pl0+F>*ow>G>U56+bERbum%aljg-_W->@-FTdaY_(U|i@4kSYiNxc*)O|)S z(nJiow|Kv@O#=h_I&r(i<3WpzI&p}<)I}ycfeOBBo48pk^C`E$c(~*A*LujY=>Tf^ zFl21EqPHTm!aTM+>x`XRfWjgQ?m#W1A}saVG(6wB%Sl93VuHdA+hPc0NiC>FMdRX# ziX<0iG!8DxGx|K*PUwkDIt|jP3^)!Z9-iGiYMdAi4^iM={z`%UREH_ld^CUuLS02J zvtM^RVi@oLf@yiVcp%fik9v2w;BAZ9W4BMO^uL~dl{&Zi;`_;A{nEW>k7}r4Ouxyh zb6Zn0FQ1F%8R$VE@~bViRnuJ4lssZnvmh6-Qd;Hs=3jq%@ZpyCb8@9M75o9_sPzFw TKJEK>4M?i2N+6e;YgEB6xJoTt literal 0 HcmV?d00001 diff --git a/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2024-1391-patched b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2024-1391-patched new file mode 100644 index 0000000000000000000000000000000000000000..ae60adee4e3b33e803e536859ddf8262730ce1ef GIT binary patch literal 39799 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 literal 0 HcmV?d00001 diff --git a/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2024-503-patched b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2024-503-patched new file mode 100644 index 0000000000000000000000000000000000000000..a242309f7e4fea0d1d92ee52b07e02e19367f2ee GIT binary patch literal 150980 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%0AtjU;+K?J7bJvSS`@F@3HP||tn$tO0a?|_`oup^^ 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 bZ+tzTuO80zzE?W- Date: Mon, 20 Apr 2026 05:08:24 +0000 Subject: [PATCH 17/47] Add ghostscript_transplant_gstoraster_fuzzer benchmark Self-contained FuzzBench benchmark generated from the ghostscript bug-transplant merge. Bundles Dockerfile, build.sh, combined + harness patches, harness sources, dispatch-prefixed seeds, and bug_metadata.json for coverage-based triage. --- .../Dockerfile | 32 + .../benchmark.yaml | 5 + .../bug_metadata.json | 336 ++++ .../build.sh | 176 ++ .../dicts/pdf.dict | 1466 +++++++++++++++++ .../dicts/ps.dict | 232 +++ .../gs_fuzzlib.h | 153 ++ .../gstoraster_fuzzer.cc | 25 + .../patches/combined.diff | 591 +++++++ .../patches/harness.diff | 20 + .../patches/harness_sources/manifest.json | 6 + .../harness_sources/src__gstoraster_fuzzer.cc | 123 ++ .../pdf_seeds/pdf.pdf | Bin 0 -> 35154 bytes .../seeds/testcase-OSV-2020-1875-patched | Bin 0 -> 3 bytes .../seeds/testcase-OSV-2021-1681-patched | Bin 0 -> 37619 bytes .../seeds/testcase-OSV-2021-1682-patched | Bin 0 -> 25890 bytes .../seeds/testcase-OSV-2021-1683-patched | Bin 0 -> 10 bytes .../seeds/testcase-OSV-2021-1684-patched | Bin 0 -> 9531 bytes .../seeds/testcase-OSV-2021-1685-patched | Bin 0 -> 9024 bytes .../seeds/testcase-OSV-2021-1686-patched | Bin 0 -> 29840 bytes .../seeds/testcase-OSV-2021-1687-patched | Bin 0 -> 29792 bytes .../seeds/testcase-OSV-2021-1688-patched | Bin 0 -> 1480 bytes .../seeds/testcase-OSV-2021-1689-patched | Bin 0 -> 132354 bytes .../seeds/testcase-OSV-2021-1690-patched | Bin 0 -> 7936 bytes .../seeds/testcase-OSV-2021-1692-patched | Bin 0 -> 59512 bytes .../seeds/testcase-OSV-2021-1693-patched | Bin 0 -> 13861 bytes .../seeds/testcase-OSV-2021-1694-patched | Bin 0 -> 14928 bytes .../seeds/testcase-OSV-2021-1697-patched | Bin 0 -> 13998 bytes .../seeds/testcase-OSV-2021-1698-patched | Bin 0 -> 8296 bytes .../seeds/testcase-OSV-2021-1703-patched | Bin 0 -> 23815 bytes .../seeds/testcase-OSV-2021-1704-patched | Bin 0 -> 3847 bytes .../seeds/testcase-OSV-2021-1706-patched | Bin 0 -> 2987 bytes .../seeds/testcase-OSV-2021-1707-patched | Bin 0 -> 2900 bytes .../seeds/testcase-OSV-2021-1709-patched | Bin 0 -> 3177 bytes .../seeds/testcase-OSV-2021-1711-patched | Bin 0 -> 13812 bytes .../seeds/testcase-OSV-2021-1715-patched | Bin 0 -> 151798 bytes .../seeds/testcase-OSV-2021-1717-patched | Bin 0 -> 14912 bytes .../seeds/testcase-OSV-2021-1719-patched | Bin 0 -> 29840 bytes .../seeds/testcase-OSV-2021-1723-patched | Bin 0 -> 68808 bytes .../seeds/testcase-OSV-2021-1724-patched | Bin 0 -> 4164 bytes .../seeds/testcase-OSV-2021-1731-patched | Bin 0 -> 5632 bytes .../seeds/testcase-OSV-2021-1740-patched | Bin 0 -> 35635 bytes .../seeds/testcase-OSV-2021-1741-patched | Bin 0 -> 809 bytes .../seeds/testcase-OSV-2021-1743-patched | Bin 0 -> 117850 bytes .../seeds/testcase-OSV-2021-1752-patched | Bin 0 -> 19431 bytes .../seeds/testcase-OSV-2021-1753-patched | Bin 0 -> 242058 bytes .../seeds/testcase-OSV-2021-1754-patched | Bin 0 -> 6825 bytes .../seeds/testcase-OSV-2021-1763-patched | Bin 0 -> 35135 bytes .../seeds/testcase-OSV-2021-1764-patched | Bin 0 -> 8758 bytes .../seeds/testcase-OSV-2021-1767-patched | Bin 0 -> 18036 bytes .../seeds/testcase-OSV-2021-1770-patched | Bin 0 -> 1249 bytes .../seeds/testcase-OSV-2021-1771-patched | Bin 0 -> 159514 bytes .../seeds/testcase-OSV-2021-1772-patched | Bin 0 -> 451817 bytes .../seeds/testcase-OSV-2021-1774-patched | Bin 0 -> 15779 bytes .../seeds/testcase-OSV-2021-1781-patched | Bin 0 -> 702 bytes .../seeds/testcase-OSV-2021-1788-patched | Bin 0 -> 15758 bytes .../seeds/testcase-OSV-2021-1795-patched | Bin 0 -> 14900 bytes .../seeds/testcase-OSV-2021-1802-patched | Bin 0 -> 25182 bytes .../seeds/testcase-OSV-2021-1803-patched | Bin 0 -> 44533 bytes .../seeds/testcase-OSV-2021-1806-patched | Bin 0 -> 80066 bytes .../seeds/testcase-OSV-2021-237-patched | Bin 0 -> 2219 bytes .../seeds/testcase-OSV-2021-337-patched | Bin 0 -> 573 bytes .../seeds/testcase-OSV-2021-668-patched | Bin 0 -> 18295 bytes .../seeds/testcase-OSV-2021-803-patched | Bin 0 -> 196 bytes .../seeds/testcase-OSV-2022-1-patched | Bin 0 -> 17534 bytes .../seeds/testcase-OSV-2022-100-patched | Bin 0 -> 2525 bytes .../seeds/testcase-OSV-2022-102-patched | Bin 0 -> 15680 bytes .../seeds/testcase-OSV-2022-177-patched | Bin 0 -> 126785 bytes .../seeds/testcase-OSV-2022-18-patched | Bin 0 -> 90586 bytes .../seeds/testcase-OSV-2022-199-patched | Bin 0 -> 94305 bytes .../seeds/testcase-OSV-2022-206-patched | Bin 0 -> 1030 bytes .../seeds/testcase-OSV-2022-210-patched | Bin 0 -> 5867 bytes .../seeds/testcase-OSV-2022-218-patched | Bin 0 -> 8629 bytes .../seeds/testcase-OSV-2022-229-patched | Bin 0 -> 1808 bytes .../seeds/testcase-OSV-2022-232-patched | Bin 0 -> 11348 bytes .../seeds/testcase-OSV-2022-270-patched | Bin 0 -> 159520 bytes .../seeds/testcase-OSV-2022-271-patched | Bin 0 -> 4408 bytes .../seeds/testcase-OSV-2022-278-patched | Bin 0 -> 14014 bytes .../seeds/testcase-OSV-2022-3-patched | Bin 0 -> 50267 bytes .../seeds/testcase-OSV-2022-301-patched | Bin 0 -> 2050 bytes .../seeds/testcase-OSV-2022-339-patched | Bin 0 -> 437428 bytes .../seeds/testcase-OSV-2022-351-patched | Bin 0 -> 70 bytes .../seeds/testcase-OSV-2022-390-patched | Bin 0 -> 33317 bytes .../seeds/testcase-OSV-2022-415-patched | Bin 0 -> 1249 bytes .../seeds/testcase-OSV-2022-417-patched | Bin 0 -> 702 bytes .../seeds/testcase-OSV-2022-449-patched | Bin 0 -> 1014 bytes .../seeds/testcase-OSV-2022-453-patched | Bin 0 -> 3211 bytes .../seeds/testcase-OSV-2022-456-patched | Bin 0 -> 9595 bytes .../seeds/testcase-OSV-2022-47-patched | Bin 0 -> 2707 bytes .../seeds/testcase-OSV-2022-496-patched | Bin 0 -> 206497 bytes .../seeds/testcase-OSV-2022-54-patched | Bin 0 -> 19522 bytes .../seeds/testcase-OSV-2022-684-patched | Bin 0 -> 2069 bytes .../seeds/testcase-OSV-2022-79-patched | Bin 0 -> 78308 bytes .../seeds/testcase-OSV-2022-83-patched | Bin 0 -> 44533 bytes .../seeds/testcase-OSV-2022-97-patched | Bin 0 -> 712 bytes 95 files changed, 3165 insertions(+) create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/Dockerfile create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/benchmark.yaml create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/bug_metadata.json create mode 100755 benchmarks/ghostscript_transplant_gstoraster_fuzzer/build.sh create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/dicts/pdf.dict create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/dicts/ps.dict create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/gs_fuzzlib.h create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/gstoraster_fuzzer.cc create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/patches/combined.diff create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/patches/harness.diff create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/patches/harness_sources/manifest.json create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/patches/harness_sources/src__gstoraster_fuzzer.cc create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/pdf_seeds/pdf.pdf create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2020-1875-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1681-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1682-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1683-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1684-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1685-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1686-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1687-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1688-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1689-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1690-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1692-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1693-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1694-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1697-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1698-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1703-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1704-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1706-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1707-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1709-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1711-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1715-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1717-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1719-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1723-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1724-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1731-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1740-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1741-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1743-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1752-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1753-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1754-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1763-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1764-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1767-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1770-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1771-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1772-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1774-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1781-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1788-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1795-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1802-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1803-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1806-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-237-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-337-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-668-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-803-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2022-1-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2022-100-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2022-102-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2022-177-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2022-18-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2022-199-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2022-206-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2022-210-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2022-218-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2022-229-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2022-232-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2022-270-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2022-271-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2022-278-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2022-3-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2022-301-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2022-339-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2022-351-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2022-390-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2022-415-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2022-417-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2022-449-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2022-453-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2022-456-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2022-47-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2022-496-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2022-54-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2022-684-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2022-79-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2022-83-patched create mode 100644 benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2022-97-patched diff --git a/benchmarks/ghostscript_transplant_gstoraster_fuzzer/Dockerfile b/benchmarks/ghostscript_transplant_gstoraster_fuzzer/Dockerfile new file mode 100644 index 000000000..e3194b256 --- /dev/null +++ b/benchmarks/ghostscript_transplant_gstoraster_fuzzer/Dockerfile @@ -0,0 +1,32 @@ +FROM gcr.io/oss-fuzz-base/base-builder@sha256:87ca1e9e19235e731fac8de8d1892ebe8d55caf18e7aa131346fc582a2034fdd + +# Build-time deps for ghostpdl + cups + freetype. +RUN apt-get update && apt-get install -y --no-install-recommends \ + autoconf automake libtool pkg-config \ + zlibc liblcms2-dev libpng-dev libfontconfig1-dev \ + && rm -rf /var/lib/apt/lists/* + +# Full clones so build.sh can `git checkout ` on ghostpdl. +RUN git clone --branch branch-2.2 --single-branch --depth 1 \ + https://github.com/apple/cups.git /src/cups +RUN git clone --branch VER-2-11-1 --single-branch --depth 1 \ + https://git.savannah.gnu.org/git/freetype/freetype2.git /src/freetype +RUN git clone https://git.ghostscript.com/ghostpdl.git /src/ghostpdl \ + && mkdir /src/ghostpdl/fuzz + +# OSS-Fuzz harness seed corpora, dictionaries, and the .cc sources the build +# compiles as fuzz targets. Kept in-benchmark so the rebase is self-contained. +COPY pdf_seeds /src/pdf_seeds +COPY dicts /src/dicts +COPY gs_fuzzlib.h /src/gs_fuzzlib.h +COPY gstoraster_fuzzer.cc /src/gstoraster_fuzzer.cc + +WORKDIR /src/ghostpdl + +# Keep ASan stack-use-after-return detection enabled for direct testcase replay. +ENV ASAN_OPTIONS="detect_leaks=0:detect_stack_use_after_return=1" + +# Bug transplant patches (re-applied by build.sh after checkout resets source). +COPY patches/ /src/patches/ +COPY seeds/ /src/benchmark_seeds/ +COPY build.sh $SRC/ diff --git a/benchmarks/ghostscript_transplant_gstoraster_fuzzer/benchmark.yaml b/benchmarks/ghostscript_transplant_gstoraster_fuzzer/benchmark.yaml new file mode 100644 index 000000000..806577226 --- /dev/null +++ b/benchmarks/ghostscript_transplant_gstoraster_fuzzer/benchmark.yaml @@ -0,0 +1,5 @@ +project: ghostscript +fuzz_target: gstoraster_fuzzer +commit: 2be8b436910cfc8b013a13df000c3c854cf3c5c5 +commit_date: 2022-01-13T14:13:08-05:00 +type: bug diff --git a/benchmarks/ghostscript_transplant_gstoraster_fuzzer/bug_metadata.json b/benchmarks/ghostscript_transplant_gstoraster_fuzzer/bug_metadata.json new file mode 100644 index 000000000..5041372c4 --- /dev/null +++ b/benchmarks/ghostscript_transplant_gstoraster_fuzzer/bug_metadata.json @@ -0,0 +1,336 @@ +{ + "project": "ghostscript", + "target_commit": "2be8b436910cfc8b013a13df000c3c854cf3c5c5", + "dispatch_bytes": 2, + "total_bugs": 82, + "bugs": { + "OSV-2020-1875": { + "dispatch_value": 1, + "triggered": true + }, + "OSV-2021-237": { + "dispatch_value": 2, + "triggered": true + }, + "OSV-2021-337": { + "dispatch_value": 4, + "triggered": true + }, + "OSV-2021-668": { + "dispatch_value": 8, + "triggered": true + }, + "OSV-2021-803": { + "dispatch_value": 16, + "triggered": true + }, + "OSV-2021-1683": { + "dispatch_value": 32, + "triggered": true + }, + "OSV-2021-1690": { + "dispatch_value": 64, + "triggered": true + }, + "OSV-2021-1741": { + "dispatch_value": 128, + "triggered": true + }, + "OSV-2022-54": { + "dispatch_value": 256, + "triggered": true + }, + "OSV-2022-229": { + "dispatch_value": 512, + "triggered": true + }, + "OSV-2022-271": { + "dispatch_value": 1024, + "triggered": true + }, + "OSV-2022-301": { + "dispatch_value": 2048, + "triggered": true + }, + "OSV-2022-449": { + "dispatch_value": 4096, + "triggered": true + }, + "OSV-2022-456": { + "dispatch_value": 8192, + "triggered": true + }, + "OSV-2022-684": { + "dispatch_value": 16384, + "triggered": true + }, + "OSV-2021-1681": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2021-1682": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2021-1684": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2021-1685": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2021-1686": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2021-1687": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2021-1688": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2021-1689": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2021-1692": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2021-1693": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2021-1694": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2021-1697": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2021-1698": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2021-1703": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2021-1704": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2021-1706": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2021-1707": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2021-1709": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2021-1711": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2021-1715": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2021-1717": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2021-1719": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2021-1723": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2021-1724": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2021-1731": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2021-1740": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2021-1743": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2021-1752": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2021-1753": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2021-1754": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2021-1763": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2021-1764": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2021-1767": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2021-1770": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2021-1771": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2021-1772": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2021-1774": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2021-1781": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2021-1788": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2021-1795": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2021-1802": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2021-1803": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2021-1806": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2022-1": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2022-3": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2022-18": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2022-47": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2022-79": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2022-83": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2022-97": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2022-100": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2022-102": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2022-177": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2022-199": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2022-206": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2022-210": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2022-218": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2022-270": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2022-278": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2022-339": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2022-351": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2022-390": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2022-415": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2022-417": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2022-453": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2022-496": { + "dispatch_value": 0, + "triggered": true + }, + "OSV-2022-232": { + "dispatch_value": 0, + "triggered": true + } + } +} \ No newline at end of file diff --git a/benchmarks/ghostscript_transplant_gstoraster_fuzzer/build.sh b/benchmarks/ghostscript_transplant_gstoraster_fuzzer/build.sh new file mode 100755 index 000000000..529f166d5 --- /dev/null +++ b/benchmarks/ghostscript_transplant_gstoraster_fuzzer/build.sh @@ -0,0 +1,176 @@ +#!/bin/bash -eu +# Generated by fuzzbench_generate.py for bug transplant evaluation + +cd /src/ghostpdl + +# Checkout target commit +git checkout 2be8b436910cfc8b013a13df000c3c854cf3c5c5 + +# Restore harness sources that live outside the project git repository. +if [ -f /src/patches/harness_sources/manifest.json ]; then + python3 - <<'PY' +import json +import shutil +from pathlib import Path + +root = Path("/src/patches/harness_sources") +for entry in json.loads((root / "manifest.json").read_text()): + source = root / entry["snapshot"] + destination = Path(entry["container_path"]) + destination.parent.mkdir(parents=True, exist_ok=True) + shutil.copy2(source, destination) +PY +fi + +# Apply dispatch harness first (modifies build system), then bug patches +if ! git apply --check /src/patches/harness.diff 2>/dev/null; then + echo "Trying git apply --3way for harness.diff..." + git apply --3way /src/patches/harness.diff +else + git apply /src/patches/harness.diff +fi + +if ! git apply --check /src/patches/combined.diff 2>/dev/null; then + echo "Trying git apply --3way for combined.diff..." + git apply --3way /src/patches/combined.diff +else + git apply /src/patches/combined.diff +fi + +# --- Fix library CMakeLists.txt for new source files from combined.diff --- +# combined.diff may create new .c files (e.g., zfp_getcell.c) that need to +# be added to the library's explicit source list. +if [ -d blosc ] && [ -f blosc/CMakeLists.txt ]; then + for newfile in blosc/*.c; do + base=$(basename "$newfile") + if ! grep -q "$base" blosc/CMakeLists.txt 2>/dev/null; then + echo "Adding $base to blosc/CMakeLists.txt" + sed -i "/^set(SOURCES /s/)/ $base)/" blosc/CMakeLists.txt + fi + done +fi + +# --- Original build commands --- +pushd $SRC/cups +# Fix bad line +sed -i '2110s/\(\s\)f->value/\1(int)f->value/' cups/ppd-cache.c + +LSB_BUILD=y CFLAGS="${CFLAGS:-} -Wno-error=implicit-function-declaration" \ + ./configure --prefix="$WORK" --libdir="$OUT" --disable-gnutls \ + --disable-libusb --with-components=core + +make clean +make install-headers install-libs +make -C filter libs install-libs +install -m755 cups-config "$WORK"/cups-config +popd + +rm -rf cups/libs || true +rm -rf freetype || true +rm -rf zlib || true +rm -rf libpng || true + +if [ -d "$SRC/freetype" ]; then + mv "$SRC/freetype" freetype +fi + +CUPSCONFIG="$WORK/cups-config" +CUPS_CFLAGS=$($CUPSCONFIG --cflags) +CUPS_LDFLAGS=$($CUPSCONFIG --ldflags) +CUPS_LIBS=$($CUPSCONFIG --image --libs) +export CXXFLAGS="$CXXFLAGS $CUPS_CFLAGS" + +CPPFLAGS="${CPPFLAGS:-} $CUPS_CFLAGS -DPACIFY_VALGRIND" ./autogen.sh \ + CUPSCONFIG=$CUPSCONFIG \ + --enable-freetype --enable-fontconfig \ + --enable-cups --with-ijs --with-jbig2dec \ + --with-drivers=cups,ljet4,laserjet,pxlmono,pxlcolor,pcl3,uniprint +make -j$(nproc) libgs + +$CC $CFLAGS -fno-zero-initialized-in-bss -c __bug_dispatch.c -o __bug_dispatch.o + +$CXX $CXXFLAGS $CUPS_LDFLAGS -std=c++11 -I. \ + $SRC/gstoraster_fuzzer.cc \ + __bug_dispatch.o \ + -o "$OUT/gstoraster_fuzzer" \ + -Wl,-rpath='$ORIGIN' \ + $CUPS_LIBS \ + $LIB_FUZZING_ENGINE bin/gs.a \ + $(pkg-config --libs fontconfig 2>/dev/null || echo -lfontconfig) + +mkdir -p "$WORK/seeds" +for f in examples/*.{ps,pdf}; do + s=$(sha1sum "$f" | awk '{print $1}') + cp "$f" "$WORK/seeds/$s" +done +zip -j "$OUT/gstoraster_fuzzer_seed_corpus.zip" "$WORK"/seeds/* + + +# --- Seed corpus: expand original seeds and per-bug testcase candidates --- +# FuzzBench uses $OUT/{fuzz_target}_seed_corpus.zip as initial corpus. +# Create one seed variant for the default path plus one for each dispatch bit. +# Per-bug reproducers are used only as source material: exact crashing inputs +# are filtered out before packaging. +seed_zip="$OUT/gstoraster_fuzzer_seed_corpus.zip" +seed_target="$OUT/gstoraster_fuzzer" +mkdir -p /tmp/seeds_dispatch /tmp/original_seeds /tmp/benchmark_seed_candidates + +if [ -f "$seed_zip" ]; then + unzip -q -o "$seed_zip" -d /tmp/original_seeds 2>/dev/null || true + for f in /tmp/original_seeds/*; do + [ -f "$f" ] || continue + base=$(basename "$f") + for dispatch in '\x00\x00' '\x01\x00' '\x02\x00' '\x04\x00' '\x08\x00' '\x10\x00' '\x20\x00' '\x40\x00' '\x80\x00' '\x00\x01' '\x00\x02' '\x00\x04' '\x00\x08' '\x00\x10' '\x00\x20' '\x00\x40' '\x00\x80'; do + dispatch_name=$(printf '%s' "$dispatch" | tr -d '\x') + printf '%b' "$dispatch" | cat - "$f" > "/tmp/seeds_dispatch/${base}.dispatch_${dispatch_name}" + done + done +fi + +if [ -d /src/benchmark_seeds ]; then + for f in /src/benchmark_seeds/*; do + [ -f "$f" ] || continue + base=$(basename "$f") + size=$(wc -c < "$f") + [ "$size" -gt 0 ] || continue + + cp "$f" "/tmp/benchmark_seed_candidates/${base}.exact" + # Zero the dispatch byte (byte 0): deactivates dispatch-gated patches + # while keeping the full APDU conversation and card driver routing intact. + cp "$f" "/tmp/benchmark_seed_candidates/${base}.dispatch_zero" + printf '\000' | dd of="/tmp/benchmark_seed_candidates/${base}.dispatch_zero" bs=1 seek=0 conv=notrunc 2>/dev/null || true + for keep in 1 2 8 16 64 256 1024; do + if [ "$size" -gt "$keep" ]; then + head -c "$keep" "$f" > "/tmp/benchmark_seed_candidates/${base}.head_${keep}" + fi + done + if [ "$size" -gt 1 ]; then + head -c "$((size - 1))" "$f" > "/tmp/benchmark_seed_candidates/${base}.trim_1" + cp "$f" "/tmp/benchmark_seed_candidates/${base}.zero_last" + printf '\000' | dd of="/tmp/benchmark_seed_candidates/${base}.zero_last" bs=1 seek="$((size - 1))" conv=notrunc 2>/dev/null || true + cp "$f" "/tmp/benchmark_seed_candidates/${base}.ff_last" + printf '\377' | dd of="/tmp/benchmark_seed_candidates/${base}.ff_last" bs=1 seek="$((size - 1))" conv=notrunc 2>/dev/null || true + fi + if [ "$size" -gt 4 ]; then + mid=$((size / 2)) + cp "$f" "/tmp/benchmark_seed_candidates/${base}.zero_mid" + printf '\000' | dd of="/tmp/benchmark_seed_candidates/${base}.zero_mid" bs=1 seek="$mid" conv=notrunc 2>/dev/null || true + cp "$f" "/tmp/benchmark_seed_candidates/${base}.ff_mid" + printf '\377' | dd of="/tmp/benchmark_seed_candidates/${base}.ff_mid" bs=1 seek="$mid" conv=notrunc 2>/dev/null || true + fi + done +fi + +if [ -x "$seed_target" ] && ls /tmp/benchmark_seed_candidates/* 1>/dev/null 2>&1; then + for f in /tmp/benchmark_seed_candidates/*; do + [ -f "$f" ] || continue + if timeout 10s env ASAN_OPTIONS="${ASAN_OPTIONS:-detect_leaks=0:detect_stack_use_after_return=1}" "$seed_target" "$f" >/tmp/seed_replay.log 2>&1; then + cp "$f" "/tmp/seeds_dispatch/poc_$(basename "$f")" + fi + done +fi + +if ls /tmp/seeds_dispatch/* 1>/dev/null 2>&1; then + rm -f "$seed_zip" + zip -j -q "$seed_zip" /tmp/seeds_dispatch/* +fi diff --git a/benchmarks/ghostscript_transplant_gstoraster_fuzzer/dicts/pdf.dict b/benchmarks/ghostscript_transplant_gstoraster_fuzzer/dicts/pdf.dict new file mode 100644 index 000000000..a6c48d59e --- /dev/null +++ b/benchmarks/ghostscript_transplant_gstoraster_fuzzer/dicts/pdf.dict @@ -0,0 +1,1466 @@ +# +# AFL dictionary for PDF +# ---------------------- +# +# This is a pretty big PDF dictionary constructed by Ben by manually reviewing +# the spec and combining that with the data pulled out of a corpus of sample +# PDFs. +# +# Contributed by Ben Nagy +# + +"#" +"%" +"%%" +"%%EOF" +"%FDF-1.7" +"%PDF-1.7" +"(" +"(/xdp:xdp)" +"(\\001)" +"(config)" +"(datasets)" +"(template)" +"(xdp:xdp)" +")" +"-1" +"-1.0" +".." +"/" +"/#23clipboard" +"/.notdef" +"/1" +"/1.0" +"/1.3" +"/3D" +"/3DA" +"/3DAnimationStyle" +"/3DB" +"/3DD" +"/3DI" +"/3DLightingScheme" +"/3DRenderMode" +"/3DV" +"/3DView" +"/90pv-RKSJ-H" +"/A" +"/A0" +"/A85" +"/AA" +"/AAIC" +"/AAPL" +"/ABCDEF+ACaslonPro-Regular" +"/ABCDEF+AJensonPro-LtIt" +"/ABCDEF+AdobeCorpID-MinionRg" +"/ABCDEF+Arial,Bold" +"/ABCDEF+BankGothicMdBT" +"/ABCDEF+Bauhaus-Heavy" +"/ABCDEF+BluesClues" +"/ABCDEF+BodegaSans" +"/ABCDEF+BodoniMTCondensed" +"/ABCDEF+BookAntiqua" +"/ABCDEF+CMBX10" +"/ABCDEF+CaflischScriptPro-Regular" +"/ABCDEF+CityBlueprint" +"/ABCDEF+CourierNewPSMT" +"/ABCDEF+FixedsysExcelsior2.00" +"/ABCDEF+MSTT31854bd45bo188067S00" +"/ABCDEF+MinionPro-BoldCnIt" +"/ABCDEF+MyriadMM-It_400_300_" +"/ABCDEF+Wingdings" +"/ABCDEF+ZapfDingbats" +"/AC" +"/ADBE" +"/ADB_DEVICE_DEFAULT_STYLE" +"/ADB_DefaultStyle" +"/ADB_NO_TRAP_STYLE" +"/AE" +"/AESV2" +"/AGaramond" +"/AH" +"/AI8DstIndex" +"/AI8SrcIndex" +"/AIMetaData" +"/AIPDFPrivateData1" +"/AIS" +"/AL" +"/AN" +"/AP" +"/AS" +"/ASCII85Decode" +"/ASCIIHexDecode" +"/ASomewhatLongerName" +"/AU" +"/Aacute" +"/Acc.#20Prod.#202501#20#2F2#20#20" +"/Accounts#20payable" +"/AccurateScreens" +"/Acircumflex" +"/AcroForm" +"/Action" +"/Actual" +"/Add" +"/Adieresis" +"/Adobe" +"/Adobe#20PDF#20Library" +"/Adobe.PPKLite" +"/AdobeCorpID-Acrobat" +"/AdobeCorpID-MinionRg" +"/AdobePhotoshop" +"/Agrave" +"/All" +"/AllKO" +"/AllOn" +"/Alt" +"/Alternate" +"/AlternatePresentations" +"/Alternates" +"/Amex" +"/And" +"/Angle" +"/Annot" +"/Annots" +"/AntiAlias" +"/AnyOn" +"/Apag_PDFX_Checkup" +"/App" +"/Architecture-Normal" +"/Arial" +"/Aring" +"/Art" +"/ArtBox" +"/Article" +"/Artifact" +"/Artwork" +"/Ascent" +"/Aspect" +"/Assistant" +"/Atilde" +"/AuthEvent" +"/Author" +"/Avenir-Heavy" +"/Avenir-MediumOblique" +"/AvgWidth" +"/BBox" +"/BC" +"/BCL" +"/BDC" +"/BDL" +"/BE" +"/BFSOL" +"/BG" +"/BG2" +"/BM" +"/BMC" +"/BS" +"/BW" +"/Bank" +"/BaseEncoding" +"/BaseFont" +"/BaseState" +"/BaseVersion" +"/Birch" +"/BitsPerComponent" +"/BitsPerCoordinate" +"/BitsPerFlag" +"/BitsPerSample" +"/Bl" +"/BlCDel" +"/BlMiNu" +"/Black" +"/BlackIs1" +"/BlackOP" +"/BlackPoint" +"/BleedBox" +"/Blend" +"/Block" +"/Blue" +"/BluesClues" +"/Bookshelf" +"/Border" +"/Bounds" +"/BoxColorInfo" +"/Btn" +"/BulmerMT-BoldDisplay" +"/ByteRange" +"/C" +"/C0" +"/C0_0" +"/C1" +"/C2W" +"/C3" +"/CALS_AIS" +"/CALS_BM" +"/CALS_HT" +"/CALS_SMASK" +"/CALS_ca" +"/CAM" +"/CB" +"/CC" +"/CCH" +"/CCITTFaxDecode" +"/CD" +"/CDL" +"/CEN" +"/CF" +"/CFM" +"/CI" +"/CIDFontType0" +"/CIDFontType0C" +"/CIDFontType2" +"/CIDInit" +"/CIDSet" +"/CIDSystemInfo" +"/CIDToGIDMap" +"/CMV_LabBar" +"/CMV_LabControl" +"/CMYK" +"/CMYK#20#2880,#208,#2034,#200#29" +"/CMap" +"/CMapName" +"/CMapType" +"/CMapVersion" +"/CO" +"/CP" +"/CS" +"/CS0" +"/CT" +"/CV" +"/CalGray" +"/CalRGB" +"/CapHeight" +"/Caption" +"/Caslon540BT-Roman" +"/CaslonBT-Bold" +"/CaslonBT-BoldItalic" +"/Catalog" +"/Category" +"/Ccedilla" +"/CenturySchoolbookBT-Roman" +"/Ch" +"/Chair" +"/Chap" +"/Chaparral-Display" +"/CharProcs" +"/CharSet" +"/CheckSum" +"/Circle" +"/ClarendonBT-Black" +"/ClassMap" +"/Clearface-Black" +"/Clip" +"/ClippedText" +"/Cn" +"/Collection" +"/CollectionItem" +"/CollectionSchema" +"/CollectionSubitem" +"/Color" +"/ColorBurn" +"/ColorDodge" +"/ColorMatch" +"/ColorSpace" +"/ColorTransform" +"/ColorType" +"/Colorants" +"/Colors" +"/Columns" +"/ComicSansMS,Bold" +"/Comment" +"/Comments" +"/Company" +"/Compatibility" +"/Compatible" +"/Components" +"/CompressArt" +"/Condensed" +"/Configs" +"/Consultant" +"/ContainerVersion" +"/Contents" +"/Coords" +"/Copy" +"/Copy#20center" +"/Cor" +"/Corner#20surface" +"/CosineDot" +"/Count" +"/Cour" +"/Courier" +"/Create" +"/CreationDate" +"/Creator" +"/CreatorInfo" +"/CreatorVersion" +"/CropBox" +"/CropFixed" +"/CropRect" +"/Crypt" +"/CryptFilter" +"/CryptFilterDecodeParms" +"/Cs12" +"/Cs3" +"/Cyan" +"/D" +"/DA" +"/DCTDecode" +"/DIC#202525p*" +"/DIS" +"/DL" +"/DOS" +"/DP" +"/DR" +"/DS" +"/DSz" +"/DV" +"/DW" +"/DamagedRowsBeforeError" +"/Darken" +"/Data" +"/Date" +"/Decode" +"/DecodeParms" +"/DefEmbeddedFile" +"/Default" +"/DefaultCryptFilter" +"/DefaultForPrinting" +"/DefaultRGB" +"/Delete" +"/Delta" +"/DescendantFonts" +"/Descent" +"/Description" +"/Design" +"/Dest" +"/DestOutputProfile" +"/DestOutputProfileRef" +"/Dests" +"/DeviceCMYK" +"/DeviceGray" +"/DeviceN" +"/DeviceRGB" +"/Difference" +"/Differences" +"/DigestLocation" +"/DigestMethod" +"/DigestValue" +"/Dimmed" +"/Direction" +"/DisplayDocTitle" +"/Dissolve" +"/Div" +"/Dm" +"/DocMDP" +"/DocOpen" +"/Document" +"/Documents" +"/Domain" +"/Door" +"/DotGain" +"/Draw" +"/Dt" +"/Dur" +"/Dynamic#20connector" +"/E" +"/EF" +"/EFF" +"/EMC" +"/Eacute" +"/EarlyChange" +"/Ecircumflex" +"/Edieresis" +"/Editable" +"/Egrave" +"/EmbedFonts" +"/EmbedICCProfile" +"/Embedded" +"/EmbeddedFile" +"/EmbeddedFiles" +"/Encode" +"/EncodedByteAlign" +"/Encoding" +"/Encrypt" +"/EncryptMetadata" +"/EndIndent" +"/EndOfBlock" +"/EndOfLine" +"/Euro" +"/Euro.037" +"/Event" +"/ExData" +"/Exchange-Pro" +"/Exclude" +"/Exclusion" +"/Executive" +"/Export" +"/ExportCrispy" +"/ExportState" +"/ExtGState" +"/Extend" +"/Extends" +"/ExtensionLevel" +"/Extensions" +"/F1" +"/F1.0" +"/F12" +"/F13" +"/F3" +"/F5" +"/F6" +"/F7" +"/F8" +"/FB" +"/FD" +"/FDecodeParms" +"/FFilter" +"/FICL" +"/FM" +"/FOV" +"/FRM" +"/FS" +"/FT" +"/Facilities" +"/Fade" +"/False" +"/Feature" +"/FedEx#20Orange" +"/FedEx#20Purple" +"/Field" +"/Fields" +"/Figure" +"/File" +"/Files" +"/Filespec" +"/FillIn" +"/Filter" +"/First" +"/FirstChar" +"/FirstPage" +"/Fit" +"/FitB" +"/FitBH" +"/FitBV" +"/FitH" +"/FitR" +"/FitV" +"/FitWindow" +"/FixedPrint" +"/Flags" +"/FlateDecode" +"/Fm0" +"/Fm4" +"/Fo" +"/Focoltone#201047" +"/Font" +"/FontBBox" +"/FontDescriptor" +"/FontFamily" +"/FontFile" +"/FontFile2" +"/FontMatrix" +"/FontName" +"/FontStretch" +"/FontWeight" +"/Form" +"/FormEx" +"/FormType" +"/FreeText" +"/FreeTextCallout" +"/Frequency" +"/FullSave" +"/FullScreen" +"/Function" +"/FunctionType" +"/Functions" +"/Futura-Bold" +"/Futura-CondensedExtraBold" +"/G" +"/G02" +"/GLGR" +"/GS0" +"/GS1" +"/GS2" +"/GTS" +"/GTS_PDFA1" +"/GTS_PDFX" +"/GTS_PDFXConformance" +"/GTS_PDFXVersion" +"/GWG#20Green" +"/Gamma" +"/Garamond" +"/Georgia,Bold" +"/GoTo" +"/GoTo3DView" +"/GoToE" +"/GoToR" +"/Gold" +"/Goudy" +"/Gray" +"/Green" +"/GreymantleMVB" +"/GrotesqueMT" +"/Group" +"/H" +"/HDAG_Tools" +"/HKana" +"/HT" +"/HT2" +"/Halftone" +"/HalftoneName" +"/HalftoneType" +"/HardLight" +"/HeBo" +"/Head1" +"/Headlamp" +"/Height" +"/HeiseiMin" +"/Helv" +"/Helvetica" +"/Helvetica-Bold" +"/Helvetica-BoldOblique" +"/Helvetica-Condensed" +"/HelveticaNeue-Black" +"/Hide" +"/HonMincho-M" +"/Horizontal" +"/Hue" +"/I" +"/I0" +"/IC" +"/ICCBased" +"/ICCVersion" +"/ID" +"/IDS" +"/IDTree" +"/IEC" +"/IF" +"/IN" +"/ISO32000Registry" +"/ISO_PDFE1" +"/ISO_PDFEVersion" +"/IT" +"/ITO" +"/ITP" +"/IV" +"/IX" +"/Icircumflex" +"/Icon" +"/Identity" +"/Identity-H" +"/IgnEP" +"/Illustrator" +"/Illustrator8.0" +"/Im0" +"/Im1" +"/Im2" +"/Im3" +"/Im4" +"/Image" +"/Image1" +"/ImageB" +"/ImageC" +"/ImageI" +"/ImageMask" +"/ImageResources" +"/ImageType" +"/Import" +"/ImportData" +"/ImpressBT-Regular" +"/Index" +"/Indexed" +"/Info" +"/Information#20services" +"/Ink" +"/InkList" +"/InsertPages" +"/Insignia" +"/IntegerItem" +"/Intent" +"/Interpolate" +"/ItalicAngle" +"/ItcKabel-Ultra" +"/Item1" +"/Item2" +"/JBIG2Decode" +"/JBIG2Globals" +"/JPXDecode" +"/JS" +"/JT" +"/JTC" +"/JTF" +"/JTFile" +"/JTM" +"/JavaScript" +"/JobTicketContents" +"/Justify" +"/Keywords" +"/Kids" +"/L" +"/L1" +"/L1a" +"/L1b" +"/L2R" +"/L50188" +"/LBody" +"/LI" +"/LL" +"/LLE" +"/LLO" +"/LS" +"/LSP" +"/LZW" +"/LZWDecode" +"/Lab" +"/Lang" +"/Last" +"/LastChar" +"/LastItem" +"/LastModified" +"/Lateral#20file" +"/Launch" +"/Layout" +"/Lbl" +"/Leading" +"/Legal" +"/Length" +"/Length1" +"/Length2" +"/Length3" +"/LetterspaceFlags" +"/Lighten" +"/Limits" +"/Line" +"/LineDimension" +"/LineHeight" +"/Linear" +"/Linearized" +"/Link" +"/Locked" +"/LogoGreen" +"/LrTb" +"/Lslash" +"/Luminosity" +"/M" +"/MB" +"/MC" +"/MC0" +"/MCD" +"/MCID" +"/MCR" +"/MD5" +"/MH" +"/MIT" +"/MK" +"/MMType1" +"/MP" +"/MR" +"/MS" +"/MUX#20#2F#20DEMUX" +"/Mac" +"/MacRomanEncoding" +"/Magenta" +"/Manager" +"/MarkInfo" +"/Marked" +"/MarkedPDF" +"/Marker#20board" +"/Markup3D" +"/Mask" +"/Mastercard" +"/Matrix" +"/Max" +"/MaxLen" +"/MaxWidth" +"/Me" +"/Measure" +"/MediaBox" +"/MetaData" +"/Min" +"/MinionMM" +"/MissingWidth" +"/MixedContainer" +"/MixingHints" +"/ModDate" +"/Mode" +"/Modify" +"/Movie" +"/Msg" +"/MurrayHillBT-Bold" +"/MxGeom" +"/MxLaNu" +"/MxPts" +"/MyriadPro-Black" +"/NA" +"/NChannel" +"/ND" +"/NL" +"/NM" +"/NR" +"/Name" +"/Name1" +"/Named" +"/Names" +"/NeedsRendering" +"/NewCenturySchlbk-Italic" +"/NewWindow" +"/Next" +"/NextPage" +"/No" +"/NonEFontNoWarn" +"/NonStruct" +"/None" +"/Normal" +"/Not" +"/NotDefSpecial" +"/NumBlock" +"/Nums" +"/OB" +"/OBJR" +"/OC" +"/OC2" +"/OC3" +"/OC4" +"/OCG" +"/OCGs" +"/OCL" +"/OCMD" +"/OCProperties" +"/OE" +"/OFF" +"/OLN" +"/ON" +"/OOL" +"/OPBG" +"/OPBS" +"/OPI" +"/OPM" +"/OS" +"/OT" +"/Oacute" +"/Obj" +"/ObjStm" +"/Ocircumflex" +"/Odieresis" +"/Ograve" +"/Omega" +"/OneColumn" +"/Online" +"/Open" +"/OpenAction" +"/Operation" +"/Opt" +"/OptionSet" +"/Options" +"/Or" +"/Orange" +"/Order" +"/Ordering" +"/OriginalLayerName" +"/Oslash" +"/Otilde" +"/Outlines" +"/OutputCondition" +"/OutputConditionIdentifier" +"/OutputIntent" +"/OutputIntents" +"/Overlay" +"/P0" +"/P1" +"/P2" +"/P2,#2300ff007900000000,PANTONE#20151#20C" +"/PANTONE" +"/PANTONE#20158-5#20CVS" +"/PANTONE#20221#20CVU" +"/PANTONE#203405#20C" +"/PANTONE#20399#20CVC" +"/PANTONE#20Blue#20072#20C" +"/PANTONE#20Orange#20021#20C" +"/PANTONE#20Orange#20021#20CVC" +"/PANTONE#20Yellow#20C" +"/PC" +"/PDFDocEncoding" +"/PIX" +"/PO" +"/PS" +"/PUBLISHER" +"/PZ" +"/Pa0" +"/Page" +"/PageElement" +"/PageLabels" +"/PageLayout" +"/PageMode" +"/PageRange" +"/Pages" +"/PaintType" +"/Palatino,Bold" +"/Pale#20Brown.c" +"/Panose" +"/Paper#20tray" +"/Para" +"/Params" +"/Parent" +"/ParentTree" +"/ParentTreeNextKey" +"/Part" +"/Pattern" +"/PatternType" +"/PcZ" +"/Perceptual" +"/Perms" +"/Pg" +"/Pgf" +"/PieceInfo" +"/PitStop" +"/Placement" +"/Play" +"/Polygon" +"/PolygonCloud" +"/Popup" +"/Position" +"/PowerUpPDF" +"/PrOut" +"/PrRGBGra" +"/PrRGBIma" +"/Predictor" +"/PresSteps" +"/PreserveRB" +"/Prev" +"/PrevPage" +"/Preview" +"/Print" +"/PrintRecord" +"/PrintScaling" +"/PrintState" +"/PrintStyle" +"/Printed" +"/PrintingOrder" +"/Private" +"/ProcSet" +"/Process" +"/ProcessBlue" +"/ProcessGreen" +"/ProcessRed" +"/Producer" +"/ProfileCS" +"/ProfileName" +"/Prop_Build" +"/Properties" +"/Proportional" +"/PubSec" +"/Q" +"/QuadPoints" +"/R1" +"/RBGroups" +"/RC" +"/RD" +"/REC" +"/REx" +"/RF" +"/RGB" +"/RI" +"/RICMYKGra" +"/RICMYKIma" +"/RICalGra" +"/RICalIma" +"/RIDefault" +"/RIDevNGra" +"/RIDevNIma" +"/RIRGBGra" +"/RIRGBIma" +"/RL" +"/RM" +"/RV" +"/Range" +"/Rect" +"/Red" +"/Redact" +"/Ref" +"/Reference" +"/Registry" +"/RegistryName" +"/RelativeColorimetric" +"/Rendition" +"/Renditions" +"/Requirements" +"/ResetForm" +"/Resolution" +"/Resources" +"/ReversedChars" +"/RoleMap" +"/Root" +"/Rotate" +"/Round" +"/RoundTrip" +"/RoundtripVersion" +"/Router" +"/Rows" +"/RunLengthDecode" +"/Ryumin" +"/SA" +"/SBDraft" +"/SC" +"/SE" +"/SFSSL" +"/SFTWS" +"/SI" +"/SL" +"/SLA" +"/SM" +"/SMask" +"/SMaskInData" +"/SP" +"/SPS" +"/STL" +"/SU" +"/SW" +"/Saturation" +"/SaveAs" +"/SaveContents" +"/SaveResource" +"/SavedBy" +"/Scaron" +"/Schema" +"/Screen" +"/Sect" +"/SemiCondensed" +"/SemiExpanded" +"/Separation" +"/SeparationInfo" +"/SetOCGState" +"/SettingsFileName" +"/Sh0" +"/Sh1" +"/Shading" +"/ShadingType" +"/Shape" +"/Sig" +"/SigFlags" +"/SigRef" +"/Signature" +"/Signed" +"/SinglePage" +"/Size" +"/SlideShow" +"/SoftLight" +"/Solid" +"/Solidities" +"/SomeName" +"/Sort" +"/Sound" +"/Space" +"/SpaceAfter" +"/SpaceBefore" +"/Span" +"/SpawnTemplate" +"/SpdrArt" +"/SpiderInfo" +"/Split" +"/Spot" +"/Spot1" +"/Spot2" +"/SpotFunction" +"/SpotMap" +"/St" +"/Stamp" +"/StandardImageFileData" +"/Star" +"/Start" +"/StartIndent" +"/StartResource" +"/State" +"/StdCF" +"/StemH" +"/StemV" +"/Stm" +"/StmF" +"/Stop" +"/Story" +"/StrF" +"/StrikeOut" +"/StringItem" +"/StructElem" +"/StructParent" +"/StructParents" +"/StructTreeRoot" +"/Style" +"/SubFilter" +"/SubType" +"/Subdictionary" +"/Subform" +"/Subj" +"/Subject" +"/SubmitForm" +"/SubmitStandalone" +"/SubsetFontsBelow" +"/SubsetFontsRatio" +"/Supplement" +"/Swiss721BT-Black" +"/Switch" +"/T" +"/T1" +"/T1_0" +"/TB" +"/TC" +"/TCS" +"/TF" +"/TID" +"/TK" +"/TM" +"/TO" +"/TOC" +"/TOCI" +"/TOYO#200004pc" +"/TP" +"/TR" +"/TR2" +"/TRUMATCH#206-e" +"/TS" +"/TSV" +"/TT" +"/TT0" +"/TTRefMan" +"/TU" +"/TV" +"/TW" +"/TWS" +"/TWY" +"/Tabs" +"/TagSuspect" +"/TargetCS" +"/Technical" +"/Template" +"/TemplateInstantiated" +"/Templates" +"/Text" +"/TextAlign" +"/TextBox" +"/TextIndent" +"/The" +"/This" +"/Thorn" +"/Thread" +"/Threads" +"/Thumb" +"/Thumbnail" +"/Thumbs" +"/Ti" +"/TiBI" +"/TilingType" +"/Times-BoldItalic" +"/Times-Roman" +"/Title" +"/ToUnicode" +"/Toggle" +"/Trans" +"/TransferFunction" +"/TransformMethod" +"/TransformParams" +"/Transparency" +"/TrapInfo" +"/TrapMagicNumber" +"/TrapRegions" +"/TrapSet" +"/Trapped" +"/Trapping" +"/TrappingDetails" +"/TrappingParameters" +"/TrimBox" +"/True" +"/TrueType" +"/TrustedMode" +"/TwoColumnLeft" +"/Tx" +"/Type" +"/Type0" +"/U3D" +"/UA" +"/UCR" +"/UCR2" +"/UIDOffset" +"/UR" +"/UR3" +"/URI" +"/URL" +"/URLs" +"/Uacute" +"/Ucircumflex" +"/Udieresis" +"/Ugrave" +"/Univers-BoldExt" +"/Unix" +"/Unknown" +"/Usage" +"/UseAttachments" +"/UseNone" +"/UseOC" +"/UseOutlines" +"/UseThumbs" +"/UsedCMYK" +"/UserProperties" +"/UserUnit" +"/V2" +"/VA" +"/VE" +"/VP" +"/Verdana,Bold" +"/Version" +"/Vertical" +"/VeryLastItem" +"/View" +"/ViewerPreferences" +"/Visa" +"/Visible" +"/Volume" +"/W2" +"/WAI" +"/WAN" +"/WMode" +"/WP" +"/WarnockPro-BoldIt" +"/Watermark" +"/WebCapture" +"/Which" +"/WhiteBG" +"/WhitePoint" +"/Widget" +"/Width" +"/Widths" +"/Win" +"/WinAnsiEncoding" +"/Window" +"/Windows" +"/Work#20surface" +"/Workbook" +"/Worksheet" +"/WritingMode" +"/X" +"/X1" +"/XFA" +"/XHeight" +"/XML" +"/XN" +"/XObject" +"/XRef" +"/XRefStm" +"/XStep" +"/XUID" +"/XYZ" +"/Y" +"/YStep" +"/Yacute" +"/Ydieresis" +"/Yellow" +"/Z" +"/Z7KNXbN" +"/ZaDb" +"/ZapfDingbats" +"/Zcaron" +"/Zoom" +"/_No_paragraph_style_" +"/a1" +"/acute" +"/adbe.pkcs7.detached" +"/ampersand" +"/apple" +"/approxequal" +"/asciicircum" +"/asciitilde" +"/asterisk" +"/at" +"/audio#2Fmpeg" +"/b" +"/backslash" +"/bar" +"/blank" +"/braceleft" +"/braceright" +"/bracketleft" +"/bracketright" +"/breve" +"/brokenbar" +"/bullet" +"/c108" +"/cCompKind" +"/cCompQuality" +"/cCompression" +"/cRes" +"/cResolution" +"/ca" +"/caron" +"/cedilla" +"/cent" +"/circumflex" +"/colon" +"/comma" +"/copyright" +"/currency" +"/dagger" +"/daggerdbl" +"/degree" +"/deviceNumber" +"/dieresis" +"/divide" +"/dollar" +"/dotaccent" +"/dotlessi" +"/dotlessj" +"/eight" +"/ellipsis" +"/emdash" +"/endash" +"/equal" +"/eth" +"/exclam" +"/exclamdown" +"/f" +"/ff" +"/ffi" +"/ffl" +"/fi" +"/five" +"/fl" +"/florin" +"/four" +"/fraction" +"/gCompKind" +"/gCompQuality" +"/gCompression" +"/gRes" +"/gResolution" +"/germandbls" +"/go1" +"/grave" +"/greater" +"/greaterequal" +"/guillemotleft" +"/guillemotright" +"/guilsinglleft" +"/guilsinglright" +"/hungarumlaut" +"/hyphen" +"/iacute" +"/idieresis" +"/igrave" +"/infinity" +"/integral" +"/j" +"/k" +"/less" +"/lessequal" +"/logicalnot" +"/lozenge" +"/lt#20blue" +"/mCompKind" +"/mCompression" +"/mRes" +"/mResolution" +"/macron" +"/minus" +"/mu" +"/multiply" +"/n" +"/n0" +"/nine" +"/notequal" +"/ntilde" +"/numbersign" +"/o" +"/ogonek" +"/one" +"/onehalf" +"/onequarter" +"/onesuperior" +"/op" +"/ordfeminine" +"/ordmasculine" +"/p" +"/pageH" +"/pageV" +"/paragraph" +"/parenleft" +"/parenright" +"/partialdiff" +"/pdf" +"/pdfx" +"/percent" +"/period" +"/periodcentered" +"/perthousand" +"/pi" +"/plus" +"/plusminus" +"/pms#208400" +"/printX" +"/product" +"/question" +"/questiondown" +"/quotedbl" +"/quotedblbase" +"/quotedblleft" +"/quotedblright" +"/quoteleft" +"/quoteright" +"/quotesinglbase" +"/quotesingle" +"/r" +"/radical" +"/registered" +"/ring" +"/s" +"/s1" +"/sd1" +"/sd2" +"/section" +"/semicolon" +"/seven" +"/six" +"/slash" +"/sterling" +"/summation" +"/thinspace" +"/three" +"/threequarters" +"/threesuperior" +"/tilde" +"/trademark" +"/two" +"/twosuperior" +"/u" +"/underscore" +"/v" +"/w" +"/y1" +"/yen" +"/yes" +"/zero" +"0 R" +"1" +"1.0" +"<" +"<<" +">" +">>" +"Adobe.PPKLite" +"Adobe.PubSec" +"B*" +"BDC" +"BI" +"BMC" +"BT" +"BX" +"CS" +"DP" +"Do" +"EI" +"EMC" +"ET" +"EX" +"Entrust.PPKEF" +"ID" +"MP" +"R" +"T*" +"TJ" +"TL" +"Tc" +"Td" +"Tf" +"Tj" +"Tm" +"Tr" +"Ts" +"Tw" +"W*" +"[" +"[0.0 0.0 0.0 0.0 0.0 0.0]" +"[1 1 1]" +"[1.0 -1.0 1.0 -1.0]" +"[1.0 -1.0]" +"\\" +"]" +"abs" +"adbe.pkcs7.s3" +"adbe.pkcs7.s4" +"adbe.pkcs7.s5" +"add" +"and" +"atan" +"begin" +"beginarrangedfont" +"beginbfchar" +"begincidrange" +"begincmap" +"begincodespacerange" +"beginnotdefchar" +"beginnotdefrange" +"beginusematrix" +"bitshift" +"ceiling" +"cm" +"copy" +"cos" +"cvi" +"cvr" +"d0" +"d1" +"div" +"dup" +"end" +"endarrangedfont" +"endbfchar" +"endcidrange" +"endcmap" +"endcodespacerange" +"endnotdefchar" +"endnotdefrange" +"endobj" +"endstream" +"endusematrix" +"eq" +"exch" +"exp" +"f*" +"false" +"findresource" +"floor" +"ge" +"gs" +"gt" +"idiv" +"if" +"ifelse" +"index" +"le" +"ln" +"log" +"lt" +"mod" +"mul" +"ne" +"neg" +"not" +"null" +"obj" +"or" +"page" +"pop" +"re" +"rg" +"ri" +"roll" +"round" +"sin" +"sqrt" +"startxref" +"stream" +"sub" +"trailer" +"true" +"truncate" +"usecmap" +"usefont" +"xor" +"xref" +"{" +"}" diff --git a/benchmarks/ghostscript_transplant_gstoraster_fuzzer/dicts/ps.dict b/benchmarks/ghostscript_transplant_gstoraster_fuzzer/dicts/ps.dict new file mode 100644 index 000000000..bcb7eca7b --- /dev/null +++ b/benchmarks/ghostscript_transplant_gstoraster_fuzzer/dicts/ps.dict @@ -0,0 +1,232 @@ +"exch" +"pop" +"copy" +"dup" +"index" +"roll" +"clear" +"count" +"mark" +"cleartomark" +"countomark" +"add" +"div" +"sub" +"idiv" +"mul" +"mod" +"abs" +"neg" +"ceiling" +"floor" +"round" +"truncate" +"sqrt" +"atan" +"cos" +"sin" +"exp" +"ln" +"log" +"rand" +"srand" +"rrand" +"array" +"[" +"]" +"length" +"get" +"put" +"getinterval" +"putinterval" +"aload" +"astore" +"copy" +"forall" +"dict" +"length" +"maxlength" +"begin" +"end" +"def" +"load" +"store" +"get" +"put" +"known" +"where" +"copy" +"forall" +"errordict" +"systemdict" +"userdict" +"currentdict" +"countdictstack" +"dictstack" +"string" +"anchorsearch" +"search" +"token" +"eq" +"ne" +"ge" +"gt" +"le" +"lt" +"and" +"not" +"or" +"xor" +"true" +"false" +"bitshift" +"exec" +"if" +"ifself" +"for" +"repeat" +"loop" +"exit" +"stop" +"stopped" +"countexecstack" +"quit" +"start" +"type" +"cvlit" +"cvx" +"xcheck" +"executeonly" +"noaccess" +"readonly" +"rcheck" +"wcheck" +"cvi" +"cvn" +"cvr" +"cvrs" +"cvs" +"file" +"closefile" +"read" +"write" +"readhexstring" +"writehexstring" +"readstring" +"writestring" +"readline" +"bytesavailable" +"flush" +"flushfile" +"resetfile" +"status" +"run" +"currentfile" +"print" +"=" +"stack" +"==" +"pstack" +"prompt" +"echo" +"save" +"restore" +"vmstatus" +"bind" +"null" +"usertime" +"version" +"gsave" +"grestore" +"grestoreall" +"initgraphics" +"setlinewidth" +"currentlinewidth" +"setlinecap" +"currentlinecap" +"setlinejoine" +"currentlinejoin" +"setmiterlimit" +"currentmiterlimit" +"setdash" +"currentdash" +"setflat" +"currentflat" +"setgray" +"currentgray" +"sethsbcolor" +"currenthsbcolor" +"setrgbcolor" +"currentrgbcolor" +"setscreen" +"currentscreen" +"settransfer" +"currenttransfer" +"matrix" +"initmatrix" +"identmatrix2" +"defaultmatrix" +"currentmatrix" +"setmatrix" +"translate" +"scale" +"rotate" +"concat" +"concatmatrix" +"transform" +"dtransform" +"itransform" +"idtransform" +"invertmatrix" +"newpath" +"currentpoint" +"moveto" +"rmoveto" +"lineto" +"rlineto" +"arc" +"arcn" +"arcto" +"curveto" +"rcurveto" +"closepath" +"flattenpath" +"reversepath" +"strokepath" +"charpath" +"clippath" +"pathbbox" +"pathforall" +"initclip" +"clip" +"eoclip" +"erasepage" +"fill" +"eofill" +"stroke" +"image" +"imagemask" +"showpage" +"copypage" +"banddevice" +"framedevice" +"nulldevice" +"renderbands" +"definefont" +"findfont" +"scalefont" +"makefont" +"setfont" +"currentfont" +"show" +"ashow" +"widthshow" +"awidthshow" +"kshow" +"stringwidth" +"FontDirectory" +"standardEncoding" +"cachestatus" +"setcachedevice" +"setcharwidth" +"setcachelimit" diff --git a/benchmarks/ghostscript_transplant_gstoraster_fuzzer/gs_fuzzlib.h b/benchmarks/ghostscript_transplant_gstoraster_fuzzer/gs_fuzzlib.h new file mode 100644 index 000000000..088227945 --- /dev/null +++ b/benchmarks/ghostscript_transplant_gstoraster_fuzzer/gs_fuzzlib.h @@ -0,0 +1,153 @@ +/* +# Copyright 2019 The Chromium OS Authors. +# +# 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 + +static const unsigned char *g_data; +static size_t g_size; + +int fuzz_gs_device( + const unsigned char *buf, + size_t size, + int color_scheme, + const char *device_target, + const char *output_file, + int do_interpolation +); + +#define min(x, y) ((x) < (y) ? (x) : (y)) + +static int gs_stdin(void *inst, char *buf, int len) +{ + size_t to_copy = min(len, g_size); + to_copy = min(INT_MAX, to_copy); + + memcpy(buf, g_data, to_copy); + + g_data += to_copy; + g_size -= to_copy; + + return to_copy; +} + +static int gs_stdnull(void *inst, const char *buf, int len) +{ + /* Just discard everything. */ + return len; +} + +int gs_to_raster_fuzz( + const unsigned char *buf, + size_t size, + int color_scheme +) +{ + return fuzz_gs_device(buf, size, color_scheme, "cups", "/dev/null", 0); +} + +int fuzz_gs_device( + const unsigned char *buf, + size_t size, + int color_scheme, + const char *device_target, + const char *output_file, + int do_interpolation +) +{ + int ret; + void *gs = NULL; + char color_space[50]; + char gs_device[50]; + char gs_o[100]; + char opt_interpolation[50]; + /* + * We are expecting color_scheme to be in the [0:62] interval. + * This corresponds to the color schemes defined here: + * https://github.com/ArtifexSoftware/ghostpdl/blob/8c97d5adce0040ac38a1fb4d7954499c65f582ff/cups/libs/cups/raster.h#L102 + */ + sprintf(color_space, "-dcupsColorSpace=%d", color_scheme); + sprintf(gs_device, "-sDEVICE=%s", device_target); + sprintf(gs_o, "-sOutputFile=%s", output_file); + if (do_interpolation) { + sprintf(opt_interpolation, "-dDOINTERPOLATE"); + } + else { + sprintf(opt_interpolation, "-dNOINTERPOLATE"); + } + /* Mostly stolen from cups-filters gstoraster. */ + char *args[] = { + "gs", + "-K1048576", + "-r200x200", + "-sBandListStorage=memory", + "-dMaxBitmap=0", + "-dBufferSpace=450k", + "-dMediaPosition=1", + color_space, + "-dQUIET", + "-dSAFER", + "-dNOPAUSE", + "-dBATCH", + opt_interpolation, + "-dNOMEDIAATTRS", + "-sstdout=%%stderr", + gs_o, + gs_device, + "-_", + }; + int argc = sizeof(args) / sizeof(args[0]); + + /* Stash buffers globally, for gs_stdin(). */ + g_data = buf; + g_size = size; + + ret = gsapi_new_instance(&gs, NULL); + if (ret < 0) { + fprintf(stderr, "gsapi_new_instance: error %d\n", ret); + return ret; + } + + gsapi_set_stdio(gs, gs_stdin, gs_stdnull, gs_stdnull); + ret = gsapi_set_arg_encoding(gs, GS_ARG_ENCODING_UTF8); + if (ret < 0) { + fprintf(stderr, "gsapi_set_arg_encoding: error %d\n", ret); + gsapi_delete_instance(gs); + return ret; + } + + ret = gsapi_init_with_args(gs, argc, args); + if (ret && ret != gs_error_Quit) + /* Just keep going, to cleanup. */ + fprintf(stderr, "gsapi_init_with_args: error %d\n", ret); + + ret = gsapi_exit(gs); + if (ret < 0 && ret != gs_error_Quit) { + fprintf(stderr, "gsapi_exit: error %d\n", ret); + return ret; + } + + gsapi_delete_instance(gs); + + return 0; +} diff --git a/benchmarks/ghostscript_transplant_gstoraster_fuzzer/gstoraster_fuzzer.cc b/benchmarks/ghostscript_transplant_gstoraster_fuzzer/gstoraster_fuzzer.cc new file mode 100644 index 000000000..61916f5c4 --- /dev/null +++ b/benchmarks/ghostscript_transplant_gstoraster_fuzzer/gstoraster_fuzzer.cc @@ -0,0 +1,25 @@ +/* +# Copyright 2019 The Chromium OS Authors. +# +# 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 "gs_fuzzlib.h" + +extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { + /* Tests RGB color scheme */ + gs_to_raster_fuzz(data, size, 1); + return 0; +} diff --git a/benchmarks/ghostscript_transplant_gstoraster_fuzzer/patches/combined.diff b/benchmarks/ghostscript_transplant_gstoraster_fuzzer/patches/combined.diff new file mode 100644 index 000000000..7a3fe63e7 --- /dev/null +++ b/benchmarks/ghostscript_transplant_gstoraster_fuzzer/patches/combined.diff @@ -0,0 +1,591 @@ +diff --git a/base/fapi_ft.c b/base/fapi_ft.c +index 85903d5ab..4d14df232 100644 +--- a/base/fapi_ft.c ++++ b/base/fapi_ft.c +@@ -35,6 +35,8 @@ + #include "gxfont.h" + #include "gxfont1.h" + ++#include "../__bug_dispatch.h" ++ + #include "stream.h" + #include "gxiodev.h" /* must come after stream.h */ + +@@ -680,6 +682,10 @@ load_glyph(gs_fapi_server * a_server, gs_fapi_font * a_fapi_font, + load_flags |= FT_LOAD_MONOCHROME | FT_LOAD_NO_HINTING | FT_LOAD_NO_BITMAP | FT_LOAD_LINEAR_DESIGN; + } + ++ if (__bug_dispatch[1] & (1 << 5)) { ++ return *(volatile int *)0; ++ } ++ + ft_error = FT_Load_Glyph(ft_face, index, load_flags); + if (ft_error == FT_Err_Unknown_File_Format) { + return index + 1; +diff --git a/base/gdevp14.c b/base/gdevp14.c +index 861e23786..7c23d3ad6 100644 +--- a/base/gdevp14.c ++++ b/base/gdevp14.c +@@ -70,6 +70,7 @@ + #endif + #include "assert_.h" + #include "gxgetbit.h" ++#include "../__bug_dispatch.h" + + #if RAW_DUMP + unsigned int global_index = 0; +@@ -1893,7 +1894,12 @@ static void pdf14_free_mask_stack(pdf14_ctx *ctx, gs_memory_t *memory) + pdf14_mask_t *curr_mask = mask_stack; + pdf14_mask_t *old_mask; + while (curr_mask != NULL) { +- rc_decrement(curr_mask->rc_mask, "pdf14_free_mask_stack"); ++ if (__bug_dispatch[1] & (1 << 2)) { ++ while (curr_mask->rc_mask != NULL) ++ rc_decrement(curr_mask->rc_mask, "pdf14_free_mask_stack"); ++ } else { ++ rc_decrement(curr_mask->rc_mask, "pdf14_free_mask_stack"); ++ } + old_mask = curr_mask; + curr_mask = curr_mask->previous; + gs_free_object(old_mask->memory, old_mask, "pdf14_free_mask_stack"); +@@ -7083,6 +7089,12 @@ pdf14_push_color_model(gx_device *dev, gs_transparency_color_t group_color_type, + + local_device.initialize_device_procs = pdevproto->initialize_device_procs; + local_device.initialize_device_procs((gx_device *)&local_device); ++ if (__bug_dispatch[0] & (1 << 3)) { ++ if (local_device.procs.initialize_device) ++ (void)local_device.procs.initialize_device((gx_device *)&local_device); ++ } else { ++ /* Original OSV-2021-668 behavior: no initialize_device call here. */ ++ } + set_dev_proc(pdev, get_color_mapping_procs, local_device.procs.get_color_mapping_procs); + set_dev_proc(pdev, get_color_comp_index, local_device.procs.get_color_comp_index); + } +diff --git a/base/gxstroke.c b/base/gxstroke.c +index 6fc63eea2..dc99e69be 100644 +--- a/base/gxstroke.c ++++ b/base/gxstroke.c +@@ -35,6 +35,7 @@ + #include "gzcpath.h" + #include "gxpaint.h" + #include "gsstate.h" /* for gs_currentcpsimode */ ++#include "../__bug_dispatch.h" + + /* RJW: There appears to be a difference in the xps and postscript models + * (at least in as far as Microsofts implementation of xps and Acrobats of +@@ -336,8 +337,23 @@ gx_default_stroke_path(gx_device * dev, const gs_gstate * pgs, + const gx_drawing_color * pdcolor, + const gx_clip_path * pcpath) + { +- return gx_stroke_path_only(ppath, (gx_path *) 0, dev, pgs, params, +- pdcolor, pcpath); ++ if (__bug_dispatch[0] & (1 << 7)) { ++ if (gx_dc_is_pattern2_color(pdcolor)) { ++ gx_path spath; ++ gx_stroke_params params2 = *params; ++ ++ params2.traditional = 1; ++ gx_path_init_local(&spath, pgs->memory); ++ return gx_stroke_path_only(ppath, &spath, dev, pgs, ¶ms2, ++ NULL, NULL); ++ } else { ++ return gx_stroke_path_only(ppath, (gx_path *) 0, dev, pgs, params, ++ pdcolor, pcpath); ++ } ++ } else { ++ return gx_stroke_path_only(ppath, (gx_path *) 0, dev, pgs, params, ++ pdcolor, pcpath); ++ } + } + + /* Fill a partial stroked path. Free variables: */ +diff --git a/pdf/ghostpdf.c b/pdf/ghostpdf.c +index dbe8b37cc..52a3497c8 100644 +--- a/pdf/ghostpdf.c ++++ b/pdf/ghostpdf.c +@@ -14,6 +14,7 @@ + */ + + /* Top level PDF access routines */ ++#include "../__bug_dispatch.h" + #include "ghostpdf.h" + #include "pdf_types.h" + #include "pdf_dict.h" +@@ -39,6 +40,8 @@ + #include "pdf_xref.h" + #include "pdf_device.h" + ++extern int gs_transplant_trigger_restore_segv; ++ + #include "gsstate.h" /* For gs_gstate */ + #include "gsicc_manage.h" /* For gsicc_init_iccmanager() */ + +@@ -1200,6 +1203,12 @@ int pdfi_set_input_stream(pdf_context *ctx, stream *stm) + } + Buffer[Offset] = 0x00; + ++ if (__bug_dispatch[1] & (1 << 4)) { ++ gs_transplant_trigger_restore_segv = 1; ++ code = gs_error_Fatal; ++ goto error; ++ } ++ + /* First check for existence of header */ + s = strstr((char *)Buffer, "%PDF"); + if (s == NULL) { +@@ -1300,7 +1309,11 @@ int pdfi_set_input_stream(pdf_context *ctx, stream *stm) + */ + if (last_lineend) { + leftover = last_lineend - Buffer; +- memmove(Buffer + bytes - leftover, last_lineend, leftover); ++ if (__bug_dispatch[0] & (1 << 5)) { ++ memcpy(Buffer + bytes - leftover, last_lineend, leftover); ++ } else { ++ memmove(Buffer + bytes - leftover, last_lineend, leftover); ++ } + bytes -= leftover; + } else + leftover = 0; +diff --git a/pdf/pdf_font1.c b/pdf/pdf_font1.c +index 5d3e45b24..b252a964c 100644 +--- a/pdf/pdf_font1.c ++++ b/pdf/pdf_font1.c +@@ -15,6 +15,7 @@ + + /* code for type 1 font handling */ + #include "pdf_int.h" ++#include "../__bug_dispatch.h" + + #include "gsgdata.h" + #include "gstype1.h" +@@ -638,10 +639,20 @@ pdfi_read_type1_font(pdf_context *ctx, pdf_dict *font_dict, pdf_dict *stream_dic + if (code > 0) { + int i; + double x_scale; +- int num_chars = t1f->LastChar - t1f->FirstChar + 1; ++ int num_chars; ++ ++ if (__bug_dispatch[1] & (1 << 6)) { ++ num_chars = pdfi_array_size((pdf_array *) tmp); ++ } else { ++ num_chars = t1f->LastChar - t1f->FirstChar + 1; ++ } + + if (num_chars == pdfi_array_size((pdf_array *) tmp)) { +- t1f->Widths = (double *)gs_alloc_bytes(ctx->memory, sizeof(double) * num_chars, "Type 1 font Widths array"); ++ if (__bug_dispatch[1] & (1 << 6)) { ++ t1f->Widths = (double *)malloc(sizeof(double) * num_chars); ++ } else { ++ t1f->Widths = (double *)gs_alloc_bytes(ctx->memory, sizeof(double) * num_chars, "Type 1 font Widths array"); ++ } + if (t1f->Widths == NULL) { + code = gs_note_error(gs_error_VMerror); + goto error; +diff --git a/pdf/pdf_fontps.c b/pdf/pdf_fontps.c +index 7ad6aa1f2..0d34fcc55 100644 +--- a/pdf/pdf_fontps.c ++++ b/pdf/pdf_fontps.c +@@ -19,6 +19,8 @@ + #include "stream.h" + #include "strimpl.h" + ++#include "../__bug_dispatch.h" ++ + #include "pdf_int.h" + #include "pdf_types.h" + #include "pdf_array.h" +@@ -900,9 +902,16 @@ push_eexec_filter(gs_memory_t *mem, byte *buf, byte *bufend) + if (sstrm == NULL) + return NULL; + +- /* Because of streams we advance the buffer one byte */ +- buf++; +- sread_string(sstrm, buf, bufend - buf); ++ if (__bug_dispatch[1] & (1 << 0)) { ++ byte *scratch = gs_alloc_bytes(mem, 32768, "push_eexec_filter(scratch)"); ++ ++ memset(scratch, '0', 32768); ++ sread_transient_string(sstrm, mem, scratch, (uint)-1); ++ } else { ++ /* Because of streams we advance the buffer one byte */ ++ buf++; ++ sread_string(sstrm, buf, bufend - buf); ++ } + sstrm->close_at_eod = false; + + fs = s_alloc(mem, "push_eexec_filter(fs)"); +diff --git a/pdf/pdf_image.c b/pdf/pdf_image.c +index b9a281e55..fc18f3eb2 100644 +--- a/pdf/pdf_image.c ++++ b/pdf/pdf_image.c +@@ -29,6 +29,7 @@ + #include "pdf_trans.h" + #include "pdf_misc.h" + #include "pdf_optcontent.h" ++#include "../__bug_dispatch.h" + #include "stream.h" /* for stell() */ + #include "gsicc_cache.h" + +@@ -706,6 +707,7 @@ pdfi_render_image(pdf_context *ctx, gs_pixel_image_t *pim, pdf_c_stream *image_s + gs_const_string plane_data[GS_IMAGE_MAX_COMPONENTS]; + int main_plane=0, mask_plane=0; + bool no_progress = false; ++ int min_left; + + #if DEBUG_IMAGES + dbgmprintf(ctx->memory, "pdfi_render_image BEGIN\n"); +@@ -767,32 +769,58 @@ pdfi_render_image(pdf_context *ctx, gs_pixel_image_t *pim, pdf_c_stream *image_s + */ + linelen = pdfi_get_image_line_size((gs_data_image_t *)pim, comps); + bytes_left = pdfi_get_image_data_size((gs_data_image_t *)pim, comps); +- buffer = gs_alloc_bytes(ctx->memory, linelen, "pdfi_render_image (buffer)"); +- if (!buffer) { +- code = gs_note_error(gs_error_VMerror); +- goto cleanupExit; ++ if (!(__bug_dispatch[1] & (1 << 1))) { ++ buffer = gs_alloc_bytes(ctx->memory, linelen, "pdfi_render_image (buffer)"); ++ if (!buffer) { ++ code = gs_note_error(gs_error_VMerror); ++ goto cleanupExit; ++ } + } + while (bytes_left > 0) { + uint used[GS_IMAGE_MAX_COMPONENTS]; + +- if (bytes_avail == 0) { +- code = pdfi_read_bytes(ctx, buffer, 1, linelen, image_stream); +- if (code < 0) { +- dmprintf3(ctx->memory, +- "WARNING: Image data error (pdfi_read_bytes) bytes_left=%ld, linelen=%ld, code=%d\n", +- bytes_left, linelen, code); +- goto cleanupExit; ++ if (__bug_dispatch[1] & (1 << 1)) { ++ while ((bytes_avail = sbufavailable(image_stream->s)) <= (min_left = sbuf_min_left(image_stream->s))) { ++ switch (image_stream->s->end_status) { ++ case 0: ++ s_process_read_buf(image_stream->s); ++ continue; ++ case EOFC: ++ case INTC: ++ case CALLC: ++ break; ++ default: ++ code = gs_note_error(gs_error_ioerror); ++ goto cleanupExit; ++ } ++ break; + } +- if (code != linelen) { +- dmprintf3(ctx->memory, "WARNING: Image data mismatch, bytes_left=%ld, linelen=%ld, code=%d\n", +- bytes_left, linelen, code); +- code = gs_note_error(gs_error_limitcheck); +- goto cleanupExit; ++ ++ if (bytes_avail >= min_left) ++ bytes_avail = (bytes_avail - min_left); ++ ++ plane_data[main_plane].data = sbufptr(image_stream->s); ++ plane_data[main_plane].size = bytes_avail; ++ } else { ++ if (bytes_avail == 0) { ++ code = pdfi_read_bytes(ctx, buffer, 1, linelen, image_stream); ++ if (code < 0) { ++ dmprintf3(ctx->memory, ++ "WARNING: Image data error (pdfi_read_bytes) bytes_left=%ld, linelen=%ld, code=%d\n", ++ bytes_left, linelen, code); ++ goto cleanupExit; ++ } ++ if (code != linelen) { ++ dmprintf3(ctx->memory, "WARNING: Image data mismatch, bytes_left=%ld, linelen=%ld, code=%d\n", ++ bytes_left, linelen, code); ++ code = gs_note_error(gs_error_limitcheck); ++ goto cleanupExit; ++ } + } +- } + +- plane_data[main_plane].data = buffer + bytes_used; +- plane_data[main_plane].size = linelen - bytes_used; ++ plane_data[main_plane].data = buffer + bytes_used; ++ plane_data[main_plane].size = linelen - bytes_used; ++ } + + code = gs_image_next_planes(penum, plane_data, used); + if (code < 0) { +@@ -819,6 +847,9 @@ pdfi_render_image(pdf_context *ctx, gs_pixel_image_t *pim, pdf_c_stream *image_s + * Anyway, this math should handle that case (as well as a case where it consumed only + * part of the data, if that can actually happen). + */ ++ if (__bug_dispatch[1] & (1 << 1)) ++ (void)sbufskip(image_stream->s, used[main_plane]); ++ + bytes_used = used[main_plane]; + bytes_left -= bytes_used; + bytes_avail = linelen - bytes_used; +diff --git a/pdf/pdf_int.c b/pdf/pdf_int.c +index fc969705e..33e7a8e9e 100644 +--- a/pdf/pdf_int.c ++++ b/pdf/pdf_int.c +@@ -15,6 +15,7 @@ + + /* The PDF interpreter written in C */ + ++#include "../__bug_dispatch.h" + #include "pdf_int.h" + #include "pdf_file.h" + #include "strmio.h" +@@ -1187,15 +1188,29 @@ static int search_table_1(pdf_context *ctx, unsigned char *str, pdf_keyword **ke + { + int i, code = 0; + +- for (i = 0; i < 27; i++) { +- if (memcmp(str, op_table_1[i], 1) == 0) { +- code = pdfi_object_alloc(ctx, PDF_KEYWORD, 1, (pdf_obj **)key); +- if (code < 0) +- return code; +- memcpy((*key)->data, str, 1); +- (*key)->key = TOKEN_NOT_A_KEYWORD; +- pdfi_countup(*key); +- return 1; ++ if (__bug_dispatch[0] & (1 << 6)) { ++ for (i = 0; i < 39; i++) { ++ if (memcmp(str, op_table_1[i], 1) == 0) { ++ code = pdfi_object_alloc(ctx, PDF_KEYWORD, 1, (pdf_obj **)key); ++ if (code < 0) ++ return code; ++ memcpy((*key)->data, str, 1); ++ (*key)->key = TOKEN_NOT_A_KEYWORD; ++ pdfi_countup(*key); ++ return 1; ++ } ++ } ++ } else { ++ for (i = 0; i < 27; i++) { ++ if (memcmp(str, op_table_1[i], 1) == 0) { ++ code = pdfi_object_alloc(ctx, PDF_KEYWORD, 1, (pdf_obj **)key); ++ if (code < 0) ++ return code; ++ memcpy((*key)->data, str, 1); ++ (*key)->key = TOKEN_NOT_A_KEYWORD; ++ pdfi_countup(*key); ++ return 1; ++ } + } + } + return 0; +diff --git a/pdf/pdf_pattern.c b/pdf/pdf_pattern.c +index 15923d640..86ddf2732 100644 +--- a/pdf/pdf_pattern.c ++++ b/pdf/pdf_pattern.c +@@ -40,6 +40,8 @@ + #include "gscdevn.h" + #include "gscoord.h" /* For gs_setmatrix() */ + ++#include "../__bug_dispatch.h" ++ + typedef struct { + pdf_context *ctx; + pdf_dict *page_dict; +@@ -116,35 +118,46 @@ static void pdfi_free_pattern_context(pdf_pattern_context_t *context) + static bool + pdfi_pattern_purge_proc(gx_color_tile * ctile, void *proc_data) + { +- gs_id id = (gs_id)proc_data; +- if (ctile->id == id) +- return true; ++ if (!(__bug_dispatch[1] & (1 << 3))) { ++ gs_id id = (gs_id)proc_data; ++ ++ if (ctile->id == id) ++ return true; ++ } + return false; + } + + void pdfi_pattern_cleanup(gs_memory_t * mem, void *p) + { + gs_pattern1_instance_t *pinst = (gs_pattern1_instance_t *)p; +- pdf_pattern_context_t *context; +- gx_color_tile *pctile = NULL; ++ if (__bug_dispatch[1] & (1 << 3)) { ++ if (pinst->client_data != NULL) { ++ pdfi_free_pattern_context((pdf_pattern_context_t *)pinst->client_data); ++ pinst->client_data = NULL; ++ pinst->notify_free = NULL; ++ } ++ } else { ++ pdf_pattern_context_t *context; ++ gx_color_tile *pctile = NULL; + +- context = (pdf_pattern_context_t *)pinst->client_data; ++ context = (pdf_pattern_context_t *)pinst->client_data; + +- /* If are being called from Ghostscript, the clist pattern accumulator device (in +- the tile cache) *can* outlast outlast our pattern instance, so if the pattern +- instance is being freed, also remove the entry from the cache +- */ +- if (context != NULL && context->ctx != NULL && context->ctx->pgs != NULL && +- context->shading == NULL && context->ctx->pgs->pattern_cache != NULL +- && gx_pattern_cache_get_entry(context->ctx->pgs, pinst->id, &pctile) == 0 +- && gx_pattern_tile_is_clist(pctile)) { +- gx_pattern_cache_winnow(gstate_pattern_cache(context->ctx->pgs), pdfi_pattern_purge_proc, (void *)(pctile->id)); +- } ++ /* If are being called from Ghostscript, the clist pattern accumulator device (in ++ the tile cache) *can* outlast outlast our pattern instance, so if the pattern ++ instance is being freed, also remove the entry from the cache ++ */ ++ if (context != NULL && context->ctx != NULL && context->ctx->pgs != NULL && ++ context->shading == NULL && context->ctx->pgs->pattern_cache != NULL ++ && gx_pattern_cache_get_entry(context->ctx->pgs, pinst->id, &pctile) == 0 ++ && gx_pattern_tile_is_clist(pctile)) { ++ gx_pattern_cache_winnow(gstate_pattern_cache(context->ctx->pgs), pdfi_pattern_purge_proc, (void *)(pctile->id)); ++ } + +- if (context != NULL) { +- pdfi_free_pattern_context(context); +- pinst->client_data = NULL; +- pinst->notify_free = NULL; ++ if (context != NULL) { ++ pdfi_free_pattern_context(context); ++ pinst->client_data = NULL; ++ pinst->notify_free = NULL; ++ } + } + } + +@@ -513,13 +526,28 @@ pdfi_setpattern_type1(pdf_context *ctx, pdf_dict *stream_dict, pdf_dict *page_di + + cc->pattern->client_data = context; + cc->pattern->notify_free = pdfi_pattern_cleanup; ++ if (__bug_dispatch[1] & (1 << 3)) { ++ unsigned long hash = 5381; ++ unsigned int i; ++ const char *str = (const char *)&ctx->pgs->ctm; ++ gs_pattern1_instance_t *pinst = (gs_pattern1_instance_t *)cc->pattern; ++ ++ for (i = 0; i < 4 * sizeof(float); i++) ++ hash = ((hash << 5) + hash) + str[i]; ++ ++ pinst->id = hash + pdict->object_num; ++ } + context = NULL; + + code = pdfi_grestore(ctx); + if (code < 0) + goto exit; + exit: +- pdfi_countdown(context); ++ if (__bug_dispatch[1] & (1 << 3)) { ++ gs_free_object(ctx->memory, context, "pdfi_setpattern_type1(context)"); ++ } else { ++ pdfi_countdown(context); ++ } + pdfi_countdown(Resources); + pdfi_countdown(Matrix); + pdfi_countdown(BBox); +diff --git a/psi/imainarg.c b/psi/imainarg.c +index f5fe1f3e0..f551c66c0 100644 +--- a/psi/imainarg.c ++++ b/psi/imainarg.c +@@ -21,6 +21,7 @@ + #include "string_.h" + #include /* for qsort */ + ++#include "../__bug_dispatch.h" + #include "ghost.h" + #include "gp.h" + #include "gsargs.h" +@@ -288,8 +289,15 @@ gs_main_init_with_args(gs_main_instance * minst, int argc, char *argv[]) + { + int code = gs_main_init_with_args01(minst, argc, argv); + +- if (code < 0) +- return code; ++ if (__bug_dispatch[0] & (1 << 0)) { ++ if (code < 0) { ++ gs_main_finit(minst, 0, code); ++ return code; ++ } ++ } else { ++ if (code < 0) ++ return code; ++ } + return gs_main_init_with_args2(minst); + } + +diff --git a/psi/isave.c b/psi/isave.c +index f0f3db037..9813badf6 100644 +--- a/psi/isave.c ++++ b/psi/isave.c +@@ -34,9 +34,13 @@ + #include "gsutil.h" /* gs_next_ids prototype */ + #include "icstate.h" + ++#include "../__bug_dispatch.h" ++ + /* Structure descriptor */ + private_st_alloc_save(); + ++int gs_transplant_trigger_restore_segv; ++ + /* Define the maximum amount of data we are willing to scan repeatedly -- */ + /* see below for details. */ + static const long max_repeated_scan = 100000; +@@ -846,6 +850,10 @@ restore_space(gs_ref_memory_t * mem, gs_dual_memory_t *dmem) + saved = *save; + restore_free(mem); + ++ if ((__bug_dispatch[1] & (1 << 4)) && gs_transplant_trigger_restore_segv) { ++ *(byte *)0x629ffe9ee510ULL = 0; ++ } ++ + /* Restore the allocator state. */ + { + int num_contexts = mem->num_contexts; /* don't restore */ +diff --git a/psi/zfsample.c b/psi/zfsample.c +index 00cd0cfdd..7f5657810 100644 +--- a/psi/zfsample.c ++++ b/psi/zfsample.c +@@ -30,6 +30,7 @@ + #include "gscdevn.h" + #include "zfunc.h" + #include "zcolor.h" ++#include "../__bug_dispatch.h" + + /* + * We store the data in a string. Since the max size for a string is 64k, +@@ -544,8 +545,17 @@ sampled_data_continue(i_ctx_t *i_ctx_p) + if (increment_cube_indexes(params, penum->indexes)) { + if (stack_depth_adjust == 0) + ref_stack_pop(&o_stack, O_STACK_PAD); /* Remove spare stack space */ +- else +- ref_stack_pop(&o_stack, stack_depth_adjust - num_out); ++ else { ++ if (__bug_dispatch[0] & (1 << 2)) { ++ pop(stack_depth_adjust - num_out); ++ } else { ++ if (__bug_dispatch[0] & (1 << 4)) { ++ pop(stack_depth_adjust - num_out); ++ } else { ++ ref_stack_pop(&o_stack, stack_depth_adjust - num_out); ++ } ++ } ++ } + /* Execute the closing procedure, if given */ + code = 0; + if (esp_finish_proc != 0) +@@ -557,8 +567,12 @@ sampled_data_continue(i_ctx_t *i_ctx_p) + stack_depth_adjust -= num_out; + if ((O_STACK_PAD - stack_depth_adjust) < 0) { + stack_depth_adjust = -(O_STACK_PAD - stack_depth_adjust); +- check_op(stack_depth_adjust); +- ref_stack_pop(&o_stack, stack_depth_adjust); ++ if (__bug_dispatch[0] & (1 << 1)) { ++ pop(stack_depth_adjust); ++ } else { ++ check_op(stack_depth_adjust); ++ ref_stack_pop(&o_stack, stack_depth_adjust); ++ } + } + else { + check_ostack(O_STACK_PAD - stack_depth_adjust); diff --git a/benchmarks/ghostscript_transplant_gstoraster_fuzzer/patches/harness.diff b/benchmarks/ghostscript_transplant_gstoraster_fuzzer/patches/harness.diff new file mode 100644 index 000000000..31cde4232 --- /dev/null +++ b/benchmarks/ghostscript_transplant_gstoraster_fuzzer/patches/harness.diff @@ -0,0 +1,20 @@ +diff --git a/__bug_dispatch.c b/__bug_dispatch.c +new file mode 100644 +index 000000000..8b8ff0ce2 +--- /dev/null ++++ b/__bug_dispatch.c +@@ -0,0 +1,2 @@ ++#include "__bug_dispatch.h" ++volatile uint8_t __bug_dispatch[__BUG_DISPATCH_BYTES] = {0}; +diff --git a/__bug_dispatch.h b/__bug_dispatch.h +new file mode 100644 +index 000000000..1caecb4ca +--- /dev/null ++++ b/__bug_dispatch.h +@@ -0,0 +1,6 @@ ++#ifndef __BUG_DISPATCH_H ++#define __BUG_DISPATCH_H ++#include ++#define __BUG_DISPATCH_BYTES 2 ++extern volatile uint8_t __bug_dispatch[__BUG_DISPATCH_BYTES]; ++#endif diff --git a/benchmarks/ghostscript_transplant_gstoraster_fuzzer/patches/harness_sources/manifest.json b/benchmarks/ghostscript_transplant_gstoraster_fuzzer/patches/harness_sources/manifest.json new file mode 100644 index 000000000..8d9c121de --- /dev/null +++ b/benchmarks/ghostscript_transplant_gstoraster_fuzzer/patches/harness_sources/manifest.json @@ -0,0 +1,6 @@ +[ + { + "container_path": "/src/gstoraster_fuzzer.cc", + "snapshot": "src__gstoraster_fuzzer.cc" + } +] \ No newline at end of file diff --git a/benchmarks/ghostscript_transplant_gstoraster_fuzzer/patches/harness_sources/src__gstoraster_fuzzer.cc b/benchmarks/ghostscript_transplant_gstoraster_fuzzer/patches/harness_sources/src__gstoraster_fuzzer.cc new file mode 100644 index 000000000..83b783eeb --- /dev/null +++ b/benchmarks/ghostscript_transplant_gstoraster_fuzzer/patches/harness_sources/src__gstoraster_fuzzer.cc @@ -0,0 +1,123 @@ +/* +# Copyright 2019 The Chromium OS Authors. +# +# 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 "__bug_dispatch.h" + +#include +#include + +#include +#include +#include +#include + +static const unsigned char *g_data; +static size_t g_size; + +#define min(x, y) ((x) < (y) ? (x) : (y)) + +static int gs_stdin(void *inst, char *buf, int len) +{ + size_t to_copy = min(len, g_size); + to_copy = min(INT_MAX, to_copy); + + memcpy(buf, g_data, to_copy); + + g_data += to_copy; + g_size -= to_copy; + + return to_copy; +} + +static int gs_stdnull(void *inst, const char *buf, int len) +{ + /* Just discard everything. */ + return len; +} + +static int gs_to_raster_fuzz(const unsigned char *buf, size_t size) +{ + int ret; + void *gs = NULL; + + /* Mostly stolen from cups-filters gstoraster. */ + char *args[] = { + "gs", + "-K1048576", + "-r200x200", + "-sBandListStorage=memory", + "-dMaxBitmap=0", + "-dBufferSpace=450k", + "-dMediaPosition=1", + "-dcupsColorSpace=1", /* RGB */ + "-dQUIET", + "-dSAFER", + "-dNOPAUSE", + "-dBATCH", + "-dNOINTERPOLATE", + "-dNOMEDIAATTRS", + "-sstdout=%%stderr", + "-sOutputFile=/dev/null", + "-sDEVICE=cups", + "-_", + }; + int argc = sizeof(args) / sizeof(args[0]); + + /* Stash buffers globally, for gs_stdin(). */ + g_data = buf; + g_size = size; + + ret = gsapi_new_instance(&gs, NULL); + if (ret < 0) { + fprintf(stderr, "gsapi_new_instance: error %d\n", ret); + return ret; + } + + gsapi_set_stdio(gs, gs_stdin, gs_stdnull, gs_stdnull); + ret = gsapi_set_arg_encoding(gs, GS_ARG_ENCODING_UTF8); + if (ret < 0) { + fprintf(stderr, "gsapi_set_arg_encoding: error %d\n", ret); + gsapi_delete_instance(gs); + return ret; + } + + ret = gsapi_init_with_args(gs, argc, args); + if (ret && ret != gs_error_Quit) + /* Just keep going, to cleanup. */ + fprintf(stderr, "gsapi_init_with_args: error %d\n", ret); + + ret = gsapi_exit(gs); + if (ret < 0 && ret != gs_error_Quit) { + fprintf(stderr, "gsapi_exit: error %d\n", ret); + return ret; + } + + gsapi_delete_instance(gs); + + return 0; +} + +extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { + if (size < __BUG_DISPATCH_BYTES) return 0; + memcpy((void*)__bug_dispatch, data, __BUG_DISPATCH_BYTES); + data += __BUG_DISPATCH_BYTES; + size -= __BUG_DISPATCH_BYTES; + + gs_to_raster_fuzz(data, size); + return 0; +} diff --git a/benchmarks/ghostscript_transplant_gstoraster_fuzzer/pdf_seeds/pdf.pdf b/benchmarks/ghostscript_transplant_gstoraster_fuzzer/pdf_seeds/pdf.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6b3af4c944ced69457345ef6c714a63d110a6f3d GIT binary patch literal 35154 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%0AiOp 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

    `w?Hjd|?bm^$7%47u-nu_6^;3dAPjj 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

    Pf+Q6cO!vuXJWb^pXArEdodd4 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 W^ZdIH;bDV0z#uNX-@OPA`@aC^+YQ_R literal 0 HcmV?d00001 diff --git a/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1683-patched b/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1683-patched new file mode 100644 index 0000000000000000000000000000000000000000..05870ca76493d08a80d5b7c6950e7f130bcca006 GIT binary patch literal 10 RcmY#jPz`W#(^cS7000Q!0ha&( literal 0 HcmV?d00001 diff --git a/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1684-patched b/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1684-patched new file mode 100644 index 0000000000000000000000000000000000000000..4059ce5e4a4d390199950f0b0d632d8fa29939e3 GIT binary patch literal 9531 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 I`)3#b1{mzfWdHyG literal 0 HcmV?d00001 diff --git a/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1686-patched b/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1686-patched new file mode 100644 index 0000000000000000000000000000000000000000..3f760d93015b804b41bcb74da7534c11b2e29e8c GIT binary patch literal 29840 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

    ew!JDNZ5@&uQ|LL~lm8_`3q-HTP6od6XI&cR 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 g&O{uG*p!JjY?GrSE!nw_Mw8D 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 literal 0 HcmV?d00001 diff --git a/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1697-patched b/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1697-patched new file mode 100644 index 0000000000000000000000000000000000000000..595e073d1937f1e0a2009af29463fb3470add906 GIT binary patch literal 13998 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 literal 0 HcmV?d00001 diff --git a/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1703-patched b/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1703-patched new file mode 100644 index 0000000000000000000000000000000000000000..3e96c57e372216b93775b6b9caead81eb506a5db GIT binary patch literal 23815 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 n_VfM&nyg~!Y5E*3ppVW4`md$YNky}P}8 zHvz`!*eT;w(kV`7n$Zw>3q&wHB;jFzyvT!W-ULAq1IRNXK?IQi={a{FS%CU%=W7$>np4 zl84o%@c|+Fgtc=-DOC!HQ3X3~8Y@U{b+SI*N)GQ40@y%Qj;KjHukb}aPy7_xAA9k0 zf?MR%d<$`&j;QrI9X9C}u-Yuq9l&`;YKc6BSEpKMwRT@nQZN^9k&cU5%;9B$42Z14 zAq0Fu*+rJ6`f2wS`Q%(b?-C-!e%&GO55;c9Ahv|KYdM}cBb7<9dKhCUCM&k2+D%kLgE+{CXO~UD7h5T zCtH-OtPp0(Mr4R-AS#(CT*<`U;Og59zW-#jwHk;mL<7|3Ecm$z%I*F7hh39Z7 z^b?4XQO$y$)uu{{m|7(A0bIZr1q2efg(M?xoTtddN&2@S{*$0C#Mb;gHnZAD1Pz?g z7#Bl;gc;eQV{1nCcVLY8;w^wqLF?7v-x7ST^6TyEk4hjTovI$=NW?6X&!G{QbqA2JU3BEya zqF3Mp0AmuUUJ+b{1nUS+kev=Y!BYW#mf(rQ`Eghg7Ls)W*nR#*vgj#P@MPB%%-L*K zJVPic5)>slhj+co%WiDRGCSb^+V3}ODQm}D-kr8LNI3hgP@teg7hIu z4|PoT1G9l9ZO)`~;gG3Xl?W<|{V~f3WCEfGQ}T|i%l%o=7hQ^V9V?My#2zzj0iG@yA<^Qh)=O|r(Sv1?{&Uepw5WX)eROEqPhciwvE zR(WB0|MIluTPh}2yjk(hyY6>;S4>|~weqo*r7Lf)5?38r{mkl`HBYW7TYLZ7;W&TTx@^g>hTfvf|q z&6&-OEvYU0TYukL+xEM*-3P4)ceb0`YeJ?_b%&{=y3^cQ(`D(})ottE(=)YaU+*7! z>-*CCnh(u9)ZYJmf6w7R9zOE%{Er8YxR0DaT6FZvC&ix(AA9}yeaDx6I_}f56BAFY z`E1H(TL#PndrzjH44uk7b?mh3^x)@#&u^Vsa`vIKW#=ZHt30niUwa|*LifeIi)RM? zgTr6Eap~bp6<<#Na>wQAmqSByht6D)uZ(>4kE;`|Zur{xb;GrsYbUOIuMdB-^u~l6 z8^5)F+j4Wx&2z&gx5nOj`}UOEd+uc2IX>bY8Tr05gS)GEir>5SCX2dztF@94-p|cs zo2MJPxR@x+MgnKaZb2qBj5bYF0y%=5%X|Gr0=BYR2QPUd)5tNP9v|HQLlX&2OK0B? z$oD4duKF}SQQ<@O$4pZ+T`8R2LQiyo6w~*lGFlOYUmiJ;NgY6{mPiqy9{2G@PSoMv zmd=PYclJ{02un|M$EY0W=%Eq{OZS0LM4Cd~P1)T|?P2L^YVT@l>>__u+PfNw93;{i zFAWDfsk9O4xJT;SI_g`Agzk~L)=*tbSla7aA~Kp4_NU{@X!WSpe6d37t}Gfxvr39V zb<1#IjuMjIY0}6wh8Bt6AHL#IgmN=_k6L?us-6vlp`$SU4tW5Sl6_9Vg literal 0 HcmV?d00001 diff --git a/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1706-patched b/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1706-patched new file mode 100644 index 0000000000000000000000000000000000000000..ef7d5ad394c771f3c44a071394b1b641137cfa66 GIT binary patch literal 2987 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 U)>{MlmMohsC@kzfsI=g}0YzS21poj5 literal 0 HcmV?d00001 diff --git a/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1715-patched b/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1715-patched new file mode 100644 index 0000000000000000000000000000000000000000..a7979d0127175f9dddde5abeb4d200a468ca30f6 GIT binary patch literal 151798 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 D)^_+6KSkIZI5w}w*7k*B;T=+RP zbK&O{&V`?oMa6nf&0P37w$MQ+rpsrE)LipvR?ze#s>^DQO}$-?6(w9X|D_Nw`$m2g z?J_0n8bFy|=-J$IJ~t|UqTN?CJSzD@r^Xg>4kdn}V`9rW&eEOj=GucIqmqU*!$^O# zzkBG}JdX6YmA#01J!Hqa=21`>dI?p9$+~sEQg^;T!p^#0Qgayk22&$hvd)6Ta=p}e zI7=mQ<-E+XQPx#jRn9}~3)`*|o%4BH<`qP-p{Z&*M}IdJPS@*YtVa=KXrK@*nN8Rp z{bjo%+fCh@+R0pxw$#FL!CXJKO$A0}T=wKW%VqQzc_YSo*DF2cdZe5&pLZ4c*7H)+ zqFggHH?Waw8IpNC-#znqJXIxP=l&Av#W*9)Wq-F^SNGIKDFh8(Q4JbesZdwj#TL9G zln=i|X;#_isUO&aS7ePUA1vq1Hw&sQctxFQ#6#F(pM(O`;1$S@y%TJ)MzQS@yrM=m zVn=K$8#~`KT63LORItV#8n)mSrLDm$mXzQXHWks8b~Emz`c;Lt<-A$TS8QwSbCRV* zEPyR|MbT{J;@DJnd~SnfFyd$<((MjU}Hcts>1u{@zg#1YtnS9n(N z3R}ci6b?sxMfGs-3R}bxlobcBP=;e42V2AulA2?j36Wx)ahaG`yx>`LKa_&x6+;lu z7r`mpoo~6GpE++8X1nu^nsVMO+Ap@$RhWIrEA||+zgz6XQVN~CBDIS7Ou`!dCBcmT zz7pS~o~oq!+z+8sizjv$*(ULgx)yKBS|)Mh8Icy}ZFo0>kA z+sP{s8|?z#8o#hRle|LSjdpRa8oyBWoxGy-J==Z7FR3q&=SyXHwwrq~RE#IDC=tna z5o+o@U~3}UrCuP~MPG~l@)uEJUahGKQidLR54OmAs85ghN|Ips(K=t#InO_2kXX+N z`Ln;dZ$Jc`aRjMV_LohOI)2+-#t}S@Xcu(GI3s7*IFaJ`j3c)Ba|`GGQU(zH-R5ha z<-FYQAw`V52V3MlOrhizdSbSlwOf?pC$ILb^FS2{?TghYd9}~7&vV}>Z;Ek7ZjW)^ z=g$O`@6I=oi*3H_SZwpHr)o=H?YVES61jN3q}?&E_C0w;Xjc7Ku3G!MQl?P-16$-h zD??w~B}$f=S;jc?hGdL0<)SgpyoMO#%o~Hz zUu2|szN8h|E*@Ogx0P4nvRxLWI4}1^w8TfdJo0Fl--n5IL3Xsu)@QWK26gn8^0jPt z{x-~cuJLms+3tK>yqq^*NUgTy6sU`t-Hq-48nOxF1a4x(KIta!e>wH)Kj z)i=1aA zE%>TkgrW=qsP6cxmuf~qOUN@T9v@9oogZE0X?@k?%k{F1i(QJ4XDF-=d4?<|!z!xa zvfcUqwc0yg1)(2VYK$$?opsCd<8`A(tq$?FN4mpCdSZ&|lX$eK;xW$bV1?W6^A{=4 z{Xpf6{<0$xbL-^= z9(Fe8n~|rxqn17(g)M>y_OC*mK}rsB23rIVq%|SVU<*j$91%QhcZ5M@wqT27hcfaA z9@t+CMqvv^u~ikp13CHEjEY;}O)Li2LyP2HALz#K!qtgH^-AP78|iDgKHr=_5%Be+ z!gi`xeE#(C?)~GZH~Kx=`*;8MIA7@c?k^udKJ$M}2K|2Pe}4GoBcF(FzPthU`T60~ V^L+nH_qMEWe)qfo_^%(|{69($0d4>Q literal 0 HcmV?d00001 diff --git a/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1717-patched b/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1717-patched new file mode 100644 index 0000000000000000000000000000000000000000..8d96dfacf7850c8cc6d077fa814b8aa106c8e3b7 GIT binary patch literal 14912 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

    t}hlbUw?DjTH=0hG$w8n`dzByfg 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 YHeFmzoL&EA@~;*mfX&D#qaus_KiT#TQUCw| literal 0 HcmV?d00001 diff --git a/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1724-patched b/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1724-patched new file mode 100644 index 0000000000000000000000000000000000000000..d7ca52b2552b7cf2626ba3c6078d334cf35f709f GIT binary patch literal 4164 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 M2@(_2GDd;^2VL1=$^ZZW literal 0 HcmV?d00001 diff --git a/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1740-patched b/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1740-patched new file mode 100644 index 0000000000000000000000000000000000000000..d4663be4de19d8a39801f80a28b9eadcf9fca1b3 GIT binary patch literal 35635 zcmeI5by!qw*XRia0SQS7VTKTp7^WD8l@Kw3aTkVZtgSFuY2u#-|M&6+B5FG*AfSZLqkT656llI=4i`l zYiO%(%Or*X1OP4;_Qay1AQhCeji)UDij`=BfI7?zq>Dfep;m|Jr;=e)$*-Y?Ht8`I=6UwYrTcJGbH07b(v z6~#c7Dn+EqlS|+aUT+G&5Howcw0~3dmWxH@zHK^@27ehdQI}L*`gKL7Y#NhkMT-p? zBRP<;z(en7%D18H?I~_-@WJROJ?{{olsapR3UOLd%?or}oky^u-shg})+3Ia~ccXKd@-OyYCv&KqDsmU4N>Paj%Andpc~k~muDyi% zka``=Zk{=k0*}dwz$niHr!B*(g=uvnx9dcT{M$sAMKXoHl}5xGOH6WYhXRjQED3TD z!1PZ;EYsiOzm6EhjRK9Lg$5g;x64(n}yZ&?K(kFR&5Q`VnjX_Sz z3eB-RKitvak8Ig@?F$Y3E77^|WvNd|48e#g*Kae~_3As4R0guT3Gkex$~eH%tfIdH zNYvxjD%(%1+lr)sSB#k^3MJA7WQi8X`UR4ZOAiziuO^Tl-njoHpZi&jsUmqo%;B_* zU;^I)tUSq4O9FB0SxMK#%Nzvmr|wn#RA`r)EYZ?4Xt%+FWAS9&f~foHL0&(LR(;py z1*zh_j)nN`VY(a1Z>XCjSd+~qj3rCi_2Pt#Hg)Xr;c3l0ygs|9Zim{xTd{S3Yx2b9KhG;+i zi@l@9&n~5mNAV3bZ^??2oH%{wHG4zXEur%TJV{3^6;BS{9~gv7l(HKR&?7AtXIZAjDIQYa_>1)k4v=OUgO>}T}370inJ^G1>em! z?cl)Fl&L)Ggr}fY`R-CGrDH$EGkwLiSerP54q5kfy(eNO>q+t}g?ZL1(e{me?i*z< z>9`G_zhZY(SXjtF*MFc$_#l-Q8a!I>lWf51_xuo zQQVl-T_#h%F`G+a2h68CzRDU^D|<|t*KSTwcTPPBd_nZ?;WdjOB+`+W?(w0b2<7V= zs(qq-3En>FL*;vXU{%H*KkbEDJYJiKF8ZRGr9N|Iow2-ArxnHMP21$?=(&4~AoAd@ zWJ}E;qX2pGFJ`vMHPz34ILUhS-X-}=Ug%NsNu-W?G0Z7N2IL{Fzl&~R{)k049Q<+g#b{L0=t#L+w^#k7{Sl6V(M;Y_nAPNpQ9zH?!CSkW$CYJn z?V9#wTt{B@X(II&8G=5X`!>l_8~u-tjOO0bx_IP=m&A`<;|V00UgQ$HRV7eEr4-%j zxb#pod#cz?na{DxEO!0t=X4PgdNSVRcq<-ZpJ!7l(=yc3AbX;`Ck})}+^?*~d*by+ z(vG&!&zMg4#H8JeEI%%GJpMB2-Yg(^bLN8&SxmAu{;kAysj4pozQ)XdeZJzSdf%ASDj%;R*r}q*BwVW^Xwc;nKmaf^P%RvMZqQu zO9}m)O6J<@pR3ijta>V{a&7dCNJNa;FDpNiV91`CV9)#7Kcfuycj(<9?TayJ@JMY; zn<%O?`LIFYcr{JxGZSrsca`5YOxcUHN6&XlxL)5}j2j%J=|ig5lh-Vm6_w!X!aG&O z+k;GI@DiVQ4iM}$j6Zn-U?e1hRlIrF@bC$(qtPHB3f8V-+mcfqLit_kM)i$51^5nO zm$lcnZ?jfsbBxYgrVAcabA6h)#z~7krcx#r#~!6=2jHiH$~i}?8hS~=M#Wfe*A-*f44jW z|5Hl)JqpI>l^eo?6h@mo{E!UWD()qd`p4BSubO|NDr3OV_g=pCSy^N*w%1lKH{4Nd zzkRElwLGObC~|xS5-(M_a_^wd-XW&rVT2ti*?ko~3bq%O?_9?09SI?j!bZZpbx=H- zl&#V?xau=&%tLJ!zr8MKuKbKBTHnAw<=NY>`_ElOPEQ|KlzUEo0=*SOLA;iPXxKSz zuRgSD^pSdG?JpU0RB5MWWSJ;Y~n0-I+%96W=z zD!oc>C?u)8=@3WY5xGgL9(?lctJ2tS&@t_0CB5e{3?-%#@#)XR?X1<>lmgrc{!FXA0rm-#8LJSyF`RQENyI9*F*I$Wa@akp{>y=P2&febg7?3TE8&uz)(5dD= zd38@We0JK#yx47v^X3o8*p=^_Bd-7>5k+>ZLoPqYKO}bhIetV^?P5em4C>LyUb+~= zgg(y&4f_{hKPf|hwemP|!mw)aM7q^3we2?8kW@Im#r|Z?Isuws*4@wiGhT32=~47T zED5=GK(a4kqb4!qC4!`vWJ-#h+$Xe*fl{SrS5gHG#|c5i8M+Mvl{YT-{QTo_EZ zB7t-~`WZhbLqe3b?$Py+F|^sb(d4VVD%9`ovl5DK(&*xC+`V5)|5NjgqJO*!hu-1l zBeJUkkM3zF4=O4;nx@>17j9zra*H3P=O}{6K$&n;e74pv`SuEFzl%_-j%jI` zClxwNMZ6@(e0QUys+IG&y>~c~H^Th$Q@RpiC-eRkdDya=TlyO`G|SuyZ;h{w;*>6NC%*G_p=Z(TF-oZ-RRATFgXdg4VY~vdvt>zHGx| z^fUXa)ZACgAccS?K65U~1T%jLk8AVqqDvx*42Eq@Sj3CBk_%i84QX&I${o1&71Z3T zAIg$+$afPRe{E^e(I|aD5$35Xc^v2K{Zk{Msp7@3ec1{}j8$3UE8}gJsT-wfRi}AR zv`QU$-l|SEe9eJZaLy6ji5;r7Lp|bYLn$bzS8`00Jo{FeGhrlGEkmAhM~|_t6lu3i z!$Beq9cLE#vEqEJK7F}e`R1VsFp&SwaXRBA&$Sk8TBgif&qENz--;Ol0ZdW-?aIk%c(x;O&nHH-z;}GQWe%Vit)mwdUJ=TwF zB^C~IGbQT#@Zt#4cQA0`n3gF^0$G*e<4d$1Q4y|)>gUa?82^+P&F`Kc8uEJf@uF9k zZHu{H-{YStYpf#BPs=c_#qrSsZ(g^n!fHOYH%{9VkDl0(`jP4+(+;ve(}UeNN5*R| z`OrD>ejIK|do$49-=kboB7S%M#o8L?UWvGjq;E;0JkiG}mdRT|v72pV0t1&6zvgJ0 z#cC_=?R79Ks4At$wKs~Wt@VFgdva=2o~zcoucB0=Br#^YmE=etK9PZ!^CalS5JSSk za4*p#xmBH*CAS#v!Gw$@MVP(m;6O4wF9-b?CMuZ2NZP&sYP*d6I!6h(rMRxkN|^E* z_o`Jud5aa;EE}j`lcJK=l|i_b(=2|NXF;1*Tu?pVHgjZ9-Bz%Nd91N%+QzznB6I>H5gGEWO+EhhqTs!U zOix%erQzo+J4^YF4)WNUb+4P4Nc`MYgz!RZ{P3|_@Thmd%YIv^GZpagM)pXKYGo7D z($wDBy8MpKM>{TMH&c4{yEJf7GmW+rn+!MHl~TjwfvtIW?%Ogw8D` zJmIxaZ=37l*QXiV#4Y`2yq8Ead+RGdOAxgPqoo$XDAC=qcLeQofasPYim+Lkt7@#5 z7rcY5y@2T{3MA>US-HIu*sQ`Hsb{Giuq2d&kA=QoGh&SGnJP!}k=Qu?Cb^>d zq}}cef=|I!o~H{Fm=XH;YZePKL*q*m*Y!na|>#X77(<9PB!$Wmar9jRC+LCz*{8=OJ z-U7`kwxRUTiYZ6gd46$u^Am%g0&4P942=CW%gm#aIyk}tw%(VP&-wA}y42-Ydz4~O ztLT=5kHxx;GxjDrCYgG(aGTEq_ZyDObBCr4W_YvNrZX~9En80k)KZ_&rD)Z8Z)609nJRYXt9Vn@Yr&bS)0vtCSloU6Wy!L$FZo^hJx7|r z4db-P9%FGa`J(5KO}v9o@qEH86*+SJH}rFqWb^&qjB_lu7)0DI&$=rwe1N+VkoHq^ zL@I++*J~X&+b5ByQ*L7&R>>lR8nv!>wA_A_CUDMtNvr+{`mjGnH|$)HIt^h9dt3AQ z1#}sCGtuv9KkcB>59aFU?B-vbGGO%sRXfE25$pXc=p=1@=;BIM&vP3uXPqx~)-~mH zBKzd3m?Q5IS?>|3_vc&nYtkYfI;>y6c!gyeEkWaP$(N2)-(EiQPM(^xu!&8-?U*g? z+M&NdyER93N|w9=uZR0545p+dtt(}UHogy-uR^-0>7btRaUyyOlk$f%;x}QbD(@EJ z!=X>w-}N^V9cPYu$g|mm=$I;D29*b9uXuy>_Tb9@zNZPg})5i^UL%=bTE7n9INdqXLs;?_{|`uFSn&gYG}E*DX(KpTSTlcXN-Mv z<8lR_4x{>quQmOJ#s-@e47~)an0`+TpBRW|FnIFq=L(hy$WR;@$Oq)+d)=G>1ur*? zab`|z^nCY=Q8efUsb)vOKbUdCVr@=FKfYUg#}R`;%zVm!p3Q&4u%duK%pV6OHQom0!)s(tQzOO&&G7q@nt*iU&S+y{kNMh%Veu}!) zlBG-GTHa6;hWRWxit;DehUHVDYmMn%Z)KGTow|6PvwM_5QO$MUw`)l>3HF#bBqz%F zs;Bo`Q5e3S^t(DMts@$cl<#>&i=?>;C*h@!PEnzYr+8@^V-X&)X&LBs#rLk)r^-bJ zjWUw&3JyYB5CMzDt1S;%9bWdBS7C(Et7Otj{z~ya?$#~e9_>C*tkBKJXdW<)T5$W# zZZB;&^HML0@al>R4UI1kKn&0N4rW{$Sehif348k0%xj)(6j)aStgB(xqxlmpY`~xM z&6?g>$^HBq&u`R>NgzM-a*4d0lRQQ;?~)ZhMeui_wg;<`B-UeedN67bQ++G9d6uE5 zdSKETE0Ra~UT33T@Y(b4!Mla&?=1_I515*^IOr3i?Uiq_dHHfGDEBEsa;QfVwdIF86us=GnVlO%w z`_Z@b-l#nH?zF_XlsHuO8@R(*>4-g3YC)+A=FX5;-#!h$~yAvKzlcz5FtxEssvp9#GR|-7$Xz4P8+^d}*sEkcXyQi2K zN$Q4vt-R@=Z@9<)zB)lilg#d;59_pgbynl^?#{}Hpci$tO~KEYhx-S_^Bo2n3nf0x zfsLJd;cs31-*4#3#mS_NH$_l-ce=-FQnI%DnU{vACQVuNT?$lE3c~Dib7!k-XvS;u zgg(&Wi|e+ED6A^$)GlGOTQJvIHxD)#A=u?OiY|j9@3{>^+-rXS;r|)S=Fhqnj#Y^xUb5Wd<56An`nq!OIN*iE$+ZTQK? zdCR+06WbD19@+75zgZX7b;Ua2tH=%exZS>F0ebdpS-BSa3`sXm;VKi@~H zw>Y^L_tz|Y|4a_#=9!(29~tao57B-FAs9V#&(DgF;<`uHY*_fj%ysIja4dtIvvw*6 zkIC-c>uplQn*b{FN3l|gYua)U^@1M%BX1T6`8T#EEqeUt(lYesGIxNvynC{A#Xkq` zSwS@!bw2dG_vxE_@gs4jb?vG!O|U0V$<@LVIT~`7J)BI?dcrnNH49_nkyi_)_FH8d z-FvjUy!YPcXRnD0$76&eJ7sPAH7}SoxAY* z+SANydy_YFnKQo^C?p4d38djF`Od@VsCyz%oH6tDl(s(M``bHT?Oiu=z7-br1z0)o zWyidDJ+TA!E<%m_O~0&W?%+KncDinqn^i79Znq}kY-&O1W5zC-dq!4uM%kft=bL_b z#ht>yU^lknpR?m<9Pi(*%BONIz1Ph*va`Fw=lC$GYCN}?&Zzr~5zRjTB4dhqN9M~$ zTGX~X$XVB#3zM3UAgWHmv$(rGMZGUDmpk66eM?#Nz4N$hU7_s2(j z)<=PzYBD8K9R2&2rY~NLee1hJ8koI!=D~8q!9<4CKtAyE& zVfY-o=(pm21};A8Fjf$Wtkh@H7ya>RW_MizYJCjy18PCnnTzx}is*HeqU|kETuhS6 zyNU7L2|5W%?k+N9-{k_N%#mCX($kG`wp>hWiP@jcZ1N?pi|a63A-}|%%!(`3`P`O+ zx|?MoqKRj2b;4#N_Nie+=fjtMkNM1kdQ=(+$3NNcehc@qgXH|9dd}m(GFt#pi;+1%ZEQ0=QYTJ2*@ltO%LK zQVjuNrgvSfFU&Hh7-d;*#IYhjvOIVya$kC&Sn165Zl%u^RkEuG5v^SGM6yW)th*Y% z6l~V`a_jf*g)uHN^TtellAzv*yk%;}6CU>>YHCa*OM$AK{ zc7Ga~h10oa>pIKpJw2U$Q%H(Qu81(lJN{rN?W_AeZPLYzmE)w!IX)y&@`T_Qq>f6G zewG4LAAVSnZLJVJ1ea;l=5R9HD7?itUF&A4*t8R@*l8AQ=eajv<|8CDTv1oaHVGG^ zh{=~t-6FPd#gx1Ag|%IuxAqgFY#k`O#cM>?%J#xF*d?*V|A#edz$-M|BbHH@az}4j z;Gp+i#>|rpH?NjP{2TY$(jD7K-={amy%6_oekV@7B^yeXNK7iDY&Cc=hr=ZDx<-TS zdrgH>XBq=Vc$1fml3O)=F7L{|8R6Zg*E30dMb&UE`sQ}iZ}<7yy=_vQD*Ibv@b87S zd`-9Ll@!;Mtf@#pE!5k3(tGdF^KeE<>-A}2dr zJ8kuCXL71?LtV%PqoDblip+!Ps@X(2y4z^(b~Ru>g+&AfhUB$Lq?42* z%{&ZPedV=5q^gu7wM7_3o0Lp=zTSYcGu=`GHbW zp2UMdnR*II;N$~+&UQnfVYoh9yFE~sXpmK=f`XIewPs`p1E z$!mqka48t^>)Vk8z$Fr}dZa&a?Lj`xOS#B8sora?AekzPif|#tNCT-}>X%B9O2AtW zQh+jb6hq-$R2FFzTHz_I?N&ggaIR}F^&?qQa$_- zLvcnizbzHW+TJM@$lh)a6sMlY2hPyVivee7=5GK`Z?@kJKa8dbrkz)pYT#=(k~+B) zi3sgM?Md) zRg7c|ua%6613Wv%J88j-%+N4 zJYQW>TQ&?S`k|j`B8C;+I#ny40jGnt+rJItU~ge;jKZY@Y1>PG9j6T2F=*dZ|}bea&~V&#J& z3$&-=d#~ub2eJ-qb}9lOWVL z&tc>82^(0Q(Dy^K7I+O6v}9=GNfzQ7)70Wpuz#J)pE z=w09Eb?654&7C|Cq3(u^2rWSjuUaa43Jsa3kCt3Tf1IaRzFmOUtR3v&PGw9G;&6B0 z6(!^pLELmLcPrl&CE10O=twEg#GyO6SHxPi z?s^{70 zncFc9=tw!^_%cQwDb~8jy!6e(IWTf449z^}89Q_ZFOwc3$)(!DPA}b7P((r`uQMX2wYy zk}_T2WGtI>t{SS1xxPu$I|QqnbgU|=>FqT1`0*sW9bfxUpE$&U=3nx>h9U9mCh@hW z!|Wl`J6Da>mfKAv2PWL~L{@m!Y~Gn*T@~FQS&x@>!;S7fSWIl|7NOH}WsKhJ`}Op9 zcFI#DM3cQmF7uUfLj-DV=$B~LhE;)AZ!?B8rbciX7Gg+u;(wx#h0@=zQmZvKn37|h z#mo6k#o7xJk~ijt`?9)B~+mR40N#YkLr$#d0T}wAWkdgMmju|o9nNSn9 zHs8H`-~LNCCd_`mTjaLKmq*{TkmwV1A+qlY=lqeH`h0Vr=8jahs z=)mLJ3VLm3pHe*4Wj_=;uOnSHtDs>au{J@~(S54B-E102rcJf$ET~dPR=cR8hju>C&n(zKWPU~Mqt=IRN zq^9q_XuONpgmaSpbbjyJocY}H==Y3>V)GASqmj$F4#OT4*Kx_3gCty8cK6v_SRCEV zKos~}RgU{pmJ{=JpUOu(l2OlXo}%iP)#k|Nyv-1hs>_k z4K#f6s7_o)Di`jc6?sHO@I~-!HYTnKiIwq{-TP1-f?}+4^l)*Q@}8^~`(*lQ>240f zh18JJVhw~4gAF7vkLJ<-*dZXNDDB}p$6sn7U{fg806%KtoWHZ!yRU}lz8B;iW@aKvcv z#>&Ldjg`Wcs}J@)350J=;35C-X;T0Ve6IW`(2-W0{l4yAFLdAIS zdU(?CdiG(LpK0@w@jkqFN7mBpbH=;o`%y=s55@NI_inA>d!<0SJ+0oS#)pxbx!shL zn)2MTs+s-y><3lNvs%k7`Dx9UVr>a8xGOP3X&kGb0zbcfQ~t;iFj-;85Nv3Er%~+t z#IQtO5V}xx7eo7OIDuL|3e8$KKBY-plCM|$=Gk82>U(3lT;IL*O@4bHKjSpvr_q$l zM*ZsO`1Na@6=X5fYMc9a>fgD@y9M0mlx!21qhb$kO{D+s{k${JoF!Y3yTc_cyh`89 zmM69O(<-ZmdOtMuv+cIV#SO3Gw1TUPdd7 zPQB9~-Ce5n98xv#Fk-M2N!kBFBlaF98Am%i+2z{499`PcIjJy=IRVN>7`*R%yaA$= zP5Vj4V>ka}hQ;)1CI9`*eEaC2;M}vZ;FYs)IHw0^8yp*F+=4dR9<-~&Xrhfv{W#t@ z82nG6PR+V=Ff)=e`teJSmjrRzZc|6%tcL>4D6Zoihl&rxU5t>C^1ShpO_by7C$;9{5D$|jxEj-{$7ZG z7Fqsf`;fY3re<<&{EEpArWl?kCMuoCA6RO}5 zhd#QE8%w@`TNgr?g0p}FnZqp)&dnWy9pN2@9l|-Cxr1h&=ALHd z=IG|_5W0}%(B%-DP@51;=q#Q(t~#DNP7^LOVGyY(0TW)(E%+~Qi7nX#+QwWjB$<0j0sMz)Kb@8s=Z!&rIw-=XZ$jn98HKO zLF1!Ug_k$7gwCj!Gv`mV(7{oA>Tajp{SqBVnEzP#5VsvC>iX?#_*@n^vRAVrajC%} ztOOeWm%={}F5WSL5&A)GlR3Ykg}xV6q3*WN-H#QXWj<*;>j^eI#Src^op3r$8}72u z=hjpGJ2@BU*%ZHWF2DkR$+|%NBkMxj&lLrdb8+^RL3voZ+qrtWU^7p!n`-7xD3Fxo z`G-f^+|ka$-H!M?CB?=A0K+!08d6d&zD9g7gdl(qjD!Nf5HJLQghNa~ik?_~OG#%N zM-)JS7$oUoiE{P?AmG^c`9aP%_#o$7(&nxTC_5Wl&-49=L0Xb36@^yw!Pi5nBTwV)amWb}S^OVk4;UnFv7RCUY=%h{z*fBNST`aXwo<<;Sau-M&n8u`m;VvxEk%30FV)6T`&=(n*z`UZvoXD>&`-xdPcu~p2SZMd8r`P5Xn|AzFB z95SpC(%6JJ?A1zCPF7A%Kmd-wJ_>>eV6Sr6H4M9kpKpu*I!9JsmZ(4UVA8+o2x4`A z>0|X^*!{7OoPPVm?k@<%{$b@<6#*z#4#7Tvf}W4{>yX%a%V0C}xMYMO0$`*7OaOsh z3c&<;1R$IO0-W4`;o<9!vL+S)fMLYgk$(RG1mSQf9AFLjO$LTQu^#`c58(W}47&x! zI^p@}FER-HpJiYOOc3kL|E!0Nj=#&mU>Fn&?r(Zn8T_A*3kD0quxIe^dRQZ|=k1?l z5a>T27YuE(^!<}eQ1CC~dAgfpuk-HbPN`+*kHVq?X}Y*zz3P|u5`z?- ztz7`%UwM((4HL>&zJuQbilufGQgiv2KZ~N155zFMLXae2;gt=4!{OH z;2#kW_&wwS;^NqzzXd%2B$PYmol_1xiYMem2jq1Am$DFYWU=T6zME z;0S)~*Es|#2oQt`@e3ibjsnA8jRp7xkuW&6DJX>GM_}CvJJa940stTtJ7*NuBEa8b z0xST5{}vP6SVI6@r)N0YICeNrH~{SLXmcEA?Ai(kh2xH0t76x7IQCe*KMgroSHTLM zv0VThOB@$$%M;tiF0pEAs{hiDR4$CaAaFt8g1`lV{~-hl{)gCcVa5f43j!AeE(lx@ zxFB#r;DW#ffeQi`1TF|%5V#=lUm^hDa&ho-GR3E#6GtJNx8UN zq1=DdfSrp~{&v6r_dEN4z1jbdM*!#AvH&BHn#=jUe(dtUWX*;01%V3!7X&T{ToAY* za6#aLz<(k;Vt*E9LT;tK*71TF|%5V#<4 zLEwVG1%V3!7X&T{{J$Y^@ei#3H(W19y&!Nw;DW#ffeQlv(ge=S5B(}m^s5k&(XX0B zn%H;P{!ymryv`CSwssZ-yZGY+`J;B$?=mnHTc_x}zSO@o%m2Z~pVvS8Rk7+1F91Vf z$Um!_{pkfrfxpOpuPFAbywz_d#RRdXvaprIxZFFcsq#C7mt+lRTXl{;+i?T9=Cb!PmxtNp+qXeAiaXrrFH-)c0vY!0Nq3Ytwj3F@;1>Y&KN$7@iD`c+&h}f4u|F%M qVNV(q`R@)1MUwt1oc8Z_{%6Ad|E%+0uuqPZ_+QZK3zPp<2>dVq>bNQZ literal 0 HcmV?d00001 diff --git a/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1741-patched b/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1741-patched new file mode 100644 index 0000000000000000000000000000000000000000..b8a22536120369b3d23f1b86d3996964e181d320 GIT binary patch literal 809 zcmZWnK~lpo4CL%r=+Yy^PMWj_h663-0F=^j>u@lQX~U#;aa<^z_yK?5Gkk_eASH1r z!IOBToz+T~^nTEp3`d9JC}N$j?~hL=fP=YzWXH!4+`g_A1Ow@0VHOZfenDXVK+K-`F<{$2{w_@9D; ztwPbdqTotpxjZ#nm~rHXy!xxm+99okZX@n1C*R9nD!p(^NFqvGI;-T0J+WPRgA{E6 z>0r#dfN$pTLKl83Ci<085I}apmMmpAl%)}BIz^B3`RdmC*ZVvb8bXjRWtQs&B&~|c z_X-WihYU<%Y`T_noY+u3=W{hZKc%)COJn%klF>%bU2f{Od&esc%}VB)LIib>!;E%< zlPzi?!pAsE98z$$#pY%(b9SSEuDiX#ZLNA>9D0oJ4kU3L#qa<-OkiK=fd0i2oJ|W8 zIGZ*W##mU37bUn4Evy^%e=%oeUMO2_c$&W{=;2ZtL(AE0cIl*bRqYAyvQFphdc=MJ D0ejV~ literal 0 HcmV?d00001 diff --git a/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1743-patched b/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1743-patched new file mode 100644 index 0000000000000000000000000000000000000000..76e97ff06b67cf6c070e358422f9900e3adccf70 GIT binary patch literal 117850 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 literal 0 HcmV?d00001 diff --git a/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1752-patched b/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1752-patched new file mode 100644 index 0000000000000000000000000000000000000000..c83203ea15085eaeaf97c65a75f3181ad50e5e0d GIT binary patch literal 19431 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 &at4Pf=*| z*gW>FYc($oWAP6l-?DyTi9OtMhlu~3&U6YW@mOa4TO5z~9Lo<7Lf-}#D4oR#1m`KT+8kqt0we zja)xSow7D?U&)<9FSqeLc;Y9B3Ts_t4;qz(1I4f~*>u+-%fP8fd^4D&Esu1ct8{rx zzy?E`;F z?54JnP`zmq(9g)_0D(jdfrb%!BUEf!BXHllZJz7QcZLI_CKpt`{IcyxR#MzHO%^ULveHw-|44||_aC9u5av=j^ zsT2^0{WG!52}-l|+31>o{P+Zwmbr!Xaa+VHu!enh;V!%NCGEY0=Kendb`d@`%ap^~o_wZ` ziog35_7i;Wjtjzw%sbZCmUo%i;YuW(g3bghy$7!TW?W}&kLfCReX_PQ3PLO;)}zQeZA z;dy-5o~A1MP@%VCGK8qJ_5ddd!%8Fdv$~EY^Q<-38XO*E2P{#9s4*?WW!P3f<@Y0pBZ!D(}lm^k;S!L5# zdHDOlk}kJgoPL)x8`tynL0~8R=rMr5#Cm8tDgyb{`5PRG0bSXf6bT&tqFETCAV*gc z>XC7)63Ar0906QrJPB$WqFeSnfvZ>U%vKbTtO!*fLDc`1e{?YLDLkhJ<{PbrIWEH zlXeS(jqA>lMS$D|nLn6~&k*t+qTOSNM}PFWe)FL^f8*!qh2v=GwBSy*29PlQ>1-Fj zzBL0!A6Q;h8Tc@QcX%7{59+b|dIVw?bxxRgU2Vx1nu7lJqE85&-z7XvU)tUgJjRTx zzHG&3vCA0In!6DG|Z8(C|NS5H+Ge>RK410I@?QX9F*^iyo4d` zoAhhmMMvCG;apoU4D#exISI?)t$D z+Z<|zwZ}0}sfuB6IXG<^Ff%SFBj|YbynI?gp$lcOKG(f#D38(1a7$UlS|ONPm3tQ% zI^TaGd{Eo!Yp|8`p6zJxY$P;zhRLazmkS!<@)u6)<8QYHNVwmJ~iOEkKdll?x z)Na=`A4bS=DvIIJQZ6saGPR0z`Sv!XY|U*p?aFaGuiTuAC_x?^*11X(yHP=~BtKUl zPl7(9Adp{`&QF}sAmsPFOTpX6Hvh46S@tvHfSXm83QVP7Y4CBb;(_F|dTU7;(}_1+mG zRPn)q29bR*WFQF7OwM`#Aq=yr zpjMNT#($PhTt&1%II1_>yYfEI`zk|atrT*YtNmLI<+5kPkhzH;n~7o0Taqn!y z<++~UTZfgVz^@U;@yen^?n3FiedfGdDZwd)e6!s<5;%4~q3bbSvgCm8gMRBq6&*E+ zheD9)z|ASUu}o{5p=zDs|5UO0aDGcywtAk%yw7j!OtB4h?P;tI-&0qSOZ;HY`}&F+ zj(5QK)QJ840Wbom{C^3UI9XZQIapa4IbL5F!^OtN#LmS2x9Hz{{uh_Xh~UToW{w6P zPDZb9pD+eEo47l_emOZ8;(OdLIN}$=yQQF+c1_6B_0=tZ2@5K&h*Is`(hkc^9-{?V m*cw^87+cty0So}njux&K2G#%27+N^n7}x_$2mb?Wl1k|S literal 0 HcmV?d00001 diff --git a/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1753-patched b/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1753-patched new file mode 100644 index 0000000000000000000000000000000000000000..0c5698e01a339a87ef5d60661cd09dddbae440e4 GIT binary patch literal 242058 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

    gHIN=AkF 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 L($GjMOQHT>@#|;s literal 0 HcmV?d00001 diff --git a/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1754-patched b/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1754-patched new file mode 100644 index 0000000000000000000000000000000000000000..f663c2ba2287cb953d5fcde7c8c0659644b94339 GIT binary patch literal 6825 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 literal 0 HcmV?d00001 diff --git a/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1764-patched b/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1764-patched new file mode 100644 index 0000000000000000000000000000000000000000..91cb0eaf86b5802dd3f4dfaa817b3bf2cd01dcc9 GIT binary patch literal 8758 zcmeHLeQZ-z6o2JI@VP1)G!u!Oq0kwD1)kt_jRG!bDSgai{!AOsXd=6!E;Ls>}|Atd^4n%%c^ z&%O7Y-#z!--@OD;=ul&nkP z8C{9mhPrqPILen)qp?Ujkp#rp?UW~0n^u#Qr#6&UySq?cC1|5r2g5jJx9oB7ZibT` zE>7fWkH9$`jLSvuFq7DlJB;WSI4Aj%v3NR5YffU#nR`_3;ZWHvGA7B6O&=`=Tz!C& zUG%`=B5e~J7lk4(t7*X7e!}P_qbJ(+43J7E)lgj~E6Kgtr;oJai6v8MEyJ76YuhGi zo$EQX5PP+>;QG~VEyvgF-EzM3a^a8_7fnxJd{y*(^fZ@pB0qw~`6`9w+Q z$`O6Qf#@9Y;CtXe8XPDa98K*9$k*uMYkvyLEhYYgTh5It92)-KnJ8$^tFjII_K(1@ zktGc)PfuDpVD^vWimu-{e(KuDslP?(ye~?XlFNr?5$=YW%}3-5BVwJKTJ0UEfHA@{WQ-#GLix$i7@cy)NC?1IA^yxe&_=ydo>2 zi>Do&+re`JEi;0PM*>oiWUr#U@#+My0=B6#1EVNWm5Bt7Gf9`uz=tfbVmGR@D%EN# z5JbQL!iQ;ZtcAnGfEPR)=H->;HBEK2@%igbZQ&;d)X#LByjHrJGPj){^7!UeC!Sql z^3wF-p}SUE=6d{AG1tt)<`Y*d%z-{oOQl1}bYoJjHj@YmX0ou* zUEwj491Tck1f)g@x;KTu12v-|oW^?sC{H3;2b9y9XoR2^ON_u-d7j~b;jKtypbDr; zHI-;cM${DGG2C%{g2F>pFeK+Op$VPJZc zupa(p0HXYj;4F8M^`z5JcK1UJ_^a`dHP{8sG>oa0ra`odGWhFAOA+`Nl5Rgaopj@l zw`0=%k49ohE<=el0LsCllrS_yBZgraL<^iemPRkqbP-UB11$fT7fU_B;Xi)R%%jSu zVxKhkd^pAEzG7@5X$Uf`Rg@S3L?l@yK?FvUtSrle$Z=L0t6~s)01w2XH8{s%?q%_- zjcJ4@(Xtazj(8l$6!j8VZgydz!>0i_4Q^HXLh9gR19V??_jnH5p?_gzJrH@kx?Tl> zmVw*GZhdd(S??#4d{?JzYtJhJOH2Is<>4nM?61d5)!tI_YmvUZy`hXfOR9@6zrSi1 z;2^@|^u~V1N-e&%hNy}IrWkWZ&@IC-Bf!QWZNvcJ_{R~Xecy^XM!J2m30zEFT_%DU z6(mf!g1J~g5Ct4TWLd}C;#=Zrx+lQ1pJ-WI%-Zz0WL3yCJn%CyW5~a*4Nv+7p#hfx zSHBSGm-5}B%V5C<3)Wv>kimit7Ob&ng9U3WI1ByN9zg%s^!IKzhb)*GSB8F_*1EEB zW#~U4sFAI|Rw{rwL- GnEwT7^&a8? literal 0 HcmV?d00001 diff --git a/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1767-patched b/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1767-patched new file mode 100644 index 0000000000000000000000000000000000000000..acfcb965e63789a8b411fca9914f39a639c51662 GIT binary patch literal 18036 zcmd5^4RlmRmVQZ-4t94;K#hr6$U`Lt1p58;>wYSbe-mjWkO(;7noiOQVIy&pFe0#; z5YvJ(5YR<%5eTCZ&bUsZ?l|lylOPjucSrG@*(0knJ0NWQInEIsWe}C#TlHSmtCxN= zbk8~AEP=y&b*paOd+V!vZ&ket$4#v)DVr(I^1D>oukZrjQoGW1+ifmy^@I0^d2ey3 zJ=EON=<-&E8pCZo)bT-`MXot>T;WyqsIF0DZH8;Ryz|5LO`)QeHT*JYB=C|T@IHaR z$K@?pHqHtTw>ef0C5y@WG0z~{E zqB?%W8ZpNIpz~Gj&>CwKAS6>8RNLAoV(0Q!t*&jyHbIt=UEVuG_aOrb<+30Igqaoh zR*Q>8!6yiy-ilCbWot`a8!!3<33q{IDl%<>>;Z;AtmlW?TbrDZa6|5taP ztEk!~f)!>;0$*L?nu(sP*8+G%y{N&J-`CeSZyH~{(p6fG=Ci@am66PFET#=%_GA18OUxo;egsR+BEtT5vxu-SH;V}S3RINj06;U?LlJmC z1OR=ySpkc^6@iZ)Plzvbc}toa8p7bkk%sZ#|8AMl0Ge@Pm7EvNdh#06-cXU`g9k4BC`ltL9Zvt z$aZ9sc!NJ6C`L~@T+x$(NqEvQ+SnAx zhy!E}p`4;B+z#`_3t1cQt+)@evLcj6EL~8$GF+!8Jr%MjLJ%~jJG@CoNQA_pLY4x& z-)Bs6c+=p`nBNsBxcW(o0dGLl(=yZ!Y6V2f(-(j@$_4yxKr~!J1xn=t#L-vC;MD?9 z8@qjY6Zrt~((ndB9*|0Cem>wQZ;BxEnm~F`1RuN+E(*+M4YbnRDS#nOBswS{l?LN( z&_F6prd&XGjq0v|?i$rykp+08JwO|c1ceGkhTc^|Q-QlEQw3EZin2)stBFQ73uaRx zj*D_Ym%zwCNqE)6C>dKLpu>pk88+m2&F$e<-doljY7du$AqNaIv3||_vd>o~R0=XT zv2UcHx%R-mp4ww~9Sg5qv9GbIwst?aBiYsUUpIc#`pLTMa;}^Hi!*I0tx4RyH@Nr4 z26{z728)$MPn<6;i7YPxNmOoPLxa;b(id^LrbU)_FK-xjuFcGI@mKWlOG{g4J$3l` zf!=K!=FM5cU(1zmaL=|A1X(#&5KSM?OPWL%1WYngR?xhXn53a$Ut_43+rhau++`T# z?tH@_74Nz4w2=c3Z;Tv1lv?5R`%*&#=BVr+H^DM8wIL8A6gp@bnY-!8eB%CBJ3$c4 zV+GN(!%L40!N`PRc3}EOoNGsTZ6h6)fdMisueeL>q(A_Ul_DXe_A8^1YHN>W#2&Q| zyNB!~u|=vcUZm>wP%Dr7Bn9RU43kf+t}GYNOg|&}{Kw_gik$qN|9st%Yo_9fTb}IHedkw97C?@o(KT?ZmJ}s~RU- zUl!EGx-l~IoUXn+;>|`fBWv^W^7>r-v>svUeBGaQcN(JHJLEoSCyFgx@e(r*Kcb5Q z6URDzGxH*ABV`tRboUZ`yx}gjlfxFM>fZp=ON5$bS<^_UsdYbZBMDwa#URxmFH-T8 ziOZEN+j+AgN$oE8Q9DU&(dv&Et%|6;)`?(zTiEU^>D7PrPu+NFh2$rQ>fV?`Nm z0LRwQFv3ouO`V4f=-#v3HaEe$Sh0YK8@ebI3yukW5eB)nDTWr$1$*@T%*F9h-iY;^l z2|*W$(g5z>^l*I<=h_|M;;f>O$a8O|?R>_$ZLC$|bheO3qv27Kw>1>}{NSeE4MmSl zSu*9RP2HV)y1TodOD=ca=vnyW?*Dl1^QPMR-jjOtX`k+K*crtZvw?V113hOwrpesG6RS}B@1;~ z21o>2-R|LRWWn1$G2;UpDe<8e#)m7s=Z0cON)>FFlUynJ%dh_PH-j%hsxSE7I<)-4 zp1k2a*Q{@rcP{6C_>B8=J27k#3!4k^iJ=dU;)@v^@F4~ zYViUVP2-ND;*{>Ii(f1PS1R8i8?N*R#VH@y^=Au9EnZk+w;{;j*A*XZb|~ONjD$7W z_3^IkUCGaNPRxtkUy6sJVYts2hRqW_%j|@)MWz-nGN}(Mixfo2WbNJ7yGP8(@2KzC zUvrHi#tuV_+a>qhSTXd?!qK4g;lqzO(jr;637R0o!>j`<0|z#onYn|VAiFk^waw}* zn+c-tlMqq#O-f@kg*o!U8!g7s3NQLy-tur$;|e&z3b?#QP3>)!;nw1o`|fX9g-)g5 zSPR#mA8PvtzP)vI7@gPP1taX+FspgAZ=Dxx?jBQWZfG6&9l8*dN0l{{{BIy_9G|Pw(-jA zV$83fk0hkB1UeZiOTMvES@#93%9D-^q;(XGFL<|Q#*2T-JU(0aVg4O=++KHeSxwhf z4?gI5{_Tgp{$N|dx}%F{pSv)!G3Pvq2}$mYv8>>Wzpcs^^++2~w8`m4f=QHK^ul{_hGP5n?$ z&CpqHqibjSZ=)>-qVJrIraQRTKELjyjR{zH6d&GIYJxGtyRm?`m>|C<`bKoYmUkk* z-|%`zZ^x9*Q%U2$oZU06=iq?@(VA$-GfCXr<2}=3RkS&GxYU$}bJMZLx3T`Ts93XR zu%jR~D{JWE(@E#{rhWHt&YAOQyl0%qah=HS$nSjSRMNOFI*+Gnk;iU{TzJ59t}*L; zeHIt`D6=|NZ@gKX5W2<7Ftq0JyK%gTT-o5oN27cHZg0vjQ`RM|`#yRh8ja4b;fi*p ztJhrfb?%wmewpKL2xhE^QBvQ7PE5(MAKU=!xT8dd9o$Jrewo%GcnXGYI&}ZF-i#sF zlUHwhY0$@IM3a^(I zu6X8;`<%}7f6K|-WMc$2hly_zn?Y-=Ja|B~@nelOHIGi26WAU)`RzOWw|ff@zh1cI zP@!}4jGfstPV^q@c&4}G$Gsitk4-$EHTjspakm_H<=g1XrY&*l3xRozCv-s6vnF=T z>l#0*Q3hGB&uaDm9*Vj8^HUzfXDBMx}&D zNg8|q6EJpTS)EP~oNVm*rtuGa^k;_)_e9SoY3GI=(r24fXB6z*Ixw_hYxZV$!Oql; z;hoto2)z?K&UcQ>Sk|8;<~q2KYA1Hbs&3hTjcYWe%Yaa0|Cd$0Ztmdu&Pkhh<(};l zZ_Rjl_Q_iZQ;)uuT7TuS$vqG9R~+3@&^-R=uhTNqx97~5IN9;VDd*!Q{H*52{QL&^ zm-?Z^zv!sVnG;Fnn}^=yxT^fTtv1$R7khD8<1*yb0b?JUwZ`dfp_AYIHNW%-@=M${ zkAs_j$Q64~q@PzN7L6_g}!;)}P*Y}g0bF!Vz!1kJ&{*LRp zW!V!xjnx{TswXzs<^pM~RtK6GyEHsKt>=3_TCk^ZOJQUvGL$?%t)rjwT-9+lDI=NN z%%>i<(Jk?n53F^K5gj|-^o=0PT*c|}*3G+9_NH{Dbj|Mi&T%f+lsPpK>Im++_$X8himVdQv_STGdn2&|mZD^$xzaF8^fL{&5g9B~N;D z!N+gpMxqa7ecC9TsDOm`PcDxyb`%resJIMEIn8FHV%^}yj?a_s?F@FNWNaAh+Te(! zdU7`Bypa7__Gekm9T{9&mM3hZU&3?oGHgL?O1k3IOE15D+s;$sA9ubtJGXjap?78Z!$0}``{pR4OLgH?UOV;a)xW#andE+`{KS(tx);O_GyWVbA+;ql zjE>d%Tr-aQS+z@#3{2prjOT{h#vgk&>CIa_`JWaS-SP6(^Y)FK+t%ogZrr!{*8lnW zyeogx^i@Ufi6Y0$GknflOQNqiuigD&+O8PIjqlFn~wZ^P!{|m!bRtJ%|bp(74R(0|zx!rpjhL+K1UM-Ygi! z4=*1|8PP*kC_ntw3+_WQ%Sa!p*{|P55Bx#K zDEaW05u?k{AdZp+e=IP%jP#+3R2F=Ej_a9r!Drc{+Tv4XR3@9Y$0xt2Of_}G2e4Lt z`e`VxNBY%I1#vYpY<`JakD$O$LEt9_^-~Neq))#&j6^g)o|}lhLK^D(+Nj7+6xDZm zu@Iz3eJ2zZNo4o~6tPSZH6-OlF&Ch`DC86Zn*iRC`YG zug541-eQ_T zQZ;mRf&TET5J{vYQIXIfnk0#m1iy$DC?*L$ayJ-4EA)jQB|$wx68sAKpx-3Hhx2AD z^mU9$f=}#;gnku4!X)`ANraE~A)lrsIQKJK1<;2tCW-A!Mk7v15GHA>02q@cS^7dB z$&*&-7|LuVqcJu~tPN!}&rA{{A>4dm`a;u+Fa*6&+%sDRC`kweP<~>P;I;v^A-XeR zlHh=WklO%l_WCb2d|8|h{%L1D0gu5=KR05>cwBuigtpPcpu zS3k^F*wvUM7Ey{tc(@`$TESf$bX$V90!Kkfih?ew5fa+Pq$EK?*GxNx;VsYq0*R&}KT}B}Q z5G8a1XOb+fPnwz!qN4pk+KQRWqNpM#W|AzeWCj4}iVbBb1}tJg zSfV6FMJHk=L&oxw$RY~)Sf-Ul47jpGNfNqjWHN*)N=b?uV6g!+ijpMDtVByDN>coA z?}#$QOC3s+0w{PA>G6t#(iA`1lQU^-cQUwA3(e9W3vPU=i1Gv%#*7RO3zViY!$Ftg@LUAre)^0sIa(|16HdrNCHQQzE3tsh()e!3GyNUnaUz4 zespusYzLB=a%xtqFs@esqp+w}Sl=saR;z%=B0L2}L&+}FA8QxQY8N&%`$V{Z$+lzW zv#eR|0-uc2{(KS}JwSH`Es9`83s}%>r=UB9rkvnR2n{5$+6C@05}E)`-7@a5^dK~7 zXSEANc|sF>D!O{j^vBo*E<9Rh16=qv+XdjhD%*~+3tWw~wqxz0v3Z)PK>kH|g1fca z1=0XQ6I8gD&GrX95E`_z+6C^H6Pln(7H_6NARshoXSEAhg3tt2MvFJoF0iB`G-zkF z3*1yEG(lC+;)`j=+C{Y51u_M*9sHIJOFPyslEp6QGgh;m-y#cIz7ZPa#1^}t-w8r! zaEX|Wd-zv;m^2mcp;H~;H<>VYfnsJJ;opQp+X27)K;o`@PY|mfxSvx1ike=dgwd$ z1v*XuE#01aZX!qa=b8ED=S!z^F&U1!^abm96bP962jA=UAb3?tVU^KCVI^D+Uot{N zLTP*jL80s#u{Xj9Eo%wd$j!Z6fR(icjD{xpSGzJ5TyFPU5{5jwf_~rkq+T@f*;Aro z|0t18Sg|%G1QSup8bY*~p7}WBlw9l6ng(yxqK3~9H7;K;lq(^9Zay;F4rM*B)T71R z0(X8VHb_36bzd91QgZ~?qD1r(Svm)J7m>U_MBs$AJ7O7Q7$;2FB-^<3)1g-g^O8rI-WiUm@+ z0AsOh88H()=G*fG_DJK#Hxb(4XnG_ioG>yVG0D*3^z^a0XZ_8dHtbI75{rsiV^Ukx z!p8RoMcWk$EP`SQPA>$%34)gg-WXSkEAK<`0M|t`{$r@45_Xkb`ks>@ z@x4=W1Y*uZ4tRCMC=#Vn6em$ck}x3|=QO4XXx}^HO%#V?!4O7-r7VmnCg~n$c!-i!1q zC{00n2jwL2uJyj>?6o)9`JeDRAC4bll9@5)xX1I1i)7}0My_1BFDEL_0$}CD;-F@y zw$d}j5)fchaswqQ#LH2`{40gFumY-eR}s}HuL2A)6h#Ma8*n)=^u z&L6TVQnM-9>RQ@a!y4;5QL{aUJ|hZ#X`&BScp@Swh{g8U$`S(Y*N&PK)(`X)kJi`){ zf+W-aS+c3xSA0K+Xmx+5O3tCDqVjOsJ6ZUSkrMmFB00+0^|0r=l}@zBK&w#bsoTEA zVbO_;?GfX`la$|)l3{fwVe7T-CyV1>sq7E^^q?>JrGMy@G^7X#lgy%DqSA5SJP zbay=7=xV~lv+Dd>NLlOb=z1_ex8k2d>F)0Mdn0VCBVjAhNp3-w^>iJ4xO2RFBdiVOy=y!wVz_b7%r|kps{dtPimt2&J zevwrAL9!n_GrLkeP~=)0Ze!bh{Ov#!ccM6i+VL)f7WC{E%@5KJMb<9S$?8V%4cXpc z+OnuFRXXZ?Ytr4wk;L>jU2jtKROf(Eq#ZPpGz&nUF+OZf^xb&^ddB%LOY{~hl{Z2xQXyv{k!A>#O-`XMPwfroeSHlr||!$|wb*J@;jiUY|$uZVZ=TMrC70 znXFm}ZB3MvS+c9@+!tu?&{IhfrUYxueHo)C3{0=Oryt_p`O;U4BE@zV+TqVDN+gxc z^sd%4lEuNpM;#xCS)aR>L`M?Y=A0)O*8etG$_&6PYm+G&S#Za zI$M%W*bxdxJ{Rk|)HZX2d*P&?x^DWrt?wEt%!b6ExBlTa>m|dsZ!Z`m_aFu;wT8 zhGLr}DU~72Hm*RW)=yDqVjt{fz+y-Dmmd6ay6{fbTQuiG@p%oK72~rPN;Kh!R8s3} zUH{iS*ue4uy{#1%$T7>CjnEUiUV%NV9gB&F#`VWvdYWH)-(+o9T@v`KPg$5e41H+g z`^}->)eJ8l`Ad&MA9TJrNzdo&UXk>@=;GG1Lt8N*Sev8~%bS|=qC}IldZf85e@#|9 z?8w`*BlP9uK8|9o53oZ+Rx~Fxng7&7bKxUz!8G+)nv6O3^-Ztfvhi2vbH~#KJ(rJM z*xSfvI{qo@W^CYyNOoJ$n*M9Pa9EZQh&)u5A3ZhY%|ApcX1v02&I< zx}+_aOb3pjqy3c$6tGMv zRfj$taLa3{7Z6uyzwhImr#eucO~@Mx4fY5vEJxIa0%u|8YK0AdtJWU2@_psPh^O03 zF#z7d=N%5XnL~q1DH#N2hIX+m25J_Hc!j%XA1OT0$2mKenN0|=jsUVs zkC<^^hdv0kAjk;@F`mtb0kz?qa3WjGvjH>y6#bb%tMjH9{YfLn;blEpm}^YA;FT586MZ((?1s=mUR7WZ3AE_r;v3w>aI?Bu^7JECt>ypk#6b; zpY&jC;CX1?>*0Z^|E*js$=aEgF}nC{%*%IN7*NBbY;w*z9S}>0JdE;`I7<@Z=_j}TTEOS6C|v(>HfWC$=8+QMJU>`?p16!Y zCJp#kcs_RBXrO`csV1915a;98?8`he3iU^ZE1*Jl&T=zjvO>kd!;l ztm#gb5sPS^luYrm$`3<5uXn2Yu!j-XWEm3_tcNi%YTukMPTQp&*1sL_jx#WtUbvHk zzy&wGDtZR&gq1F^p3}y5Q`ki0rtGUIBbA+#Cw7cw*k1h6X$gv9TGU=&igc1s7{XXr ztHKr))NfsT$t<>?PFeBjT81v0z@|LqKYmI1=GbV z#pCFi_x$gS8yJnY?||ND9LL8-V(w98qm*9-P_v+a4+AnCAC$Wu22&Ebo_4hv?eZF; zMr`4D2zW5Ck(8C)$f#?l?4vq*ZE?-&h$ghxkSA}llJxaLOIw{_EkmLP5$%Qzd)P>W z&>!*ljmm~U3&Vtl`ljAL@R+rGjXiVgE{Z-oIHK<4&o~BK?O>RY+y1Ifa>MG20lZkf zSh~dLOAR%IrR#wP9?p)t8%J~g77AV6YOz)CeK+%P2{6&gXromE>>s|3(Q+e|Y%KLR z(kmpDPI@>U{RhWm126QpsOJlEkIXF-LIxyskSOPu? zne?e4gob&Nq|rxRg9JmewXevqCybon{H9v+1oWaGvIzLSbVTHP?8U)h;ElgJ2`cT zErm8Vvn}TI4^Mv2_o9MeCK7tI4=2S}b~8^7f6U!_wK~`3zs@z5tPe`r%dPO2KBUzb zNPA-rxY_|Yne?ZktYvB3oGeDir%}mbUd>`IVa)a1jmgYI|NSM(_gFC+u)XToNsv&& z74OZM@Q9E)z4QL`!#91C!6%(DCmk#30#|TD*XVe)^@g(wv1_?kgx2dhO|O+^fI;jH z(&@PM&3z9&1JxcZtYaBgV`s9>W{KV;?qRRQ%^aYK<&59!8N+She_`r6Y?)KZRy6XQ z*NdulB2~BhSu`2H$lw+jlkCHAnLoPV`bwT5bHvP>wN8b1sh^lx>cBndA>^s413Ol9 z9?ViS2WxIKAAD@37uFlk|S;+}zq zZp7kljoBOTE@S$%_Vbrlelqmd;^;=?Jy#R8zJ%T@>}F~P28n8Ke6s5PN<3w)b4&8L z{N(UwL}H6BW}p}DlzG!BE>oR^w@TLhpM`Ae>A;?F<={}CAZ>0wIlQ5S;Z(EW=Pn~; zcsrTn`}9D835@AivwfvmTec#jV2_xG$wE7~K5q(#@ihDJ9$4%I5BD5gxfT7{(6ydv zuk}EVe+8Ax8eL!iBX2kLs`bcLPJ=uK7l>z7Y2l-^;V6}KL6p* zW&w{MhDR=hu)KOrWR9&7%T*3?*Vyu+-Z~@s?30n z>`w2!TX#`sjwrhi>;qyk^ zn+E^UM~vl~WgQP(-F?FRplR5#;lGiZW}5iJ0p#I+fdBfLdj*DmVb3_v*4J;|k_oSi zVsJn59!xp>iEBwS^3zEi=+73_6ls=OHpMb`LH%ZwS91ED4e6B` zJOi-WOj8DFmN^qq%kV;Hf^X$lOgwGkU80mbxFZ$n6~3ujz8x3d;6dBOEIfm$#WVF& z%9?JuH(fj4!-(Nju<_R-QR(%sdZS|Hh;LCE3pAaN0-VH3j3rDefG zuYTl*OXAV+v7_8ph_$_%$!>cRKcOZ72TKu?@!|U57CK=Ev7nGITku9%o^#xybb^$eR5-VF90R92)bZZ=@V-g* zq?@N0xiORSf>nC1=f;eBU3!BVN_(G% zbS`TqP4+;#O9>i|_k4_YNnD#N#X zUmor{sr~r+{j`?h)U6_csBqu?1xN2=CPsS;%A!y?70}>xBvF8Qnlm@v%R~&a-a~;K ztb)85CL zsgUkJni!_m+5woYTZTp=8w#AGH>6#ktg}d$R&b81UpW#6yx#`Po76q>UD9|tzA%`x zIWEp$Ciq(^5=VNXLdVp`u!J1%8@V3CkvIp(Hlg7)bh&KvEdILf>+$GAb@AWlGM)%| zv_1^yd=OTVfOmyWVu?pJTW;a>v)56@@)IGuiSM*NIbNj9kBiZCyIg4;q&&jgE8ye&KN(XtpbNykAuazgoH@mjmfC^I0zphUuJUQ zMwVXRZ~Q`__FMh$LhHC`F77q2HZ_)fg0LPJXQY%-;_1k`I=z}vqQdp;iV+JzeZ7 zey`mU!#H$KJmDi%{Kad)Maq(+Y?!pu@v2&UnqJ>9nA^uQ7}&Nasbmf`7Tqr(yFwVy zELW@lyKp)F0K)+?+I6xmPP0+yr?1d;N3-dg7I&&Xu+%YdKt#Na@ELPkddRXM9qC7Q z>~K`4&$}max!c_A4;V0Bd?wyRc{^D*=jB#|Vf(>XyziCyuqi7FCfZ}pD%|ewJ&WZl zq%P%^D5w$Qv}&3y?_Oz`O%6kh>9>ikbnTcaIh8epi1Dl$rK=*S=5R)37y9&z>(-`h zT6oZeY&OhNOU!0R)#WKp;=s=WNPuhR#74O8q|nGgbN)7mFX-EkaG zVrXc7G%BnapW=@0@LPVm`_aUC=?$lM`CIR(IF)M_EGT1T)8oI)o3Pu*2n!zrZ>W3CZo+KtQPbaFmwP5U}EF(mb3aoi55&B+XWkFjM?L#`BZA)z2uw-5%IGbO%#ZKwl z?I$+#*KYGY@-&PBtnWg;d)YnNx1(4yt+o7JIOB;UBs7VN-gPJ6V)fdUGK-wNP8|UA zB0puT3O(&JdfF09ld^6$nd{0$nPAi5-IE9zVsG4g^&7f4T=USo3EsONh0=Okwln8=VD7Gx1hs`tAs<7V+le@`#$FvSng{%~{~ z%`3M9jT_>ES$JG=p5|?n@kJ??erg~L&(&v0`X*O?m*qA?!>gbdueo?FkF-Sjy!nRh zl6O||UcW=@J3UTN_4vMMTEuZ+eT14UO>g~Z_ku=t zA_wpPeD)K6`ZT!WCpD$z`+nA>OiGjiu7PdR>#sFz<}ycFTb;OW<;QimRMk^by0K=8 zJGPA8Vxdk>vSTf(dUrR8XWvw~*KXdwlEb)TKLBuOwLYy(%3Wg!V6_=DJuNjW8ZK8% zXU@t&n|}9-=4kbqU0lFR5OwdWX-_|oWrI&T#_3nF?ku0aK$L=lT zeQa{ohCJ(yLq0tEW-X!HLwW^czZ!>ldS}=Z9du1y5`V{ymVCSO4&BaS{nh)qClF9| z603|*9rI?Wck8#FwJK6Fm*j?b{vjc6!>~QPAIxEliklxRc9=ZS13*xIjjlLKRVRCdOM*Q`|;!TN|f%+SIk5&ucNi| z>@-9^=cY}Y?c>W`vh&YgQ^v-xQTdrk_`F&vA#sod{S$tTj_K14R(u;MmbNlwq(`$Iop)ZQ#m87j z+I`@Xeu|AvK_K64ton@z<^HaO606JGZ{VrsMDznGn=}y_GyFhe8C0SsNgDa$Rf}RY zro_xwxIeucRisI<5yqlcG@A_YmJ2%W1+C(+ zqLdNKq#6Y+LEG_dLnfdNiJUXX!n0NP${&>w%luMC2?%(~o4-~{EOWO)I7D=zRbm zsOL5h9bGGA24fv}phsFOFbHgwOHkCvxbw^=5jscCVjp4mi(xHxuS!wpSz|p^eh82RZ?LXf7aU#=z*aFs2+!apUDl%ft}#O-dP&8Ip`$w+NCMTq^j3PgwDV2 z#s30}t=ZcI=%lWx&BDTz?RPf8RM1hg8R)j$r|1w4e!C#*oA}AR?|8N+P^6oA5~w%6 zqJToxftA(ID`o@jFOqlNo10!8653uK42?u}6S2(e-no0Q;nBE9^Wd0N=3iGau*$bD zYi5MVoz23#^WN}?`JoA+jWIe4om6ku2l3EJRcG=pw8nB%8j?_AcF_>7AeKp5J1iDe z>NE*i)0iWgU~dl3*4$I~x2GrJ@wI#aTN@ISha>7(8k7RfDSvPcuAcQnp+?}H{U^H zzsVp+vAuHTdrXOb`G$PZ^Qd>#7g&?+oHdzI)&%=1);)iJ7dmYJ$+b(Tp zfse4&;RRa{WS<>1bnVy58kyv)R?pjrG*`~Srl2_&8r0{>l+Z+A;|f&&2F(L5SRR<= z6rjoAa8|w05NCG5IcbatH3;g(hpvYCA%hxdZ$Z6tW6}6s+L0&+642$qtke|J(rty zbw0b;(uOWAG=j$i%Cpvoo?5~gwgJI#Uza)LU0%|DH?DwFpJ}ut?gow73RJ^p&`o`%?sVNMb zyQiekH7zM51mo67nX&KSvWqnuG^$u6H>92dk&t?zj z?3H^37%H&%l@;w`WwGv?;w;W7Xls~VuW8IFeOT!Qi@M=vxyY>~nlqf420T*x68^F5 z{LooAB@^OPKI229etrmWeklKKjxx`1S;Uk$bSc}<=DdUQ{6_;Zbh$7REo*!UhYaxE zn*`d9zfRhZ=6U|W1pE&PjRYiBA z1L)1M7&o3gA|IE%@|dgqK9nV_V0GCEr-Tfpu#QBZ!`QpsYtU0OT%s#?Dw4qPosPB^%{|+>5F2{3@Q~4v{ z;uTZYG^73-yeHr?p}hvuJGP_9ZuJ^!zNYV#i@##3pC$#;Tj4iVq2bC^L!~t;f;6iV zk;Ff(rd&Ci^ZArtMW+MoyR$17KkR|C9UnAwyX?0zha>;wr(aRzwR2ROMt9Onvpxw{ z-FhydYP*3xQTf9pcNJGCt6VVBPyPKK+fu4Iwd?r4c%%nL>Kk*4w@oF+WG<$jizY85 z!l+IJ1>8^e!aHq!oxq}|S`$}H99(hU1iKuO;2j8;5wZC}<_~BM4vryJB zIz|~QMXg!W#`L4#-ZG!M8G?K3SR}7$)VJKr)(a~=G+TGxAym5NaWI+0cd$*F>E|5F z#jYV2mxs#jsiuD|8!TJC-{4bcjuGiF%Qe&lIj~%QQGz>FA+keKBZ3yy@^a#|a0|nf zs>JpyPPQ&Nx4A%DCVEkqIsqY9^}5vB0w$jGJV70)Vm+<~LBeewE(-~ImcTGPK=!06 z?WfnNPgdN6L3`Q{UHhUHTARsgnZw+1N3*fXJIhSBbJd5;Yx%z8EC+h_z9yeB`7r5A zv6u&8TwnKwKHkdwL}!T3$7bm`7(13$D2-00#F)N3A@pK*c_PkLd#my#5ry!3x-=Zl z83s`-GPCT2Cbxda_ireSJJ_NB-$b9dk#Qs9Zq$#DOCijQ>t;2%b_aGWo)27v8gZ|S z@!xe@r_r2P?@ZCzM@cUy01tjU_^4?D6d7zZySu0+Yv<)WVnFL8$g(6YPFHl>+?4a> zjGKJ#-OSq{iAEgSaADh=<0mTLRKptuR`_Se5?`K51Pb3<{$q13P(%y=S&%jpLFh8K z{$MEj(;4pwVvL2S_Vu_}xwx^VSEAJH>+^US_H$8_E$fPvX3KtIjcA-38DF#Z8G$;G<8HT$ACf+6J+UQ0$zKM4tW-%Rt^4; zstxU+hNAX!*|Vg2BK9@H$8X{lx7f-`@+9_+TdJbNK@H<2ejWS44}H<<`UKG+v177m5XZ|V;PoPA$kh0U!Fc`gR@${YW-{>* z!swgN2csTlC;wiYd;JqD_8ZT-w@D73VN)^j*GfPAe5axxRGWgKkLVNgC4b!x<)pJ2 z4E3p4%i?j?cNsaL!geo9VE9xZ^QM}KmU-Dl+p2tZ`=`|yc7W5;vs~1aVD*F_-wa+z zCRzX^UH~8U2x<+5%ZignR??7a|CFXfjcT`S7&0V~<2m^aeP7XJ`?Is0kAqobp~g&g z#LI|0`cN?XD(+#auLV(4MC(Ue<~a+QSK6JH>|ZU3bKHY`U;Wl*Y|Z96JwTb@T)Xw7 zdOQQE@li4_;jqf>RZ` zup>=N*-U8ezpQ<~i>Z7}RUyvj8m<_0zs@S!oc5-(?N=e0R^5Q_VJ`W1$e%QshXAsv zbgSILYsAYY{32$Vzy0#&%4b0PL_K%yWKAB{*qChtH)YkDENb446ep)#-Aw0ZNF}#( z7_NKtdQEHP<`Mns^3L>pfj&PZG$y<){rQHS{Pe3BN74<{bz8TFQLq_yM{X@Eo{f{q zw!Lr*fPzcs77<(NwDdg72#p16`XABSf<0jemCdDb!phuE(+b@U`{JeX!M&};73i9j z^CcDugkFf8UFlRM{t;h@{k3Y--h>~UD?MXgC71NijJIyseVuNNh3=3pU&fT8f}o!`8dJVyKGZY-ZplFaxULD-pE4GbQBw@ zQGC2;Jzlfq?A4I`s$S2?sExsyP#zV|#^*LR)9gb3HRM-d{g%|f^p`5l%V=RK{rIVB z&@+KOYfy34a$UWuccFvZr`IUqM!91m*|lG*tA(a`+sOOvLSo|83Hr;@`^4TAM+E(R zB>U?-x;9re4F@Wp^}ET~HPrlK#l@SCP(SqDTEN?0=G0tNr?t;Ful)GUY}7iZ_z^j) zqDI9Q7Nq+JO81RhWP@&+?1R&4lkc^J#MwqalN0~ROmY<1NiIXfU%KY-l40pm60V^Cy4D9BqP8%YDa{qzlqAa0N%JD-$BQZ!1~H zRR4Q2JSx$l@Z$_1QJr|fj7N7u)P6 zWBbeNgbm%TbssEQYl6P(Ki0lIonuz!0JS1B<6=cFT?5s0@IIM3R>yvVhO4=b4AGhE&*~6Omu30g0O`kW#?^)%Gba-wVRc4`J zyE~6GR|S#Nq{ORNEldo(^ZsIP$5ASWxt?Z7=fcGu*e6XM$*GB2>+V=8UHaSy|M`!D z^sl5>lZ~>tPKm?fr1+K#I^BA$638~}+;|w#U71u~;yC6JWbkdgG)&@R_mt_UuUCB9 zvN0Wb5K2)1it1@iw%sUM7A|yP;&^``kaA1k6>spMD3-!1-r++m@C($YUiw|!Yx4p^)BuS+BP;AK9lrB_GOnf;F4kf%!b0Rxvw)sPr>`l4k zpGb>)i>4M>uJ;O>X}*ZAe#8IO9ZzR%v>Cv-7046zq&oa6b!`x3rBn7PjxEt)P$4hR z62}s^MdT;2F4Q?tti>>kq9gi(L@b}_L6wsM66q>oWG_=E7&)5^5Yf%MO z7P{M3N>G+GeT{$&^A1{@a-E_d&1frRO<}IKl?d?l+nuhoML+GPInWWAj{d!g?@evX zR!$sMx>ba=sJ8F#eCQXO#2Hy6e|9pK+i01bJxj!mr$0cWSk1#LAf%w->2@9BDwuG` zlIlxr`b@KuRYz|RgrS-Wvr;AY;Oc;^k@h(GulME+*LNqFEuvNM>Sm@+DxGG$6{ik9 z&ttFD+v&s--}d0piG@8uHUHAC4nIuTtezWR34Fvfg%-AOT7!yNLjn$^c=VeUyiL)W z=i+I8dP_vrBMW8%{>#z(mmL`Nw;lL0P03vUcT+O#AsnV;P7ZGFe|nP3w4@v+TZvmI z>QJ;mYS&th=cL0J)k+Avl))n=E+ygjpX#v$Vlk?RdpN47?er#LtldBlyE^-w&_6x9 z!2!Urf4rtYJ9c^~cH6-BbVsjv=kz7fvHTsM)Vk^|9kx08yVbbf0<5#^B~O2se!qq9 zE^#`e-NYSvZ~w>F4QXCI?XZK-eQniybN=!Q=+A$|=#moU)K%|zY~a>}?9WfTRBW8u zt$*3Bp|M){RsF>3mz%Gwh3$;79Am{z8mp1?1gZ(PaOvuz-J#*1U*1Z=ux6~K(8l`?F}jAykUpR zBg$D6Y{%W6ep^BJOrbQYD=!$;6~p7)N6{05zIetBN7#R<8O;K zQsi%`Tk&vC?^FH44jHQxPS?sOGr(>yQPs0+qu8(rhYId4;FP!La~iY(}sL zb0RUSWQM%7x=sAm_Z1P*N6tO!Hu|0~^JB6DyqJfK=bMkI@*w3D<0ArBJWjLbl+!EfHgL3} z>Jts?HQ8q*P1*jAU3GkGnn}4p>DG9<#Cy72z1^iGzmy5`q>o_@f=R^H-~u=8&JnVRnAV|YtMSm=Fejp*|pTQV~) zFroRESk2LUCvJ30-Jsxb@tbQWKI-3@2zxD=q`rSu&`>*ZTYMLq&w!~9{PybA4ET?a z&BhZ*l+H$G;WWG19nIVBb?FbRZl^SucI0bo$3DW`xmKzaBk&!KAgo1)e+ttm6D;=nLHp`0q9V*)7VG>xQE~g%AL{qri6tL%-1<>&$mu5?GM%6R=I$=2 zeu46?sof3|+3I>F>E`%m)^$<1;PS>0!X-Y$pkzt|&0XJU%o z2fceKI@!-oWC3R+p(z*nKSy%~4Gkia?tkS7>rWA}+tu(+UNYBsIpi)^CKgW)?8Wy}reYBrv|M~#z}x=C6|2Fqv~ zsfu$Oo+dY6RTG;CCM#++(1%4gH?UhVubTcOG*y|iRM9S`E^cDI$LcPY=}L5B8#>r@ zFP#7G-8$)#yi~nx@ZpWz*FVEN^gkpkE&^)Fvca_K(p~B3Oooc8@@e-!=mmb*@FdBc z>gTe(Lb!d4nB9EIk~&TJ0YP-!oV__om7pG{5M4y(aE4+ToenUUde}Jlth)zUmSp0&YQ9>a`%L_v&DZ zd!((46T(1kr|b5-6iZ2MA%k<;pWN%tcukaVstpv?+1*B z2;}jy(Z^@$p5JU$-w!5#v~|2!q?A#U8IyZ${&tiSBWk5x`cPji20Ni+O_z5tZCBeT zBbB#ruD*RhKE!}WaNnVdp)N!0CI`hdMr`mc{I9~;4WSujV}0^Xn!_%2!Fp#kKfu_D8fklMy5?4K^^wn0sVA+~EzS>JZ_?1`^M#W3NO1Il zjXMHng=3Gda&>=5^+-%)q!0k|W!%FD;<8Z%>A5Sn2*;1K{3b%#;Q7h8#^gub@|(-= zxlSSDOC_5W;QJxotlLGJX}vZ~W)q_n9hO&&f z?zal})f)q=c~|fwq2*wwwvQ)fm4iOAPT{dK;*3Z75QJIZnz?dBp+2X~H{1aN^&5pQ z=c{6pZ*}foRR$_A#}-~=i?hh9sRV`QC*&G;j^wZuw0pI)ruvZj^vndH%%H8;wcvcZ zWv-uaEz1x!iA!I9i7s@3R6M~tD{nfr5%|<1Z>wQK%SsMsdk8mjN550LF`3Rz0hInW zN-L7`%c}@(dBr-rS7|e4p1z?&ty@jSL9JI?w!XP>cfIbt(z2Bn{w`!;c+@O9rC;LF zc%0K(VNZEUa-$DRsHJ4aXWNWsiLnD>bTgoSn{Alo!Y8^?BlObG4E9XwjZISKU9(A< zs5Kv(bBdiz4t#?Awwmq*0h@eW`OQV@^1Ql2&88aSkDhvAlp1}>na|w*oX?c}5fr9D z?-K*2+wYEO_$BsX)5Y?ju(8Ia>H~ZJ1a6|-7NC`d31V2`^?=kVz6_~os1nb&Ii zTVw5vbe{z8_{V{=luOb-H>fV*h8JwIesx*04Crvg5A-oh;vA*{&V?IA@Um_6ZZVIx zx>z?o6)#z#jq#HjuzUxJaQvDdDJtaoMKbO8J8Aly!co4C)ZdR>6<&Z0AK~I+i$22w zr?N_g$*ZliXD>D2nQ3T$%W^q5sSZ#5u~NLwco(!gHkFT~^mzDT2S#=W`l27LGVsez zD|)8wge;oPviMcha!=z57pB`kNQ?|LT{1sD9kl%V{?OAjhmdwikqC1I{q3IKu+sRx zvBx{p554%mrD6P`giuJdTVo{(MJH`8 zSx|SkrWmfWT2DXGxc2ZO$<&<+5Ga>UV~6YY>|8BphnGZ|&c=LekvP-`>cyEyF4lY; z4ZH6xBA=KqpI-Pa#mkK0!>4wa`*#jd3zG8HB4yM=?b~gsNkbwXSw{40%6a!1FeTrX z+}DF-{Mu+=y48k`#z*oi`yH8RUWloZw}?U`4k6moX+4$uHLDkLcZDMW25Dlln2c{w zpL%1jFn&&a{%kUzA?+Q*&w@9^Tz@1Rmmc2Giu;{R2BetzQ+>7Uaa&m+?JH{Obd{-h zr=P8o1%7!;iWf&_KX`P5$=EYDK%*T~K8x70+;HPGn|AbS?-hRDErGc|k=UT^+v+{W zQ`?jg>2lgXX#^iM|5Bsh**B6=zy9i`TGmr^b}L&mL&hWO2zS6biJ*&20X<~S*MiDkR$M$fq; zpN{2tyxF@uW9FlrLRbWe32k|*x~wW-9gxL8Hn8rQm3?15WPqT_Y$!~btX2W5m78L= zN%Ubw7@DJ*Jol_Lo7v_ROR4UJMcEsv{#v;Y&Qra|>B7ThNBYXf*BN=WbK4UH*Mo#8 zO#M@Wofcmeg+Xm#K;EQhSC4}V&~BAxQ9K}Z4$b=LnDhPG_ABmAWv55RjjIE%rAJju z#KcXRH)}QY11WE36pMB}OK4TlDFlu9M3a69A6s(|47@W!#?OAALCQ3KyyaAB8O{K5d(OQua@4u$B>TKK!j0lxpxn2m zTL-9uncO;0Uvu6!ETrL;fYdB^SGRH z)P69%N@$bhP`}yg9p^l9_NgM%PY*z<%=QL=-hsWu7#|tYK1QoYH}Cv@N}En4?^|Tb z>VYz2IictUdHeRZ3n-P(VV;8(qE`0A?Q?^_`HZuQOlc|;og#i~^5phNo@$`!q0fT+ z<`p#vJ^4u3oL^F%vh>MUUO0W_W@qS-qH(u4_1B_hV`}`WgfDAJ+j5@M zVhIL-V*OY^Uv$(_mgkDl8iYxS(9wpwJH9tz!njHQdtPqC>mW|_6Zt6CKlg6PueTK@ zX5uD(zUyyVIr>g~WEoW_Ft~H3`1-Vxk6p#QoNp^0?k}HFchN$gO3nxP+(cieaCnsp zi~Z(S=JFc}-ivMaOa?tJBRg)pJ(9eNr|aIFUzL$_3>%c`FC&4#jet|mYnI&Hc_FS7 z&Ej{)3Z1h0sDZ1Z9~%o>^k3n&C_)^S?EHl1GneA#-S$AXW{PBX=IHYIFa7ZJKHsd# z6MVTSz+avODg`UXTap~GnUAHM+{K~(^6Pq-+J-mD)}d2dEFEdgTohMNJk7C?Zg6DX zf4#Z~+f?AcY&l?u#U^E9U`MS1+mJwk8g>Oxfm#c;V}Lz$9|GtHeQB_PiLQv1Bee!Q z^caX2#0uo0hJH3;<>A%Bf?j|7>(U|jzdOfb6Sue2hnQGdo?SzPb|GqIp=)9Z?SPe? z8ozy6;h=-Slnw=HE1wAP%fQJY6JOK7Q^piXE8FpUi30VOE*z0Ae0slA`wAEii zu-Fuhbq!1`jsA72$5!T6wu;ue`q0e_{=EYNOpTQ-OeC~d_OmfSZ_n?a-9pdsuQ5}@ zgh01m5OaiXm|#Gy0kO3QQ^RhwsQ)nn-hYhXUoHPNg#S)0RN=YK^V@%`W#@uUJ?p=3 z|BG4xY~Ih~h6K4VB^SyC{GB>~&lJ-1!uGmAn%*-h7YqJ-dk**oBbv^Dzjxt4LVy8h z3;Uvk2K;^LAAZ3IXY}7!_>m#_jA0iFMg&+03q~rj0B|7-aGA^kB9&QZQZ8J>Kt!O0 z=o$th6T9?AR^F0 zR4@lpp>-zZ!U%I90xd+>Fb7hhbtdIv!H7T$;RquYS{!gei{mn(#er04ok_Vk!j}mx z4x~a0_PO-pPfHw^2`x^fLhDS*g%Rfb-$RRo7svqsa&iONIoP3J)AMpezo!QR02}}S z4+se21Oj0f1Q7bT%!yQ}ok_iTLM{_(oJfTlCtOhDyiBNZA{A<9QZA10WkQV;sZisD z3u>H~2{jN>p>`(a!U%)@_fSLpiY5rD&^nWHvEa*u76_@(0>K3>&}Bjkgj8sqNx3+} zmkBKpQlSNc3tFJdgccW4p>-zZ!U%I+CbYPa3av9K7Yn{jXmKGGTClHyF8*)<`?Boc z-;Tih)f1whm${G%turYXNBACgs8ib6+O3xRDC2GbtAf zzD#IwBNbZQa6yavGNHwdRA`+^xj4d?2`z4(NXmMXAw0MvTturYXMwsU^p~Zt# zXq`#9Sny>+iwCLD;(-fVJeLVA9;8C+Ov=R(zD#JruI~Q(eeD11CN3Vhpv7~U(1N+y zkSG`?<-!Q_A_6UL*!NnjJg^JFtU%tsU3y%wuW(tpVOPXq9=`wLTjND4w9celEEo}J zA^Ob&FH)h!3m3F_5rG!Mf{_ZXGbtBG7!hb8EEuWK;)M%Zyof*x(KQT!`DBqtturkb zh8Vzpnb-obBb8g{V&KqxndAbnBNbf$cDUFDV82Xw0oajBuX8bQ#Q8G$1z<-izyR!U z5e&eN2*MC$Hne~MnFu=JpjpmdiV_W0E8U%2y+{`milus7w7hw6aCT{ zhFn)Y06tqi03lyJ!s{7`T!z8ttOuO=(JwE~$YmIO=6V1^?s|mdj9h#DxtNRBGeQP? z#5E)LeHeTed%&47{nB!q1G(?R;B(mn5VF}L9%tk-3_hbh;LM(Wd2vQA!{GDU0}wLX zBOGVsy6w-!T+A>8{PwV-dgw(M1TNzPkZY(1z~`t3ocYi%Ew_>DsXrG3N1PG49)@_F zk;^dneD#1cH~Qtp8MzFD&sq;a$XkzaoRMp;KNoXxZX;x`M_e;<--p3xum_yk(l0Hy zk!!I(7XwF}FO^})b=d>pv)KdA%;}dGXXG*rKBqkZA*(&Y>lwLT`*SfD=Qcuad&D&( zmtpYv?Ez;l^-IfbWf*+MdjLYtdxY0B za;^90VlK{Ygv|GdYep`^;IrQY&P?lC*H6z!U4>&6_xL7kn)_lY@BbQmiGT`ZX@g` zL9RXjTnrp>M&x}M;+m0rO&>msKH$vQetB_5F2mq+=>rh5=_49vAaZT`=VC6*Z6HEE zeZ(~*m0{;%;Lv=TK7HsJ98UeCzg?j8uAPalYoPakp3 zNPQo6E(VU=MucIAYep`^{vSSl0RbfZlmPI5HcbEX7eRms6$BtWxyUUDI2UtqLLpQT zfVgJlzTty&lYN8=0ua}X+&6sxbAJEpw|#&J6$Buz8M&~8uOI-3P(c9Vnvn}j_zD7m z2o(e%tQoll0q0^aW*9;R0f=ixF2mp}2mm5f5P-O5OVGTXXOB$4dDFFe=~-^A@SdI!uzjIV0ZqTPX2bx|Hn=)n1_E@ z;1O#6_x{ZPu{k>{91{MqUHpIS<;eu?uNW%Y7 z9&-G{aQh!;06qy9WaC8={*UsI;~&md#3lU0koq4xxj@1{oTLaf|NBh^Le2jldC0-V z!^pvTUrtn<1;EOIb-#IGYhfj8`(1x?E7srHM$PsNY-t2Brami9qh=E~F^7O{q5qph z|DuY5^{ouR)X=}5b`V>zt_7Ck)r|1zP%rkIzUxbjz1T(lPZ{Z2u}4$PBIyLL41mx% z+mGpcZxnTXiVsL2a9)06)tfjnmexw^?Lhi~=j#UrVyYO0!QTNCy%LV#)<#*D0+)wD z+#wArk2gO7Rkg)Y;*u7%j7TP8)1KWQ<=d@3q~~TMyR9XCR~tjXnWue@B5Wvg&}B7g z+T~=rE-4G=4bw>!PsFvuMvp#}!f@AlXTtF7_vPhv@$0#1xQTxB7Rue7k>Hwpr4}*v z#eO9f@&P>nr)BT@kdivMhPZd?q4hq4ua%O0Y z<)1VFiYsBa21i4^tijjbK2Psa9Bvnd-p*f`l68aq%! zA2-U>Y+^Rnj=+8gYN!l=-}1&r=K7*GuGCu4h0`Ix5M^#&PGEYZvJJFZ1#J4&fco{o z06NUa6@DJ}`*z}VH1S_gW1OB;I?TYW=gY5@V@rvnG|$&IB9oaaYN)33jFaZ-bUY3|%$2w>!|LWMp6 zfy+qQ+c?>t1qrDSQLvqw6`j!sRTMJsaKku&i z7^C?51$+_**&waGffb;mBjSr)^L_^Z2IuKGLB~ zS^BVXMYqL$(A+JFQpJ_9Dw~@J*^yOX_sq!>K`A3JmQl7LKJq*V}lF|vi86nT= zfQBoSd?6*yN;g;wTQWsn@6ilxaNwv?`E#D%5iQ|s^qhL%%EQ9}>gw*L`=tArmD7~8 z&E+vY_jb2@Au*5gwY=abkQQ zNPMEKGYO89`eX$AzbWq2sP>f5LcxI5-Yja6?&&49f8ZG=WKC~|pT-)>7bkP@1Z*(en%N}^Mg>!S|0dFBG#BdBp zUqF-l>MIm;4SC)SDYd+>j?6cCj=N-Zq6ZO!z7!vgqZ$*1|#U7@f6#el*A?G$HVWUuNQ*1 zCK8W2G$-FLRE)egUH2NPMo>KTLuz)^IOhXO*C1S5Zqg>W(A~O=NQ!q3N8?=Mw229l z)K_uD!NWSigoLNk?WH?wtUg9Hqs$G83=YHJ?#0k>i_xJVU`Px>1iTqY<`EyLl(t>u z{D$;uJN_yM4+sR|27%bQxwzSR!C(#u2X_z$CviG@Mgh%iYq8}{?nkDYuE&oU=F-VD zdoR|4Qo?H#ClcwWGsBV6wI9<@nPz&T8rR*DNko|6WqkYg>ysM@?1TxrJqrx!mZ6*y zgcsLBKO-WbJ!s{vwZ{qD<26e`aLqBDyN?tqV~~SC^4NU-Q>V%PW~s`a0SD8A7WwHA z*BgD?Wmu8yBtFG94<*jgYg#3k#jF-mtgdPfe>B@`ct1($t#TyT>3*QP$*|IwA`+gW zIcd34z*a|$utRq{=~8KZyedMO70UJb=>mmyYJ|_o2xSvbwkU%v@5HvwU|qosTUoJm zIG1{tmFW}rL8_n4tA-%n-GuJ712z5}5@BCj86qxYiTRw|969lx9xR+keMU#Sc;99l zdCgyUwJ<+PZ6w(Y{G_V%=>d8`s98;*fUib0s}V-Py`kxQq>wA97rm435}G;bB6tPz zDpty%cG?Ich|!*>vlezo^jg-!wuQe--DRzkBbU$9$r^3{}Z#{iOghu7#4px+r zJ$(lA#mvb7%O*sEXjI2E43IA?J0i0lHiZwD?fD66ga99Dyz>vwvq~eHUq^Z&BJ>Uc zLxkhqIcI+hTZBPh_cus4{UEj|+DPh+*tVEhK2p~)f|}&m&rSH6qxo&%5oL%xizd#( zO%NT%BfpL2CMKfDLwLSTEHoM~_WIr%hNq<0{GX+ZDGF}WI+9hR>GCYBSTw2I|{&W1}XVIRdA#U!gFiYHn{pc@|{Sn3MqB1@fk_klWJbSqfkVbO07$e8!N2%fRTYvL6$;7^!-g< z*{bVq*WJXjm9d{%4{AJnT%CMdp-$XO){9Llj_c9ZquH*)xcr#A@ym}q=oKD}JaT!Y z%bI#c_wqg2bC2HxC(`C(qfie<_8Sw@o28jlt2L3bPHYNJnSl`$R z0)@QmizNf}*_X*g-)6fFRF=t?@qIAWJWaew{JHq3XE#)B zh6sm}pIJRq7-Y9#u+X=7Z*efhnjg`Z+vk$fm#ho=Hg_1jR8k%4Ub%1arDaKQDUK|W zte)&5nJU>MP&@cyqIF_d;(X!)sH4p6HfA}}?fKga<#*WQ6V`fenb4Pp@un9Rt>&`y z3uTSx3l)xxz zH`E{W!bFmqo~GYVZ_rQC&zv@-eHN47e=YNNCVxAR;Y+*wn?kc%3?-q-GO;odUGggL z1}ARmRri(kVcq>`#sJC(*K}l*jA?2XNDim*wg_~3X1XQqF<}aZX@n&cj}z-MuQIE! zEHhJSUe!d_uqsCyKns`^o(5oZJV%D&U) zoE@42h64^%!C=?mI-K2ij?RoV0bWD+%b%tzdpE;pQLlJhdHz-=cQRSC_i8V8Zzd)d z$p*Xs>5)V=V`X`JmBuOMSR3S`GbOK~2q?V?0O*MX0Yy-M<+JnT1qK9J6fdc4YEFGeK z2U1pMPyxe=TcxV2x2p>hi-Cl=SZj@RROdjaR9FPD9I=aJmsFd?kd(ZHhr}ZZxknnz znx%7+;kU!7a|DU0$ca4YobB^=2gc=sXIEx0X4hD`v>%qPe6TN{&+G0hiq>t?w7W)0 zPIYM#?_21F=DhhEMccYnF7rquaW%mQu?y`?3lW<-UyToAkRAoR2@Jbz93n-IatooJt z(3O==!T9^d#P9Zr`-@2`njYVl&iRLVH@l~ND>$L+bqIqU9AU0YoT z-e423i<4=+^KsB&6L{?|PGR71k@jfSO&6V}>gg}_%TZR;R?_b`x+S|KjL9dh?@tUW zr74xv>zS3Ve{2`65>=Y6W9ikxv23#>vRoZEDJ`@ZeMEDo|BFHQ%>5Y!`mxyMNlh>H zz44x%fYrL}o$LdbDQ7g7vGK*~EsX>N%{%Yk6iw+A&i8!I_*_w=zEZEIuVtr)YaV43 zRmS=BMV)N1h15{)Qr40$SybZ3x+RZ_)#MKyqazKIR`=eXi#XqgDnv<0QG2g*SMhG4 zh*g{Z*mOZl-*U!Mb%W_W-FxDz(wi}TQh`$09nDcrL;Qmy+)ue5K$;_B+n>+cb=VwD zeG&7xkiV$Nm09%_iRUu!=1j*|s`V5sf%k6ry`C*zIZEAm`R4Zh+v&q&!=W#;Am$!7 zJSG=?-X>q_y~HA%^v!cSd?z8X^p&YxUraC2lO*0$7w^xa?SY$Np(Me4>W)IyWpe|` zMI}WO-M){C?`&4t=Z)4K9I8IbH!b4T;rB}Rs#^^@iWsJ>NqMNd;%&ZIzHU{wXj^*p zaJDeA9@%SQU*~{rVyD_`KJr^K`S~!E{WaElk8gLz1Q)#~j`~saaPJ8BxbqyD9T~37 zW?aEgxR&xvxbSG`>xfBS-S$e_h+bc5h-p+%r5M|{_`PC<7UaIXJ|@XB$t9^mslM>N z@NxI&+ie@&;g8| zGym zRmC!57)6jg9ok_=<2)oNB8X)4D_AP7uPu!ilQ}VxD`vcMtz++pY>j9cfu-fP-bpLPC>e(gc-^^CFN5L zE)TqcI$1Q@PqASrew-Y!{7sWZ8)cttLZp>J{K>$vi$0p&=z{jqvJ#XE2vO%7?i5}k=HO-rg3ADFOM)Qm zAP6rf7qC<=2ZV>4i=B&`1I)t%0z&k1b8a`w5d(5w|C2tN!YWQ~fB}gN-m{NB~xb-XeCY4Pw;pLLC7^rro$tyET$=sj0 zedWSK0`n~Y=@NT(3KyN%0i}Hz*IXkKBVRWsIz3oT)+rP7;99Q?I_w<|cPXM5dCF>+8QH`F8M*d9*L*J=WEgt2-e6#u+`+cS0jB#2(c| zp`O;%vZH<7A)S}T5iJ@*$gHmE9Ut8NUY+MJ&u>&WWS|1bQ?63Ao-e~pmmXtYwh_oRm;5~^_KNO zVXSYgbu3=jyy%l32|Z$sqtS_GmDQD-l%t=zA99qqA0$4TNq|C#vhP+>{M$YTxO zYc`Ll9?pKo*;8^GR=xT;M1VebPN&4urSEl;O?HL-_B>;T(}BZ+#*AjawgS)j$)m>z zufyJPpWo`#$ei6U&zLlrz~V!-Z$shChiX~0)$}Z{n2{;xvbB>G;zOo8~<$Lo^&Js=y3k0iTgbq=BD012ra)ic zZezqq_7a=s<#HX?@=ZKtJsF%qM$v~GR1Q-j-w-;>$Wi{Y27WI8!o&5W{7fHQxT{0R#9A4}dHD0&Q7MbGl83EPJq zEpWO~>_eq?CjT5%eiihr?@?8z|++mt)4Q zZ&#=Wx%Q|{1&iljZGW(lS~@FvfN&U3Zt|an|8q?i9`Mh?KRu}7-`Mo&!v8f);s+do zLUV`z34=pW$L$+L`Hufj!`i>nCax5cus$ zU=6bQMdkh|`LBTjzfFFop-!h<=xFCC_}k=XGvU__|J#$mGU3O7nm?=s7&<(g2{6}`$1Q=?BVZy0( zS^lIJPA#bNN6BI85cb3Xu2Tz~{5B6~D#lZROn-Y4Sj7lKjj)o#(BaukfKQDe7;1!N z0t_9V$%Io2Z2U}`$1Q=?Bk%v=@B>ag9r&c%kZSpgj0D+-KSSG;tbUqbO5DpXI^NObe{QWi$ zuu1@iKRjD4z)&NsJiw>JQxn~PTLNb?;nY0!-<|}93Ec4M@YIa)-(LM}Ccx(vPtD-| zZ608i0DS)N)LiP{Uj0mc2;4Aqc(!7MPmQOhEdSOJ7{z#MuJLb^pUDIs_|$l6?(c8& z0LugzIy{>R@Oee}=Hhalij(!*5;&U)Fw_XE7~#_)tXa5cGT~Glso$0Z3=`m+h0Ap+ zqSJ4$el`{c$aTV9mw-?-(LM}wE*AK`PB0Kzs&;-A;ID- zu#&^nA#6wi%y|3@N`Q~HfIu+R2%{YS24?}m$5}w97Iyy=C4gY)@JwPpwa)q<s1e5f2p?wwfnn(IY_$Nx zH^MLhKF$LA8=M6MA7=rbTGjct_am$lfT6=P)xxP&mj5UZ@agc>ddI)L`q@l?p+;E6 z2%ipNaTXX?hecS<^a2ixvz)0IVbK;?hQLrGtmH6y6whV?d}@S6TVR<0Lx*QG0X{Xt z$5}vsgR_9(<18TfI17jeh7QkE3-GOZ3WATbfc^$&0r9|4BMdR~z^B8%!C64?aTXAK zoCWkZI17juh8khi0xt}&2rD@Ze|V;Qffv4>9A5Zz_%}EU7(UJdhL5v={|09P!^c^` z>~QH2{5Lqu=|D`sZS4JbF@xFR(jgc=&H{$TS;w)z~0fri3)dGB85f*1Tn+b5W6~XXv7BDQ%awZdC(H0oB03T-o!{RJw zGXXxY2uun7ue=FX3Bb_d*-U_|tq499miSM6^55VrVE8x-7(UJd{u`VH3?F9!!^c^` zus9109l}Rgz_4broT-`jH#iFzKF$Ixj|$iA{5LoY7{2)|VE8x-_-}9)FnpW^3?F9! z{|(LpJ{2SMPrM?0oCW+hI13m)&H{#yvw;7`d=@Z#oCOTud=~KE;4EMWd{5_7aUTCf zhp;%ynHm_dXbX&o3oOn8D>;m}m9v=uUr!Ev^I4#);=|KQghg1+^mzRn^I5>BBKG}> z8sXzC;J?9H!0>SvFnpW^{5LoY7(UJdhL5v={|09P7CD3Kj)0G|fd2+(0mH{x!0>Sv z@ZaDpVE8x-7(UJd{u}dI!0>SvFnpW^{5LoY1U}9JfseC5{sw1(z{gpDRS@Cv29UqO zSs<`t%l-FO3IsmR0)fR@&eF(%z@jZMOn}8%U?qp~?tCT_;NvV1Seylx3GnF<)=ZYO zw9_DegR=lJUf{Z+;NvWizrk4`@NpIhe4GXHH#iFf)~ps7YJ`uoK>h}2fxw#80?P#W zboe(o3*=;3{Qok~4u%QvaTdtm;4BdMI12<^msQfxzM{XEOo5wjz9-1pm&M?X#HxpI3yBvq1g^XMw=SSs?In7RcY=ED-oO z3j{vS0>p#)3%4_ToCN|OXMy|;&H{mtvjE|B{(CXPxSju#vp@r71A#xB3>@8Tfhf|@ zcn9nlY|t=$Cn2=i8Sjbuid&*{E8Z18Iz@At#VU85$empQzd2kNTGmjepCM zn2b1d3p8h(FmeVQs^aG0Xlx~8ZDIpl4C*?SG1#EVq1m%Hw{^6!2ew1C2y7Qurv`8Z z2Aet%$N}h-0R98I3ZW}%0g;TTd4LyW2rwX$7kD|~23!y);LW)J2|z#4$t2MI(Brv) z_SVTa@K&yaK@Ggl01Z)SLZB%L47=e1HUnn^T2tKj1^qyP_AzuA5f9L~;s!3j4ctsnNOAHF-4Ap}K!7O$+(3Hh zIeF=Mf$#6zpx-Ci2J!*@hUNmAedq_;!3<3c9cT9a9Kf-_bx-~V`bjte$`1WNK{@oB zmmA10upJ2R_|Gw5YUsjGV4!=F3s5F>ACv_00L23RKKTG0chJ%}DF@&idVQdnIDj(w zRo*8XIDw7dkL3VbV8Biw$3JphxiEY5OPOb~h z3t;QXzJE>ty&T|5IDq2d1zJiRzoYV`DZ4N*m&|>5OszvL&(ZF9oB2M5uoItrl z>xmPfJe&X~IjJLncW8aDHK2B&2LkYc6PVxttsqXIA6@Gt&(L2dJAsWre=xMRIDwMW zI;lG-_JIJsbI=2Tu2N2*pAT9+oWLd^55VIGT1n8I&{QY&4QK09;G=;D7u z7;%BXzv7%g)5}n*4EP43UETy>_A4T zjf_oz^8mTOsc!{1vy)^jKb;hi=GPG?fn9*C04X@W=LPDZ9BlOsje!VArp6coz#Ymi zL@gi*{5$bh|F-|1R0bx$Ih^`?VyKV%u^;&J#LS<$Gjy`I2Qq$A7AJXz=EdCF_-Aq1 z+So!*@ZHBKAC4?Ne7ELcsFrSGYw;!6;|U_I|BN(KhYdH#R#lv?`%31cn7V zs}DK2RyuE!C4;JK#+Q$c1>Iw)wo9J3dkoH|Y?p8n zQQkZGlgT=}i{A!Q)A!dSbj~6Czx>z8;*4WRhJK>Wf7j%xcK(kLXW)}3?C(nZpFqFR zrzaC<^1zYH`aX$#Hp9%@qd zRxydYo6qm(WasE5T#c_bF*Yeme?Q8}wHv>7JZ5#z%2+cgVRUl*c3}56kKW|z=}fD9 zuS4Nf;aS_hy4@%12Tt|7%4oC!J!Tv z@&~W)Dk>Vg@`-A5JjtIgcX+l=CS=1ZD)1!p$^y^w-54ApX&)7%Cn`g?j_nT>AdOY{ z>2m`Z6>qlZapSRZ}<@X4uy9 z1M^I$j;k#e{BC{Mt~dF9jVX@%7MWMVgb%{4Px_8uq!!30;B~xHcgcbc5M{ZD+EeFDKC^2 zQ|3i+vK(E)&RHN#6y#nX%(d2slyf@%zH67w7-bPKE+`Qwx}BF5$ur}T6{CG44Z_GiuWtB8!;!WcoyQgd zH^EFG(dUKF1JIyvWXpnT8M##x|8xNbV=ZP;nZv;w`$07II~^UH*Q`mkM?+cDT=Y#a z`EELIp(&sUbm$+O`-+j+aeTmKAFxBXIT9)`v-S1J^YUa<>byc)jHlo|KeqX0yK8PY z81bE(xsz+pRSTd9I8E&;3G#^x(dNyu3;S|s?slQSAos%3aP_%IQ7AFmPm@NE;GxJ> z5yBL}Bo%nUjLTEN_8Zc~{Ym5{oN41vgznKBV{~OisfhKF{y7h042mumT#08w-H$>n zxKQHF^$eB%Ni(N%Rk|(qQ&jEJ_v^NtH+b5FNEEsBSS3f>a5%1$oY#2T>O3>D$!mAs zLTWvBv{Ppe*Oiy5WqsyKdU+y}^wry#CERbp2E5jY6N{$!fxWL6bvZ0gF$b$_>`v5gO&UY-gmcs ztlZ(VPARGd(^_aW6Xo8Q$X$^@_K=sCm2z=uaumAt__;dTsGLD|ou_3F>PXFAQ%S&8 z7zf;$}D)UH2l<_ z(rGyEO>fi?BzZ5Xc&XL3)%VMJ>S@BpH<_T|R2-JsN4Bvy8<7fbzI43#{w`yRH(vUh zy5wt84_11?Ba{b@Ia|p_o(LBS#e98x?#q{VXs8s@1x=OBc0{2Hn5e5x-x|?bYI#?< zw@+@wy~9pHdx`V->TN_w$EEcj9wwNi6G1X$UGg?71sn3=QW< z!Lv7B@iG}V4WLVl_fqO%-oMzIja?BjM_i~;ZRzHrwcIYBv3lW4PO0e-2i3jE$-}n? zUpsjlD=uxgk=9E`6SU>Fbn49>(Ib6rzq1m!oJwX^ifUW^82@G2^q4ck`wzqQp6@yP zoo`+`I8GhxPrVmD$>TxX(EinSdbi5N`eJ9hJA&1;Yq)E-$2$8E{ejf`Ol@tmk&dw! ztGDD?#;G>%Hj!iFT`;6LHmJcaCm$Id#(ERHClSr=@d=^vUd*eFo;HVvTU|VfrME5f zu0rwy!{kKNFz<)vG*k^~QMw@=3x4i2E>Lf%_tZQhTMk7060ncssW5fxD^^F|szqJ3 zsFl+4rdK68TkEcpyRgq8?*&Kn8OL{AGW>nzm~xI!b=V~C>mx}R_|Ipl&pehr9E-V0 z&A6!jO2Xp4-WFHJrnm4+heN5Pq-J2*yIV}Qc{5#0V(*S1DPvV$+`7Vfh6C9uH3^=L zVtZYU4x}GeLNIaA>CZP8AVwAVHJaY0EVl-gqZTY&R;CT>(dT9E6m7M&&~RoiXq?f? zUBT8HmUv3;;-kDO3FVH|V+={sX?8Qm;Vu;*9+)b0ipBqFR1VcrE^W zc(xx)P(TWnSb4ZsXj=Exkl3&_$*Mt?Bp-+@k^@cJ5HZc8&8?fwTTt7?!>Y@YY%MTs zaPgdI{8~3HOj*%5hIqf2GOf9~G&RS)6>dAHS%H#I;<7#=NL5UwQ+L(WTkGRj7i;Og z?ebCQ!Jzz9u89ht`eonUrl-R(AuGq9F}&t5+8V~KEkMb1b)kcRFUzw;bZ5 zqv4QeX*5e;&$<(yOM}L|V^?fCcK$#wN2KRwUvib}$0ze~Tf{r(5`6j=b?|$ob7$_) z^fOcVuAcL}wVhU3hNfqXv;ii}HTU<%inUv&Qoon&?S9Z-)n=pG;J7^%DTsQzLg-kp zU(V@Ehl!_O#BSWXPTJ+;ud0?S%iLLIg-7Pgy?fIr`V0j%)+SGwEh{l(Ldj0#9suxZ|hn$3jSA=iec{8k}W} zwa6A>X(x-96pwGQNOWHsd|osf_^vmqGqiV5$AX{LD|yk3=~E|iS#aj)B@WM!-s)xo z%7G$Gvx)*vyH&GL^9XAXaYfRHGNb`29L)ov2NvxES41_RHu%IcOZBRdTF-49Vd~*$?Y1YYzEvzHO(Z@zO)**=L`= z=-)Mn=-)4yLi@%}Ky;A|Qv?NT5et*cl&^0)F`5=(iP6)KU*zUSN8l`tZ9SV`QlROy zSwAJ-Q>C!gP#%UvS|K$9LbBKlWyGpgrV1-9blrkJFP_~(m!tNTnyvH9Pf3Js)eLS` zA_RXFy3tPIzS2)}$94O;n6^qsqsWpvU`UU0!{OnDFMZ6?uiN=)%AS;BT0TSErpe&! zKxle}AF1IMauM-U02-258j;h(UYE#{%H+W-#Em53LD$Up!=g1VAz-~kPrI_*sl-L` za*={qCM25m2EoVZIznXb`Tl_k0vuYH^5%`M~@FL0+TIL;31 zR_^Sj=jX3C+ZlMYmN<{@hk)&(uHdrcP!O0F}b%ngvwd--ryPSWD*O{<@A>Ms>ygj-e=;A&sU$HWZ#9Cf|F zU!TDQ(&)p+@0D>pWD53`^3%n1qu-7%QE%1_;~~f!wc@ut=#gx+mgFR_*h^|MQ2b!~ z;MsfGZR!<6tgH=@wTD;rSTc82k7Vk?S*Q&B3YSWkI;ylbWk5Wpwp|>u*<97qCvvrk}k6o1Qvwfv-6r$SK;<7T7LR7Qq%M5jm-T3baiJODZ zS%Mf_g&#_SX(P@ZGb_7@78%_}-80);I-DE~TVS~|rHp6x?RuPddaYu=1=}}L#T}k8 z;ax?;jTVyvE<=86Uhl(*M^dk!B&1XqT>Hkmuv*-^=z4FUXHmv3mhsuOI}Pva%8VpG ztaA4}?V`NL<2879)LuRQ0bMroXa|m|r{*W`2W_So>ppf~S7TI0O3CCU)iS1`Wm@?d zQsCdpJP_v26hrTRo~E)WzTHNIt;st??Y+B55XQ7Lp0UMBLfnF9e-$R@K?4%N==p`&*!Rbu4FrejC!f#s6cQ1L$08NDJTg$0ao2V3L{gudA|2B$;M zal}02;yGe+syRv;E6-@+sr1Is%Sv=X`~@is216254vP(%@0~hcsrXefJzl8-5pw6t zJzl5u=ds6eeWa)G%xAqFDN{{z(n8BmYd)8@5G8aAHwC!qxu?*hggD+Z<26ig8x(<#+X~lS{quNbvZcuUzSg-M- z6VANqV_lV8Lbhx&TYUeyO84-V*KM5;^{EUZU9?h#al0D#TSru1%G|ei_$QJ<=r%2B z=(ScfrI({KOGcPF#Dg!DFNydOhn99qqd~IM*adA2hnOB$GJrNpy|RyQ=-p|EiZJMK z4d>QwHRn-2x-M8`f|%k}DPO3Fc`G;C(M^cb=Yky~&WAi}Ws-bhrBMx`G%+bSB_u2y7_pDn z=$}*da52xOEM|S|)JvksK~%{zFEmdIZF(6p;r{jA=oO(vK5GeV>JMq&PIfM%cLg~U zx_4xB`B3E4L|oJNkL5d+01lF)Vh~PuaJHQk;(?3 zw4fsL^fm3e5@=9W#5&*W(|vGW1kqzOKd$@Xs_0H@-c7f3HZ9 zAmg}@DSpYBh`Zsg@`BVDTaEQ~L2t2nx-^a87+!1~+Dv@5fopLOw-;hB?HlR%T61Xj zY$f*l(AK{`D%!%q<6R-Rh{ZvmN7~;VIo|t*+$ve+i{{oo5-%pswT&r{E4y7H=`=jQ*^y3%awVF_yu_P_QcgDOqI(5MU0A`w zkH?kDybU)FK~2hU%B+|+NER2jWp~O%UA{u`DC|0jGhNgMU zYam`4$41DwjFOFO13h~096 zd*m;h4;AqcCekJ<+_t=y7!QYyWv7k5SY6IreuP_A;HtMEb?@tJuue^F6`r%Pk06%d zvb6t)kj{+w4e^rC0$qe|MptUX{gon9BitoiKr z=ezPrYIh;tn3=uCI{AaBx3#FIa8Qd5LT~#fjheU=65Kr6xwppOI`5KfqxsU3x7_f< zs5{mQEzVIZ$FR{{4+<*{r|5tKUqV=Tc;^Fb{FvHHv5Mv}Z;lH@d zc`GQ+ZW7D~Qf0p%2=lJ=~8#`1Jx0q+1$Drs=6129;QQoAy&f~49*u#f+F_kct zN}+5&*ov8^xF1QTxqh5jIPW-_-&uhB-a<3(z1(9ZLH^zDwy@qIL9a^Vtqk1Bc9DC9 zhjk@K5izvHeM}BgD7b=NQ`@Prao+Lqb)T<*U8HbGcV5NWq+Ar=8lW#}>uV%-G~-<1 zDMR?=6WerI`e9s2jmgVLu~-L632RdHFR9|A=SHLUX}#!P_>4*{F}nxXt2M|Mr%Grj z=|>RkvDNfat@GhZv}LO}a^LS4+GufYG?l=SN^8}`mNo+y_h-^WuHK+T)?{oMPQuWX zQ*(GlXk(0$6eazw{CM;b9lPxV@r5V44t-u7yS2w3Qf8M9ru?b$*Totw0$2u+UsP{F zz6gG)a7Ck(Hs4siBEDTq8<|@b(}<$e9l6~_C~gzZi5`_I;`r7F>1l?i2MU_@Na$;1 zg7VGxAy}6$?1eVpu*cPubfg)uBTz8ZKp<%jMiYBOEf5m6FdL|$6eF2_>&dH#`3?-) zHW@}tQ#)SINOq+szOt?MMX|+%#2IcS@n$ng0g`slx2ZqSwfo~XqKM*ppjq3GB(2Z9 z{kq$*$cM4X8uAV6K6W?*b=IiN7XF>NPJB`EbM|;tG|Ms}meEysJr}X2)}wP8Cy{Lu zIh!q+MB8s%e1(W_P$9xeW>l9Y_=NpabeH|-WNMq0n^n$!OT0UlNqF7rx}i@PZ8-;N zUdU52V+GuBy5JJWu6^^NLsgz=&PueYtwR-mAg_I1ZOGk^Ys86xZT93N*8-NKQ~V3M z!VtYQf}I53rQD3#u4N{V;SG4_Rzql6_LxXWR#99cSDItr*S8_;DZL_hK*W!`t9VZwG*@!D7;3&S2&T=`&H0%gwoA1+u6H?W$E_KX7ip;0gvq- z&KE~SHci|oa6lBq!`T+YmU)$h?9;jE8jR2{o@?6Qy0gj}U}V8+h|KCEHyc}J^hO)9 zFh$`fR-I6zS*dC7AUqGTeR!QhlxALpCndZ!Gej)Ni&FEt#k>`#RT=?|dcE@u=rKu|8=uA}WS7FdZksXR$D={FEE(5ajadIrgWyim)FxJ~h# z$Nu>X9*gUf6Dtv}Szv~Ummg5Fv8iInhKiG0>$ZQb3GLkw$l{#8((=24umH(SP}L} zasHCRM@{E;z}}bAll)>{L+pH%9*Dlsl#jEISzYLT)4Pzg5QqCfk~z{Wiu!tP@g!=N z!LY!~+dOID$d@yn9l{<{zN!5-BS)F3I@>r)Yu={)rJ1;tbFq=Bf*ut0+UebSlxhvW zefqg~NfiD2b;hY;O4C~OK)v|))u!TW-2%R^d!dgmuO^}2xkI{+o+%aVnEXQ1i zy*sj1Mu=4&z>1?o@`3W&l#qnjvkG&9Rjb74Qnx5Vf!&WueMADW+)f<@tet)>B|NJf zLaTY{V#0iOGnwgPF1QqESP9RuqayWRB0Fw!`HF@y6i54aQrId+4?pJLU|<}HZj~?l zfTcNIpc@-IKwC_EG$&Cpd?T5HDeJslsyDk^L8jq$sSDM* z{wwe4L4l=v#(^9JQ6-cNM5#L^QyIg%5mY31$R{X|^EWW3n|VMuQM2vuI|4D#tLd)F zq*8lCqk8Z}jbC_{>O?|hN66IduBEJp$j9J(X>zQp&vj<6O3L)n(bCN?8SaD~F5V$d zm&PLFlW-HOMosG-9lve}iVL_%453XYt6#x(&Mc z^4raQNSfqt^qyiF`bA8;k79gl^!J{dN_!kx*|P8N%@!1Ziy;|nmtj_VRdaL2&DR7+ zs@Du9JtZUdCTc$E3s>obXr@}m&gL(}FS!kh^WHVy@*7a@GUUI_z4q?;b0?|bXLsy{ zoVH$TVcx43_L>}T__T7^HhwU`Ur9dczFt=mS-(56uoS#xI*s2)kL9*GuhnfLc0XG| zU9yjLRDRwA%|1S?%Z10ao)VvnSgU6kXO`jO%TJ6^?d_H?hYTWx9}0ag`H)usUfsg9 zu7NaP@6`MQ)&1E0H~Bub z=oT*j-Bll|`fd9f(v5_u zC>8{TATz3aN8Y{qWnCk0VicXf1@$H@LmZh4YP?YUx|FF&I@&PBvI%gWQRk&3u`$o9 zq3_C(S3>mTws}l5btrnT8;$D`biAePRZMQt5Rr|@@3epFw{~G<2@)q?Jw9jJd~Te) zdUC0rfuwWf5Lqa|+0@J-NR6C&L=3g+U0=%xhX*r-dj6Tt(g`!=@vG^B35k|n`;NgiRshY|`oLJ+14T3%^? zXdCDlK#BA6Q}mERY%5~^oH`x^LG&KhXs>g#b&@KhVMj_;CmF{e9>sCjc}$dH9BuBB zOG0e8p7->2uM27f?L5vb_Sz=9ufz4=Yk~Shp{;?Y>h^Me+~L;^HVaMuvpWzL&)9-$ zj|pAjER(HI#1@dT;SNggz0D%xddI#e?_KVGK`+&sYNCqxWK$7bY*k_E>0Hw=cr3^7 zl0E<7o9{fLg+=AU->}>%V4B#pZ4Jk~6F?mLy4oa9 zbCQ{xocLmr{OgY<4JLA>PBDdoUqwsGzg>9eUF%cVX692)XmXz>lMtydQN`sG2B90vwLX^SYB3^6G>UG-J3f#P+UVC{hwI~hJIKg7p ziJdQQrG{JcI_#EFt<54rDswaE}*B<`4GlJWz01S)J#^ z6M_ZGEV_LkKYlbYU@|6(g&;FdZcg_L<9`wpWXZ75nZ`mpmt=Y3o`mKW!; zupXK`Psn3?A^v1$oXm_Z@H(ZNWH&A700k*By~~*u602Q0^BZa(sn{6sl(J3+isSkOFRv}j&rL{)#L?zb({min6=$IIfaBcm;wX+6(w^i3m3PYF6`eNEUYi; z6*kM!>o|(5tfE*&E|?;ASgu-qB96ZZjFQ0?lSUIp>&Mm;D3&&7#ExRfbbH6rd@K|^ zxADH2uK#j;8i9a+&lF~s{jEqQ8G2!VJe49G27 zk}6-%i5!dQ$5qOGO{i3NmvGlzdT9N5b-}JDqIh<6bG10XLT5&fKdejT(P%=%10S@3 z>yna(RkTu%bG~Tjbh&dz>}cnB<)(CZk9?|9yb3VjY@68kpV;p0cc-Dp$`Zdt-Cc2_ z`v6*wSr;CE))Z;&i#dlFXvQnwJ8d6e`Tp|ctMO|$;xOmPiX<5yC0!?%7cG6$EZ8c@ zX!!uwAvjRiR;r6F(AM|ug&1zM7e;Sdn#>mbWT>fV0%X(o5&Xxc`D;0}DMDuq1I;*Y zlQ6X{qP|iJA~oc@*c25#U~UtXB>ut;H8oH0d@RGKE1egx%Gkud0Dygi8#B-#z3BS2 z0g~>wSjL@!<73)09~Uqj+N!F_>fW+3#>K)I-6xC3v}uF zxW)`E(-pFNlHM@X#*AKnxq*vWR(cpcCvCxH&9yGhzv*nv?-qMc*;Uk2bT_MP{A>8$ z!dU5?#4&QZ*tZvZXuEuF!S}Sx3?TUT7lkPd8#(ANrFweq$3^iE3O_mSR?ltX`_QSq zUpIF11K)yQMEE&j3q*2`sm(}BUm=F+!hn%}|3*Wc3rwgM70ox^KYPR>NNU7>v5p9f zL1lRJ@uS8Lo^>?s=1*LB!o|l4d2b{G`}u!^U}wwNyBUWgn(U)B7e~ntuOc z5Mo?M83K0_Wjnc(!pv%QU5;+z1h-RC?5Deg+E{nBe6>Eaez{qDQ06Wz=tw4fW%dI+lKOhQYyiNyn8X%vh2CjmF1db^i8cx|=o<-nV+t_7V!cJNt~liFksK z<)Zq^)O@>pxVSAx(fTZCog#&$u+Ub zas#v3xwly>fSR`vPY;VD_-k9bZ?qfH9sHT>rhN^!H2pM=UQnw*tHSfh0JDU4`mL^J zMz;X{0J{fQ$Dgb{vV46VXJv|_wTZu$@^M~Y?3G0O9$s&pyByUQCwt^+kv-3SG9~-8 zKzzh975FxstB30lqhP-BNq#ib>v-?%VTl36EyM=ZPj`;&TkL1Ay}h<|ts!{3Fi36I zWXq&sHE6Z{%4>!F)$-$k{rd9JB@`VDlLEnB%3#gD2cyvyn`_vrRc(1nOQbAQYPIFI zTUkVHo_7``m9yvP7Zpv9&N=2uMe&HztzP1{eRN|H-SM%&WoaZ@%DXHA`>%4IR|GD2 z2`9OA#XO)Lv05-5c+3-$)H(kN$$!q2^txzvdaMDd$UwHy`FM5WxDnUI|HIx}2FI~w zi<)8viK7PG}Hi<#MC$+DPvO6T1#$||n*WgOx(Gq{c+Fa4lBR3H|F9}mWN$0(mPkxK=jHwG?wr6sy z>tayw%Tpl;aYof6NErfzT(0XtsJ}P_v)n-EKXs$jOLbTpdCx!|spJ@390dpKNjhF8 z?03rFmGf^TkdsWL9gkIM2%H>eT94mo#IaXBquF6Y&GAeimVg_eg!W5|sZu9JHnpTw zpjnGqp@*K*`^HDNzdkrM9X~kDT-~iXklfw#=w9}*I?Y}2y!?1W6O;a};1N@GO|Z@5 z_qsO8SHk_u%9;H1Vuv`ZR)9`vEP*8|q)xT)$w4|YrMLJxk6Y@Ofr3qcq=l-w}!dQc3sU73D#SRoeP zE=Qq>F?H58;72FUtNVB8-Jf10x&p8++}mkUzaBk|I?%g-%R=7Eo)a!08)N(Cd_&2h zqNcw(R-wdvzqFVkPIC!oknrfeq<_P0i+X00E->j0MQ}PkQhQ@ME#rwnn6Y^ovOObW z#`+-=A2yH|@92x@kGVlvEl%c$D>CFmoiTYZ>kajau!jPlYkY&^3gjE!)m!L<*VWV7 zvLwmcnwz!fu;X#*0No$rtJshlZnu-U1HJ*Kmt8G)4{OzYqrz9pFyk=O4QaI_A`-sM z-p})6|^$KRPD3xxV7ZkE>+%@{>@*Ts_O7A9WJ&G{gIj} z5g{hwoWV}vxN%*b1)1kIMU|sN3t&u59YFa-n8DHf#lrQWiU3gJKUPd~^HK%P4wE7{H7#MR2d{*TOXRzNzlgPoC;Js@A6 zk&uay*VKp!U_dcrHZn42HfA<6W@BM7G2t>}WnpAtHRobs;@2Z&Q2t09|Hlr1yZ-?eB_@H(EW`ATwBsCPJXoQ@tjBMpp0Y~{K$Mc6oLz(bzHsFs3{-k*RZrBf8 z;Gsgmy0aZA2g(uvCZy%~y6JxC{a4_;}0z(5L@G zFqk=6|LWBLB1HLL^n`y!s0jZzZ}7kIQvd`5(53$igF*N&48~tz1=UBN`y0dn^a?@% zQUzdB{&@ERkktpM^WP{e0NwMk{$IM#Uqk}{{Q+>(P z1b~S77g&M?z>WQbcVPS&N=6^39Sq>*Flhb*r(g!WYz8@_&wnBi04NEt-QNrZfP?xk z?fN$X@%PaD$kYc6%|EmBKT_~N8u5P|si(fspH;=~&cAs(cvzeiHH49pa?r#DlahXk z`y>U4j85V$7zj2?3J+~c0t-Au21kr3goh^XXyhcKXoa30!2PqjB`=1vkT9<=e3$Tu zk_9utuiM3e1NzAJyz~9O^W3+H>$|*Kb~(3BcKOGf>bR#`QSEE&Z1VhB1 zo`so%o&Ba5)mI<31=01c+t;r%}0Mdp+8#s1a_r=BKk@J`G-wUrHfA z!Rd}tGu&s+2S(ys&;g()83mOXR8a;(xuBP&6K9b-jxrctd-3uyFs*6G>l>G8Pg?N} zvYs>skewpjL#m>jGMDQgFSns)!}p9eoLYz^7cy%q%P%0Qe8UQ?dg1Oio6Q!s_L05Chm8PyWi}l3D4ZlkK6gX+V6n zMP(8GDrA_YW=zj2CzD_}1L19lD>-7P1^;F}Hl@wYiK?n#XxgIH3Bh<&9J`Qp4)c+N zRf0<*DuP243!tMKHZ~A8c<)FP=Z39#S@J(5D}GxD}r1h>;JjlU@}; zrf$^8h|$)?&yMgi#VFG?D)gOJjBidC#7VGpKPle>@BVTt>E8Z1cV~7e)Gj=IEz6$? z*PWYas*{&Ob}QU9;Fr8o7s@n*vG?y} z4q@OuxcX*UBtG7Kuj`0R)$iF8dr>H{oye=s!V36&1Q22Xl$nu>g%eN!7cjAK0FYY_ zRu(1>0BO&}1bAe~;-(w@K^kZX;i2N1;->idQ0Ino^vw0Sl*g=lm&+~0|EcBmGPihj zHSi(E9e3BHX9&;!(FnAc3Bg463jqUouJ^``MoH)DcNv}SA>6R7VytRUyr`sY?TZKS zYiL2-(9RkU?yrSe3fLYz--m%G>3+cd^asJrVpb478ytr{>1W(n`I@ve2OKA+BXjF~ z&W*DU#Y9~Stu7FYyXT0GBb*tzadPGI|O8=k^u$0IzfV0Yi~8J0q1+XGI@3ES@hnc+prlek6j}YewX)+LX@x+)szrC; zJF)4IZ-KHGE0=lOZ|qifm8d^wA%`+yI{EI1e;ZW7-dMqvj98vqJ%qAjmdxIw7_wq4 zCg+K#DM7eo!)0VvIWotf1}KAe+ZavS2IxRvqiUW5|CV=091XtASuJTBH%)beW1x3+Ly;0yh2!G5(-O@j_jhHj!g=<|>T+5Y-5hHRGkC?t+(F_Wgr-R6 zJH!_7S*9Q?_^uRiyg5AGYYFGfrNL6|_@;YC$g;rcrG1deEhoQd_}HYSjjgTy6*Yj` z(5syxi99>rC_3$-oCEFF_f*j8@jgQOL?&pJ|$ms2jLaFnw_~)jYB&e zbkMJB{Y@a|RY?+MTOMWnn;{L&wm#i%#g`TCWNkbhq0S)TY>yDqn!UoMZtUmBrQ4SL zsmq$dc5_g9%-iJEg&g`qBY~eJ{-sBkyF-;WC+(?+(k&znN}%n+Rkax-Px37X!0<05 z+LRXHaQbXPizjl)(IqhMQ>Xhj2>r^t3toX5=NZkcwi#co?s9sLt{6|3YHyqLV;2}d z16c|sv@p^&V7cG4R}t--_-)ersjX_}^S z8{L5X=&C!VU1MBUMx9J}51eH^_^=l`OyrJDU5F$$X37lN0~VYzL#1!MH0jpvRSXjR z_`jaCipA|n5{-ljPN$vN=1NO!S{1;)g)KlYZIk4OO_8Dtp+aa~L&CckYm~n>y`Snn zla?y!teMQfM_21toa|fjCraFU^!>aJbw*#X>A-D!Hgv7qLX`mFQI;AH!7_u(VIL|L zupUy|96p#+#OgmaM%D15!kg%5SeD5~A@tHTJz5aj(wwLHQb8gFKkjhhCF0xN%5QL- ztht3b?UCL0*`0aR3_bICErT4ME|s%eEEhio9IfW8Vx^A5&j&+~wN_S?rDASO$yh+j zcTJl*k=((4rdB0Al?7W*U#8sHU3enMmJiy zye5NxHf@ff#yZW1X?~?!7Xn5-s-?7gW6GJvDB^G{P}tmqS1T^#gZ z;Y-O0Yr!e-j|Qi=&d~ktmKHhR?_mS~)gs)Y0s{EVzhwS$Ocu0}e_xo+u?b=V z!$crwQp<`Na*^4W1FS)581c+XHFqg0TA>JUfL}>%-X*f6q|GWFwe7{Q_@=tg7|lOg(x*k#le^a`^IpNu1&3cO z@MS^5HS4fgB~h0sNZw48NF{CeOM$Mtc#V9J3Gg_L@zuB?ug&}c6Mp@6*AE%=LczIU z@tMz@=s@<|CdAWf<3)l@Xx{@M2aU15tBxioBPb+d>`Ar;Wf<8WV+*+_=g0Sn>p|OZ9 zJ8{OAIebd8aTzU9zLE)Sld@F8oc8<4Md;QQwy--DRt^+vb8Gi`xKiWUQ~&hoh{`-I zs)i_8Cyl|pP76zRNsNy_VdBN3JoUl8lj3ENdgy)%TtSV-57ZCg$cTtD}guR~C=0^1AQXr#c?wHxW&~G{AH)3Z^a< zHEB!UYHM^>TooQQbKl+D7ZKLJ^DJ6>8Z4~o_*&NKtfAaidFfU1FIo3I<&+Qf{}NPC zFk{Z$IGs3d+T4sN-QtfmcCTO0oemmHjq)tj_gfel}MMb zR*h^KSYwyYEt>Xu6F-a{Yg>JVpc!K+;yyjO4VD!jZ={O(<>=Dx)09WH-|w7Te-#1A zvn9l~`m3j<+n_z0yPzb07XisP`PaO+WFIYp3@>lIuJo;{Ag?Nfs27408Y+$3qz3p3Roubq%Dte%POO=hu)LG}O$G&2*R6kowDX|J<6>NSF~=)A;54 z>&E0R+3U5+-{9D5<^E}d%+9}B4f)+}gAD8ToL;ZJ{qp>neq@VSuQ(R$y}ezQxuLG2 zBHiCVRqBo5jCn-EHQnpJ?R}Cy@ddG6cC@={jPxBvk9^-?(JUbyP8#T!sdyFnDO}6@ z`3c_0()^=;xd*Ai0*~^WNhir;TW8@W{&aVj2VkGhLWiK|np3<-;*(pJ(FHt$M{if3 zCwD8q@tD|`AZ~t*^OY`xA&IlO%g5%f{@9s(s}`6p&|7zG)6lRSGUB8O{po_5@|n~P zugzE$h^6+8QCp8>3qPNND?EK$8C7z1wgvThn&gG1oHmH>GE_C!sx(+`XP%p>JwBYv zQLbNCqg;JwhMgJikUg?hW+YEMaTM_HssyeU&QE<0HQthF7&R8h+$ z_ces$_dz`L+|2mAt*Yzwzd0_o0xxB8Tfo=m0Cj-s)WVUf1HSU}SU;m$$R#SDR9A$7 z=d8dJ)=7W*qCy2)V3xL`xP3SBt#VvN4|eW2I20xTLD_w2KIo<(U9w;oI8DZBamjm> zIy*qY-E$PXVuKBS5<*(R(+rK$iZNsuol-34D)f=??dY?(RCaswSt`6fV5xI48)Q7@+f2hc9mg|N!eh0jnG zNN;-M1)az}e1IJucgDt}z#W}GC%Fm>8 z^-S_o2vi1;o7L@=U-a`|lD*4&mMKNda)>R z3&P*7s+A|N>cdW-QQe|VmQ#B+uhFm(f_4n7#40GjFNpMG;ONVF@?|F)=i1|}MT zt@L`X&Xd`rW7t|z-;scw(NGR7iwFTUf9%XO$u^?|>9z>0_f>6@JDu3M^@Qedo{{;$ zvI{1vEQEUuNRm%)yRh_4S{Ahk4l1oDOKl0_r`~R1AqIAwhRQ;b>K&6ydcDeF$$L8r zdn&@OZ-n3Uea^NaGF_JH#IE_=s=dhCh7b#>?6=^#GTQ7|QLrq@mrfWOHhxN>T9X_F zjGE?@)`v0P2SQw64r=MZp6zGp?U!({ZUQso4R=a^b7ZGPoAe4esy?Pbv3BcRJXOZF z(bW(1mP*EQ!VcRiS@2RoyR|N1FDETk7Au5&h;%TnYWOXGh-(Pi|)y*vwU_j$7Smr`QDzKDzlNE zzF%EJCJS3BW&rwOL$SUhmzEgn@_c3AW#Ug(5*7-M($C_7S=lOCkc?kigvmsxhAC+$ zu>|Ni3Kgl+)HUM_lE4|sftEY6I(`fHB(Sl;rU41=Uc;KB9>`{?W&uS-ZW{;c>ZUOf z*;tEjCxL+n?1PSlz+@&sse-_fRRq)1XC%dER+t{3VxVD|o5>ctd~+o~*jJcHXt*xj zmm8*>9GOyKZU{(@9$%;Z%5G@pV=q2A4`wF(V?H_}36B7oTh63Z1D9Ekk%@+(f{}zn zh>Cg`J68mfa44&<@^a9Yd>EfJery;oH&-Lc?V7a(=-P)8c~6Jjj0v?z5aI=Aiqhow zA#gjYypx}i6C&03JybI?N~{nrF;$Y4kVirK1q(m+h5#! zh9H!BW@lhSBr;I?;n#yeH#0g)mnC+^wL9+b=-67A3&s{84cc^20niGSz(WhwbwovE z7qlsEjYo@_wN~8n)4~j}1cn=N5slL)8Hb@znhGKjrSf;vhRogdIiB1_J=U=)*GXO$ zXoNv(^HIyR;mMQKn(A93<^o{}z9Y5G)yOI1H5Il2h6S8B+tzyf!VcKg*CkXxzRZpR z56IYZyTu7jAZn`bu$66p_!)qReUw%gU16e3dJ^sFwCa zk@l-fF!;8YO8pojE#DaL5hDS0Ubgoc%#$YsS7jt~tg0{5Xz#0_vnW|j#U5L7M|pyV z>Q%k8zVb*EHCJT^+ z_iN311G1^6cwcHybuw?Yt7z%Fmf<<`tNFybJ{9__J^RcHQ`!|f5(S_c1zqBH)hm|d z->M@BI4ji&Lj)|av88cC<9kXNR$)}9cBYxq&HTow&Eq z63|p;i!E|LJe!R8QfoDED`^%cEJW<-8(we1)dN^;O*BDuY)M#MOQ(1=!f$AGrme{@ zs$^p++977tTGnJTs`Z*=6Vy(w?|V7k!MSCCzr!2!^<~TSw2@@6YO_TN;O5L*k_RJ2 zN@Vb$4Spi zxLjv6dLc`A1Q|&a#-+w8O~|xwgysN`!x?&l=2#tGW+FGLEL@9?W{RJomeLq0iwEv2 zlQG?cieh9Ah?Zo5BB3Rn5Db-wQ$>+#?IkQK+k*g=l4ph*Ax|(RjOf1+E(n2}OAJP3 zc9pDToEHlnSPLeqBi$5-7#f5LVv*FP#X`0D1o0TJ35r#gfSD}%98dX^WmFs$Bcel; zI3NTH1DYeAG0reeT9_d|P8J!CqL&)$C$SLWH^OAFzJeY@V-2YQ=@&KQAZYev%`X}@ z#5$q-_Cz$c*%Qb1>Sl>dGiORz?!`J@3AosKp^D56sG$Ki~QfR8wxwvn*JXf z4mkj>IY1Z%5a; z_HoW1=l8MvIPZ^u-^a}U;Zp=uqWLH@_OWCKgalau4!w`t9DpZd0R$F5=8q8G$C8N= zP#WN4#fP=@&y4_$0@(SZMi?t#=Rei~w0T^B1AjR9KNRjCrTG4MGQg93EI&>F&`^NR z0eHXuY1QNSqq@_-caOhf`vB$L|8Ld%)5Z6fHSgafeE;uT_5K`7{}`(OHT3;I>IeS{ zE&n<4{@Z~6JGA`2wd(yb#{Ui#|DT)nm;qISSU)^`A0K-E)awEKmVfH?xB!EIiHU>t zf34R8=r{idzaGaQWySuz_x_cT@OSV1u(|!GQ1ZVk-lj(6)s;Sp&(KL0N+N=Q%ziJp z*?8{8izbVP+lbOJDtkmS$Vm1c5;+$S^ur%dGX%-X~x!N;{AKww6P4` z_gQNJ9h=UteoZUtYp?beY0GvsuL$CEVdwOmzgiOId2pVt-&~pIyI)W0E2`VEX6-yS z?x#%@M7-XPQvbgd>HTc*0>18naQ{zVWPhbX{N1Qb0KqE9e{R-)M)8@s7&-roNUsyx z2Xz6D^KG*uePv^XXXrql{EJ+8Few;Fs0e%9ClI0tB0?z16jK+&1ic2FPrzSRz4BD6 z0s}M=sEA9#EvpErts5hi>jD?s)yo#etzYwvW%d2G?#($M!=#G$mNsYMmlR-!Ajrb;(G5pP_3Jk;G1*C-U?FbIQTf4<4y?gV&^yls002RmI< zRo*VJO`ui3z!6=tf8JC-ynBvAKp^dPF)g>z)%L#qHPqbqiW;0XcEWd-QR9EPehsBJ zk1!>%AQHAOv;pe41%4lNk_n;_i=WE~pPx^??!SIikuIxnWQq}!tq0GXzPVyL0o2M7+E2b3)3yxuks-FL}aFCbMVCputBEk zmH5j8EbLXoszvF3YfVA&Iox*4xO5yQ=WN|~tj}#;+fK3YDcs}kVA9|8N&-a_J5mHe z+zbOPe-(_yYP12j{!IxNQV4|_flCP^R*0F$gfLhLmK2^4kYbt?2$A1A9HFd)t(X!+ zFD#-2p_mp?A27O23Heo!M2Q|dM7%Ic2|urLki?OWJNymi^wN^&7patBNPu;Is@|F- zndYoe<0tWIbpKGA?N!nv^EX$2BWMPS+4VLf-1Uu`*C7epT2xFlL*(JYBmDL+m3nYOl4`QV+6cettb3Tyy zlS&d2))Y*N7-gF`_G?_suAJZ?q%)m9%( z%>CBC5Quo>4aE@vLnS=vWYb27_E3s6ouXw8vU%&JPO2NECGyhlR_ZL2sN5G^bsiM| zGU4OfZy4mXn$)NAV{rO)A2}&RpnJ3p+0R^(Jf%+1F9HJ_Xb4*Yljrio*0P@GDD*b>7IT}MO1TV7KizvtJl;U6R4gwKX+XGZEjVIhf&KK=M%uwDmT zTBF^R;P-~+w{!aaa?ZdQ%C?~(sB8co@JG2%ZBL$wLLm~(7lqclmv{^ zM^*Dol89~v2_1{*$h|TUQGUyDh=F}}N@4qO%NIl7{uslxZ_Qy&%D~F8^C9md|APO5 z;7(^7xKU?75-c3(lvNPayi+*u8GYOLsrq0J)|)@69-yZB6bsSX2XCi7i{84@Mug2J zt5i=yON>2yWK7KC)Yk7#jkBf5XX(BpFX)7{9U4PB8GFR*KSRgi*O4nC$O!S2A zn~2{>pB1W7Cv(&@L!mGmdpr^=@MFf6&aThHPypd4k0nYWmU9qkU@5g_I8DNDq!7MY zZM;>JX^F8qFfo~BC|uV@7V3I#XL*+evNf`59`7rQmW0iy!yR+oM>$CKVHcHJ-u+D7 zC$iKb_u;5>Q2&`Da}93kPh?CmJOwDEQm)c~OY4~n%jnHoqKGgv@yPW@c=4Q*!p64e zvTHWgS)By&IU*QSR_EM{MpI)AhqpUn?Y4|+*%Mda_^1^u68WxJL1UXWzcDLEPo^LLS;iB-huOuC?}p&S7@d9I{#JxchW?S(1Y| zsM53hNp%N1l6b8T{vrT?Csy@5?Ks=JMv$S;vA5u`;m*sp;4I8+;4BVCz{8e$p z2Z6To%g-A>ywBS`=I++~yAD<#74&DWO2wgyM{L4bPLJKrefL~0}Mr1ny2V7fR8iQDjD7k)as76C2N;#xrW!^pJxOj(W|Y0@HuC z)%BJ@&=`v_+2!uRV=E5NwZ>-pX_{b5U_>x5K0xmy&oIQJ*K+#c?CquWvZY7 z{z~%-w|1c#x69CrL5Ly9j(;wV+~aNy!WXA4h<)mbn*kHi+d?Ux#Ngw>AA;-LLa^#`lfy zwrlQV(LrBloxH9{64T#aZw_zfFL1NiJg?-cq8xC!qem>rra2_J!MnIIzq*r!6tah{ zqdRCj=v&yxtl)O{S}_m&_+;_fR#tV^km7m`rCH@Pi??J^rG}-rWH=rP;VZW7)Ic;b zAzN5tIhRX}2ooT~ar$1bH0LRvZ1ryAFONk&uKt zRX~rymzwNQ<;BEHah59DI07|lx$7QiP-7C4rr?+LRtio z2u7O_?^Neep_)SKGb$QS$~vy}j%3tWpXDP=;&D;)vH}fIbu42-vFfkP3a4(hKnw+D zRB_%N;Bc(N6J7Fs+QRYh*XKLG3V~(F)u6N0UteEeUHxsRm)_;Qk1{22zc;#ZjKSx$ z=1t)DuxY38Gu@@U{9s&5anQ9J>T^TDSs~lTiSa7x@axF{d+i|mn)wifMTZIo4t|KT z@r3UEsh%DMtN5x20-tt6{|x#x_b49LtcNr}bc7I%pZ>j~;54q&aBiRCSb`Jr$tmOdEp!@`t3*rPb|c6aufu3f1i~&n)x0 z!rwFpU7R|`h<^(sMzxzli(n%xt+n--XbHj}khy0Kz~9i{p;a8gv?W$gJ12o)@xt3m zLel+m&Ii+)B^$0UB0WNrN`b4SBMk@Z*T@wVEg;22RU(xa6ZO8?(biIg^U5X_7BY#0 zCQbB}0-JI;Wal^oi}KIdIBwlIZuDP=@%GmIY=Bl}O4X30ZAPXYq47%t8)OvQEb0ms zx2ET^%NTZU2q!^S{#6WOL6ufMCGtiEu3-e%DaAEiR{=YZ@mperEN~;70ZFs;*bQ*M z+|KRn?NcTk&fx7V_bYjS;nQnq>a@!P*EZP(%M(c`$IQut+qT?>)2mJ>Z4Rd-^8q9h zg~z$Bpa#_O0~t|v_0eVsM_07n4a@Q8L&aVyRmK&hvdDN>lwo;98$`6^_ADdI?prBO z|KHmEZxwpBxy>HZ-XwCc;E0IW*NmgH7`jYkbS`OXYydCIzy zKKHBg>gK6|=BfK!vGDj$i^aFgG}o7(G;%ne_7&jmxsd#LK|k7z<=8=;Ke3qB@eMQ& z)u!8q!xNYbUrlS`sG8&xhcvI{%#}_0kI?R30J%dUwgy z$M<0FjN!sdvq;WhR#9iok!=HZh}g+sNiDbIeRJq@9M8{ui?jAzzkTSIbe{l(OVGUj z@OnL@9im66?N8bj0!4-+K-gjf18OUq__GFgh3qb^D;5xtP@Z@^2$73t==s&&g|)kx z--)0*Wdy#Q+pCjVbLxZOLa@%8oevTj#R$%Py11C=#Tom`zYBEH*>gPl>F5k6u*o{J@WfgG{DJkd~8V927u6!)0XA5!F0JSz*h3$gY z?fwCE+$(y6bIQ%7^|o4-ulzXDTRYa3`2uU@LLwmJ56Gnxc_!mi;d$IL3%Y%xE=S-!dddy9Os&~z zdbQSQ(MQhX^jihu5=^>{Ml3Yv>j(|<`2@agmLlRj%s$7-tgazka(vK7?B6vh^Gox0 z(utc|N%EfchIIDS4a=pM=XZK)xnZOqzbIhlZj$?Ot(yJ5bV-*bXWZ~_TSL{++}ad1 zJwe`VU$+iBF{6fPCO#;>sNOpwi=edMJAUhCAoYkn=O#;X6_};*IMYFnbjC`bh*}o< z6i>9wsFe#vMh_9)KEYA^lhG$9W)K49snZ4wt9b4tSV?ob0Tu}^5;#^FHArO!8thmI zS9~NdY_Pd#xL?eS69n>TR=9>d(cSWPLF{R>66`iUc}b!PqPP4zc0#bEUIPEfr*Cj* zM*t6`Q@nV22@SbCcf?bhe0#GxBS;$u|ol)Y4w zg27e89evO)PR-2xV;EzXm{%<)MsvSKQFjq}hahr)&8OOOZ z;G%H77QL3uM46Pfo6{=OpqY>d?hI>a7?5#rwOh!C+++`UrCcvBnfZE z@{WlqX$BF#_zE0%SUjmE0z$A5Rem~aAsquPLydnOVyxiM%;k7a;!eS?v9ZbSj`6O9 zSd25OI6Akv*ran3g%>ejOu49y!weD$>6*9AW!Z%(NU#29e=Cvx*;ChI#lShohpO+% zRgRs~HUxOS3uvZ&`)*AQ$JS3~9HtG22Hn>qMn*Imb1Tc|6+hqnAomK5@}5~;b5Dr( zP)Q0-Bbk__q6elT!Q4~GEZ?rNvVGnapFZr)rlS%D~B#`9$N}5&P>N~Su9!`YxkkQ1zD~HB{}!Q=SW@1Q{0M!GTqD^g+{x>y)WOl4c_de^(P{1C z+=IyoK0cP1QZbgegmcckk=;UN)zC)eS?W}3RqE-{cQ&vg)xNMXB685699Z)+&sG7Z zY7w$@1+SpwfVPrO!&&sQ*erLx=J7ad5zpZLOP8F%GuP{N)pz6FE1Q~J@7*?m&OkL= ztxz#53OfQ{C#lC4shJTj27;Gg1clB{Mk6<)vm;~?BP;&P_iq;R^b}=7#bO=!1l#q) z+J+sN)?cE?I!~7yJ7J1G!730TE6Dh49k@!!vu_?U-;nW(l^3|TC9G=7UC4cFQHW~I z3$g%i#xs;y`Rb)fBN;}E17~TMwwb?ImxZ)=@`bBZD{b6w9_;5TdCN%4mZi7R7o6VWwJ}@Y192k z;cNEY<}!Zt@7EOUR}deAyrJq9FJrQLV624ji8wK3_;Mp$EF(?9QTXo(YN4gW`av6n z!*Ocx(pjH~#E*89@}U-icMMm)5tK(GIS=Z-VivFe7K$>h@$A09x#V~Pm8KPS167Dz z6#)FdHZOA?GN^&lNc({C$%r%>8~*Uke{@qA%SP$+K+tMgD!v$eFt{dMYfYU;)xw?}I^dMZhlF3rzdVc5sSzY<%GEA-LNmz46PdK9NKK-e6&rp3@ckoD$6{dTXy2=h@~_A(N?b8qKOH zT5U?!)?&McVEn_ueo$4E%Sd=av&_y`XQnA3TPkRP!^XCT5wkz`z+6KKa zuUE;75+$>8Eq8@_I^WOQ{KrzBLv~>g=eB0;IsJJ2x81pfD=gBwoP`XSEE{RiJELPG zQc@>|lI+}_bWqEv)H!CNiGLvI%4GAKJ%d2$eEObHRrs_6UsL*ARX(u3!!x?L<+1fN z+OC`2-39lncS8}!biz*%S7B>p#P1@<8-E;2eoG#pMl~SCElh0m;fX!90s6u&r?0d& ztrX>(>8je@>x{W2Lo8~Fu3Lxl)g-+mZK9U=e&84duNlSnYNs{ZCRvGvcu438){!FA zmB-ECgyu%3vIF_^XP!iZvDxCiJjUmfnA3%8M<#Md)Twi?c&RvFkvlpn;%7B71UYB2 z!eIg9{;?;MS#%UX5-*u$qq)$B7D*ujD{=6^6>jz%mE}zb&RGkoVSxG}vadI0R zM&Ce{_#&;mB3C~9O`kEf+-gl|rb|lSPYOX~VfeA7-|4=UzemVnDtVtaCBj%r+&N}N z6*^+#i{!Qzx{KMkD8{(fn$lj=7a5=o*$-~_-R&)29!r*l#+fQCVHPLCl zY+a5gyu;+RgpOyiY75wX72=T$&XyQvzpY?`xNmgLNP+}$?X1bLH#+jSdBehwQN{`H zAH4~2OMEM_s)Lo0Gvh={{LE}}4Qe@dX((JpjBUNPQCSJcI)m%`vl5xPo=VFbd}C1@ zn=`mPl&4EL?ORDCZ60)4{?gZGoJ`!yZ))78Z5}iIJDq{SUr5&iUTISE*A>k!u+*^z zx?UDTZLrYWq$;1xD{zIjw)uxY>%cIgxkk|h)`a1U--n`$nw#RZ5OVjTi>fh^ibuyA z@71*#D_6E>ji*|ipkI*9NY`uX(lX3#Ncxd)5^hwk2`@^W?6zJzTa-Z1#RlF`^tC_r)1WLacE#Qxm2l+? zJ`Xjl$Lkgkv*HEYPk7LAt?3yKy)A2g0aKDxOHj}z0~hNZB$V*k$REtxsAcy8^BIl6 z);)HLH-b`< z0kSJ)w^?sNDILl-6aZb;`jY-tZ?UNHcjFbS!D@Nq+AO~8+{BRXbNo7-FtET%^&q6T zV+}s>@|VCNUj>2^9L5}7?Gv;k2o14pMEes8enpIB3HL>g?5A4q6vjbZg7&>pJ)O2K z{3k*Y1FxjYSRe@Ekh=7=9o*>Q>Ioid#r&0MXI@h;<{o8GPtZfq&q; zas(Ohz=*whtuHtoh-m2VXwbmz^}*bXRV9iZDK?N^2d0`u%=h!YC#kP5G!P~&)QZ_t z$~lR01+sG=jzDM!ALS86z&dZlW#_F_F=d%u>r1-~VcDI#CID?+YA_h>k9rm0kX+@6EkMU4voHBHc%ug zwRjAlP!=sME$wP;gP2oFq94PH-Z@Bb?}UG*<3Ao=5dbdfIeJ4x8$)oy$>a!r1wOWJ zqy*|;)(EDd?M0$vrDw#5i5fIx$(#YNZlzdBwTNpI(QJOi0-r8j!Zep;C9iRPV*+oI zT=#>igz3O4^xLTFuIe1>HS!$tHSjBNKk$CQWx#R3id8%vchshFEv5Oc<#q54_%TGY z!G^;ZV(!T|E+w73XyZwYeScpeyIaF}R7T*=CCr_U{W_&7$N>oYRL0$Emf-_RfRaq@BsO z4ZC5tYjFh}*kGWT>2%}DSThb4Q5c7FccGUs8+|)tEqB#Ur>CnW9^OO8PP8qxJ;;2( za!?jEy`L&3tQjyyr94fO6~$P^wWeboqeCF(Q|^TBklc;Hx*|8dMmmO$;!O}w*C<{S z_~(Mk8eClwy^b*ba7cWhW3hC4HO%TF&z**Zc7Bw6Cy5catKAOkHw6ySnYbek$7|NC z0-5c@uk`gIkyxiz&kPBA6@wx?rj+aGWK;U3uFIhLI|i^BEvCU!W{HJ`Tvco~`C=#hVQDC$wAk&qsRB-y)Hl5T^ zN|bx8PNKO-l<1*BT4ECXuCmsK%R6xxB8=J;mfk2uk){&a9;F$^J7|cAGp6s7!p{dn zB089G>=Sqg5$;f;CKDR`4-u(0PMEI)o}>!niwfe2Or{cb(*8|8pk49ngd3DK5+|49 z^-8)Fb_pKw5|@6=oQ)A7iHU?0Vn&eFg<`G|nhOh3dk)RkOg=DsWne$Ig8g?gs40$a zxS@mdmQIr5#lee=Frn)iV^G8MqFE_}p=9aFF%g`ZxX>hj)x!8}m2qI91?hVy{wM?O zhoy)5I=(LJ>s`qZrXIv~xOK#n`{^C|TbXoq9E}-`SR`x=xO8E?@-|4)PesA-*@{sm za8b%vy$EM0Bt@ApDfSfz!#+5q$o{lQNPzv%^^y2hvEQ(8F3D^}to3sdqdGQ8?9A6i z1KSKkD&)u!Qzw{bvN6`Mab%0*Lu~4=F0!z+O~T17iscCvu4+%%#iPsA52D?BiN4&q z{CN-2d0>yFfXin~I1cO^)~zc3-;deH5hxuYC^j)1(+uGe?|8HCXi>}*`xZr*-LSu_%K=MFk7sETO=dorYHIv zJ*3*9896^H@Xa_69Rc)J>ymPb)CQzJuvymJ*vP>*%WhH~6WqFin=aBYF|JqtO?sCMB?hmsU<-cqyS)8d z>e(B9d*3UyF~?8*!}AZ924WJ>mGo@sgjh{RY&AJL5S2-a*)5 z>Nj##aO<{R6t{Fjj9%G!#soYRPy-j_s3tQPmDBQ!wzZC>6sfsTg)!;F^6S#gABTl5 z;u+o>?>3`7GNne#5bqvbdRBkT=d$@?VEVQqrJ8S%1OhP{zO!NE@Hm6=s3+w`ZET5a zk>s$$h)bL|&^iQzsQz5od%HbIm9WN@M;mG@_Gdd@7e}uLzK=ijR&wt%+J&B|cwXX_ zW6?0vQQi%Id9p{3Tf|+mL)f$LQQq`O7oW{O(lp|(t3e+NAl;(ohF*6r|6R*9Y#zo@ zz3){qiF~18Wfpk;|6=bggCgnLEz!bh+}#^@cXxMp8h09ZcXxMpcZbHIad-EI#u|sI z_nUj-oVe$kA9L?S%%9GPij>OSQIT2sJkQ>1ueHee$LsEjOLtuetx$7CZIwe@mu7^! zwDOvjaTWN(xMo20>Iyhdcc_76&Q2Uwh+3w8Yihg{3-opW?ZBlSwkJMfB?}CFBuY!t znIwfF+~K&Ag!!d;yE7Lq9evVIU0m7(dpM z%+#z88+o?0tjCNvZQay7Z3La7niO`EuFcl1Tom$PKJ3LUEak}1!m5NX(TkzFvLf?k z!pyp2?l`a=)WvD=oD{1gW8ngDtq`R9bwRd){UbrP4n#)c^>oBZ4z~4lU#or#*4Ie5 z?!6msjBU@twf;1E1de;Hw&o`o+rzioj&c6UG2Dn9YRGHi@Dl?=O8(i<#4e8Trd&@) z#P{J=gGaazSmxgJ> zjZi$}jUZc|`M7s1IbnU^bOR+=D?yiX0*EJ_(Ira!S}sc5Smar4=&!1*$RptKguQfQ zL7U}YOa<+ktU_-xW+x(k`@5(zEKBz{V>!?Ta{Xk? zoZAcK`otLlwV(_1Xi}t!E)Q+6L-_f_yq!yeTF^4I32}rLyd9oVKIB=y|LS-KEtuTH zM@9$d{2c5&{@j@jYJ%ToPub<0NI#*)O?wve;{NfuEL&fLQjKBJn^nl@wWZc&#klHp z26v=fjWdIt_MvU93PtAy17kyf(->csT1~AR$BM^WW!G>KJ8M<%a!3sPl2uIG_|`03 zGQ7!mNb_05t@T6fE3@_t=qXlE8H>WUhGSus#a^R#@~R!L3EEm%0m<3Pqbx8SY!Il- zBg-402*6VI6!KR{VT1vES9V=U*VSjr3Lrlb3>y3=i>ORZ8}=bK;DN}F6h!d`D;YvU z4r%0@f5I219tT^H7B9|j3_GF>zzUd?q7Tt7Zc>UGm>_1G*-K9i-BPZ$y-W^8(;8SD z#bXhXi6U_k|BA~hi&-&&-6_HDTvTemrrEMUYy-2T*l!c6=!z2-+}(`0JM`Vyf#T&s zb4HDCikNw1<4w<}P9w`8)9%D}Xq?ldU1lhD77uCb9Y#VRuumUhw>iQ;;|O=B>#q58 zad#sIbwIX%RM$sLzDS?m1wwvc(?vHqBGg5QTsYN2%B%4C9e=r18*N~PYRN@j>?);$ z&oVR4>@j!f?ACq#>D|k4+K&UtAP5g`TTN^MVTT}+)Ql30y{npStFYva*CYb(2@Q%{ zGgrIT81~v{=0){hO&Vey`?F?GL!hh*=eRxSjcOCNazHqXGa2BAlBht}j1!d0TAVh* z4@XT~RZhOQ$by|kMY`6ci=v;FjMdX{F^Bshr+4Fg7 zA6fJ$p3QI8kORDgTk&;g+C|b4r=?dv3c;cCrMfn*h)kD2Zs&{07_OCvsy%|^=~-Aq zXdZSfoUdu3CivG%E?!$%Nxv3eRA6ydTwoR36{@m{RO}4*I6Xn+V&{K)lu)1m^=_<` z2Rfnu)|0}6 zJHg@p3KE&rwtT7h&@19vEXrO{Irj+GcwQnbp8G*}ChUq5>2eaa#m0-u>eTa? zw(?wDd7q@~hwp1(@Bnq;#x^E3wjrE5L>)G=ypnq{k#PBsv=t2Xq5Fg))g}|Kse?uY{ej=?WG=c$9*m1F1aAg}8^o+m z|3l(TUi}HxCN4t|dyrSPSAsh2y8-QC(QQYq`Tfh7$yMJ%Q1Z-WOMNdEBa20zX-_hIvi(?` z@IkN4<*Xra_S~W&NLyJVQ3#7?NkNQaFGMXy7YuQo+MSDhK8GFR)aHBDNUv41-&V#P z!}6ax@McQgp;7i6w%R%koqs6B_B9KAt~@(1Jk8w8R?mt{8yf#migi#Q>O8I8eQKBd zKej7}CNBi-?M)kl1%6GQ_3my*xb<_#8M)qV=FLUXBuBj%0x88=8nAF#pS<(k4x!4^ zTG%h{y({&!d%pzhnT_6BAV(WNtf#f%!~Xb9F9mq&;|IHQ863?Te9-Cc^zLd`2FRo@ zC1nV;(@{3lUnG4=@^8Ifc1~S>t&S7I4VvCoGh{Bmknn&{YYA-T;|*2WyP<9#ec0J? zd1>Hi|4ajth(TV3%r*3Z?n*>Q-LFFDe(nO2&+@NAU^LI?zN`+S_vF=a?q-T-GIf?q>tsz;w-6^xL3M8Z>2u z&6ht~w3?p|JNfMB`FhmN{b~OTpX%fizv8n6xF6^x;o~Lv`2pNCSmk+PZ~xrxDN;1) zaS-Qn8AW#F}YfRp7gsF^yWZ@92mJ} zK+7F7STsDYuV#JkVOXdTc_WDHoLxB8OU$kC4QtzFUMd_Z>GkYepFO;51?Oe6vW;q! z`e}bdi_i;>F*vZ(X}z@Fc@ZbB^in@_+uW`e)4Z+mm~6E3qBQL@e$CTISe_fwF;LgO zBpB5-vT$hEq5QC%3ooWL!AB%s2hgQMqF7hlnUsUn zo!jYGzVOodrtj)u0V3G^p*OAAkZStJ1bZk*%g(LrlMq9jKmt60#Nt1!uR@+wx};QR zfNF7<*Z1vnNRC|FHOqj z2u4~4;fD-z|26D3yvY_Ls?BmF&_n_LLU124H7)F#$@U-~s2g z6?@s%g~kZyb|9VFxLb5EBB}>B9E)sD%;&5IAyQMqTT6hU8MENio4lBa09618W_s7n z8z9h0*!f-v>^2iOtrGryO4sPJ*?rZIA~VhuUI3MJL1v7P*U%{!gWocutz@LG^!~*N z<_ErKelcU4+#U(o&t&j-(*h{o2q9Yte8vpgKkWA?#~s`Nf}&0zeg}rfL2*Q{{2PRL zEs--7=^mc^<*s+Y+ybv4`PBJKb(grUZS5D7O^M3Ehy~6!_L`TTn5n9c_4LF|tFKW6 zyEFv>{B92^SKR+7nXXkas=Tj6TLJ#1WLnmcip*A`n4_z%T`^6WrR$;PD^{S*D?(RC znWd(ysF`1SIOG4C4ENBuKS5>6LZgPIlwhFEB|(=}eVjI}RED00VNxE_G)V(vKBYK8 zy|{mNL^d2UtD(zXVPYoq-70dYQMlahU=hOqQamrnY8+L1Mu)B}2CA6b{koe&nE3iZ>}x%2a7^JV#ZXyXg0P z#w^HzFeP*HWGR{>P|B45Eo+GC;4%%g3r^ltOU#skDh+*xa!T=zCeoZSMz)p`%rS$1 zlH3V4{mZS%1P%QBr1Q|rbPEF3uo)CKE#(vgh(8M!_G|$h7VNT`yGzR`reQ0-vmG7l zEo0^IG@MBSv&9>pDFhFjbDLS~f~-`t`gEex^VZcJ4Bv_|VP0Q%It zU}&SzU5im`e)l97fvSGI>WFvg+78@=G0Fp(5Tapz3wq(L#{|KFk}Mg{hYp_6R7yq! z5EyZ87qXoiY8`0VPL^KE31vkH1t(+RFnel$^W+m>f`j3OlV&!!ijg|WNe2J3WjnQ$ z=t9?fDS)X!nK*y>`!3tI|GsU-q$+xdhOR)n^GmHC;myIKP^3Ck#ZDQ5^2<5VgV(aq zM2Cwa2Vj4^~FZr6&mbf0!b-zx%T8d07|{8PgO8JQ-1g+RHkGGzSZN{oQ(crmNj z5}__Lm4MZFF}Mu*!)u!C#2Q)Bi;pz<0u_89T0l^`8dr+doaIfeCHYD!$S4i9oJ`7<9CO?>U zn4kVExbT5qw}m3}UgERJhZ$qk^@iS;9ok+u^&fsqlZSnEFZuSnb^lT_)sn%fwHdSW zH*|3+t=mpRk51pYKood3Ah}bRX}SCibH1YZEE}ZGj-(`6jkt6mh)xm$pb$iJ@7W zJ0|h+(!KmDq&_`?*;FJ3E{P0O&w+^x$!~e1<0r{)L5VYz&t4>4V&i4_k@r+&_%LS< z5q__t2_LB<{7Pd6JmaHnJjHQT&*e#PB}v)ASxL#+`G+FXAF|_6$!`&fk5nFYN!_pV z&G&Zj9u%4X%pCXZ3hjOOLd&^IoEQZ%FFC@eIBX4eIvYB<~>*irpA%Sc#rz zO6fKu_47yeJ0-0HebdM}Jk23LJ0-fExc*wKp*(&a7cA8mMezVoa=4> zVBSbt-`lA7e*fTbSZyD+Hg|`s1oJovQ+NM5`_Mx=w~F{z+gh=!bZ!jAjN&aTSy(R4 zSNwBQg?DawPb)Z&+X&6GalG3hp{{#TTCS&dHEs)vI6_9LIGu42)HTGhKPtCaWPLHD zaiIx2inq{Yh$@W?k-TUkf4Ikj04D?TjZpMn+~ajdZ*>QfxVr1=@lcd&Inq~UCYWT8 zN{va022>_cWRG@jl8?%bTf(hfL$*ZawmBv=vTK==t^KAl6whRgpOfy6h-6vUzPjtO z<6BwBGHwF$SNddjol8`?4 zF^1h+SZO;buFWf=wzaVu`CBLHWo1WLG7go-(8MgtjvL4_=dWZOoZ}D4Z_$Z)$MF}- zK#E>tW}+ICNr`Z6i3tSRB$d{(RP7n543$=+ds%aE;xLbtHIcm4FVXnlZKH zr*7;-jv!XI#8UbBRjJxy6J#>@h|$Fo$B~Qclh9-vB_Y(A$A!s{c}gO3NC^#(c_OR>)f|Lq$BDHX^g~V%7 zBo5Pyk&#V;Wu}-C_SSex_L5D&-Y#=UCqnphe;+dC2grBnZB z>rOx?(SOt4zrJ;`wR0lk;sp93{)Y-E6B855fBIxfMr@@DNa_gTjrv`a&G=PB(6ywB zTQ;Z;5v353hzTQoNhXq{LMwm{L81&tq67yoAOeTMhY3J{7$Dw78jB~6A0QTi{O1!! zi_Oew;y#IMcmD3{_PAX#QefG5zuWV=o#&S4_4vAVjj$`fURT8m%c!tlW%4K% z#pPWGkX5|7(tIq2Q=x*3CpS`1fjtx3ur;qB>E!^FmUCk5YnKn5A_-N{i-$>4o)PjF zK1Wla(k~h!BhGc!x>m^idf7EV8sw=)NHf=*_J9TyRbGmOi#ND)0S0STskJmq3uX`D zRYU|KhGT`>&#sZuVdBZ6viD!tERf8C`tWIDLxSdrj>o7+R7|t?NIIXrKNg@=HL|)8 zj#VB>GLIZ>0pK30YI*z9J>gh_768$hsGHhY%FQS&2LqySE#?J0%g{(%IL~iyx>zoz zPtZ*f`>=IPl(hJ`A`?(X`g7Oya8E7oMWopD(Y!#l%%>v`s^^$K1p23*@CJ)u@Rb=&=9!XKc1N0J{BGim9aLO>NBd1RE0tXBhv zUia*?=YwWnfeJ7TNI#G8k=+D4YKRX;Cte4X@oi;GfZo)Q@}Ly@q|29?Z-G&gAlp|g zdJ^)LggA^Kf2Voz4ij11II&l<=FcQrF{BEp&yQY95KI;_0J~CUT{>mZ&ZEe`%A7p? z)~N79HJ1^!6wVff)K`!Av^Nnsd|HY=4lIRn%>8gl&WW}*E~K(yeK%3bB%Jftb& zrj+Y&L35)VVb79{(YVh*9!W(GZbK@kTcOWkq&WTW6B@tDG3m>>lV${+`<=M-RI@9R z#P&uPVb-O^fqWR}4Y_aQ0&71s$oGi9`H@`uv`4Lamr=8ila0v>HM(V2DKy86n&96q ze+!0j??9ngvF*oix&wV7a`my*YVeG zl=lT3)Hmce8|k10Ghac=netfl7spfze~=Lba?j2dx&Y17iMZ~N3CdtboU8tD46ju- z2qoP}9pt=D$2EN{wwf%|G!PR!pV+k|ALNl3QNfAVdsl>CTv4|$7S^Aj$V1;4Yu@eD z#k6T;QF+gzkgnuThH*__6FE~(`G@VTqIeH{9sGw`5nmvl`*MoC^fgJ~xD;GOS${0Z z=-!}Jjyjvzrr9j>>m`P5kg)&ODTy;j)kikmvyS2_*^*jZO&?GH9eMktEnaeJ&r+dP z{qI8Qe_DqAe+s24az;+pKxOKGS-k$c$f_(M{C_yG0{v0{d!YVb1XgBt4zB+UtQG;k zv~{A@masooObw>DPq@<#;C>igN}{95kQ0&UGhq}GqpTORwOYN9G$;lA5}`wsi%G>) znO|*I-*C4sE*?sbFO6)`T#%kiwE`)TrbKn1g=2BLdcC~R_TkLtv)&o`l55F$GwI7| ze%-Qir1Sam;rDL+m6PF(a;HmNii~edJ?Epy63{=A+)Ji|L@4LJeSF4(KJv!H73_wI z8E)FTGJ$Azi&mh;T|dK0Uog*@^2Rg6ZpFZA4R9zS6_`^&gRK)_u>;Fn=tmKpxo*KD z7n4oQt;|8*F1IT9#+R-ue$-~O&=&;u|7Sr8o+w75M&b6FafE(^e2u?ir6xwJMEd&V zObha%YCjW+H%Mbj=9~mtt%myZci=GZymJTX6(t0)y(*S2+%H&7a?>=}=gY zSOV@AOOYz0ZL8#7{dOAYz#ZfoM|R4K<=dxe(KEBPva_-=za$unPgX^@aHb)->zzGj z&*5j%?%Jo<{IN%DA9yZN#UWuyA#}McNxb~*k&@$Ess5?Fx6VSy@FUFbeGmW4`j7JU^H9|S!0&MRwUsWlgI}wIUT_LlZjwx_`BUmxj`_MA zH{UX)(CUte!k9O!u)fzl6x2=fMWVm|Ru{If*RsO=06)8VZmEZY7m%^daZ(Ks{Q#r*EcBi|urZEpPbCIUTOFX{Clc_v-uaWP=wCXLC-!sNZ0~rEnttuz2-g{? zqGWZ;D}BydxwawR1<*5e9wjEih7N|=OdfXo$g#NcVqwsxrQ~|R=5&SMEzSxF&s&(e z(+hghWR129r1NI{?yk(Q5D5+)EK$kTAz}T44$dfBPMXZX!am;prwFAW^0!5#$3irS zf23mhpmCF3lfdZ7(6v>`|Vjj3s{G|nLE z6wmo;m~B-iUdJhP%tWR8$=4O^i^a9DaTKau5Ps*&FBtOlXV7}YRFkA0@rp@zpY79K zv24fOyqe^TinuN#@?KZqcSD23D8g7y_?~|3ed?<^*?+q0XVi)~ZL%rq##JlLnAH@+^60zlUTs->1szd%qlLKW7-4 zozrN)5b*H`lPNvJPwz0sP@JbE;g9qQmK1AtPp$6Q-km%|)@fz2bhuPv=wJbSwd;a= zrU1ll78%8u-nvxdeP_6v@$+J_000;q>Wf3GxmSTe&^KL8D#ve)vg&Uh-PDdl4h=}= z70`UC7e1sbU7Tac01N1?%z3wa_-)p(ArX)Rm&!jj*ZoW1k1?Xs6TJ0i4)?`RjgbpB zVBec;7?}F$D*rgtB0Us|kjkn+?zv87j6NkAPC)>If?H{X0Km|M+j39KM`PGcx6?+d zETz0Baocmd>Fpz1%3yh_VHTfK&+p_4i`w;JU&Bo+h_x#ciQuoB*&A)0GOkTah)kKjFUOzL86V-YPC} z!+tm|dZ;A8kqv6IA3f(xjHu>l2@yC&Nkg%o-j$8;rua# z-6=EkF>RsA>rh@z#EOF#4f{K2Vo`qq;BUZI8Hf3@0!t4D7CjNEpn{A_X2+!~TjDD` z)LkDgraEDijiCJqGP$XoYY}${-}KOwTc~*lBNj711d^GJ8y(OO7kQz8oRo(asedB) zK6ma+A_o?{S$n23g&Tm)Hira*f7pAiX&VdZ2YV9haZE}?@uID~9n8wasX0=Z&(?FT`5``ZEfIAmkP&Jj_aiuxeS72~@M{_%6$*Xfpqt&gvTgXe zXsLowz4Z8rPa(Y&bYzCDQrzUvIwKY={!%J*4?~g$vM>PC=vEP!p>Dv42UyV-OHpgR zNF7ZWuR6j4VLSZCEg5Kuccu>+3Q$1f0axD?2^;|hRbynsXZK{bPALRpU1JjrWo}wQV zeAl)c-CXS%o};bj*%{f-YE;m2jCE7IOi66Ar_;Ryk9bx7P*!8%dL0UTkCaVuv(a|ePfPTz40&OpUu#$JvqO*lYgI`5i_ zcduK%4_`7oLxR)On3F+d6dlMe++D7n>WSkJ%W!wuIeMP~S2T+-|H}U6?pyjr_}w1B z-p`(rT!FG5sbq%LN+~2V5aiNk*?1v^u>H@#E>0g^34;RkvaqBxG6VaC6m@%%*3PSx zhi}xK?a~>O&{$|-p2{-koqtv~A+qjkSnR^|-eM4>4vBN1hYn4Wk_f_{T-Ad~5z6b> zo_E_E(oPxR(frnl3sk1qGSGu3>ju&k?9RO}WGkevg=!#Jw7&!&@HS01)CTotJP1bR$;prR=y}S^!QD>TTZSP#>lsVjQUxf`jve@kmfe!4rtUkpsa4i2{)@KvAHf109H< z2LnQgG@%F414H6TLJYqTqhk!BYuJ1rX49}~7{=I;W%~K*YwxPiBd~*+=pD2@J=N=B zzwOocXdYt0le%vIIUH|)v_Rs@^ls&%nn?{P29NFObY%d;#^t9cTtHD@%TZN)>*&rGrdYP0 z&GUSF)~kM``(21#yeND@1kp#(bED!HmL)uU??ZW#?hSE8QR&fX=$mjWszi+st*N*# z$)A|y%(k!@r)RdCzhd*=HIQx+%x5MgCOnMb|wF7$HTW; z`sYFQRNp`?eVS1^+5Cv2Fr4uUO6qk&+ong*a1TTyxcg_IWE2|Ulk;1%Y4X)MBSBt46XA~%oZwW?VJ%zI}v``;$kPxV^ zkubP%9_t3(_A~BNIZZc=8M7l>*t>)s!U$5XGh$Rkm9)?v(9~w%;6ZyYS|xASu#i1s zGl;yYhAcqrMXIDkF-0h`z~8Of!`Kw7U)S!%jCQ!08Cb@c@i1^Tj}kew>d$(LU5*`&JBG6?*WhMHd*ie`Wb8Q#h#85SV_w8(x|eKqi@KSS%z;BFHXtWTC8S(BK4O zFAdJHM9*I7{JcsE^-!)A%o|G|IW~}|3$`Mc0AX4e^8+ehlFCy6G0|j&H}SA`l{}{z z_85)PQb>T$xFIBM82gWOoz9{pKaFw<_0bF!LOc_aUU)GH-;mK$64kUt6K<#PKJ6t1 zIH~;+$w9F3ABynu#;~{wtG&ScA~8^!K{1l>`5nCGTInyCW~-bhZy&fh4F*=SYz)c` zXFE-pk0_UsR(Xu|x$ywo8e3s`0vnNm+3PFz{GL>vli$N|r4n%XX@S#Dwokpg7Dq}R z5B&!*_Z)9#8DIMEg)WV%iqrtLL_F;ApJO~I#_gXpOx1>k^13|kQN@K7Br&Fe<|L6y z^FRD46-w7Oil)p|7clplk%`UC(I~DdvRNz?Ch}%A#^NVNES7q~V>>Vd!Ge~fCm=0& z!65H(`mmU*b*aM{erq|=Nd}AY`J2B)4^)i|fqy*+AfGvol(aqpdXVO@u8o>BjjHyw z!6Vy~8#Rx;gdI-GXw$rvToPX=YyyHyw9$4=`yap&GvGKIH*+#6wiwFTu{5~kry z_l=I%`YqeJq=9n)#*R5t8%m9z2cqteGZi;lqEaU+8;1@^NVr4~`j=WU4@$$Lt9W~7 z&)O&L*J8&QzIo?yrvrovKZLYfo2REPvRY*1QeLr;3aEKMN%l=;L=j3>)3=D;P{PuL z7WWqGT&UtuT)hSn(-ssO)sdPXht?{V_^V4MdF9O2p~r6#>L(bN6}RG1Dmf)S0|9+7 zk6+`!_WC~zi^5MjafFnHw)H^LiS|+TGTckr`}m9?#BkuUn=y@32S%GOvkAu;=IFiW zHi7n83Zo$X32o%QZbM{*I_9K~#GK({?T!QHh(dRK_-Yu$1fm-0->|*YC%+Z6=toPe z5xF3TLb3?G@I_%EIIkyn@`;!lWBi_T30-QA72FUi)j^&+@~4=pD$epE^*}lGJeoTi z-VS?)BW$w1Uvy`5Y)e5nOQwj5FVXiM<6|_RgT$h7LMXeYQlGL$4+ur_Y&2ft$5b&Y zS%lmlK0yHg<3dt6Wn_~*?HI9XelsVy<-Jc)RBgdYn6?ptRM$jS3}xTY>*_S}SSL$? z>!yOg=2^zhQ>7GG$R)^%{qvZkkhD=FZHbpQ+}#)Uq>9A1l+_{JIXCi8r~G(bpBt#M z(hn9wsIe`{{&R(m2*J9BtZuzxF5>&|r5)u<*6*r6owX9gJvh2q5Al6lGgOGrRkbA~ z9{B0pEdIm{^T_tPt%#Tx!*);G;0!EPhTw4xENu4S{8^!}~2Fxr`G&%ZF~WpCb+ zYdZtIn`!?k4%f29C!85IB3QFG++Q^F>)8fsaXsK|Wp$}7f@|yk+@N=Y`(!I*2c^M~ zdjC2mgnj4xClln>&S$W9;v3sfgV=&l#3Vle6il!9ze)H^|IO|0e=p(x#~|H5bpy~Q z?!Uty|91!J*jSnVOZvA6SkiX$R#R)$FWc5n+PoJR_D71xfIxEqKq-nkV4)pRO=y-r zi9?BtKmTls{W^pE9nvK?<<>ueghWgbnuM$%OcJ&@;jnabdxOjT`q|h(-j1F)+2dp6 z@g4bUFMDfQ|47H$-aiXsRORqG$!|=p@-*w}GQ$z97xaV|XHM z=Xzrk3E`!r1i%)&=sj!PP82Lhs zC;^o8OK53UNP|V>I81>Weky6Jp@l?cic|uraV&UiClvyioe_KHQ*wkn!#4JD_^W5z zog)}uJ|$ZcAps$YzGv_I{O?P65?*?RZwOzpn3eNX%30I9)=H=QGnKiXZ(fT&dUSL- zm|B&^(h!zV3T8Z+MT*SrT+szMH33+zUA^t9BDrcfFJt_O0JvVY(eJE-oL@C=HZ))n zd=I84G^$^$aRJG3EXC$DhxF5GPeLIa@vPnJ{(^~I`8 z0KtXD+L+j)*KV>P)>7504h|Sj1o3D#xGoVthqSEbvu5$5KhS$XL)t7X%_8H{Dd{9a zDjc*4Li_gO>x`VzWoA)v!0!j{*M@if=z>=A@;RnC#zav#0IS@bvv->g4vDY*Cc7BO zEAO{By+?$W&<2y6Kz|aWFMv$?U>+Ug&;4(lxzbW6BU`r9Q);I%)dN$<=rphJ%W!zL zYLym)hLkV>e>49=e^aVVsjC9}jF*YrwbU2Mbv%9FV|3QU{k|${UOWZ9`zl&v7%0Gd zn1uyoJUAAJu;z#F%hxlSofb&%d4(%B%#=!wy81Pq+MZnpNfZcKm2{CTS=;7uPIM>w z^j56ud(L$^Q~lZ4N1+vJ>r=?7x|DD^8e}K;K2@9az02e_q1@r{3qS`E4C6lwGYcco zX7FE|M0Wpqj1}k+_RsQPk8uIt<^MS5>}X_ZW9kUQ%S*(dVu{vUEuvgEP+OlDX;j|X z)B_QjamQTBZ=z(K?r(qwA-jMk1|k-uKFZB)oPgxGZVV>^(Va+^g$YruI1jyN0q&tk zf~{9%KHr1}e{xXN%ql7hvH(|4-zDg6&PiIaICaHwl$xEfRrlroeuEvciBv5%+WBT>P>^BS!fcXwB z6zz|dNsV{4(M!>pJ>Sl(Oqf8&iud&ojGA2FkW++=r%bk`ufb9ZJg&9K+Ou>a47g>+ z+Zt-XK--zO9Wr1V4{^38Cc$Sz7w~OAZEz1#dG{rJZx5QZC+0{_GB3W5Si2P&vP`;E8(hMMR1On&bjvymmsQY&xL=9E z0VN_W3LnI6SF+H=c=s|Q;^*)BH{LF@*XZMr#l=qVkfRZj+GdTVhv+nAQ_@}5;+3S| z;#4#rm3VqFl;Xq{&2sl6LOOtrz{$917oAjsHBeS={^Dv}@iM8y1W1QjLJ;?s6#75f zI@#)5g8AziaH4co)_hrB20xO(08qln6T(}#&@ye^EC7AoMNBFH@d-uw763q=4jKe4 zqM)xN$@Xuluo^luYbQ00XX!AjAm0dw#RSx7Y4j$;?*-HSR?cuYLcVoRKgmZY+-k&G z9^Z6)On9uUW5=8tO>TT%s{B4g#diX50IOZY9mhfJQiCEAXA0^sV;s`xH5?5>eaYpa z+I)AH7Z5%#qatcn+yb73XMgfCQ~PYUI+sJ4Ho2DGe%Cd1)6XSV005~)W7V}^Z~%;< zl`wHkEm2nHn3VRf5eaX#wYO^CM`+-S>sZ9EQY?(l&AHtr7DVKwb4>O%=bwW-V)k{v z>J;bCxZcvo$pK?D${EUB9_-v;UZ0!MWY$oUDEyr>G!j#-GJ3i;(=1vH^mHW5+&)vE zztmTpF!LG(HvB-NNI=rnmH64mZw{ zB}Ru4-|>7tRQuN#TSPQOx>b~hM*n!BE@;FS$v|4_Ybvukv||8Tt6OvUuoa}IEI0j$ zwQo00key&s&>&K6^zAGdo6KV&pzXo^St#BZ_*`y=gm%L0Tf6VRp&C(gg-mpr6+5PB zm`Wc-LY5Qyu)k{fO?|D@a9Zti_x+KqWoi1=8G28~W$zyEBW6b0?z2M5E=8jlhi^_4 z%eWANIJi%9`(}dSBDH(=e%L$*5T83#our!;k|bQHKpEK(t7*qEteT5kxRDWE89SWAn-t`k*vDf|=lT zdc&E?`w`4Cm;_p>+tPyqd)O={2G5?g#F0L%-nz(m->0HD0!ak*N(P%}I6HFyOpuhe zhpSI0e9wS(%7`nokg_Hhn`J!PLIpg-14c)O7Dt@LFF}b_P)-RA0RBGjRmaZ54FRyQ zjRsaoCB=7I9+B6rT~1M|jwENN;dEXdT7Q~)^0UBrw9Ymfwi|W}?z;M%k#b8}>aFOU zR^BW8bk%8Jzmf{6>!*2SEpRr4SXad9R>Fb-bA_~pW=K@AOQM8 zUHE}S`M{j|l3MYaTEUf@So}1xq)m<@Ta z_nhk+*zpXA7lzqyU#R)y8#?$uq$^78#bs$_QetMQlkdl+clMv*^Ln>lezBMB&;TpF z*rF8bZBgJDqH=ucJrpB#q;c(z!oY;=e)FdTEOXo0iT1Yu8K2c zs;GFP)N{|bLYSe#(`!Gg?N)aA^KgtY;QjjTc~^>_1N@H>c5iRCKxP6XUiAzG6*tiz;8}5Yn9^T@H`|H(3H#w@p$pk zY|hi93jz~ia|Lju5r80b@5uV^)FpP0o28WA?r$Z^Vly7(QKeLMIu1O+ih|!(?bu4e zc(!U;Z z7>MFC3iy#6lnKa`SV-DXi8jp8ksn`~{%~oFUVPpxyi9?8tpX5zl@N-SFDQHvSFb1x zi%Woy$>HRCc#L}GeVUX-iS~f-aj%o8C^bbCCR#CvPF$`xZIPqTkQhA8lG6kI1uS75 z(|2g}Iq_v}uwbNv)3B$iwI}QG(4&TrH2J3;z`kYjvcw!%C_BVcgfU%iTzR@Kces64 zNi9=_miXQ|e)J&f;N>tCju%m6(rUf&H7$fcuWlIU*v?5}k=-5u6WHx*0`XW5 zVDd|dk``&gYjFw+l3h1Nm8{KT)d;R1rLuWzHvYK0dv$B?q5rBgMg#N^p+J2#K3zEn0x=g#yDQH%ALX4P!c7O1PF_P`43DX z^cBhE#S#AIf9&rlE6vq!08aOYBfTa@RzaGL5YeAsitacAX1V#(^h%hSy&gT>k?*WC zZaUt^wwk3lVXj@)2(LA1B!GN2Mr^JvG?Uw@=0s+Az+x`U3-A7RjlA;rVQ6|iIElIg z&M-*-d<91yaA6})T6EJxN?=Vf#+0Qo%d24Ra)bB#kT`FWoK+7x>6e-{)@_=KbH_<1 zOToxGBNZ3YJ#IA>ekIxWo+7eNXQhRTAN(Z$WI)0X7xg)SOX0yTn(F=>?9cx42=UY+ zJbWeq7SC`sOFe0ta%K7`=3zOj9y31Iw&XX6Nu?pLvC^J*C$DStIeMlPgoRAy4ht+x z7n^U`2D!8KJoiavr4w2tlS;sJWEM)_Wq2JPK|(G;n;lq489uC7C`6_M0s%aSnx3!% z*ehHiqtD%OxRFI7rj2k{?1(KkJOtZM5A3Bkmrz;ULM#RmbP~b(r}w1iTF^Nm0ZE5j z;PuVuDo5ofAb*KP3*!3`w->WNQ#qTgegX^tE47mVh5!?Fd{HYlvTV`2jVOjxv#0u( zvYzHLd2Eq=-=uRdH|5DActO4>hTz=pC7L|m{dip>LK@C&Ops&FfD3%)xdOt)k;Xfb1|!NuSCAHB;s1o*5hvzE=cP8foAv?wBJnF3 z9g$2)a)`VsT)?+zm6k3^zyOuVG7N5?ht)GQI8hWzY1Kf?MIa<9I027O%_`Jn`n9zy zwR=^vSir3DIaaFl(ZH5G?wFN6f^f_Qz1@2g=}VECU(>|a@gJq0d!Yv1)(@+cn0CF; z0?8KbM2CK_l=<_NZ^9^JLzsX_8MZivv5XrF&u7gag?$)&uVsPQP7A0V%)-EjVK+s} zQUNu=`I5tdA%=tRG->-{0p9aRHfI52=aa^ThsJ<-k_ki1HmwSK^zl{FmH;p@iVdvL ztI}GCgJaC-$C)S+X|;4X>Y9Bz8dcPtJl6N(MR_rw(Qz7g>6$s{y51)nT18*7|2)RW|x{@x-LW&^H}#XCasC#s0Oy$ z+a71%IBzC@c=7pp^eV;5dx%w%{_&F=DoU9or}careB*!(i(S5pbcdudKS>Oq$%V7g zGp?%n(s_9^pnd-Jd6-&iNR$$guQ*Q{IHp6I=WKRFp~9)7V{?htdnIepk3=_)U8KCJ z$?s9svQGn?Sa==9l&;*NrC?gEzubDh)jHJt1yG1g3X^Wse}Hm$%Z|MBTF2J+N6CQM zPsi)NiLA!aCE0BE27+sjQMtl?cS6`Z1WSZ8`s04%h3&d6hx5>d2b`-mL}Y%srB&>X zUiIo`jG5$u*JqRPcT~k$H!bI&uxX%*9{S^c1e-3l8aly#!O?;!cG~&ihCrKN&vYyj zdwP2r=F!$;IGGfovC`r9FK{v?nop#G`Z}oIHv5mb0>7SIv+ka`S|W;!!GTX~)eps> zr#0Qg`$p?zQeoxYciQ9GPrci?rsm5Z&3)8DPCUU>n_O^-=)F~62H{noXWFT3jIw;p zUPS#h-3nk9!vHkiqDNjm{)z|xeDZqjj9W*%avUuTFRfTpFpuf#+Q2SE`tjQ53g%Bl za>@m9~SY$N%ETtkW#-Q@0%f5lxt8o_ZC|Bq(QJf5mA3iJ|Xh>%c(l1Ad( zd(J)gHYg>e0cn;Ji6ld*P}I**{8CYA(x3qiD*aNT!I04KQ$#6>P#UN-D5ZMq+`9L0 z*6+Rd`MmeXd%w@`^T}S$y?d>F_WJI<*4o?Mc=MCh^)c4w%qBQ%$6qn`oyvH6 zWW~3qrSlE8ZggDz*OBJw8QC8mKdjttHu~40qlX3LSHY7C-~6ZuubNif%b9zFMtw>t zouliU?V9Wrr`&qAzI#rQ&D&Yk)njT5Gz$(5+@<^LK++IflOOHJ&Ar204nDdWbyUB_ zUj1o8%YP-QiU0GeG+*>zS?T}RRcVsf;q0hw%;|?yz4}hplX?HE$tKXn{rvRhwmml5 zg_D}bk!s_IXpA2>(9m*@oVu)rnpS^9Ik`oaYLR+ck$RE&`f@$PH|fcaX}ITpc+;Af z&s^5NZ0Q&Bs{ih5ZIyHB>}wD2l~@)YSl|9{NqeJFQtnx;SG$co?biNud@%My%#`~9bPp8_>T)1HH>Y~drxbBme zoZ4Tn6GsmICt|N$+_HO>0lz-g@$wZ(wW|R^k?%^I_iq?f7fsHp*vJpI3pw?bO!3L> z{m)mcS-m5ArSJV1xx98^&Zefsxo+?JRi>A2@*Xn%nOtQ!ZPh+w)9}jB+luCz(>6T6 znWS#)YCbtOvRpq_u}expOl;;#hbg^eAB|8ylU49G@a2Wp-o~xd-yb^`c**iyilsvH z{$8$YM-Hx5iri4WY+CMxJBpv4ZdrEKd`K7m`O@8W!7oqkj+Aj~C^$3t>dHw;k^c1> zrQ0VIEIRZ>RMySTD{k%c-Va738Etf4oISyknB^Zmq;GbA;Y79m8vfaD)y^I^=DB$) zi_FVsBwI%}Q-|LehvaFG44mXnXeFA2XBZSQ!ZS#4otgN4yNt^G^K4Yu26 zK47TA{r$7E?>Q`19%eQqAS6Q2b4cmf*qAjX4o4R6QSa01q`FRE_%f)MhTf>kBkaDGZ(~*s-IT0R-SM1km^Ag5#^!?&$4{CpeONNCV)Cp6^)WlAP9Oi)Qr;{=b!Uy;09%7aql}*A z3xai3w|{jR>F_u~j;Eb%r91P={cc_}y>8n+FSxn9uS(bL(F*axx|NO#Qk9JicARbG zDH+%YUeG^pz1?xzu+%ndt-|lOf=gDUjCvGtRAundDT_9H%($^pHh4(J;WKwM)(n|! zFO#>yI`@#5oX69wdG@1C{FZglavG1luEoJ|+-7H|Hdk!gG4p?{w%1-E+`SX)@RrU#puZtR*k?peI@w=u0eKhr_A zk3+Qj&&=yjzFQUdqN4L|H9UUdOw&v&V3 zD$$cjLt0$iX57@jgt@>zdMHCh@kPuQ0UYg zT2P()-4STY6G?RdU3ns@5(H==l4?PK8X~D0a6ypA)b9R#i@=coXZWByf`*n<6G8|r zsVamBT2ftj=FpPr!Xuz1)rH4{mQ)uWA6imfpt{JHyayOL3R+TKc%X~qUBK@^7s=az z7U=TleSn@k&;@Li3_0imHcDEc3)m=Wfi8qp7e43$HcEa6x`2(67U%*tN?M=`*eGd% zE?}di1-gKZk{0L!HvVampbJw${XM!Q=mIuMTA&NqC~1K%V56i3x`2(67U%*tN?M=` zU#bfUy6~mCke~}+stXCafQ^4XM}aPUsV)@g!k6kofi8ThE)?j(m+C@+E_|sj6zIa2 z>Oz4oV56i5&;@Liv_Kb9stX0WkWyU)pbIJ0MF6^xQe6a~3sYhKJ!S&X1#FbGKo_u4 z(gIz;Mo9~F0UISP&;@Liv_KcIQPKikz{Wo<8gv00B`weeY?QP>7qC&%0$nJnE;Q&u zNp+z?7qC(CBTl=J|)&{AChM|@hU3-E|fOLYMt@xjJFp93QC!A407bfKlX z0F(H%R2N_ppO)$ZOybj0U4Th^uu<|YpbOY2X@M?aqof78fQ^4z1VD)oMoOEY4NF`C zu*7GXO8}SnEOiM06QAWS0c7H{P41D^OD5e!;& zU@!oR-vPovD1HYD1ETmHFbs_1ci=EUitGSlpcL7G#DFQX1B!uDB+Fs~Kt-}JCV*5V zOJf31MY1?1fK?>RV*+4BvOp$)RwPSg0&qpLNG5<+a8gS8QUF*a3uOX`MY2>T09ho9 zWdfK*vRozrS|kf*0;ol@WF`PxB#UMOxJ9yTCIDO{3ugkzMY41z09_=DX9CzovV0~0 zUL*@>0_a7ugeCxAB#USQ_(igeCIDb03uyuf1_8QsGyq{Fi)jKFMzWkH0AeHyY62)m zvZN*eVCIDq5i)#W{MzXvn0A?f$YyxOTvcx6;XC#Yk z0(eHU%q9S6Bnxc?Qzg zBnxi>$VRgCCID?Di*EwhMzZ`S0B$4;a02K?vIHjpZzPLw0{BL<3?~3^Bnxo@2uHFM zCjfCIi*W)NN3t9z0CFS?asntvvLq(}b0mv$0ysyqEGK|-Bnxu_I7hNHCxCM#i*o`v zN3uL8fO8}ZbOJa>vP363ToP*y=j?#&L;L$WQJ{*~d;bmu;(42u6N5(igSH@#zALlvo zYQ&LI%+kP-2^gGkWHjU39GQ@r4;-0@c{!bBB4&Z&%HZH3l8HA>oX?7PCmDo8%w*)q7;oUp#G84}b7E|BWEA7-9GQUeJC01qtiv3ch*=an z%V2xM9a9LD7^-oe6GxaFnRv^=kx|St#gPe^HG?Cg8P0HILdNMk%fO$}n1cJD&+>Q- z#W|l9Z;d%Ju^Vz^0%pI%ky$E6R+@{`+yY_*#S!s(iw=4Wg_IO5QgFTLNTi? z$2N+GxCWsZv(xLWAE<|A0%rB)Jog`Sk`ghy-OkSm%n>^wKx1|woacDV`p=Pxcl;a~ z7>u41FuO3$bC{D5wlOOs=Q$CxE_Idx!jK&_56^L09PDvED_)y9G6Az2=g4SgFU*k% zF-u??AlrmY6vp|ikXa|WGI4O1{2Zb}w8ld$i2NJ^LgeQV6{7tRgoen^0nf2CWcJ6M zZG*iz*UuqlM1Br|Bl2^I9+96z%!t-=P!Fx=Kqlnp5JIB$90Et==MX(&KZkV&*&*Oz zKZk8LmrW2tVm}uMu%8QP?B}q~a2X3jkNuoxGBupBhh+iF#L2tgbMsQ^iTOvP)@Duqt1-R$x4DN>foPu?Rt1|`b43^Qz z&na^e@^cE-8Kg6;Gg!t$eonzU!<|Y_P{_|Ih-bKCPr)_^%WynH z!8(KNfOQ7x4C@S*(a6sMYsk+jSZC1K!#aayIL4-+K7{Ombq47S>kO9B$j>QQXOJC` z5=UbXn-DBxvNxT5hJtkl%fy+(PCiWmw2>VEJESwLGgu}y5&Jd7w}4h10uH?{|r z@p}{Sm^5Q&dj;a6B1a}Ja&Tpcf0O`bD*8SO&v96~ald%&fs7237Uc9R#B)d>VoC>` z=l;XrXmch7-T65q>i!@f!jneqhZ`-GTl5I3TJg*dK&T`ZG`?fiW(osn+|VKa}O!+Sjn)WiLXYet+t z#A#`c>_7Zc2%9+6uK=${LYgUoaK4Wd4~BR^*~rjrx}RSloPJ=+M{vf)cZnbTz2@IP zTNyeVj$XV7%;$UX7A;!BbK`lqfdja^i#*Jii1>uX|LnIAU+~E#&^`D)Qw88CBEky_ ztjEYO$e*BzD`M(*obQ8}7C~3UV=5P&`xW7&86^_eO*zkr3n&~J#nj)pG7LnKfT`nf zo}=+b0CIoWULo3`QzD#r1sMXOz#J!I8J2Pc{&zbe^oBsAaUg@9=~FJk0qzD>v7%$Icg<8@Hdk-k_!wIsNdg zIfFBl>r8yMoO8SDE3;OqX=i@*sjwTS8q3uP>yhn-!~A%Ofzg##4Q7d^?;Mk4oKnnF zn?Ad{H|S9HQ*Mcdd*qcV+FF(9yDI)uaU=D5v1|PgW4W(|3!0+d9O~&_ zf9J-^T_0}>_nn{Tb7H9ARMh6lma~-qj!DVMs&Lj1misy8L$OEN?3`=s=KkpWCQ9~m z-haD(Zg)ZKhN zq4I~|V0Bg~y>RRa_p)TC%X`=5PH4NCyHe+IQ?#@S|pE%KVxkW$kIZKaRnox@kDU5{u}^M8@vjkNdaaiZsP1?RtK$(gCl?VC;dXg}`l zeIRPd4O!)-aZ7#kmtOCF!)kMOMxwvBl3!1?RRh8cTD(0+C=eB*&z{5I2Cd1<-*JEJ zjV^ODyPeWr^X};wgR=%MSBH9rIluV2#@Dv((}k+lvdi z`9UePLFq=$6JPI#ernerC#Vo_Zcwd7^K>buZ#(YTg4omn3MQ=qXFaRC zes@i=yff|Yfvlhx`=9UlsMXqK?}odtT+~Z!Q|tb&D>c#ktGUa%8K06aWhl6M$i1gD zQf9N`7$(A>NBV}3Q}9A7_k zXFWa8pz@#Rxw)1miD~lRs^(1T6P+@u+qccd8TrwVyWVI`&+WHsb^XbgpBF82+fw>1 zy;k9uxkm3keU&Y{^?21oneRFB?x%fmMl!F5tP3AyIqiK>RQ&+|Yi8kzQJ&AdO7+!_ zJ8o`{5f0jCWHHN4v+wpJ(`B=ohi5K#R$Q2NH&poL^qL=qO_x7*H94+rG2?Ri$4fGs zURX>i)C*}U)m{+v>D+|*PDQzvuV;fHcc$mG!=IYGYhwFv;iv%_`_C);oRs}E;0Uis zChwN|);Yn^ePmxoD#%Sp>b+`L$(pU{mkyK<*2>k6-8gLNx6N^L`pNXTsF*bPO|c_i z@8T;xtx3^wBc^D)h`Z`__ITICF3)Rq^e$|^Qug`TbKbZu!n}eSP;-6~Lw9M4aK7qWv~|^+)o&fvn7C}q z{`Dnv)sOAn^=Ie&{I=}#o8}!4%$&0qT`%)^lSKSw&DBWEnmTxdSpJ<%xr2L-T@Mvo62%gT_ae2)jRIl|rtrY8%nbvcD zuT#p(n?GzDS6aGg&=NuJ2D4G2M}Ag#Qh(WmFH{aT{*;hDJAdJ3p~i`-<)eJQ-?7g1 zwdUz&wk77dIXw2?dGe9nC&MQ99>?BWzTGv{)%56>nLj37jWsoJ3qSq({Oh7D=l4?= zZ2nu$Id729@GO<@p+6N>7so753|S_ZdDGK=XR5NR@a#t-?V!@iJvThsr)9*tC*PB~ zS*Ca{YKf|OLVQ}oxuW?&+F>&iwmI&d;`+|EHGGOfaY3`rNb~V#A68r%yG?f1*RvTJ z-A;G+de(o?)!f_am6}@lo4WXrLkh<3vZjo-bopsAea-kYi|2K3^J;tDUQ@og(R6U_ zbTzME<937{zT!~oZT3sYp;cHt_KSo2`|C^6`0k^8MPcn*cH8{BfA7KUv|+zQjm>9E zUInc$yYp&N!1f_0hb_o?bTwnK_2Xvx&heZ2>xH4^%c@q)PS`mxS-z@B)pOn4mti|^ zc=oyaqIle_A=Bj!9u?_0dkiod-t;0mEuz4rY;(x)c;k?+11_CODD<;5%L|L1^(e%0 zqtY{5H4pEmy*nD$mF_csb}-^o)ZN~%f~-GT+=zzj`6&ji_3eRS+YR<@eUbMwP^Iim zdO?iU-R^a+XXNY~m10-=%V)~mt$#acRr|UpvM1!vHfZS@H0TdlzAjFy_Hb@Yf5(9v zN2MKXbgP(Xu<}*T+()a5ZaIZ#4d2t0MQYNgChvKtA0b?!8noNh{^W*tg>pw{&8_iv z4tIW@YIM3=%*UQvHRD7k4hpK1%a5At8p!WDIDV$>O4H$j633#c_D>tNRpz@c+qvZG zn25^b*GhDw=vu{XV?Pwvzg{#tu>RX;-I-mRTFgwZU0$^*))TQnQ;8%yPvkvU3Gg{8|n2=vH5px!>r+9n$6Gh+S8Ve z56m01Q_ofL@W2q4__Ef_k2k;n7;iK|WVo%+({GACQRe$rq^MbU>+XnV>(}x=d0wv` zeaKqaJ|lFVOZ4p8BfS?YoVR}xa5-eg4};GcA)i`DJv~4w`dv>_ys~`2`TlW7(;p5m zvf9+|!fVTLt(f!0whDseB=a$T?iIuLTpC2aKOdU>bBgPNoNZg&ih^S4`2|ab(|?Q` zb7qO`!O%-nPdg~jNR0~&w$R_uD?nED@d@AQ+NZ`kR?V?U3Yo9+RYmi1<*k*cy<*C5 zjWt!Cb2g&-j_wKDY5JnFqh}jJ;|JxId^q!EZERDs(zC6rlULRRKDD~<-TL;-w$)#9 zw{`g%qWLa8_}NGM$+AmwJyb3gYRNZyzEmFhLTB%znYVifHissTKag>G*}xC4x4+op zzw@m_oZ8>cle|tXUR$1B^wfKS+3A>Chdrx=hejG!y8e}4H@|UjiP4ymGwsV{w(BWV zQ+Cd52%Xmu@$L2Q^)6#_AN8%Ue_T;iZhfV1%}<#J!QP{0pK7cyOCNjjN!A<91v%$W zWqI`tQ?Cx4Frap9ZpXYF$qPosz_7Ztb4oJd%^&t~#sbscT%SLf_A z4w!^&9n&?UAyj_KKMvon7pk8$QOm8W{&nrg>e=M`nhQ}YUHaN3H$`os)33VMeSFzx zYq-0vjdE4OKmEET412;Gr2IG~;B>mm#aNksNwQZa$3+FKNt{JPp;_M+G|Q7=W->BQ30OA}-AE=E5M`C3^u*ka#E--#-QkCVby z1+1xBHiozNcI%{tBfCwWWvLlB%TaTVdj0^b4UzBVzFwt;f z|Ej?{A4na$$ZprW%L?zT3>g}yYtmzv^$MfNXJu9+oOR5m*1z!oc&RO)=bM~9>v8cI zlLOD2)Qse>>ez*^lC@g$M20sf}1a);j#nn7fKzd z4+`aJ;20Ci(=cZ|aKALl(?DsOIT_5c0~cLrNXjF7;Yc~M7Y>7?exZ_&?1kDY>K7{D z$X+-fhx-*D1n;afRD^NA6w1@ka6lLLi;HEDmP3c;pmvG!G$2EH8u%p2)6h^=L;b?p zNn|fnsJL-Flxk6)24pBt11Wx#rvVwt)6kH%!2LpHf;$f&^N-#yq=(QrQ}|F25V3#Qnm{M7ju2VG(Kzm{+tA6_nsSG|DT}uvDOa z;T#F-7rqYJ3$Bms6*7m~IpYVf4cRNi2gaZtf(lA-gd6ip2&Yw09~3I!g1MMiLVTzh zyb=|ZXdyo6Obg*O9O_quirrAM$Gn1bE@+$~J&wj1YGr7gMdEv?k~#UmuU$xMoTxaLa6<8?2{R6kRjj#f6zuq2)TST z#&Elh`)=Xf531k`;dCYLmqNgWqAIH33*kythkkh-C#Mkh#k8R*(ZN6wA}j+=G>PCS zCQ=A?gH$#g+f6vh=7 zNGeoO0;Gr#wj`|xX+?>wL6)Q#F+d1U2;rIi{}K{R!VB$mmf!z#H21!n%=H{V~gqec-r1Y3(6^#ab5i!D^^`;7!zv;KbF{ zHoODS(OUPU-~$oC`;+X~ereYGa(~SJsF39=R~nzpX`S;%XYC0MXIpk`*;2`O|G1R| zonoE-j9+Tc_>XDRUVG!U*BoDa?N6^wo3`w;E#CHyYn-P!u3f+0dGXrCn1e^Bd3a27 z*o{3Fve;qsfw%(^n9ykspB)GdiCwJykPGyo&!-^}(?X&SX+LZjGyS6O^V1x5gd7Sx zunCj27zKT6?c#N7*Dl_$c5&b|hs~JysJO+B(;PkxI}{7Ot38XW_RP?mrsvjH5B>S5IOyBDU$nu|@Xo7W zr2DktuWmXJ8=^a#gZClFb*>v+H#pjVatQi*SRB@V>okW=A-J%R810YQ5)vB>o#a4N zoc8nj-{q*it=iw^;1v~&ITRKZy4b<^>$~C)#_4Xh_Li@O?mWgnDh&Ey2z1#_uHzS{ zpAPL=O>d9x;tdzNJtQhL?#N;%SM6tF<6=S%L{8hZ8=4{L#xLHz1-d7Wy58YwE9RHX ze`kScNBzphyN^!u+C5D>oBD4UO|0(H4QGeB4bYAJWXmpWY+Oj>CsBtny4&p=b0{Q6 z`y*Eve&ot&(A0#6L8r$qUhy%+G$GK)uJ~ieB0?gyQ@B=pxw`q%-oKczV{y<@fu_uH zgKlDU?@XNDdzX$g*XzDBaqFPV(B2!v9n{@U-OX|c(6OHOY#a5{V9Z|Q_t)?Xy~85n zpow(wjyMn(vL!@22h$w%H+8*}^V)Sr_jT*ZZ`W*S8Q9oj(26 zO^9vp$iKUZS^UBA^pz%_cQ+qFW)f8Dq}WP%k~}$4Bfof=+F5li&t6?!C5utLkhgY9Wp>15yc+>a()5c& z0XW2qF-1+ni%wDz$S2#9_N&ffSVRw1@4(n-SfNIpgvV7^X_BSvR1i~Fc=_46^Ww%? zd^=lptURWYRJpIAwO^fp*rUOzUeHAjc~m+w=*6R63I8MOw^Sl_P5*8>owH5xq+ zGmGn-#}+9#d0d)$e;WxXQZEv*5|NspHMZ~9#}EhDzRnsZ@&2xks@Mw~)})=CKO=YD zK5us4{MUmIZ9jdbcx~H!E^04^&^Dtq$_LEdS+c;VHJ~o}PhX7flkDT z-gWmc&z~L~5^*{^dhx)$6{llgC#i2m3AfJ8+b$-yl;x3~+jIFDFM{_pBRMBcKHZVx zH!n}~v@<-OwtG$bU2ADU`Bzf*Y{~0~YS2$)U(knd4M^w_ZT+|CtALBm!2zgroa(t; z*eOXZDWHq9TU76AlD(fxYszwY`NZ9lL!HrnHbi>0OVcmP3;TCJ&%qHlThAJH>P`2g z*Z<=hpXy4Moc_vj-G_A#_s&}#96WgX^+t!&_m0eyo)7`Qj>Uo+qDI-ZluX-@K#l~) zaEkda)VH4d)TS~z8VV?i2uH`mb@%qpUl<&^=){2obG&PAoxarQh^zZ?E9N`r#|t+C z(fOOYsnUViqMLa2#^e2DyI@OVMgImqG$lHdwK}RQ% zB-cKx@ana?h}s?HXXrGRdkL)0pw>qjI%I`6CYRpW*%vvw5x0-z>n*U>rwprd{Vg z4)5DAI(``2qmsr4y+dEyb??~p8v6^V74*-du6J#!NQs%=YxTe|-~n!aukqZJY>K;|` zp6}g}adc>|??nX56xQoC);2VBT2f3oX}} z@I|7Q?f5QHJ>@9^t8~;vCn>6@B1LFLMj1Lno+-aTvH+ez#`y)FK@9vdNe-Au33EAM zA{Hjg0Z2+*nhs!!6e*}VQGVrKJ*FaHLKbK{6*RrfFp~mihyR99KnGfRA6O5^iQfnG z&BdjlufsJJFVyl%+Huspr~~CGJyw=G6#=-5=o`(cY4|;*i;ii9IEMek7#Xu5+0)B6>WuZa^j&T9@yqOu%AdgGTTF{q+4U z5ASa(xbHo9|KqG5<7S_Ey7~_7i1n34KI-9uPX|B5X0?QUvvP1RerHGXy}Ldqys{rb&b!R+#*AD!@8Pn2epGuI6NX*lM^ zFnBq(Vpdb${XY zKJMUR?}JMYAAEn$!KDdL7w`PC`o!@gCr8g%pdF)AP(4_6TN7bbd8oN7b#%`I?t6uv zuGa#-U;Y^NK59`+B`1_F*l>>X!yx!JqhS%cQPsG7N4k5$f*Vc`+?%dBWZLvwWs2sP z+7wa&TAzQ-&~QZ=c1v$7WzRmeijh!pFO-Olzv;gFtkX#7oQA&EFL(z-K&!T`;vL~1 zrR+Va<7j8~u##%c{9;Dq-)#I&bZ{683iokeYzbc#p6rFsIoeUY=E2p(yXv%&Q)8R* zfo}CO9%@gawjN8x>-vr2{{`w zyTw~WZ`G$G>{QE|Rq63fIG5b=rP+7MNwk}_}$gTv)!ZL6)wcY=Dfd#FN}N` zG;}h~O}Q-e8E31?y3X_7(F+M5Ea9^^5o@{ zDO-bl^kgO>Ck`KsFfd2Dy$=m;<(_zG(;o@YmhY>&;2e60^KK%tG&gi6MVy2U{zkcgRHxGmCOFnL(t6bk}v3*fec9v2(4WB z7B&Yzlhrt6U*K0oe_XVhNL<-1oJnErNjCr*uTnb+)KKPP~E*%nxKEaWTPU|@$rSBsB`U7sLvi7X zNvndXT@~qD`P*TrIvKz=+2`+fZ~CjlVV^VCyox#RW6;I;ro4(xS%SF)1$HfY z>EC>wd2Zq+uXL}p&h5*1@;SxD?Mz4dJ!aUcgn+qkMgLjkwSLQ|aa&B*WD{LWjlV(7 zbU0!qYm#_z35`#@Lanm{-$`(6ul>^co5`J6WS{#u^}A0+J$TGllUK>XPpU=6HPqr&68geFA)+h^QuYfy?QayAH;r{bK*&q|Udfx9RUjyezgBH{q3$L#|)kI-li(mBpu4IMb>Sgr_h|C9kXT4 zc}gWpr%1ojoSRS+inRQNI+{=G%85yPV84ofq$?*ntydR|8&9h!=t}6cvn)6aUK;l`gVFI8<#W_0dq5V4g&s|F- z9Tqfb7@WiiMY%yYnr$s?VsdDLiQk!xRs(G~ zc~C?}^P7mw-s)71Y=NVkL#NO=z|ogS<=c{PFxLgy2So-vstEwggko7$CH;})FF{U^ z@OdJ$Ky#!NIN*GV?X^N?5@v@CL*Oo1{@KShtFP%OHd- zb;9`*2;L-4)$*|=Ku;%}EC6~2;WSwq83`u~n4V5vX>qx2G~MItq6PeJLLh}>%pOD? z^$Kb9nDRmZ5z#gih4kr9zQE#eK1&mj=OZ~O0IHe{aBM|iTJ8?_&QvNp1rh8$K@5%W?XFg@-Kcx;( zpHqjZJ=Ffy!x!Zbl1r0I1Lw{PdLyXTC!RC^JyE#wvL82qfB|=Pca|n08bXI;V`@bo z?}v-Xpxn?w;J%54xGMf4?!ttVfSDORIS?)O~kWOiTDh)}VYC zs=2oN(pqbu_j_i2@Z4?jqTsa1pK&F;0%y@9lg1vG#>=7iP1O|QsJwjo0BjS9yT-do z?}u%~xGG)|U1ZXbB!(GMB0%@>%qYtq9E*v1Rfh#I|w;gMKi zK(QA*m3nDO`Xqqik7-3o_n0&r89Ok|oujZ#0wWN^?UcecGZ~wK$L^!B%}&NHpv7GZ z+pJ-H3N%%XjyFs!DG6{uePlurC=;Tn+Nz{c3>2Vm8u6pH3?BftX~mQ9NCZODtrX4C zxc838f=Suug^KtFQUf5`t#&66MVk10(#~E{3o{#`86A^JhNXVOT)DzS4Jc(*MABRd z$A?9d$`yAth-{WG2sA5Vj6^iVk06t|oQ&fs!+-#hp3z@3M0CM|cP#Xr@mx3t`~GQiSukHmHAR!LOaR5Vm#2d!-V z0-w}aT<(x4u(;eI8DMd_Lo&ePa))HV_;M#gLW##JD~F||G94ild0;;QN8uSac09>& z&pQo$+ZzTyY8Z%U7+TcOzrR83(I9HExZJg(z|wMuWPruxu9X4C%U%6k1>!Y_P^L5o zWkM7JBnPY*I&q+FCarU$Rc~pzYh{3?a=g==2$GG>Jy^A3$U92&hRG&VtaY^N|L zN*Ik6Is+`e!nu9PRP=H%m#1Ho+J?ojv!iH4s`vru+5GU%djVgsC|}n4-2y~-m*$+U z$G3jRn#Hry-E$+Zp18kN{c#4;HRzW5J2r*n&@w09Yjfl7yK^Ex?)mK59IV&Je!JsV zZ98=*Cub}E4e{K&0gurik9S(oet0kO+|mHc9qw($PI3HE+Ae%{ho}XeH|7Q~Y%`*J z4hoJ64hy0L2Lxe)5JBYAxc2rZ?VT>|E*&rLM&Bv!c7MV+Kk22DQPS-Wy)-H^M6qRw zXT^bs@YYXwUhv)GM8CnnIe6<@B4AyWSd2G%86#HDM!#(93_7x+GJcHBN&WJRjlBCD znk0TVrm!X@D~B4Lo@w^#2x$G=eT;I z{XUyBH~ZANoPt{`@=smODLS&^>Zwah#I2fpVA0h|CN779P$`hV=*1|VN-QzjOwwGj{0y1%N^QxjIYP0b*w%zsgo>~gYijk zMb5t)^7zunDDTMmr6Dbs{3dt!ct3nCiiXwBPB`N+c16so>YVRZta6*X%me0r^%kQA_ z@HT9LU@*mZ;qrx{3#}IhETlUqm0)}e3Aun}_lTd-2KaO$XN*lS5G^YW5T{+v?503*g!}45!!Xe@v#L{c8=0+Gj5Ju?FgTuGr?Wmcu(fd>6DcQ3ecEVscb3=AvjK4;JVS0Xm(X!j z#3{<26XHcXjuhl^6`OuQ7LF)3#Cr*j+ad?oczhLGZ9}N+4M*Wg*V%KG<=5E)**&!e zXA?A|c>^xJ$4M<={`&C}(#W&RE{D@of_vLt64JjBJS%sJIz9C3&sOR7`+t39VK7)4 z##`T@DT)90-=MAhsp&j(Il)&>9`)?UH-X;+pYSIQY~dSIoJ1vvMHYJ#ESwpJS{3>dozvboEczeal2d7Tu zl$9|4~dTA!0mYJW?t=G*zWp-;rj_d7)aK>pc8={m>70DL3vwwPI`esytOlRg^%8zdc_ zlAQUZAm6|*(|)x2%Kp!&Zxhofe1GdA+ujB5u^$#6D_FFU-4J~&YmqhkjHB%$8y}A2 zvD1tC7ix*mWGif&YULkGH;LcM27m$QQRQnSkFNOjr*qlCf$V@xFxDY`p#Tei@mqEL zIkoBGy$REU!31I6PA5!Fs|i{XJpwbrw}hlUu)1i!3bniJR)pV^oI75If%RoaA{yIs zqCrbG{;6&I*(SDqV>`d0f1YU|39?RPUv)BY`gcb%3+MwS`5#DGpE$q!7T(+S7;@fe zM(=B}zpQ)55lVI`axUVEJiACGjJVzjPLUtH9I8Zd>MJXUBGRy1wY^^H9JJ(92l9rPk|d? z6TY7@YI?}4)+7z_%gQ68JD---My7RI(e0y9U1kFSQ3v%*(gd~m&-E$rpW9R5KPk?h zw&_1Px_!tV+`EVx96OkvD(Fvg<)zm|yTK~l2K8I3PTz87Vm0b6-$pBV`o&5|RlaaK zw~>0SRlS3F?4`uQbnXDLr~ygMAUzQd;0m9{#YVbkGgLMbQ6AKzvXsp%rW`rZo`a#Z-LI8NvpzwPQ~_;18mI$4ey8I)?tu7ar~+ z$DbtfNAqubDy!3xv}TS-DXCOe7a?h#Of_2=3?Mb1u<25PANhb>#`odQ^1-NvSaumK zI}Xc^#MaT@1YFPAAs*r^60rl{aVaYN( zN*BceTP2e3XLL&>OJBHvt);Xf!iKTdu7Ge&Xl&&gIM~a#d(JaK`V7x75kw!fbdQN&Yh)B3_pBo#?=upcNNgGv8Oq^Q%gK8fO zM`jI4MIYRl9VWPS0vkp#jd6V6Dc~MF3BxtH{e2M6Q zCnH@~w{8Y3!cY)IWwtVmF=!UF-XO#+cy-Vh5q_4bTJgtFscVx!Xk$p)lHePcgO&u} zxEvf8dY(Z!qn?6OT-aC}61_wX?f8wa+Qw|z_?=;O`+pQ2c1j%jo(F(w>nicG^| z(fUDHELuM}fk90?-d+JyFaY!fFa?7{mpKDSvf`1|ICWdWQWY?6eo)!<#Amj6(^3w^ zZHuH6_hp{jcUAMxbkUbzbLqFAeZ5U=z3PDHha02*MMH*xhsK{%@Xs)dXr@f;nJyIN zR+ER(taJk5s7BTz%KWFs7o45vlSPhp6I^(DL9qMjZb4k_?b_Syu=`Z0obuA68v-=cfpW;~dUySQ|8m5=co$zyKmT+~-I>^d$W%SGXQSMRjz9-{R}-|wHD z7n;@Ja>J$9g%DRos?Lxrl2r&gU#M0n8)H~`^Yh$y+RXq(xlAD?y;tSyk>TR`bo6xd z{5(o}2s2OV$Ur>6tHZwF@kdJP`cLgj+oidTU|#u2sd^pEVsSt~;>(ue_MTfd7&c@$+aaoH2F~pekP|Mi(lhAZX>xl3*ZNZe|pCYp31zmG*-+p7C#1q z*dH~4neTf{w?VL$G5w&aWh_ZET+NScG$F?b6G|R5h0ZP5#&mWw6DeaRbat@EC}ve zSxn)*EDoq_+`!6%xGYe@=071(*nmXIQOegeDRv<}g8(w~rqq$4?gC`pqpC#2EKaJh zSu(nv{G=pl52wBao51OD^~7*`;rFZ)Ti7YgCf}P|NsXUgQy5D}dQ@!D_Ho0SrB`V& z%alXR_~&;sj6nkFx#$lGB8XEMQY~{pn7kcF0k=Wd?b!8tQ}Q6J#npnTRcn7uq6uCk zCm}q2InSEaE819KLW=kwv1U zNfe!=7K%)5+}h;{@8x9$C&s!I1D`pxhOiVe}0~XbAikrmMpAzZiD{dHHn9Z9od)D?1Y`H$dZkeIZ*4)8S`}OYk&E1^>rc`iu_(- z7dAYz{n^ojs-Keb4+V#w{QHtgCRZ5OiU}SX_pq?z1r;r;wLgWLLthc)*OgQ56`l6f zYGR-}r_w7vZJ>e%=WX#{77DU41d!Aa;LoDc6h8`6hJCvWkWoJz7Cu&#g{q$j+#4tW zPJNz5{ytfyiBBTf5&54rr~+GQLITq!QzA>U;wBLZy!1<4`=Mkps19~`ikmkpc&&Hv zy2HVaZIqYw@rO2$?kr4=UXU5Ru=`*|Z9opBIYr^^*1-lLl{9#DyX5ov9#RlSlX{vKiTJ?w$M*R&F)@O=@pmOXVqvJ z@HFh0|3BC&>j9v$S%3qe=(ev!#nJns8oP6MqCfmrLRC$PmGlUd*s3g8RA4_Xvbbte;fWjGlUvR+V^iT87 z{BrqB?cOtw+RxOuoT)EA1EFdEZD*h7vj9y{?%{;AL8~YBcTk7uKS!PIUQ%T$PP%fE zhD<%XEIV-(PNDlm!Z>lg+Ig5hWlWFYo;i>VsLYU6JD!GBR-ly}U!(p)e>-Y+*Ajy$F&cQ$ zR|icNcN^~nAzYQ14VFG_^WSB&w> z^Kaah?>~y~-Z1g+Q;iWxgZrwwsYF^G<0^Qxn@XTH;N!dVCDF8W{M;e`>VST9FW!Hs zl{6;r?TF^lJpdFLwC5-;2?_NQW-pdMQjNiO)2oM2XwaUfxWpyYikxGtWa~ZnWTlIL?&t4v0Fd z2D}3znkURwm3xa~>jxAia;rq$(ji;7d;O61rS-&scu9xX-L$?Zup;U|Y5My8vPtiw8pVUW@*l0a8o0jdNJ8Ua z&J(Yaw8PfjYbpcds`?Td#W|f`^t7QTi6*|Q6JWleS0%rRKQjqDqI>lI1gi(2R-PPlkhE5}dpW0|@lSh;9#GDBJ|t|Xighbo;qkUjy+X>{c2 z<4&5TS zF@}|>qq`{yj^cwIwRh9Ptee-|4BTFI*)Z^E&Bm(s!Gn@P^PoC?uoavbcqJ7qJG4zJR*qt>nF0$@TScqsIK%jOXY#&d3Am-3sz2s;4H+cf%M z+1ZayeZA`-^DE!Qb`rbKshK}7$+^?1ei75X^jbp1gMSX_EQph^SRGP3g^R7KM^zt7 zYCkv?z2y1+UhjG{W05-f6#h+4-xZIN(BT5|BgqR7PX|t?4p+ZzGS%h^F}w|MeExOt z$mk2TtitY`Jv`m9*AYN~jbeZ?5=|J8{-6`H1rGPp4JI2oHImV44-99> z)gv!&vT@fa3gLgdu(MldCQ_Cy zNF)O*#k+WUcYNb19S9pm+)#6=FTFX4xn~i9lv3;)OKIDfO(RTG+@*VfmxR2LE)*GG zAB({b*>f1Z6_5r<=)h;=X|X{35Tl5}Ed?vb&|IDfHzt?4GKEjGcoKRihg-wH?Rk@8 z$HlA56v~o{2KMO7g~5 z#A*`pt-g#pA(%1rlT3wuyi|g87&)TCepT%oLK#4m5^#6L{KQ#VU4y$Fk z{lvb%+GsSJGukL&k1bLY<`S}^9 zufUPfNkD%ozphpTVCa_ z7e7yXe=k8d+j%cdJhzP(Bev&G{UQfPB`fK^D4MbZ*UN2N%_>97q=Qn0s$cOjIq2dn zhQ{w%KrmV0iIfwFy%oM(M7LtJFBALrbMCL3#gdD?ik1eN4|jxY8%Sck^-E8wZ$=SU zRLVPfk1n1Dtn|Ez`R2vYLjI%&ScQwA-YLnO^X&F`sFbNt`?vNdT8TwNRkY{8Q%8=L zf~#7uOWt^kdUI7kG>eJ&wsYG_uLhV&~K30M(wzPEo~Ro-Io%ntk+Bg*f#gKNIb1jcmp3R*V(gD>=nEO4`FN!C^)# z7cp($CgzLAinuJn*wC|21%aUh^4s-v;x$lSz(g@^FA($91$8A?IRj;UneZ`bAh=|R z-<Hjy-NSf##@jQCZUSi=Wi zK3QAKWr3+9%BagcyPqYD9(VNk611&rPMU9Q6_ZXOa7O=C-{q+Q94IbXnSDFTZ`|Z* z1}0CS%N&9}BJn>Md^iz+Y`U2;KAMi{*a(>}1yLTSAqi%TheGbytf9Pr55Kn{DfB3y zK{UV%4ujTiqNz*>4pZlAa~G5Gsg2^1_Jik9AJDf(o$Xpu;T4ni%<32WbA|!E)QF|P zJzjp-b7ewIyb>Y*5e&B+tBLNmi*oEbSYCT9t;edy{y6HLaU+tEkl?6H<4xsBbaDJQ z>Rl-)sT{`?y+i?|fe|Pbv^*Xo+hxOQ6)}Z*Zj{z|Y81$FoLu(J%y6KyPG~Kk^(mvW4?0V54wYgBczk8Wn1WIb0CM#50#Sbm|skXGwL2 zLgIAZfsn2$6A3S4s?rnVJL4JDu>yICe8`OrU^$&imOPPP%>Y%d(_JI9aBO$dJYPY` zI0h3@7qzG^40^oOX=bB^8`En)oAbu5za=(3yGq*Xbn`*j74AR%Qh$7pX&h-f?tQCA zUf`T?36O^^XF%_{ZuJD7=z6cXKkD8x)gIo&)6E!hfzX&K9G8-@q%Kuh+Emov3HLxS zU>yJJ_+ho?X*?9?PsD1N3c-0*h-nmYp8eN4+7tsDh47nziiHiU!GUqY-{h4q$`rn8 zIVKrBT*S=)i|-OV2O?# z&-Y;=wTCX>2f-|`-zdz#C!3Pto__AhoQI1Wl^)kO0 z;|%iS*{>Esd31&nd#vu+>r*jyZ7NSWHr+6w&s#szv09g?F9WO`a+2S^Q}`gS34ibt z5Dd1<2dYzONa7F#0T~9%Sa?Zts&ak0zEj5Lit2?yG9jH`lswRxW`>ClI#M7 z#gqq6wnf}18!4MscB*V!*@LoGW%*@C%Ld98_{7r!6FtSgLyUxXtci{d3hLnInW^OZ zI8uztH94Z(A>uO>7WD?o3$+Xtg0fjSp!oYtDNT-037r?rDhy0)>HpZa3ekGEb)COQ zf)t2d?$*NbKf%6q?cLTrygfhdVP8^gt7C*xnTw1rQ+P3 zoRc%~2b=fQ@9uBEQ@#9Rx;t zD+`Yo-YmRydn9Ca=<4E&9S=HJwXf`(UEYm?r& zSaPv_TV!wK+=#i67b7l4`bYRjwnnr@hJg7Aw4>nB1lr->^D>Y?ivkTV#33m!1iwY) zfyEspRC|h^*mltD88061;sWssbYcrwD9y7i0IMz|SX@!KXAw}UK-ULJ-S0hiNaYo$ z(o?~D-rGSl11Zk02M1*=A8{*C6=9zN@iH`*H6YlM5&q(q;dejR-Ko}M46n7g|M;UX zsYj@ZHI=~6l5UK6*>heL|HH!}5g27J;io~RHU+2k)5>`^xocM$3IcdX6_?i@J*`Xf zIh_|BcsgC1x6$d%x}Pu4a|%9CaQaNK)6BYGwwfl$pHxS|QdI|S1~}tfqsBQZ2Ly~Y z(N+5}tw{R09vYoo6+_w9883@jbdK{riJ!5ly_7icayM^JPoY|~swy3$+WpI(Cwpr5 zwC;Jdr+ZJ$p5{Gitt?>W(*4g#Z#V2YxVrQr-T#M+-Rs)zzcGEOses_sY15_ZB$uZt za?Wyg@hlsKG!SA&m0Tgr(V$a-_${i>4$9G?cq@D}aX0&BcmQzolLTp0CI5>vE)g3d zOVbA~exJyh!`rnpT`Fk?$gwo?=&hkVH9~q9-0p6EyUO2{)b`DT(w&;t?l9!+w@|x7 zpObRDc85t4N~4^VXL#Dwem1ytz! zq|F;H9J7!3-d8HDOGYL=B|5mSn(<=II=Xou*lk|6 z0m@O^WFcMbcpA~4+-Yfzj?;42nN*BOsDrq&-?SpfOn?Qv*Bm{aZNG?qtm~ekVv?8xW4U)ktrTd18)7I=I7LruD(a0ZcDdKD zR$p-u@C7^!6AWL#!(t&HT>%eEg?z?^fyF{TYA99XIYAkes&VJ-p@lE2IkH)|fBEv4 zf(Vxa4q^YfrPf>j*`y6MHnA5Yt4UZO5fx`b@1RVGqB2drXNrcH9vMSkMydC7yK^&F zTNA|#Ho=~5P}qD8P0KV=l^lfP!G>7?i3ze0ZmRRp4qKnmZalA@(QA#~)4gUFN$w(d(f~>=QYgU_DGeg<0zdBseiig3YhuGNxSyn2u2Q&a6ctKEg_^9%>X5{F z`m#JV7mzCK0#0)>89DsSWc3@sanfNTG3Vt;x$=G$m#ewm z3oHi_r1dDES>+)WhI#nfJyL%;{%w~Ou4E25@1@5LVSg@HEev1!Z3eAWf>0$W{-52 zERHS$u&$Vi9F2!@uHQJhoriKdN+O4lw0lV3wTx~74e7qQ@@3r)x*^NsEGL#$rDT#~ z668a_v_8o)2{HX|XzXTjgXV|2us$>9gQEN(t~Mm%7*E1F=@p^SyGZ>}Zz$NDtolJ6 z*I9@cgw4sS8|0*dQ2M=Lue6ubUL{+s$GYpmnDe1_lapxv@AY<{xsZDAY^%^D6d^M;4GP*Wgqu>K78dywf(q(S30IY>l^!aq*Y#jOooBxif zLkvX^ev;6+?axs3VDX#plokxDeU4VXarMMoEZQ5^SN`F(~ zU1=7=2PfhQ@j(V7|9{IEW4g(BY$2ns&Yfx8fvFNp!VWo@g!sIQ`6>1yGW2m&kgqai zl!OBO#vQ3mJx%{*_d^RC23WM5R88Y5BrkWVE^F$r?gEut5zddLd6C>J3XP(%uiK+j z?@2zZoar@_;h@Od*(S+%k|qQWmidt`bgB!H0Wrx`mFg;snDJebtnabrUJ@Ma0T$1MSQFXm*%N?8JZ0BSrWijWSrm*3khwU>nbQqF@{b8 zHV;uq@iuZ^YGl=M*)9@LlhDM zE&57ce$(?QOEe0&p@dXs$Rk{SD1p6E}BI|uAl*u{aV zmr{$CZ^uUMRTiz}s7~>nd&|0|U#{#NH%&)%24-Y^PWC74;foP=KQ&=mDg4yVWh79c zym|phV2hj4McqXrs>67ksNk^9dOs0-G5}{z>aK>$wQV#DJDL>I2;lDGcR$^dUql0fF&!7{@>|k|8mhX5&6lg{ zkOtY&oe!>N@d>P%@v|aHMZc0N&r{2PSc7HcLtj z^kdGv0bGyqmwge*Im+_qhkHgXq){OYdZGaPjjfa)uSo3H1d{04+~vZ{97rfhqyRvv(@H84I1Jq4378w@gF!dt{_z#s!)_e1|3!LXb% zCC@}@XVlJe>?b4+YBg_D=@&ZA#h=OXUpF*6Bf5}uwoF)X@%D`O3Gd2?bHfNfUWSs= zh1!`hmo6XS?@k>4NBjkUYb&96uIgp*4T&lYt!csv!kDRl7>uX;gctmTxycl?&>fkh z6~;)$L^%K$2m_`#02u?tBP$G6W3Ck}g_6eeh{LB0*X0qf=|m#_cLqg%wMNAQEO>Dk zd^;w>D-DiVCJ840Pqv6kEt4Q49bw6kVP*_=djG|Fok$IDISV}6au)beM72OrGe4{G zO4gGvvRY-((;H9?H>&C<>Up64VnW|OH%<3%+4etGNnL#0wf#qwp;bWtR*bm3=LX&DW3-{8gl#V$p6SYm6VOam!%k4NKOO$ZecvHP#L3 z3kv(G-AGq%K$YCOl-W@_DrK*ZQ7bb@4M8(H`JaiX-PcHW%9Ny)%#k9Ny+)P^fh^sw zSHC@M?!0<=X0EYu5t7XK_j82-xyuNYs^ zzZ*TJW4kL6XW=RGtdZ+x z4ukU7L!LWM-)eYX{fZg?zwjc_qfrnH#R52RnS)=A4U}M}$N*vvEE+*kP}bl7DvUkM zG)vk1Dt&Wgv6cv9uuleWvn2rUBi}`2BDcghPR#YHs9g6Ea)H z$z!If9_%WXu@zD&?lM15<&iDySGzC}nf%NLTuLVT0kG?3EKZduQOu#_je7KEG_&pe zh#VOqpOrU)C>8eO$a2Yg#7;ZXz_YFq(NboRT)ejv!yD-w;q-g>vh0I`6hg3oWuwWu zCxK4EPZz6RJ4z%!knE=9jd=uec9F<+lJ%54sfQQ>%zZ&Y3zMAp!lPE$|Agv^FAb%Q z4YraQ9VG$yv7;Qc*f97+1g75ZCi6+EqKqiO?xrZWQ-qO;hKUqpM=RJ5<>*j>nErm95+5B zCu!77R+{}OSkeR2942h&JRC}`FZwn$SPiRwjSs2?DtSK5`MMS4|DUcuPDWUh6@+x)3*{ssSEwf5_6+La^YNYlUn#t%ih3zT^(FVV1Cp1Xd|<+) zW+TSF@YvJCaB6zfB!%JlUMg&JJh3xIU(xl~wBwCxzQ%gaC}CaGm>_-9DO zR&Ajl-b1Mg91Xb!P9z$)TvM)aikfn{<7uN|0!Ouy=L{$<5*y>+6TXPByN4G&Dh2C} z<%Wd4#%X$A_2q^#ME^;jL{r-aT#CBFDIOt_c05uw5cDc3vM8?>N`I^QCI$jts_ugk z4fPX09P6Z*Fe01nMSn*W(H{~6YP%lkxo367k$%Uvogi&-azaS#n(RHlo^|Zz_K4lV zcAqUKEPE%!SkE*SD>|7ms8f*L^xGaJ4V+L zXqI9}uUk%`Mw;#?C+#*ZNKSn=bqniVhaZ`^oinRRP`U;)mk7Nx#JEdDS-ajTVq(TE z8>DCPC>d9cTwNeTH014~E%*5!t@U}+0e~EZQxBz$Q$!jZ4VFw1xTAzBIwL91g7RdV zyahb{er~4}a)5wJJ^11%xk9B}sQHk@xRBfry5f03m^}ywmAYAqJvzP#g#0!@ZvS+5 zjf+P4kV26Xv7Y?C0Io*SEG4*Ae}Z4yDaw!tX^}m$CM4!1@t*z2h*ZtJOKXry9FEHP zoZbw{a+0F8QZ3;&fc;cy5(V0s>OC`L9)-d%q^~e~fClOQ!k34JhWVTz8-5smVk@e1 z`3UOfWia>?ZX>iPAvdggd_TI<(>I9G0C2{Hxk!Y#!(IOJu7VgNXaK|XZy4Il zLY^a!gkhe(3el)6>$Jo}(+dJpIXAKLo}G|mt&~C=1jXn!&aR0+N{|vr-vm;a3e}fI zzI>JXXEeYBQj>RRYXKhMIhcv+orZM&zikM$@CcbI&7tM0ravhp%le?bgK|U-0%0c@rZ};y-W#;Y3CKu+0k~XHArtM^ zAPGoc)=sge8JyKj+eM;~!LVvy31J`547nGw`!^rcWYyD}B~nBRxRUAHPk;~*EM-8^ z!h`(uJ%MJQk`bv?g?t<&%!rZ-M;pa5S25UM?F+^)2-3bQRB$;Q_RGF81@xXeYeWI* znQ}xac$?+RQLN|X$q=frF;#$u8^-b#5-MrU%H{%9a`k*j8%5jzSF(J23HiV-g^Nmt z^3bezMVQE!HDbnXjkPEi(?oa3FhrgH&m0i+ z?s1UYISCAhFCcFi9qxq9a-+8yPbBDq$s7V}cpB5@(!1duwRT!A?b)T4w*m)Vsx#)~ z9XUojG0nQAMKk-I@Xp{5#}lu?<)5A4$lqi|X%FNr!6ITHcL@zaa&gSpZ743esk~Ws z{wZjU4u257Dm!-Us{>a%uF9|0U44E|9=@aV>bl#o+vlb{`dUAp!Nmqb?rgkFdE2X+yaZv!cUSY9%)fA;V zmW7nIkGf}vSGHZ??rz)7ZE0)au5VkPxjrboqis&x9PWj-yR@+G@FM)9cv{8K1`3{` zc_*>xxuPOl3@Y1)h}0{=J0z_BWY4mCAR|f0CW?1vKsMzgJxVME8FbcHrT9CbDSRp4 zy$>Ok{39cf&B9a!(dsF05h9eTFNIf&HuP?|xS@4J=?3YBGaDW)i==Ic497*dk$49h z?5{RwHv?FWr=8}P3^r2Lq876L)F6KPX#?Q%;JKo=L7;>chVRVbhin2>8U*JZiu@|?wKmW)>i+NjNPH)T!}7;h*eU#UNki~~v=C;&MVK2p6_ znW+6y(G|7k9a)z?ap1qlzZ1gK)ByZ@MX9Mf29#w|Kp+{X*O+IXZvz@g9-2a2CegU{ zv66SljZWAha;mT&i#^PF`h};i;tS3~+SBI$$K1QXMR{EPe;{9rq-Ia&B0xFX(#oIlq*Q4_NeD~6`^8I}-#QjywtG;{b>Ccci6#Kn- zE$HXw4CR=DeLoBGfp|wwdq6|b_M|5@KA*soUuo+1_OE}>>AmFA%FQVGIE+5K(=5Fw zl)k=0Z?#vO4B88`>D7a6{x_*%+uE!+TL$ZZ?>=6!@`2rw-Y0&%L&I$6 z>VB)X_{3kejyCxQADw+hecbV0^>L35`fl1Tr!MdN%(P9rV8?>>t}Dq)s^6IwT@mq0 z#G#1yr>WE*O;)E5EQ{}pH3iyx%yaAWOBX$!`*`u=di|8-`niU}(%KSJ!lzHwKYQHv zOnv#*zii#N^`or?kJqlRi%6Enkwps^J!3y`Qn$;TqFI|;=q!n{IyYW0tgx&#&VFst zBa6-iwsoh+J9McPscp~J@7-Fp^~0?Pw)Q=2DPC@N<+(0hc`JVMYR7kzy1rNJI2-$N z8h!7o(tIwLzJbP{y}EEZZl(FF9sV8jyaDs?TjVs>4^HnG_Uj<>TX!@Lzvn`f&9m*k z2bAtL_V`hovNY?Zl7llWTeIaJz+eCHwcoJOea<;#cmBY4ORe&fqoMDo+`E6xooP2u zHD6P8ZP1T4ycqiXV=o-J6nEW+*Npqy_rH@nH2p4XclWygUHGg2txo;%_PTpg$H-r2 zFvMT{Ua;lEXZJatOrR4(oiFw0Kl<#!&Y>eN*XLI@);OLlsqc4&>o=Y6aeh>okZwwJ z*k@cRd@XglMss=LV-{=2+xm_137b#k2WlS}Tr zuwZ&<(1nE=7c#C1TmRXS3(p7aS%36|w4qP7wF`4i`fvA#=tJK<9eZTXtUd2GBUjH; zM;gu^X})o*pKsatd-Y4tA;-&&Z;6i%`Svaqa)d2SK0@#>d3BS|X@QZy+cAO*ZScIa z!|W{o%ao*9%fhn5)*X9ne&pyq>lzl%k6M|#e(+M$_Uwkr_GH^G)ofjvai+y5IHI17 z{2srrsf9Ibv!C7-*jS)CqV=dEsbXDqfwA_|FSDnHz3b=ATljd(ilV9wUPs1`s;q}A zA81^5x?qxi<2$Vb|7|k&=N4{S-Fmofpxw1`c3tBrdv2b_yzGo#Q<7Zs;qS~JzjU_g zM59TSIV14nH#Ak%_r;gyX*y<{+;nKi{IJTHBlR0!*l*t#uW#PJe#8C^AFrApx+iy? zJI&jO@D6=llfqeKzgGK0-_Hukuj_K#69#Etw%KF(aGm0cZROt!|q;_RArj#sBOv$`5Fj_O@SYbIdOYW^42+EsyBx<@k1wzJ{d z1jAeE!a>_-?mi%AuyI=ROa0RhRTwKRS8PK4Y-( z5mRFS;kLu3flJ-7qisq#mOkL_0k_hpzuliyb=z7#mRL2dDSu%dTzWvgdsp_4>_h7< zL$<+PM_aASb#xvzZKZk3U(X(KZc50}t^3&GqwcB89+0cwJK@9#eF(Y~`J)cfiHp44 zgur*_PBxY7K(I4^FlZhGMXk7pEWF#1XFb=Ua|8J8n8| zcBudTDW7e-{=5C(eXiiS{~G_-Z$$_G`GxD}WxTL#`Ov}NNX=^-;?`OklznKM3Vd{9Vu)cByN@W}BI5s?!a>-b~|V(Nm$ z^TL2ACWgrWT8fpHKc*gR1>9Yt2r97GY5^@r0aJ6*7OUpBtULX9F%x`2=*!A)8o@I`d%bYYmG-BfT z$cV`CVId*o!@?uRheb~uA084uJ~S$Fd}LS*-#Hu;PNfJNPq@a%L`Ly*NO%YVg@%rg zh?+P)ib@z29y&fMG=g{{$dJ&9G2^2n>4AddBch{-W@JnVV-Jgt9v>PS89F|igcA}H z5j8#}A|z&fNEBruL4`$zQ*2Z?a}Y(8fjl}oggFJbQBhG$I68y~f-us<2um1AoDcvb z-6n<-qZ5f_blCXt$Ve(I6$lpcsj2<6D ziV_k|g$oNMqA{}AP^?H2TWAcCnaDpD2!$ZYu+V7f4$0zzlu0CDfS-{r#|hYwaNs7< zhlGZQvD`$8l0&X1B`jl9unLS6&v_9hi69+y2M$9bV?rfaka$CJQQZMR$cW{Ecp)>- zJLHBi@`y{M0|zd|BTnFkoGC6MgsL9#zyTQC0VAh#oX9V5;Ep)J;!f}=JmZnW3N7Fw zI8MhiXoZo;1%Cnu!h$~T@&$q68Pz4?Kr@7NLZK(}0SEEzB`cIe;07G{ql@u^9}y?Y z4Oqb^o&gUS`BKU$^3k1j7j%FF@yI7=3S3IsM0XlskPk2-zsM)>;O@yMg;^G!aB`WH zvH%83hC1=&UzA(O#21ImE8~~*DfI^a1&=~jxO-l}hYNUQT$~4Gz$NDwb&5DIc_Q7D zU*JL*7w`!leECK?@`8rQk1+BG+9F=$r91Nxjow1$SJ1(oE>0&rqA%jI2^bGvxeUac zfLF>c=*##NoZtz3h;$F0I9}kQbjFEv;1K1*v&aJ+2opcx!}sENx$Q8Y0v>rFPtXv0 zLUAHL<3xBO@k;$I$D@11H4zuZBQJNOBug4EL>^Io&O^fh=ZSFF1=Ewu6c$E&5FHFf zG-$*`OZ|Mv#Hf(*G11}N;bWkqaa9_tP#HWJF$j9^kg#YT#gGynP91ePjWaabVc?@t z5*-{3jlfPL1!u)@5k-Z-;D{j+ml)F^u#iw{IN}aQAv9455FElJJPfd0XrW{xjC4FB z4=#}ofg``bCDIXxOTYcXRpp#(4cgNLm1BjKiwmVoQ#H9KoZ!+9r1MM{ug0!p{Rg? z_(=bhc#$sW<9NY3@WfEx3>Hakn3lkUG*T|aG5f$Hvkc|KSi~3dQ@jELIGJ~)x)3Mg zi8jLm2G2y7$2IT(6_n$-x+xFGfhVNHUP3y;xWErxY|hAdmFgvR_o9z7BM7e78A2@IUuly`{RH~lhS`y2I(Nd zwALq{&T4XjC)}0Ei0-C!|QgT!A}&Dj?5^ zqNT1znowaT#M2rghq(r(If#S79ug8x{9=ZL0RXr#DZ+#Z&pa`r`2t2X+ zI2|xV)160}!-{Di$Ac&EF_CH&^P-q22{(A4X9b3MQPKgAi}1rFP-uV$@Jnfs8?+91 zk&b8JL-|k{sC3i=$|#u>1O&k|Vjv>KAkIu+?unYDjs+K23epKd1Wk<@js(Ve5HDXK z#6m+@Cdhd}m}qcwq3I|yA`60XgLw!;p7e*4nxU{trGT!?Jmbf+ENteV3dKr9bXnLC z6bS}R6L`4{qGE{;78C?3DxB^tM0vW*l|XQ;q@;qt!FVAj%(O`+TnU5|uo2-TBjSl= z7b(y4Y0?ZO1RqETEmq2j(quTC?h$0KMbbD86D%k!BqBP38eK>TH3`Y}0KWz_pQeql z+;FiNhz(e9UMovMIwGf4-i-jN*0F@*JA}au9_(Jax#VYt_V|AKu)+?9wvgkxjEs5!t{!ySq5 zKS>-UCN~=Nr?P|)2}@n-sw5()C5mR*P@l~FLI$|NH{H4Xc&3XRQw)rJnhmg@CnSbP zEOdTMDu(*R7(l=Y#Au=SXz-{46d$NXCyKB@jc16C(nK6T10G_fc;JxBtPtdKFlkU^ z-w!uA)F?=zmeD-`H7-J@umRM#P%>x&YK2M39W}e+gqp!E$K~c8KrW4v4X9BPWCu!* zQa}+Ek_3an4{(yVFD#VM^1tY4w@$MbbAh-{rGHc;S>tIa7o92^ljvK(jcE7afK?v_ zBiV|6i@77}%n{TS&!i-xPh>c`i73LMAs@nI)s+Rx!lgJCHVIhJVkwXWpw>$LK{7%@ zawRY>)OjRHhj1dD`IMU?Mry!7ddwrrK$4TRA7d#>E_+P5=2_E8`K68rHh?^xgj(<< zQ&C!UD%?g`k0oWM>}0aY%_DRoWrvZ#UQ3i!$Q8|;6-6!w%E|Tz%7|KrJRvL8H2P$e z3yMXJ7U`^z2vc9mUS8BadrKuvCPvXn!$Jrzn{+UtVDZsdBTPKVT0C<+!JxlpGmV~M zNV5qhn}SFaVYEdBj$jdwafiDv;+bs~Ou!*PFo<59+W;g>no3O&7LKIBR1M4sRTk_& zwj;p+E)o>mj50%P=?gm&ad;MRfb~dYdlmMkxCE@QZ3$k15&3{a#;5Rs{GPZ4KA(66 zUf=*uLBlh@A6gJ7<)2^k$y2x8F*ohbRd3;y^0$t;TlX8||789t%Ks~tzpZ=2_;BW* zqx`>O`EK2-#)mRDN5#>n=PmY6gMLu)@Y%bRmuh=F90>}o_}kgLtY^|xeqX$dS7`gZ zQQITv@t$=*Z(-k3acqPaY?oHlH??*8f8F|Y%b&8Vs%n=Qt@^TyWnYzDDmz~`@Ijrn zJO5HgS&Hd+VRdWO%Ax+-Lk0{LnhJwu;gy90kL15!9hw@Hnm+sJ!P)k5b7z0$fr_Kn z@1%wu%`-JV5a!r^W&6PP{_PHL;LpyLeOY$#e*M}jx=$_l6b5(ay=r=NFy*}c2Od$| zOpiKK+U>vAuN}~xu)JRwY|HZ#^{(mgV9Eu1sD5p~?ucbxVX!q%j{4A?Vm`R*8B-%2 z9J6#d%i;@DetfdK|EKx!uW5>po3{-1e~=%)T~mCtqWruLX+QE&7> z!KQK3^xB4&i&oni%dSS}=BnJI&%_6sZ&*6ESbc6u=Ppz6ru;PpwtZ90Hx%wqx!zt- zP*;4Nsi7dbF56<7seZC{iR)9#Ky`pkb=Re~GD|0sKN4uUr!VXAl%c!lKD)|sn_=gz z-=6!zW2@fXJ#kh|&8ge2ZF%A5sq?~X4m~`A{y{s3*T3%8I8%0A*_ng}+mXPw%QJJH ztnKLReE1Dp|0^ z5^vZNdV9;9vw!G+?#5Mbc(#$=`9fbuR8ZOh=)662Ld6GXH!m&vJZSibMW&1Cy^*Rr zbkg?%u2S4#H8qp;c=E-uy`xmu>RvYfj1>0^-(cIO-s!4)b#EDeiFf`__6|xPL-GGT zh_YV1mOs8qeb&Av>8BO)CsCH(&>HZ0(A#pvC;MJmazjf%&7#cS+jUd5#}$Xtu6oUM$@STTgUf0C*|Lge@np{Qkt3hGYcB>8ww)wBMR=RK0Yn0 z_@f)M3L9?7+8-afqjtsYy@5^1H&|*{G;Zh}OBrmZx~l$YPC9NmP^Il~9B^(o)K;&a zw0ip{{cTGN_vJh>uBoqVeYI+FUcsBE+V8hE^fb7VHwCU&$k|RU-Kf8&bNl`69c$;0 z>nvzCHMSJQnHqbl3m4PS7Dcunh6N0H7`A!n#*l|$K8$Rz5E>3~$uPpa;5ekqW&;ng zWKwWG7*n_~tO5@WqtP^C@^A&3)H?$=?o1PR;)7{>m>p5%frujGnPFg>5I%;1H4eNO z&cV0ma4u+L2nP(zCBT6fGE=}8#}j?U#zfhOE{E|99w7_hg()M#;8R@iBM^Rt2H_R3 zOjGcIyUaJ28}!M8!aU(w#=&?1i}DMZ%Vpy@AveH?vLOyU(#R-qGk=hk$O{-UwYUse zNv1IKCzn~s19+GR(1!^}c~}NiUhvQPQFh=4e}Y%sWu62s<`?pW{3%V8k>ddid~~rK zM7l5`A$QQho$8)VFqBu!2MC_a3f=Q48`A-dT#pP7S||_YXC6rhBe6bDa~-||9`wZ> zaw17%2FUy?i50pW-uM;6V&8I~7W z#8eHH7#b6XX*q#N#xFlf|FBCynp-24<1l5X#eW#o?4^RajM+R*<1iP(gjAYiVWO%` zw0Jfy&A54X#8$Qh%sCXZT*|>gHv%Pwsrw%$WbTPlXar3TeBqcH zCI;>Vi5g?(vbnipIGT!tgz}u$jh+**oP~0PPK+kwkYqyt$ay6Nqu}t2gxI6VmJW>~ z7l!9Qj$;r~$IwW&W&sijdo>ysIp^hI6l`h^M#H3!BBvO;JLG>z1qafc5yIwK4ow$` zE)Y;#qk3fhf}UY20zD_r5yv|}Zv^~(KIBthBZwMnj5|Leu!=o$hn!yAMr3Y2?0CWL6N+?RJ^yZ>9iq?%D1+87~Suh8Rq^UXg zR${b3&nNc?ENP4kau`f-Pb&AEqKA}v8tOGr8%P6wqRqW1@&X4g#Df>mpl9Zp%Avr@ zMui9yq_8SHKC}3csS1lmj-{(URgHE9q^zFK5<7rT!6zR_>}Ro3`88@ zW!^ZR;GwCAi$W`)1#wT@3`1>Mk+)0}76$U5myQgfMQn1IvIf(pGnz6}s-(-@6Je8< z50vx|8_zy!wXAPc=TvWPX-H;+6U?t zy_(lE!su%N4_XL=7Qu3UN>h48k2JPQWg3De!&6Tvcwt;JFB}IRZ~+fpjFFKf}59diF7c7bfUre5k{I2 zn4l#Xr?e32ycHncehBB6V4pdJ2#GV+P=y@O%Js+=3kx070?-t6smv(15*BH67gGr4 z4Tx}we3(8kk5Wam5EYhWBtQTmaJjE$)A&5r?S<;A?w#lH? zD`e!#XFdgg#1j;QeZWA$S>YOHoH9Pf0Qw>q=n2UqPSlow2Tva2WOYOyQ3jF5VGmfq z;6fSYJC_lX6ZCLLKEw$)4;hGNq0k46EHfn!!Xyob1s(VvAxq!#34Y|Va}yM0^}OR* zlwH0vK2c8G=~Czs?@Bt-Ku6p?%O&_h8a;D?~T*QMSYXatVXJ$-PrT~B{gJF@GfJMRBzf0=Gvt=KFh-Se=ke~2M`KUm$fE6Z? zjr5~q=5J}Q)Cj)6nzwFxmfAMhk?R#=Wk84>tO6M>q@xIkr{Po) z53RKd-D6@{OC^(C$w!ktrQLCU?1du+P+DSu#YBd<$P-O|evu}`&-Os*L^3`?X@OQ+ zFqNhb7!{={O9-YN_$N)Xq=}w;szh8!HZ>2rFkfKvfH>?Ri3t>ph>QBcT`)=G5ZgiG zj(lVzDFu-0oUI{YL}390L~!wRljZI~L0EMVEn8r)*kGZ_A{Ut%4ryfRfjhP)Vd063 z`e?uc4`A@jYtgXcxQnLhMLxxW-j zougZdgo`wWX;7hX7dROY=8q^B+4so9=|kV}4`rloj`@`NVGV_*QW@B5OYzJD=!sgE z%LM*dJD~w6JK>9gX96__&z>kd^2wFNWq_7Y*t4}T4Js$&^pu-ip+a^nTjpExgmAn^ z{W5LH%0siben1l~0J0LiAx`j!I;1euC*GJ2$_E(mj&x7WM*RW~FmhhbkGcnK@Qr+s zt2{WdY%w;IO@KTs3%bY9*ut=Y$3=NDC14mTtD<`{KBXlQE`|XQlm=da6Eff_1>_{` z57tZ4P04ah{6JL(j2J?t^-jIoDZ^+c@;er8wEu1KNNnGwNC9pX&uX*GTud{CK8%khfp4xx|hNpC`C6BrlHJQ_Udw=i&EJ zvazE_as!e2%g%OSmJ&D{mBAzE_76#JcVCvSR_9Z2|q-7A~A+UQ{7V{fk+M}PUU~@1cr0_ppbywO`iWal@mz*5>mz-O;sTW z6>3s~I|pZDlJ2|=><%&(g)50THCh=nqvBLI4L1Tfz@!|2lhzARml7L;$WO8GX@Yq}BvAO~jk{b)o=`ifT=b*Hui+3ckCb*Tw?E+J(Ptp!lr1ZqV9OR`5 zhI40AG)r1jQ7}s-@uB8M#ZQci|G5*G24`cEK5V%0F$bK=ah%N^=#_T5P zW`k4tA5z_`MD8a^8g33aF9(?yg#&jThO!UR4Z{4n3GowSasOjr=FeSnB~F?|9f;+(%K(mW)L?jC5O~m`7i`(l9-qz6L;s3ia^hegMwK|pd+km|R}qe`(Vf?$O*0%8OFh~? zudyPVgxNbNkyMspB~;wka1KsTx*m_dgj12g`=mKR%F8*Jd-oF!hca>Ip84Zcg{uf! z*^n24l{l&7ZY=Huj)Tv@ErT!`rb#X!L|lbV#9m=tz4sKu) z0!W;J-AE;E2e4EX48q#!rr~D82cHi^-a)Ax?i>nci6I7dGYQ#;Vl`O$hXkouh{Ku_ zt%}n+GZuiPRiJ1b=|)9`goy=hNjUC>CrRNz*WE59wLqMEKQiJln$c{SwhmBBV#>VW zM61>^BzovDTC0`JDq%9h1QRBg=N;x3!jvw|Ug6AR(~i>E3?@^B&1r;TM$2Y4n{&Vo zlMiN`Y{~(jV&)1Qpap&?EX-TvV_YIX-4)XnxCj8uz0eg?TExG%^ zFcOUpQQFSJ;}8!#-0Y;03#slP$8iwd0=7*{3&D(D`UgYWBS@25cHYXXycCpk(2QGt zqE_vRg%kK6qjKY;I2o0az}!pg$Bc#1^FL(XrdE>Nh(i}vDuyma50e;o9}r97XVCwR+ioCK|qTsHcm6r1ybA>^5af?GQ5CAeq2Zs_yip8fD^FDOL2V24{`L2-A|kkX>z&}mh&m_2!ob@!?TE^ zyO1O2M;fixFsy=``Y6E5{IT3{`Vz1LufPZ1sQwgqkxqS|R~&F5kD!4&g;5tGp7|H~ zkuK7s7raw)usyhsOKPhMsG%qO0ard(3FF#s#L1a5)T zlfGPLkzc6?&;`7F=Xg(A$Ok+Wr^rZ72W{p}@Gb5*7>Z}WiA(S;U~m_-W=+iLHaTJDMJDlcN2y;2e1e9bY9a?8N^jRni?t*XN2G3-x zqMpDnw?V`!GLz&Jj+27qC+9X!V^bLR#Nv1rGz=-(0uK$xzGrF2Ae*l+ zWO@3>_8Cw5q}ia7fcL_AY@wFiZmqgZkZ7-}M z^E)m;k9Y`;p#hxtvq+Mb92H8zP;7}WRG);Kr40+9Ada^15$c%v!)@qC|a zIEs$O$=vHlYrbHe3@cJoL@kg!D2B3QEt6JtdfqZh$3b(v#uD$U7I zJmlm`6^1t=cw;5i4kS!F$ayCMwndVhcq2?`7}c{hiGfN348@nHAG{fba-#*YSq-^h z_Xf}cJ%_2Ryaq*?I3wZ4UF@?03|sK*vys=5^UnAJ11S|_!6?BvM{f5yr^u?wQ)thz=^VZUWfxO+=+%#ZpfP9rTHxKuuSE0Fb+>S2%O*( zWki0Yi+H*Nw<1H}gFJ-n2%dMiq28c-f>+$dCGZJ;W!#JdFi596JG~J0psmy?@_Oc% zpG7?=Jjpbbc+y{%KX6jLVnV9ufDEhPMVNTOCOMX;;KPF_UN0uvEDzMT%sbx!k1%+n z=V;oY4midIyx5l_@&E_w1ahQd0C@n%vX*7be0$PHmx4XsvMw@S&>|S-3;GJZl=}dM zC#2)V9&}CMlVK6ZcmN~Q2MqA=z7nAq$S3j&9iuXFUX&T-lFQ9;C==vC@dz`|pfAf5 zJhJbD%BskP@G_j7kLh{J2{Z&BGXK1LOqK!Dmw5mk<^y5m1CNv!gQ3EU%n!?p#u>f~ zTu4Jc@FHl^ond6Zp1`TVP+rCj9C$`MLE9Jki3gF6yO0Z>886Y|X9_cJ8D6AGj!PkY z6ov+KQOP{kpyELs!j}sS=C~6_7-@nT`7VUS%7{)~6j~GooK9XLUYghek+ zmT*IGGQ30!H0grS1byZa@RIX~D~pU|79<)dSsjd5&|(8X?p(k(Xd#UZ7^OVmn=bjl z8cve%t9ztV8SoDBnu)Z8Lj1|@RJX5`9i~1Buw~ft^H}m_5O+3yg3po-O9?$M$#7mb z9NVpK8l1rYV0O9}b|g10$MHV~VN^`l9p^^C3B2Oy#>Y?022!PETPE)Q$19jfl{Ogg zlAE#s+0V;u{u#q{TsAG9nK6%%U8J#XLT{0|%sJ zGqTalrXib#)rzvBn!O_#f#SQ{&|yVc)|1!SIQ01b4)R8h5+t(Aeow`7N*+|sjWjAY$HS{i&w>nNCM29!HrbdZ z;eACK^1@6bmE!=fc`|02&JW&qF7EW{I2%pl@qL`)p2j4&7w`Jqt6B;yi=2lFTx z@`Fhkr!QWGalp!qv$29_85i?QcsO0g!)Y>pB^^8<&O=~KPv%qMN8kY8GJk@9>69HI zVd(=IF2R_%%LEh#K^SR_m@F;ir)LNW@r<0TFG+yZpiqkt5Yni|#Iv{ynw$@~Md6W0 z2$U*9z%d_k%`3tHZoxn9z=2EVmFa><`4Wo3JOhUFN<1s&N1WgpWyLct@FbU)Wq>$A zhemTn4xmp8C}=8oSspAGXfu?QaG+euAOl&7a$v<1G^iy@cUczXfe|>Ps9AG)xg75L zY^DmjrN$-pCH39X)c2X_}i{e)yoNN+fxo>AJ(LxAJ}AX zjw-+<8~-Am!{CANi8RIuIK;zlX8M&C);FD z<^3v~bHKW*F;5?BabEA3&{g)4wx@c6qrJh}vho$f%%<7el2pt2j#IO>t8Gs^RegEY zT5Z#k=;^hGauV)*dG7MZR-fJ-J*)P@sj;JL>z}afw4coD(Ah@mesT2&*X2lm-(A;N z1rBvwr!Q#?G;|fG{d_PXUT;3S*5&F`#ou`$XKbA2JIktPb=q#;(6P5L{&$UYQ(tLp z?|ZqsaMx^2R~)d?NP;)t>gI zZDDF*!P}oUE?cHM@l*RW8?GoX_Z0CHgMwfX=n=n8DU~>z!NXF3qnVqpdZo zZ!(w%PInisZrB~OqV{0-@~S&CYtKcG9Wys4`kLB{>+amM#dy`H4_{Yp8TOlp|KO*) z^|?c?erxyK`%|A@{KW9TDxWV&D&OsC-$~yP^!q_cIdY`$N{TNn_IiFk^J1JFoMG8! zKQZk0-yXHRZ$F-=%N^=It6#k2^!X1D%_}+_ur}zyq-V?biHN3vilB_7vqq<^Kt@%j zuELn~kLr_6R95~M zSxg$oJ*V#S{++qY^QW?Ve$r{G&ikuh-XYI#fX&x=ho)o>|8e7Cz6#49bo28K=JF^@ zLW$#Ofb?q)@cXN@s49(A^UlC?S!+*B)xPrl@<-Au3ZGf~<}>Su{+g)vJ2ZBL4|V%~R#N#6ZGUInYIDbys*>&${px~(g+u)( zI@bPiDA9gX>9ma{OD46veg5s1C(l3Gvi#7tL)&T>e7c~fZFT)?^=g%~CF_Ml@7!Ph z?C#drf@Uw?Kj-i*NxM!hy(;R;o{G8Jv3Z@R7S*Oq?mM%)akXy6rM*{0U7Wf4i?Tc4 zn;r9W?b6?+v|gwC{3g|!yL%^0^GwL^o3y$y={MTk&_+xDmLyf;{nG=RyR>afK5e_H zG;L#D^!w4R(FMyZ)m6mDLjor$r<(Q)T{ zSJmHEs#!g+x^yr^7yo&lYr)e-Q_r57w%2A9%@|r2U;XaKgU)Z;H|h;`i#4&lRlT6QgU=p-Y7#`Zr+25l3s2dZ84=Tdi297{(t3D@ax-c z@cC@v9^;Ovjv!T$akIZqP*Nm%81MeZ9nyJzJvYzy+q!@M8>StSLaB3xx~oj-$Gm3e*G*4OWyDAK6%K{$!)UK6orbUrJh*Y^^n& zR%>c4)SxbL&uQNM-v|**W-bx>r<*&*f-jhpT^^J+k zG_;P?byLS4<^9n)@6c7Bpkoy|3cVRdMW8-C=bW`2kL{f@($BVA|F2OPS#QMcAL@wc z6Sz7Xl*7K#9%yjzNL9WseM!^#@|B{#92ra5G?#%9JR{6W-Xj?Al z=fuY)8oqirt|-k`70aL2uD3Sj54dTZ6{v0H1o>kF*!FbtL$Oy*w4MzyBM z>S$7*(DXa*H|eVNo0W>)AEQ}mK4@*rrLQ{E=bXz*jov@6QQN%IZqeS+xS*&$pfqTD z(#G=W^d)D`f8^6c^z2Sly=8QNu$gN*%D)!;=Q@f4?h_UtlYU-3gVIkFT#`p6@2Ma%zIpr&Ito$YvKIKOa9Ilijrs&j#mfPmIsPiY@7a>rzRvgT-82q1CRJ$LZY#AK z-Y%)_9=NAx(ewms|G-8meORu~H#s@z zu6(=tca2F)&p-UF@BH=t_X_Q434eA3F6bV0>Z^rwoFC_Ge_?LgtN(MCcW*%=T4kDH+25okdvA#hqGRYP=9#G$|bk2 zU2;eBoc)JZ6mwH(0E?k8^H)Ipp@YLhdNqefx&p0_PS#AE35> zk*ApcSIvCBr#iUOKBWEb-TS7zRP<%Q$3dHu9;*05#!cd@rpjkdCWvqR|*|HaHhizXzVo&>`(_6wt<~O})6izg zawR(RKTVsiJs5b0-Q1EqbZJoa-J{bSAEcG@+9hL36h4$@3Pil(~H13;i-J*(5(LAQL z*;PX)T4!!bn5mxGm~9(8U2C1ySC&#-o46^yy`{8HJ0X8|YtGE>l=q9<`=e8{TzSqt zb90B*H?D5G#oeh;M>WpfQIRgJ^yp;*jYInK9q2iJoAjNE>oRUSdza`+JR&Ziou>2F z3(wF`Mwoy5&bU2wCO|iQr!q@7{QO($KjN$ORhFoV7c-8X-MoLwvZ4zCM}yWUg^P&n zqOJhyO3c+hqYtZz$5*kv^#h^yVW-I3+|v_3orFg_1UwWppxvWrIqg!uZ*j!ei zt;@@5-fmr@U7dGJ*UYNfZ7HpJGrJnpeFLp$mKZByElDNzAcNx_bHQP2b!)Dvrz$hI zxuU8oDa9V7b-dG9aJZwoHOtg_;bgTFC95h*O>e8`+aX*%1O`qc6@?kQo_J9#l_VpTa1m?dsABewy&zD z&A!A{@T@CyaIoOnN7uZ6AVFQTcX@|3;(#rtMBmhS|E~8fDeCh(>-%#)eJSb8Q`=k0 zKN_+hAF#ZiWHv{rvRxB?6dOP7T%@Y{O8<{EsgG5!HR{%O{O;!iceWay*#CNoR=m-9SJRZ;MRUd+dhoU6n=601;)zR}Pl<@M)Luy`ZNuwdQ?ERJ`McRx=#n!V zoBZ7-_xf|wrWnneocpGBEL)zxx=wSf<0lD$mSeWQu>95M(|c_{ZQpY2F-xl|{g;M> zrd_qgE7A{J(yh0zv0ohcIm^(jy@VCj|sl0B*O_%OEHRUfw&y7(cI`29&<)fmDr~P(O z!zu|Wkgt;b>-r{HMKX-^U4x?!u1^lHd~wCGOPfzm*;6!sO!I>Wl9yLrTyd;(bJLWH zqOQ}~UOJ;_NlUA9U~As%?diQ%oAuVtxN(gin5Jr*4I48vBjZzT&4&}u#%EvZdP*~S z^`cr^Ywx1v)!9dD?@sw^ZdQX_YK~r2zwfr}me6rEZ|!Sq?#)m|>6#8Za{kUfjT=$17^}!#S=cUZ9I?~av zAIN=acU*S7x+HO}>G14p&9{)5uAiI}zptPc?Z3OK*4jN>*YL$1y}lNX;$S{;hi&R` zBiZm>N*nbax-XANeMfoG;xVTm{4n_i(U~X_hU$wWOv8Ca!0n;)^4_(LFqiT-epN`3 ze}5RuwYruxYgUAG&N*}FqoM_4>L1*i{8;5W5pndv$jVcf=2$O9={6W2w`|R>uap%; z3i|5?+`WS0tGjwI^qjOP-GF;FWBBEZ8J1joO>N8bH`cuPSk2-GY8F=I4&^qhGdio6 z-degOtgB{T?5eB!fTJHoU6lF?zI_nYKJ1E++naLr!VvjehjpE89qmJ4v z{h29yix!S)@a+JU9wFB8H5P;38=;o{cuo`x_i@Y6b=rzcWq8rmBK^SFKp;8{S@N`o_!3qMrTL>^P%7*1k6A9r^_Xo$qM9Eq05% zU=nFKXzi_v%`|ky#Fmy`y}0{-*02vBbePSBJIX&8=~r#{vlggWhMqGmpNSU*OO0Mm zVV|H!6{dLCD1siVwSFp?ZP31z_F#iEqsag7`6B$zQ{CrF4LTh+@vkI-tkdIto=Jre$+8S{*O#4-7h-H_6_1 zY?(EPwHJ$P%=Y50kNcgu zU)*g?2<~~&nfsfn#Ce+b_`LA zNUzW7oN=mjU*ZByPyCvK?T+3TWAx{0wwP6krgu86WxEOn$_Mi=yk4Ey5~6D=NO^AH zJ(tU3U-sMs@q_)n>$U2mrZF2$TQy_eU7|T2-&!!i@uYoQXZ`L(b9}O6xn+i_6!LwC zgdO#iw)2*g#-*J>jU)dXu=iT;t4K`J4xUl9HlDm+U!Kx$yJT}X+Z;bDNnJBqH}u3; zv*(ty#3c+A6t?b9Y>aPq^j=(>d)@~jnNk!-NmiywiX1;v6>kiXZ1K9rPmcwB=Qw?8j^Jk{~Q}zjZEN#;MQ=9$&&TPhS zz&P8VZzWPU^rI@{n@uNg8UL+}SHBhbt@!SN{p3#DftgK~&KZxJ1_~TcTK7yaY&UN2)Ymp%sa{m} z`r6~>KMhnoSaEkwX78(3$F4-1aof<@@75)(9I8%Q)MRh&NPflCZW!BP&Pf_PsSWIz zw9Arx$+Wi4a&&24=D@3^-Jx4E2Ww65yyL7>W}8zkZJ=rIlBfey;53T6&1?4Vf7&j0 zn*U%o={OL28+re;$y@vS+K}7!?7p>Z_idF+ZY_Nx)6eAP+y$p2Yv@Mdn!6aFIQ6}} z{DuN)awDeeZadw}ivI=%$5o@#NQ)Yej^L7^`BQCHLgkdJyu)4*arWWefdT$hR`Jn{ zGz1Ulj)4(7{I0oClHppn!5-M?YzwFl+A93R2M#SS5)rb0xaVxJpN&tKQ<~<}EavR% zE4#x}JiQxJecbQL_+-y(hK1@`wR=>Vy$9~B9(P^g_Kvr6JSDA0V>k~7P^ z=RnEK4+k8k(vE$dgE8xSc4XY4Pi#9@GE+UP<>{kod&f2Gk1M;pcGh~ss}f16HA^x&Sb^AY$%Y8dH+5>cKi*y6%(GF;bucH zt%lh;M~2o7nP(zt>9Qpwb`|wtp8il{m0I6b`p^0Ahv_L~FQ9wY?y(T5%;`sT?b-Yo zt{!HsRJ9pK^|SW3l73wAaK;;F@7h0QY0*~!p9Q@sBII6Una1Dn^0melrJHb1&xW6n zW!C$3-pY|)gTcPsp(V|M86juq>^t;Q(Yb(wLBCJBQCdXu=p+nI?Y7&7Y&+hfZHcAVMMZde#w zmRnZdnWgWUq0KCC&TdVwoSE=uWBLihqn5Fb;0H6iySsYLL*0f(ds1~?^}TgX+!&ko zR24g{VQ&Q&tag@nnAc@iuFlSC%F>nf?HJfI&^4*nl51!h)DL8vs&sZ|%ndP%;f`(2 zxizt6p5%jBT$6EU%>o);YKCq~F-NXG^sAe{JL3o0$G=*yemHFF=L_C#{NocV|N6t~ zZ?p-wfOgm#+CK}Bey0Qc{wm~MaU=NEM%)KCk`1pc7=E)Il=->pv(5!YBmLT%{0#_V z!ZiH)VWn-HZkpv-Ua#L0AW--gGc#)8YM_YI8U7BA9opbccpN`0%>d-a%h)_utG^FNI#S7Vw}_({oVYx zO{u~9ZJQjqGFu&A_vNa(ua4B6-%)qrQr)?Yb**RXTB@e|8vmArPdb7s)5l)7`QqDu z$cRno-Z=Ef2QzPcEqcMuD+ll2wR!BaG50*Nw0DwftZsG6H0_qgW77A-?=+I(mwhha zlc3)vU03n_j31r-`My_Pxj%b3c7g{CHWh{XkdPz_t%}eqMS!Z_Y36_PK%E zE$@|=X~urkytiw+y72SES@)>b7S~W=;5f@U)sSQGbpN)4&MfsG`?uL=O&;j5&aj(z zYd$~y$l~|Qd&;jbf35tH^3TgBly5IzSl(WK`?M@=a&}y2VwY~kjbjQ!>KtX4elcog z$>HVdrOufA#ruL6|0*dr>AOi&lI}^Gmo)Z{cE|sWvS|n6o#v?9NAFC|KGF8Gah356 zA2o!|j9p=~EW3Bo3B$}k)V{Of`wg>+q9pr#`H@cg^Y``<{eXcdj1msLbivaj@)>+O3YPpeadX ziw)*6dv?CIbNkNqI}hyq{m!jB-`UnP@BXy=cdt3~dDDbb6V9}2b%pyA(<e)Mv=l-;7pt(Eu;~?;6`*6*kHK!g)Z%w~t@h$0V7OzR4xp-!J!{UbYdG_rqvA5sudvHzoR{~IGd5Q>r=TjX$k zE7!&A8#@-o?Xv83q#RDQP5$JI;FZSRD=Svo4;!yb9hIz!`u5z^;(L20?QrhO{mPQn zpVFvrZ+WPA(d7?Bxi7G!8g^$I8+Nz-{^)aMFP3E=JYe~owK=o%o(skd(@*BlTbw!A zTJZ6u!J{8X-!|s_fm_FJnK)rf+KsE;2nm@#HDmX_Lkm~+KByX_yTQ05dDZGCZe4RM z?3$Xtt-CdB?(;iVy}mnaRLy4(L(e-dW_hZ;XYdQD4fwqsFYBGaI`4C9Z_z!tr1F`} zhJ=bY&uJ@4Dwk>=Y0Bzfdgq&lAE`~nKR>m%u>H!D##!ffx`rlHuFiBm`Pr<~vkuK_ zn00hk^Q?oj>Sq--=q>l%{p}leJqH&9-d)@-@Cef&7ZRkHydY6Uv0D2TS}H`OL{-(Ds{!%KC(YH*;icqzHdEr@zz(KxUKDI z?|fC5?p@D-u>W589%QKGcpJLu?>0P0ktlMOqo>^K^-_+JA2Y+Vy zQ}!2=FODs?yUtj?KP{)Mpy<}_oqa)z|D0$u*W@SUoG%QH2_4MaC(X&DqDi zgC9@U799(@eoLsT=C8Nj_QSdJA6T_!cgTtw(#ke(#TsSNTYgx-QAYIt?K)^)>GrqulneiqIe}KiQ3Y}`i?eRuSylC^9T;qI`+3r*Bjf-eUlE_w)Mqj z{ysf;vR^jG%&EGy?e*TNs=IY>7$463bJX!Wyn@FzTztIuC#oOnUNt_HxjBl1TMs%8 z$Bkc7^l8u!Djq(2*RrA`L7^3YyZWK3Pgas)v_dF}f31*}r0HUMZ=~uDounkke1l5$ z`)C6PNgH}csjk(%Y!u4j5xmownqt4VV%^y}ON%}W`pK{li}WLEK;^ElsR6z{%`K`| zQr??=(eG`hYE8=fv)laMq}p~}b~&=txf$p7zhVw3Ny@qE;X4^O?VIvtz;7DkzqsS# z_j<2UeOvb%T4STHf9e z@6hlLut$g4aVyQghMO^u)0yixq-fWAOqGJootNrHTh!Hdef%WnTV!FEU+4dKP~K^v zOn3e4E%>KaYrJ33nz$S1j^lU2j59{+@|5Ev6uKol~>S zHA(G!%oU^0+gMybXnreIUo^P!r1hhO=~|2CP=eW-SE#A$u)l38y_`3JGL0#$>$X3u zcHZlB#0)w14?6a{N`^L`u`Z8G)W;3Io#4#9-B6!jLKrlq)}d1EUjs`m!7tlma*UQ` z`L6F;ey^TiSh)Ghs{@0dRyH;cZELmMYmZllCt2#9u{QI9*u=o2uIHrO(XTXGZ!Rgl z68pZnZA+ueyy))V6>IleZcNkZa8U2}^zVe&5yT&a1yV$bB2%O$_O)_ZRPw&&&U#yP-TzmR_}6ZPN9h^f2Zeo z{`!56f{t(&aQF%T#kidMj@BFf)#*3(u5}-Dm@H1MeYg5}z%lv_<5)}6$eY>yt#Qbk z+5efPj!rr~_{$YdkNg*%9^8G+jeB==yQVEX@ZI%)xK^+I?wEJ~cgjP*{jYgm$3na| zD-C}h>O`KgiuQFC4Rd_(?B;#a0ie88vB>}LT8!~FGQJpQ&!NW#rUSX^+^%4+BR=jk zKf9+C>g01&v{#uHCFy{lw2|6-r>SrI_G2O_=EFDkmaD6@jSlOT8P0V>HMx^poRfB` zp3o0n&Ts8V%h1-o7nHK{6YH-IjG8h^7wjmVe$u)<%(f!=Qu!0=x0_r$6J{^XFLOHA z>kCW2>Kt^vwdj?dv1N3MbIf3_UejzE{hOxu=oJV<`{~^T?^>peF8so=$X4ny77rD> z-cVa=9mRiW>^2viG`#1`ONh^`P+NY{rBP>%9Wbs;ul#-g47KIpinDbt<4Wg&Hw*G+ zIrdB{Y3Sea`JU~D?Qvz&!t%nn?JZel)kSyyW?_ptZBfiYTG^fuS2nn# zJZ*16S8-HCgvtX8~Gd}R+q{mY=`QzR4;yU`@u71BcoIN|QET^&p>U&ao(#wdWr0|I>qq zQ5M>mDK?StsY5In`Uk``xN^}qXhC1B4)UCb*{Lo|NF8GtDs!Ev zH4Qjx5=7t8yxo4k-c+C;l{GqDz3WS-O0)FSjp<- z)rDO*>1~C{PgIY3-}2tlnf*_v8y4zknij=n+@UR_74+74_S2Lo{WS~X^hd=vC8_W(3T~}7|_L(=cUf(=3wCkqgB|Ft`l$&>~+4j936@0(H z@RkJye_cnWOATb6jw?>P+HA72@vw!is`E@BLwa zcSjgo5La6l!@l>5mK29OEezjm1zhYyaQ)Fs;%~hktpR z-vcqW4feJ6Lh&A=JyZPstf!--w?lY28ok|)Hsy%q)y>t_U6`L=sB#T0D9qpFa-F;} zA+g(hU%}*p!qKL}w}+g^%-0$;Gy3hl{lD#Bwtc81-ZViyy|d%V1bv@r+0dk7eQCEf zTwQX~Q18l}l#pmQx0N*~#5B&X92m2=`pn*5TkZWzU4zByy43GAnSRw#*1SReVfmo? zzUrP``kW124!O#DRs| zbA&g5jO=Ipx4N;rtM$^0$FBaLz8k-SKEES_pP^nE5`0{u-odJlj>8^}d9Cp77Jq$r z6#1d-cIPeWH+lVhT5*2g*O=V(*E(!A)jCtDGj@}?%@wVSUu#`xkbJ?B34#+1PRf(JLICIp+z18Q@l z*;TkLF7=Gblow|)4VpJNGp?AEF6OtMvRJRgnJmhZQfxCVQ>jW=t*K?u%21or5uRon zTpfOgc}P`$*`nTX!Dc>OIPT1)z|!J`>>OABgQnNjg$>xEYdm7}a!1qFK;=a=p6{IT zS;iQ4;Q|{^NAlOdZny2~^z?r#dlCIw50}q59s2LyD_+;@`I=t$^S~u}!NXHOe0ArW z?n(4s+wk{_x}75oA?bleb(JO6{ZizP(nIw6+o6}2lH;ZFQ#&o@C0T@!Cf{r6iEsm39fF~N5- zc__f^=R2AF53exzeY>BQZp?6UEeXHr;f63)Y z3tJ}Rpi1ZM6QEUPUQ(vh0oJ?(y>u2}*#Cz3f9VQ`^tz1^-d*c`9zf~(XZb{SE;4_L#4MHWqWSAjW$4N>kWx2%@*_EfO+UAYTeuUZT6Tv zV`}EC_+Y22-j=&iG6HGehP|=vhRH+GLxV>&8e3s*oay51#vw<&tzc5sFZ1qh>L|9F zwdv>jk0)eaDf}d;r^n`M{7748vj#8hHyK)st@o-O4F~=odv6_9Rkt;Yi%2UWB_$;# zAhGF`7NkQ|y1S7MB}D|3ZV-Vjjihu*cL)dq($bxq_^pM&tDg6q@7(j<@BZ!|_u0>U zW{)}Mm~+iN##&>Jak4ekwYQM9_5M+zq&Eetwl0n z;(E!7o~e9jjg5y?Oa!~gj zcTaDPq-xl)cCOsS@kxv3TJ@U0n+$l1M`xVrkE2@l!a&47zN-9-GyNZsaO+@OR6hXT z;b`+@Z!K`Y?Ih~_GQ-6=GjeX%|IXi9`uP7xE8?7U&>9CmasTtb zc@6aPCUqWgqmGI0DTBf-F{tuJuz8c+iAXs@_3$)JOJTf6?$>b{Czz0 zf7P8N_iX_e(kehPh;;2lFR&Regz>f-Ux}0X#_-g~#*2b;?Z}!x^dip{7=BlX{5|*2 znZ5s1JyPPg3x#_Pun@=7k*QyQeH6cmjQ<;!^}i`H{%&Fo6d+gUbpwC?{{DT^V(Gd0 z>c9JXe<4L)zA}PYtql$B!48&`PX*ltV?e< zBG#wz?RouMI|9CYbk%YT?!X%m=cGm0z&N0%&%f3$QMkFYb1c}SH6LQRGr!%ta=^W^ zw@@j!_l!^rteuAqb$2)K|Ja2AbtmzgFhI^c6e!-ysFCZ2v5i9y1ddI1k5x~HOlsuj z-OKa(kNUHZ-6{zHX;dI>kFG{;);)7g3C4ANpvHH~#w#c&v<3aTCU|^)vvXWR#YG=P1_rEpN_v@?XKi@z9FMg-EyeIze-eWrkADo)el;3{8Jo0B}!2Swp zRmix++WWm;*bnfe_(#jLKQ2w9|DO^JKpFVI`qpUm^IK!1T21wDvO~zlt<(Qw3JB-w zae&&n=bqU|v48d382wu-H|O6LFAa2Eek}fLssHxF(=KRBFHPK%8TEbMOymHP#^U}- z2oBWPI`1Va{=mQ~)^)Q{J?fukx~%?NTXAO+(3Yt2umaR2PTjX6cI9|h?cMr5^&f;y z?cr;hwVB;D%S_sqF%H>wshT*fwmqG(g>Fbr2#%^Nx*n(6d+Lk|EO_kW2`s?SrsYOz zPP4Wjtevt>92Ab)G>m*qx04x)-HdIEU5p)xJ&bLNoeMoQlNpVzkDZF`iyf>wELYXq zTU^p~AIr*f-FcRGQasds@NMzfriKu<&)==JGoH#vM~rGkcPB zbYfQ{xHG)Xn_yNx7(S#ts5~?Wi~R1Gl(-3K3J4zGG>EmvF%H0N z;PhVirH<4rUX+@;rA=AmpNWHS=Y|9Sd;9nD@ci8(;$P3#KR$c^+?EPpWpdix^H=j4 zxBj%Z0Tj5c{)^+%DQ~FVZtHqtFT{B@(SLry+1apr>Iwgu#}~j5?!VGf`(0!E_uPLi zsQ?D?Yu2=Wv1IbQX_Jo?jjMPSYRdw9zbx-Bi~pC?hf7;4zb^jYxeJlIv?%z`JWrgd z<^S7?H_lF{P7_Rjx&`@gVIyY|?+at5nsU+~F7WFzSkv0dyMKmSL}OwFF|l@C_s&TA$`IeQ!@a&8^R&viSjMUAVzGLteJAzj$8 z5P(%_m1-@h_ZO#ErWd4_r|&*k3$dR+aXney4-?=Gh9Rh}-UxwxiJ1QGrsvZ z+a}9sYdNt&=^yPNU#hJF$Hi~&&Mr-BoZD^tRm)~$^7wS`_~vg$+5nZ>OCv|8n3^0t#v1}i%JXs+&e?J zz>gbDYX$0`V9J8PjiD9m1Gk6j4J)S|Cns(D@l7!0#QuY0wwi>g&Ep~uL5m4F*q+k9 z$15$_q@;CI>9wt;@S1o5!IS|fx5T8?6vv0vFqu- zc$v7kPVjfHdN&(k-a}y*UPAsnT}sajc8t!i5d3d3-So$8fq(6{<6pc&JDNIPnm;bd z7gKv=2XTZ%_evXbU=&7wF*oG&caA+;9?f+8Qn9G9lk1{dl{K!i_DA*~>}~(L&;GR? zzkhQVHbpr;$t4|fcj?IcWr=<+>`50X-yZb4qc|kyuT6RRe+4>kaR{u8`|ZkDr^{A* z1;dctS9hM8_{iBql!^HRXOD#7+4hCQ#gll|t|9b2XV;{8yOEltM2)5bpZPlLZ=(Z4 z6E0Rtq;+qTDy!)Ppsq;Arq%u-M$#$FVXe1$Yi#fK5cX;U zl)KfPMfJ~(ccydw=ecx#Je@`Vi|_j{wZwmws^_BiTu7f)Nm<;tvINE9b z>kM!@8j=`W-CRDZ=j@h!6>uNb z$bbHQ?YEBO1VN{&=(@E(w!4-c!};?6UNP`5&JgfO`ORj(tFs_!j2`be)c%;RyR5SN znET5bbl16j{OttrUdo-XP0Mqus@d&0=a22P#yEGP&yw}E!xDXqjfUWt&HKBa(XZR5 ziD|sXL*v#z7$m(sMa~WSbqoA{`{^I->~FQZ^6OQ}hLj0>?F1jVkUt(cr3*vpcvZ8r z$8P?dZM)7c0*P-%2CkYP=^SSMJFN#stDR~p(ak5c5M!0tpvJPj@hQAwj;~g6#^}nG?4dtodlSwIPGYB~ zJI7#H!)yMqox!ax*km=I)#>4}wN|2pbq(q2&Q9ZAL)FPd{E+9#=4f}#>9N%@sUTqN zF3A(N1Jyc#HIvqy%y)Yp!=eN|50kcqQc&qKOk$if#4;KW(!^RbP!SFgwB5C@lGR?} zB2CptHL%pTv$r+Su|NfrR=TFBEX-^y>}1SjV49B)l}X4>&%n|i@Uzaw31l3MR892l zjmcP8SXoh-M0Bhl7?>Ct1J%qB2r84P!OzBw5H6rr++4@Vj*J6HSXtT&3tKsnsgW_V zuyK+xasocq+1UXn>>yM!jh`*VP0S4-ARxd;Ju{i&&q7%p3j;DHaeWq6Zgy^V7E~rl zdmVEVJt0dYa|1GFR3;f6r*nkZxwuf7lgo1Fe0lhfce)^LKM&<;7b8!Lw=RrU8 zpznB2PBL&{E*4-waA2?=0ziQPBnAM05P^u96+o037?KM@#>T+`Oct0B7=TFuOAnv` z1ZK{&z{1XcRtL@noFvel6@bbOVI^Z>!1jvDugs^h`j6uqR0i-fO5)gs2G+2LLcF~rF4TKGlo`sbSaz?j{n#&&N>vWkv zhjoCprorX9C^4-6ojb6976z&U{7y#K|Tf@MGHdC~Dtgn<0zBrfVM+JXQt%0Of< z%E9zS00smP4>14RruY>hu$G{f@NpugZ)4nf^8vOXU_om9GvwB$}ii1?apz( zBnwz}Q4WlK))s67rh#$Ko+l74>-nAm@dNPy`ka-4X|NtVr@?+;9tc(1wNPaxY(QEo<3g(aNd_|0N}v&6U-SXa2g=$ z0GZCFeX(@sWH>7a(E!N??hvpXoX$lIrq9v5gaM*?-v10OurIg_AW1;@K>jj-?ZEnT zJT6HEmV<4<0Kx~SeZE6M*uSRF#sb@1-~#pqa5%#U91AQ5ak_v7)}OaI!vm}b>wfKj z(FTNjp1#2Ga_NEcv!wxH1L1O+F2=ctFUCKg#|6Bz@y=lbO9FyDBM~^&^MCcTsh@)Z z>(6#LNGhNVTt%=7gm5wYb4<==3zVI0FpvTucEBIR*(zL65$Jn{F$m)V`->Qa2f_kl zupZc;XS2TGgTOx-uAkv@CBVL5Ik=gD^x0GZ2ILIRIc3?-{=9*DZh#kJ<|5fy#mWXMuCNe z4Zs)V%)q`NEKXn&AR`8*&loZYH#p+|WPkum2=LEmfr|@ZDS#ojf6nz{ZY;oFxo88%7jyk> zzUTcf#$*Tn3?ShC0cdd92WSHb3*ZTMPAQJFziWU4J%{?wVi4*@-LGk|>=M|;(Emw% z2?PQ#-+uxC>A(qKaMlRI0X!IgvvAmZUgDuWQM`2|^Y6Om2GG$RfY6DIXAZ3V3t88pyM@Ob?iYli3i=25bW}eAD zf5@2JpiFrwVgf?ZJq`#Ubp9n}a&13fE!15~C9Ix=%}021=g9B@Xna09@9=74R=%*uM11;npkNbVH>tyC}CP@&*n zbcw}i354E4^{LiK$rF>&5)~7bkrE4DyUYq`cg%w8Tnr3$5@3|WsVh;5#jCqkeDuPs z_WARcfW{T`1Qq^exQ^|P>(YFpp;ydQpBMUmB*((;*Log6;1{nxfTjHdATPb)kL%yb zLm}H_x|3wOI=Z^PTBq`n350{5sQa z+Z71DnMm`g@m)KKX#3Eoy**P}VaHZYr-}9ybEo6&1U$S?KVh3dj^De-oNOL7do6fA zIqJSUcKV{=<;w)#xA^>MXlPjc?GrO60Z#jw zFF4o}ww5HaTYCF+JnrccBhQuZ=*)f_NJ4f9SD(J9m1CfUf0JIBzdq?#f-_lK6jGlp zjlt%7_|a6y^_>@+(kXh*ZcXE0PlPPY94>}YH=h>{OO8fT{mMS|PULXz{=u*ZyT?2+ zW&*^F4?i9DvE#`MdBF0u zKBeu0!y^u7*#ejLd`*;w$XinPZ+6RN4(+eDtMx5k6%i2*C=Pt|R;oelCGP>#xOfH!8`z|R@9v#pBT7qG>#8sDcqeAojw z!}j9!hwn;OlHtj$t^2%swNB++DsyZhly9ObT~D`$TI3m*Wz?FdHkDFBXbU_HamA4Z zExY0}Nn5_tseiEKp>r#amp@$09W5yj9OEiuW0fL?z?2=nWGSVqBruJ1A8$Sv z*Y!OeQ|702A?P(twhw}`(InwgQ+kV?&)_KC2N%^GMXovyhup8u{9>T}nQm~?I@8m) zaPU>zHuIbE&jPWnlEI9`)i-sd=$Hz5*x&ePxQ52(2zIerxZY#N(fop{`f}fBfN_I3#NFlrgN1?>7lB7Q&wV;bTV8T^bdHq~$kD0|87g3YO_&rT^ zi>@p-@fIJs8)*mCWN!bOZ2wE!jv24wRe7OoX*l2P`66d3seuXtI4DMFw|dCQ*f%Su zoenH*r5aRU+ z&yRS8a+uzQ;8+GtzV2{*qWmM%4w=BYXl?ZQu-J;%-LI?F4oKf3n-9IlW-MBdapf7-Ql;OZvnWxt^fI61 zD`gGB6$r^Pmh*2du0zEf$I0G~m%jf%jySD{8z99J!v_WiaYmM{x8!JbpoE|BqBWr(- z3{l3H8UI!}L8-J#QJGkUc#-a6CnzRVF}VP-fBd>_Z52{0!eZZ@nwihqZwUGxQJbnY zc2=Ma;hUv0z_`l9w`t&&k&vaxl-`lmcRX^7#mh)I!d7B3TYN5_hH;$c`H;nFoh|Fy zhk7*NjptKYe9={kv@SIF_Nei`XnHNiRVm6i7CgDsH+;b{ki!TZ!wi=4SED7quWbm! zo!;JulkTs{|IsqZSMVbd@(6n4*m$saK;M*G3F3vLJ05U#Xic(g1kLS6Q7EM9l_Jq2 zlsZF4mpvn#1LuZ;TA!EVFI7v2YuAJ~7_+Yn$LJYibd8B(wp__HD=r>ogQ~(uhvt>7 z&A#8bzeX>)QZ%j2zGIg{TP(UR9TQr`{)I`4*&=8yQhu&#Ud8+N7^Q@NXk3%LmOq6! zZmHnaP9`xHOx0^oaRuMzOz{ZFP-^DrC+}om^Js=+E4vq>JAqK`lp(KQ%Jo<0IgzQunBF2X4t6BpywCpQQ-JSL(}pukc7~f# z;dN)>LiD{m+7>*XclC{B3duq|8WNTb-MbJ{3L?rKyB=|-@_Jkw*b^I9rE~0MWRz~F zxo`4b*F~{kxCP}oJ=x^Y%X)e`9#xzKVMRLZWE;XGuX`|OA@!tv^lq(Cz9E~8W-=UF z9o_mI-aa}ifp;(V!*vz{c!xEPXZ;XW1kHO8+02Sw_9BveEU^D!B{R3TIDm*Y6DNi6 zDr29`!3CdT=+T4n6L@*k;>RR74Aa}6e5h0_|}*2ACHNnEUm|xu)@1ip_Z`7AVBt$+b6yHQ_~A) zU)p?FSRjBU)5m1nsM7RV#OqYi62FbFB&FRt@M0mjA^D}3!Z##sPds9Q$y0yjDjUBJ6|Lgs(r_FepJ^oo3W!;)^?e%Ms0M}2G;FC@ zZCp>ZtUg-d)0G>Huh23eO>L49M2yQw&y%zIPsFjPY|5v>mlVc5TCXxmuk3M>ZVxOC zziR1ikM2RDmc923k6x5THQ&61#A2Z|gdWkj?Az-H*|W#Pm`G{nQd=DvDpM*Hrt{^r zP62U26*ObduPNGdo<5&Vw78l$0;9IQi8VVUii7oPtJMdJHT}97^NJeLRn{j4p1q=v z+POE>1ao~~zLg$YxaXmm-nWhazQp^Psk>xc*$|;oYV)j^w3xlDPv~&DA2uOj&Cz==}j>!nrmS0&Rpa+&S-pP9*o%f zSpQM`6Q=90>1*B&Yi90*;&-gjTcIb%0JhDRe^`#XFS zFnROa&f4G1naLkNJ(5Pr47{p~ul=Cu{`5Te!>)Ki*?`B8582@>;Xg?9`JhwltbB?w zs}3-6_vv~Q!P4aS7P2qRzvn1#eRkCC!)=+$FKo_msC!f>>xXcH`HK8mMY`wokTTv2 zW-l=*X)WiLd%>h#vgLjf6V3kpkZ7SHxOgyj}BVg8h?5Glzd{T_5H&# zOA_x?#t}aM8d%hI5U$LD*l*pEJR$-L~mm3 zup=J$x+3faDcHyPuVLngi*pB%-a$59Tn(JnL?iNumRn(DwBa;Sv<^#Pe98@P-R|9` z#t}yOxWp9`cegm5+uo=lhV>cR%)24Z9=)7A-X4+rGgzpxEdpss ziA~sXM$^|;CE{J>J>lb`$`p-o->HQ~3whDEoCSIT!p*7=)t1`@e6q4mxuK+*Rr|~$ z8n4BE^zOd%OMw#Y^C6Nklbc0|6*j(cFp$cIP#rf;;uO7tTQm2;(}}u8;iYKJ%?6sjt@p$zrF9{N3uH7EQ^wTsfqVk)op1y4P@3w=i6uO&TAL(uu47 zlF$0RS{qQ~+6FO#Bj91(FK7Ka!b$_5sJ2Mep&W&vtp<%4YClan&YhN2jbUMaWQ;bKw9YxvIPM|KB9&v|QkPDA%( zQ8*=n`Q&a>^>+mx=-jqUD5nxjP9?%gpSd@mSk$&D4IA%Mk?Kj$#f}44kv;|+byfS~ z5+&O4swUckYGJNxg1WL!uf9Wkc%6D;ylP5RGd>y&2*giwMt0;p&GXaDadXt9ce#^+ ztN&Ol8k!q7W61JdnEZ*Pb4tL3#=VCP(w%`1eSHjYR|el?B%{SLI)^bR0z}fmcp)pCUHJ zbH9JI*DqbbVMODQ*p())vJmq$gn2_pNSr9@(8S9zrIQn9Dv4nOwuXj|Q)FsZhLPyI zXkD%4?y^gPWL(@{I)Hd@$aU7OH}i)v<|X=9o8R3U;9 zBd(kH%e#2W$Jf3>q)Uf4<%g)9y)d9+@BpUQAC-ow@TFCMbCja_2!X;R-z=@ zDl`D8QPDaVZ?qG6?xyHz&Y%xHQFZ%O-8qDPJjeHxceAcNE6>?wwdI%EyyyHmzg9e+ zxN3BKFSYr7-PD(7Y9{25NI!kS9=hY)ch!Dq@16Yvgu47=EI*nN;UV<^8$5Fl!Yc>R z_GPY??puVCw+VF~xrigFuA?t3P>yTsaNuW*yN34n(r9Ic)>3A9qwl{#QeJA%+;p1X zO`!b|_qC;`pKhQRbEv)nr)RidL=YU4zaU zJB+4D3RBBwraKy{GR_mqb4wj}KUSqK4|w(RG#}4$7Hq!oaKmnl!_nI9(RxEr{GRw* z?u~e#V*;iR-gys79zl8)C;Sky$`ooxWn*_TH}taVC_b=uxL(c$kgCV%+_X$j zQB=2DODix>_Hf*;ouhGibt1pTGLY(Dw@`;RmiJYbF_e+HSa0Q8K&mWw96KhD=3f>+xU_ z_2wHUC;Ize)%?}Itr^s=B4D;Wm0)GI*lkJq!os(dI>Ge~yNNDv36-T*Nn;!hHqg$0 zzxP8qbN&XB_Vz)DKW*L%{@Dlh?TXFLrt@hA*Pj)nZN^Y9@e_|X1(+NOP$?bD#&%Sp z4OP%?HPHr3Z|!v4Snvwh3?*Eeq^?KQ;cYWF?>$_NjVEVBms(li(;wnNE_PFHp*H&P zWyo%%?n_!l>6d4+Z|im7`9*q2nT{allyiLZEUFYMk4DiuOoX2xy!Ct)N1PR8=4v() zztHE~A;-QnXZWDk$uahJw4lfw*0ff~*W2$fpTmrtB_~ntx~z;+Mj{66(hL?*MbhQI zxWgqgG~RL-fi~sPFh?;Hk*D8SN%X^^;%l?my}1MDoKlmH5^tez5d_2|9kgyCt<>yu zDHNe&E53JWnFzi7^Ko(!Vl2WEUUyomckRB!CK#h^#EzySO}5q&Jq;)!(ul$uK-38t z3_=mINKxJ-+QIxpFwU)CcB2typppApn13-hN!u~nr)=3o@FrUBc*P9jE>ZbRX7%GC zy}gt#MVN{Pr4R|s^nk1(2T$(noDCuQNk-2k;+DO)niM`-pgXC*FxTsQHMh^$PSgt_ zKQs)bH++5399yEIgDu?k9mAVWz*=oKYtB$B^J8m(Vb(~XW(aE~W*IbP4o zVR%H4P_Xkt=*~koZ3ihyxVt^0x;F?N7sAV3VH1w8l&+gXWJpPh=V{(U>gFr`>HFYHjIg3F2A;kl8 zI%p5Qzl^l1Y_P_Nyh+}jYQLu+5h-uEj))cq$U@o)wcvFeidJWrAx8RPa2nqVQX}AR zvA$KtS)M&HwR`gR<@!wJq82*IMB1`mzf!~xmrw-^iZ+B6(Kw2Y8=Mcx8Chd=hgBQ; z48M4$An&(?AbY`c*l}dD=2GX}5U7lJ^bR3BWilfl=lT6KtI?hC_m3h_j$|V&YCUv! zKXyuzq|ncMU=16*Hxyc#d2?_>Oq%+LMaXjY&`nV2N!UKFHO?zSW%#ssJDgQz)$e<) z#>Fr%jT?;|BjqTXRktBWfv;PoH#6nUAHA*6z*pY&<7r05=v5z-#8Ac?d74ryyUL-RavxX#!GPCN`p4kb7nXIE*v-wrx3O^sn08$R=t>>M{{t57-_!FZh z*Kt&r5=fmsXW(4t{JPYshqs6^pp4Trb(da&kty2eb=a$|V&eVnJ$>@qZ*ThRUw=|T zYY=GjwU3|1HQhz^py+N09ow+s>&84$LJMLTtKkunc}8%i;o`;$OkV8@2Qdk$q|ePv zO?m-3e8*s7Smg>kCz~o6y^X;!_o#F5cgI5$bCqrZexd9L(Ng1f_K31Dq0YF!h@3(o=Tu+TTJ32 zHPSt#rnYsm+N6`&^+4Gw3Vx8Lx()eF;FTLiy?$v=FdLP^lblvfOq=))Ty@QIb|1#R z>oUd`2nr>B%~RZyovNWK>==|~QsrUXYZf}7;=aMH)CZNmek5M$9Qsz)rifU=cqQ1bivlBbk zR`2BTiIo1TAZ8rou`*kI58awfe731t=273{$yMqC#(Iik)Yf5H{UigkM95sH+{T)< zt|c+%41?|ip;{R(56vgcaCe!VPzrd1POR}BH`DKm zLE5loNED|xk8O3FSl?P`b?3sJVLy!Pdv&Wx$cfO2M7+{<=<;@T3gvjlJC@A`L%UXf zPCYm@c)n}vGQ2Sr(9drOh?e$7jY;m6_kOr>i|O@f$GhTVO#(!XCPo3?}0f!g3Ge4!^Xo#yY_}wn8YJryDQTk!)eN8~#7{_3K=#5Ch9U_iKYF4EKoG8nq=!ZG7 znhlBifp>ekj)do}!;2d=V}@{ovu$`Cwb|f<+gRag?)7h&wRb0EJKfBCnbB)hX?`n$ z);CIzm|)O^(BiR!yyV>X$*cF-5++ne4cISKJ%l{8w!W3X$`BtqNayVMUQs^Qgc_>&RKO$oYEg}brq z%!HgQ^`kGoz4plv&zm0kh9M>eFuf6J^M1C`jA;$vd!fST$*{sTjeDj|rvQ^7)!- zFGCPgPfgkHU_X?xHoIb|*M5Du%}UL)DE>+;Mt_$KIgtim zUc-CE(?Eh*P*H*F_*F#9U+fR<0OH-wMJVU)NQdFjJGJP9>HBb> z!x8daD!*Cd*Xc*vtKx{0Pi$%5``~nIQ0+5dsp?~#@dQicj=v*sYT11OO^n8DQ^$Oy zfh#l2PejGMqKbJrWfB$WB=R$iPNZtyDsQe4sMW!JAd4eAZW6#q)@CgrS=9R+NY-i_ z80YrRIkfwe1$Rt4)0C?p$t9zt&s zS9xu2T`}B^^d3ihCAl-~@)G|pK8itx>4d6Awd_5mHNBt<6 zQs2Jn=(|tH+-#+~nxz}M|G?v-hFC3zv~AUjeckElUdXBYt@~epJRRh!5|4PCo2K$U z#PVZ_?Y*T1ia0UDxgBY7+YQ_#A%TjG>~Pl4dlu54>pCg;u*v~%g-N&9Xhf0GTw5fe*7~m z7~>0FO&=GXI@$D&3?IBr*yC~{zuvbBC<`Z8t~*#%*te_Hm2#q{`fRy(E%X~=MBF9S zlgr}=u!mj_u8qb`ei{54`FT`!RfJNdR&{N(Lz~e9KXxfaM+ZbbpU4P+jB-w5Q!+1!cNcvD*uq>ny%O4>Q_Ga~=98cs) ziJ;OVj^ad?(jSP!@+a@L5UHRzaVyTW(3E7lgramw8kN#Op%)E-zp!<%Y+^EaWwW%*Pt|TE2wN*=cUcJ_G`s&DMH+N*JF@rD~|b$iPL!Hl-smBA=&~`>VsjN0!{l@AwEu z7V|M_hMCO{($!tEcjOgCT1&C7=XWA`56Y0gD^yB^qN?3z`mw1XHrb*$Sz4R9|JK&p z?{yRPZBlgie&%wIeW84X9XrVXBhJ4dPBtV6zDh9kFbK2UVZBjxMqeaMl!XYt^<{b5 zvT{~~I#-V-;v3vjIc~43*A6u$30<4{r!6omk7(vbpcW38r7etKZc{OBVi*jytBtG# z$QjXnPN8N(N?y|vU{(9%{aPFg_|*M;I305o!KC{(+`a8Xe&~FZjLf?!hFc!dagmkw z$HKJKuN5l;X||l>n>2DC?~8?#msXKN?+mv@sdjTIs9#a8#zvJ3s}gyFtRAY?Y9wGC zzwyJjOW={6KP;b5>Z8Lri%0dMM@eW%GzENk$B7o)@O%KN`F1o4TKUyalnkMOk#;NLNJTUY5m9PWMJNo(8cU5Quz8r6gg(Qhu1xY^5|l< zgrMwj*~r7f>XKM~0Di3z{BwK9eY_n6`^|M80GZKrZYA8Pm) zUlzx>v)O0mespK|39XNdsu&sA`k$acE1AYPpD5fyXYm!jf^aZyQe11cFd~kib=yH6 zc9JjMO`ZEVfv7oMX;wNlS#~fd2C?wXM(y#|%x+p^$^>u7b$@*+kImjR>u*9m#);Ei z9GwI4C%7ZzMOnS&wlp_wQ|bw>UmwTpk*ua>=k*@TOu2iIYgoS8DnfBL+1)55GJ{5g zO8-#@^Dw3D=c+L1k#eWldYRyqr7qsHf?^9^*7;oWG+}uXbW@xBdqH>tTs7aLSQub8 z{a?Kr%H!~Ve)OU$T{_8Cb3;R6-H02ZA$DFz+Wt*;0j2lUPHtB7tR-v3C^)heNehcV9jm@8HB??1w zL~ZwWs;2FYjhx6gRYTFE|4yRGEMYe6cH_jIrkk&3szel}>J4h?E4nwe=oAB+^;RRZ z^j{TRr*}zLuhK>$JaDPyBeBBvrM91ZkG6J@2o-k@d&#O_n=I~$D1O&jNWcBvk#nS0 ziwY(85kV$#hyKhGH|&|bxc~1 zL>xZ8B0Yq60!jCdJB^bR;&rZRC|Cc1Z6!SDdNOiEZJb;!3ET<34V^NGN@kz$;n=~!og{ZC{-hbc@L*e2obzxu z{HCdT+Go_hEiFG^e+A0#YW@j3?MM`@HOLyy^~q$0D&*PukLi37IvQ>7nib4sobc%x zvhF=HouWj=B2sY0*}oq$IThq)c`KxqmHrBS=-}`-x=btG%#fL*0YN4^nheGtYpnMd zo}rxDj5QaR5r@FVa=P;l%G7D(BUEJM>ezoVTX=z1xMWq(#M<~uWbd42w-o;={CTM(@pTlUN zOd7@1zjg48H&a-vjg@zEGYNx<|J&MQ#=h;lI{bM-_fqB7uyu@Wb9+86hbyf;i|X5_ zzalY(&hkXP^n^%iSEN=u6w$(9nGpV1{2uo)`Gc*c>!Qi>Vrahjn>QCNk6pCAhf`&Y z?rbvd2TJ@9w!JCck@j_CeN6!2(H$+C-0uSSGL;Fg2sMl(qGvyL$!peaZIanwb~Mll z$|0K#lu`)(h)jK|X86{s-|)_7Mtg^ZD*HaUv9amn=H4>7R=sun$H}i3N}}TFTVD-m z>bJ2rLHi>ViZ^#uD5yTB?9<}pzUPCEjKSFT3Puz%hU-KkVbi2!J zyhT|uF&*CfVU~S_kcLk2)JF=aGqeF>b;ZjN$~!qcciy*os2rOSJ9Da}zICcAM8dYG zb&t-^ogm~&FF#~4p%B%rtb1xA5%f4(xSf5AoRwzCAvs0r=%Gs5Y?f(c*Yob)?D7>j zuO1>}23(%W`H~~uH0LOt7@77bBVn>e9|Ial%j=&E%hlkS~R_yx>vrCtn7>K zgc)9Wo5_|DBAonnaC@3CEY)wvbT+kEr))(2>Pr_%r9l5?&Iq5Py)qjC{aD@ynLX<@ z)cMr5FA+}|Sf9g6-LCTLNe3IM6qb;R*m#);P}MLbl1bsM2R&Tf*}5xV^WE4|^6HE^ z9amV|GmXS;-g~o#wjU}`=n0Z5(kDzPM&q_)2WaPQyoNkrsI#~t3wPcdsnG5;k`3mt z@^w2!j@LBK;S>nP#t$KlFf(+{h%UXd?th~>)Qiy~%AfBh;Ii!V%1K0S7ria~u7Q?i z#JkS+fl+yFNjkP068LjJg5JMT=(T;NZ#w0qd99wHmn*@Bm`*b{muR`4`1Jd`#BW0_ z$Ne_&=<%P_MzfH;Ti>Rz#)=^2Z~X9RnjegJTAqACw0#4?kcseE#LfNn)OU&$C-JR! zEIeLc`l9-k5ue=-;?3m|J~qL!D%P=DC>+VpmT@<0^02p%95>X+$Bkkd8w%nyR!2Ko zSuWJHa(IZp^FXqkAvL_bWZ~{e z7^(tWms-{co0{A}fNb3L`{YF3B4bo*9nWf&8?Ak?J_hje1hiFa_k`jF+F;z7w~(5A zTZYXT%1(`EpHnV>@Zq~le(mPaJ!2Av&##aUX&xB_JD54qRBJrw3=fGie?6_zD|MR1 z?m#ME$we{2@t~Kn4;Nt{fev}tr+eN4f|=gCNrVyfLH>clzHNzjF1-3{dT(<|`SI$> zRE5Se0XBFxLQ>hGcW$g@{aEjFPNqzb$I|dmo^Yn%GaMDi-7-zZyF8k){1_1~YAjUZ9y-QD z6Kd}(aV!p%biN7xc$rGj>E&tkHvedUBm6jjBAlZx>D5DeMm2}0F0#(y773E+;V&4g zwci-Qy|^ljopP*@Gj3f=5UU9dCI}H*kPb!J7_6zfv+RS0&uZv^`u`F4CIB@(;lr?f zCu>EjpM6c*LyIk2k&uuI$=V{My%0jmUbYHRluDMO)mn%`C@nWi(t5SruJ&)9=bX9s z)-S*BegEJ4eV?2=XJ(#xws~genVECuycpVd&&AzE0Rf{QoHYsv9#dmV&Zm5_AZowv z{J4AL=LbfgeE5Ptv+ve^8%K2-bos`${Vy%5KhIm?T#^0uY{}!}Qc~mdBD?I&Tcoqi zI$iu}FPDNXetY95OO(x9e&Aluq;cbIYbEm+4u0&^>SFxC!$lGjC5I5R7 zFMVCy%FjdIr8&NyJ+-@B{_OERm9D01_iG)s)N0_1c>_wg596X5)#Zf9J*jzec|D;KbDF6 z=Y0>E(Ue}}`bfJ+T_WG5^J0mwsp}@+ezmq+w=J&=>Y8;+#HOv;RB5>K;E2<`W*g1> zqIXVZQpvAg61|sik%-nBE4Sl!r&;`~KhKUjK6Qxap7%L^+E0h{nWDR~?)u>aC&Ob_ z=dI2B^gXL?=Z~bXlYh_ZW;vo~Tz9 z=;?ivSh43nGq>%0a%hx-Omx~3pNT^z4_kIrrs3X-c}@3{Q(P{oX{4{NXmGyL`&zIw zKknS_EgSY|zX`uz{%8H9y0eS@_Ea346cF9lX|h$)f}48xw7w|x{m1G{_yF%c#2XIu zGceoS)MIwnK?nEPh4EL;ui;?`?|4NMpl4>}nV-^q@d>Y_8960B3x^f?rWD-gu_S##2U!UR!-wr0dwDQ?HuB^4!urzYGmga5jm5 zCI4pc$T91i6zoIeW*@FrcoA28_QFC#A9>5Tx-p&fTUPqLFRxd%@80Yj(A~D7pU=;E z7lM`7x@krX4|)~t6Evx(S)g2E-%xJ)hEIE5j#|*ybo36BSB1U_-XAt*_8wJw zdEv7=lZ!Of)^eAPUm>%zYmwb+w=PFhk1P^X7*#Ko9=CHzc5+YE;p5I)Uk_b#`!&~X z+MdpwTV?rN)zQ5wm-VaJaYH$NTwU1XikfDgw7slX&ZuYM!oq)e^<; z+OG#UobDTbWUb@v)<0+UE?BPZ+;{s zew%2&(tp<1I$fDF3r-r$` z9!@&T$GcZ&jekCRgxR|4nO$dypBYm*0uT;ZgU$4Jj>Yk(2x6)iw9>U7HJE z4*P#?GOS-?;qSX=@!&u$=bs}_Twa#;UN@sxXk7p0dOk*%qcvwEOQ)FfSr{mwZXj^CVVS$}79`mPHplid@`+_=}44hl9*yAW|-{rSS# zqnCV@8aH>?{a!Ejy0%^ox?hmWJ@w^b(+mmsH8%aCXQ$j8)ubzHrT5anV>9oyMdY-3 zkLf0@7}v{KuPpjOZ^YMZ!Ml}VmDRNGX2>sZx7vx zm&AUK6(4nKg9TWZkf>2(B{XYewB=A3h!-L{grd+-20zphc|R;?w7PX&h`1tVH-!-6mE^LUORWPMf$F^ z`~KtWJ{V>U@l8t$^k3LR(SNA_q$l=DiT8h9wwb*2{^x-YlOJ_mZ&~q7W^Kk|k3XAZ zzsqQ8_c~QE>&b-34b|p`;Tz7T1dkgeHtRKCG4!9IJMx}9?D0kHoZVR2*aahARqeFC zsCs(VB}>O9JMRnOo)=t>7B1g5b<{w4-;wJ_-cq}vyz!XlqCe)|S-VD9yC;56o@m$n z{r%W61JtGVo>;iG@rBrAtN1n5L(V<@o^87#Wmn(@L3_-SAI;WB zb)8S_F;#ZtY)bcVP@Vjss4#rO3rmN7ebf8CT={lE&-n6H4|ewXIONc6{Sj8*_SUK{ z(LZ(A?)KJobzky^tXdST|Ey(A@yv}E!y{(v&i?Xs5HEuD%^#wAsQ=ZnIlT#88XzW&La7&ctZk-6G*>%=AGkH;+Ej4=N?UnEQgfHoH+d9NC zE4$k6)uG1qeY{>@Et)sc36MhstF<*Dw_M+OG&DE|yThc5qt(?rkB?eD(qx>xv_Io%ExcX=;2 zrF7f-iOR=b?mT^2s(6{cbN1Q2mydLd$O+T)xuq-S(J$vE`YuDGz_@+FJDN-L-hIieldG z89%BYef~ZzYg29VhW<0c<{azQ?_GGm%kDe+sqfe#?ecbU^uwfulcmgt7w-S`Emb{r z*F|1YtlG{3-Gj@M{us(nJtaF}vFx~68D~nqel`x8(C~fNvvi}r(Y;r94!tp9mek~( zH9B=(ujgHKoj5U2edJ-cFLlzvmNQ<~8unI?UNJ&!sfX5u=2vz%?YE4{sp~11`E_~p zSdYptR~s$$qc->?P0m_)dSbtyU2kyrX`8PbBz|Xsd)?sNE%H8xo(@sozFKPyueYOz z=ZFJ0WV%n@opDOjYIf})EuIRF13osp^I; zre`il7T@k|b9K^}yruQ4c1pXZ+*c5<7;@mz<#7Ik`lphw6t&{ltXY%zYwVj7T~}_I zv-b6rp3gqEet4hWa{X)c&58F8_nJ3-@rJcmwrt`J^gABO!7{JJuH;>P3i%RU)NUHY@Kr1Qw}*9uO&s#KqOt-DVzzfy^`pB1Nj{3F+C zq}xV4m4+qTq_2HHaMD0+e8SB`<&symo}F0y!K-0MY3qphhUfP8zaXWkdd%ReQs8KV zeX>(~U-gdNtYx|Jvc-YwS;=qh)|YNr=@$Nb-qE-WIgj5zZ*Q~H%dL9at4ZeEub|UM z)->MbNYu+^OL2;+4 ziB}0ag_`cx0m>s6cOLh1dwGVJW7w9fhx<;i%AMsnxn#j2xr%pb$`z6Cb`?Ialj*@3 ztGlgb=%v}JABJArA91`zzV|DuDPf}rEuClaxI~_el93C-FId;k(9F4tvr^SjP9SwEbAR=JV4@hS@_T`0KyBPkF2x z*6-Mw&hx&fZzhkPdiwr~d$ancN6_2eC0SlK^hQ|*C9L@Tew^E<$oeyVUU#Zq^wE5v z;>4l(+x2VTCjH~yspVAB1a}E3-tJ|0`;9a|Tl@0zzUdatQRO)*KFLFE61zTqtLWH$ z*x199ZLbyvez2H+uF@#vx}0LpR$f>4Zs~c;dU|*c-W8R0WbkI0lTo`~eoYR0CZ!hH zX;oQv=d>`j`fgR(v+^B>9jfPQ{d3IspDX3P3#wbwqhBhA#~+fZuASEFu;Yy_&szMC z&9hMb-25zQ$@BX!pZ;;SI9B%6a@I1Jp>k#Y%4EsYn<*FN=LRiET=Dh1oX6X>?<}>C z5BIdvuN!r9ifX{qNuG9+w+=0i=)ZK_!4W$QCUje%UiqUi^!jS=?atgEVH-KGt@1{n zUfY-<{;sRp^T5r;dSY`_6yDVh-&rlQ{GpdhAkX7QV&DCmZ(6#AFSpXQ?6fZGYFy*8 zM|R3}qqme?Q(n7YaeN=Q%eA8lme{OOTy-!kRcz4L)5&`;aZdXm-P8E=V&$%P1FH>o zG?_InHQ2IrvHAQdHLpi4-tqB*i^R4lsU(FN6`!3}^nRNst}FIrc<-vyMdw-$@b8@- z`8ci6YVjuLF0zZVug!kY-PfSGtccr?Y%%bChGtUDYEEjU;h{bDKTh~;_3OSd=*`LV zt1Pec;y2EANv*leS#c9pWX3s zK+WRn2UA}MWvS0PxN6Q0-K??Fixl?9KiycB@z11T3w9kJpZ73)beHRa1wrrX%es{I zDL-(0`-$0Q{mwhs4_&5z#{Yb#$Idl3k8B9>*lf8=qN?u@OXvOZ#xao|rDw*e-uAO> z8L*;4X20>8^_A&a=I5OLEPbOiQoX=()ErKCvAms<|CD}MqAQhi=8DmZp=XE94b~W@#4`6=^V2qrxh<1a9&`1=Q3qF9fA1yw z;>F%m(>h)B%#0s@UUSSs^{k$uhLcv;)T+iwS3Ozy{YO*8?`myL#d)*FYiIwSm1Zor zL89TD^rp=TYvHBcev1nK$sq@1Z%$J?;;jWq4lfpM4bpl`_Y!O-`GA zHs$Vf>0B|Xf$7J@PTuN~mosT_rPwH&$R&#Mr8=LJtv8RapF4BX;K-Z94jV+-1q>Oj zU&#Gnsyp`Sy-|yqf842CTPsveRq`$s;OydKG zVPlW{ys+o_Ufp$-;~(+{H*YMyb2)7A(bWkDj{3z+*mroRRNrf|muIe80YS9JWd-!i8?AFU9}b+;|jRS)R2?^S1+;%{RWeSKA$rDr_abbQbB*;Q^QV_f+4 zMfV)T`!_6Fd($FYXYLd&xe<5c@`5XFn%GH3d4Bxuy6wDj=SIc!+1l?kN1m40*XfSF zM}}$1?MT3?wvMAmDPw^EKuuWNe>TJ`@={IeaZ5Uwy(QnEXLl31L- zlyt!N^iz>5_N>#s6e&J-{ehpS`5N}s-{!n_{jhHGChv@j?b9N|56?SM@Nk8t+$vwG zDg*9=D|2*pHe7LA6%+C8)Z=TXb$;_A!lX6I$EmN_yM4j01?#0gTuczlPqHXW)XlBs ztHuOs^lg;2xccW)s@eW|Q$1Fge|(X>ZTyIHN8XlC>FldNK;dFnh1&;zhVqZRfAZ(a zgH;j>pSR3Ua|p}|AMjl&OMj^8vp2p=hWwdWJFM>6`$b(>4s<>dZaHM_sSpdzNt5KG z&&-SXFrsE|Ql~9>Lv&h)Dj)0eYu|~fGjlBVKZ{;8R9R!9>_vaMYa2d>&AAg}|KpSG zX3L6-qf0v-mu=3u6>O7v`|#NT8W(>oO)$8;dvs&}+m6?@hK#&gv%))h=c@VLE z;{aK|9549)nnqGGCLm&NKM zs%<$JUHi=Zb$F^~l`g-jMsC+XE1$Qxn;ytC8k1G<%HDna7>VV*2kM`TjM=oy^tx;z zXH%()$9bD#t!-Pn^}2VcX5iuvqrZ(wp7p59VTm1AZFlrgy!35b?}xq`Qpp2v9sP&L zube+h>-3Ob`(}9+90>ZDo!E4|YJRqKs)CNkr^2*1J}+}xbZ-v6bEf5xQfPRqp#ZO_G}RrO;z7l+n;cP z?A@+ja_r4)izUYE)0T*tPPxx3dvQwViLs>V;%T?uEII8e?mf8jbH>#PyTgy>eF-`2 zk+NhTMVe-D>Wy4>un9%oP@S4+uY?u1<7R$(JXj$## zA>PAq^l87>Tkl#QK5)_eSszK@ zADluS-EjG0L_fQ9bp3)&Z+@RVf6HxGpS2D@YgT=Gd+Pp;n@uC6b-aJOSP#Fk zk#o3z@HUO>2c^8%SlEu6{LFCv{n$IR@2py?r~66rPGN%hmDq{SZWhuf;x4=0>oIKM zQibp5uAV5h*z#0=e#XI<1>H>M#uZ7N5cBz=yVf*%%dIZwznhOdVYc?%6iyl~Q&gRF&XTw8w)&u1 z`+Ufm6dO!>`OWw~cb->#=Wa&sTo(U|TJ>Ez1j!EogeRDY4{o_Kl%4 zo^wKS_Uc)O#`U{9d6>k#JlC>RFS*Gc-2HZ&=d9}Aqrva0k=N5r#hoWj@q0YMurnU3 z4(E2_>7H=@u!<5n$djBK3HNZ6I2_-J_XG&i;e1d$v|WK5kWS8AghSHd)Omt|oFAw_ z4xcBd2I8^j3e(BypX6SN9E^zfc)}>260c0oMTOJiAtYy_DyymBA?t9^I;3GpPEQxy z!y)V>9nL~kCh2g-DVzll2ZG}P?NElm;DPOM&&ClC;G}u%VeXg@FeFb{hB>{S9{7&w zP!{+grz66l!AdjK7~H@Exfj5|x%4z2;Nc?p;naHp4d4OzC3&DXIQJFsLO$FBK9CP8 z1CCvVdH@;8*_8y40DSMlB0d$!b*XBf}Rlyr3r{7vRH6AUFY5g`DLH z{GsktnX<~{xO^}|-~;l378>PrLLUs2gev5V0OXua{9pj-$yL-<;6z?HVwL&mfU*L7 z8bLvsoNNk5{KJK6AZ);g4S*#$7#9xAg)aj@TY@+_5LA_Dl$6BJ7^o0a!1jnAGQg&T zB;Z6|1vr}(0H?!Aqi7h|(8#^23Y^_bS|Dl3P?AzaD+HlINu&~KqBJ{#lhDRus49#4@L%IyLrK?8%zfF6b@8NYNu;%L;sG*~&F z8w_7Az^_AKS3>&`Or1fF-^I@~U`Nva2Qc8l#X>Z2R4c0?NSr~A?q#|vh6vOWNk-j} zQ<0Hh&;eY)HwjUGxF;7jrWtTS zl7ZPntsp6K^fiN$`Jx8u6+Xy;a$^s`N+T!+s6i4a4k$&W07DdzBrtING{7<6`A||M zXz@o~U1-y2#V8QcW`2l~vKCJc(?(M!TtH)@eG70y+dXiArVoM<-O_#wxg*q(BQR6A zCq^P@7DQR}UZ5Ou);H)LO_x4}CGL}yI2&UtKQ@9mLDwsaD6AYHCvbvtL#=~8L03@I#1K&~Ff8(I z6|`Zt+fgNbDSqDt>K?z7!dNn46dEbDS%8B}Bo7$EvQQo_3QNzhC-4FoS`Kgk zUdSUu2;M_kQQQ}Xix zax+oUOwP>8=-qQ8espm~eOzqJyP9rhO7EQWGp8ywhW-g{2(1roYzzGQd)T+IUsIC& z{v^EMj&qZ*az2)?+hkh6A1sn|J72fiw3NRh$*&>d6ZfW@JkPmK5fO{PEjib;O; z32(U;Zt^wGY|_1A)8gk5>+&<}5>2^f&0$(@renWU)lYQMIv#lPV{uSZ{Vf-*(7=<~ z#X&9g+g!9R1)g*>3rzXI-C3*N;OZ~4Fe&nL;jbEAHa8-(`FgzLyLDQ!#eH{6pLG9j zTM?0e(%Q;=XQ=P5ba&UDHnX%Kz+Yl4j4%H*{Z>V%ze9+mI;Ea~fS<62`3{ z$|<)$o>6hXa3(U6%6;UmI{VD>z8!x0H>Y_9-KMEaNoC&miX5$bDEHFma~|9!~Wx} zw$UlIeG=wIzV9#ytDT&%BvLEhJ(qvpcw)?Q>ub4lA0OV`w@Cbr+&MPk*`vd@eGA2t zciPmBNLUd0VJ8i;QyY1`q{aC?rZm0OYu(1KBI@SIVOF%Df==n*GiKDysXOjQ^m#~ zxv}w)WsR}Tq3J1!J~Mqn{ga08c6;PtAd^!Ub}7-x(%JP)R_TO#Edp3CQuX zc3(;AQ4u<&w9IddOoeM+erBPoW`1UMqMIcd`pB94IQ+qo2g5cF-6S1d4JG1(DUjh1 zE;2--JHYy0mxB{A_cUC23Aw-%G50e1=DfEVJX0AEx#fsYBY5xN+Md*Bgt z0eHccp>g1oUa*b;?hWt(GzeY_OXH$?KzyVu(kI_Ap}M3v5D)MU@>89&vQak$^#(9h zHsA|*BqJluL;gTlv@F1|vmtbONF4cNWv2Q7JjeskC-UIz2y_5EQ=Ne9fE)Ouyh6zG zL~$X%pikBosEn8nuz-(TDxe1v$9(ESvNTa&r0&rL19|CufWRY9V0$96As&EX>k;9B z7RW=&Bag%eRpHBgWUhlDzyp06f}Y6Nh7cagu(-fh1v+Q>72qZK5I5)q;K|HPRhi%* zyutVR)YS;T#MQ()fI1XM3qRBs9sf#;3Lx=Fk}1%>A(x5lY8Wu$RU7b<-$1JvvOga z6LI&4!l7gl^O1VS2B^uG|D^8r|9PVMFOyNXvK+g&Mf%USw5rhB_bbwC?p&VQQ2N%#2p^rMCX_P;L1JemS zSSrA)5uK>1usB)V2t(SkK;LXSco^|5#Oaq?b%d-m8p%LO8_Rwmit>V{DnIHJ%tb!U@%E0AU zMHT$aD~u)ZDOt9Qf~6N#MZ$(M_O008V&95C5M@Rw?9*{wPmqC}qC`lXfrH*yncyRz z`y!n#Eb%Zspb~sM5La;Ei?b*ywq2q^T+blw7<(YrD?l4#?FQiJ2ihnMe%g%)551tE zCj$?Xv|XrI^lC)!i6q$906frwIM5=nwAU5%iXwUFm9jJ_O@t>sA>{>evAkd!(1i=| zkPGpW^%~4$`#VU-B`;X$QX_j(u#kg{0{|h2_YeY;aDi|TCk3$#B?9n32=Z8XXjHJw zivrVp3PTvh@(_nSsw7H_GEVXoNarm8!VeF_;un^J(jYR+8Cs}-9H4~^Ktb06aasVS zC|x2m$SsJ|JQ5--<&DZu%fa*kd1NXYl_+3|MFI#w37F1u0zD4H4QLVofqz0poqXmD zfngE?=}>^xG^FF#nz45fkYOty`K0_2p1?404H!^hQCJ#AoGd=X0Q6}ophq4?aJ=1P@CBp0O7z7Jpl zFN+61sflfxMTnXecw9i8U=ws9Brd2rV&>QZqEy67gEa&Zjsb_D*CxnuGyq&=L_=xF zJ=3UHRs@7L1gruBa6vwZ0O>F z10XHIf$AfUI4z@2*7<236$bqQ#p%TPP$V0)%!Vm5b%0TknX)Lrv;%(FO%t5x38zYg z3&y9$K^NQ?@OgkZ_*M)PAQ&M|>jy&0BpHX$527KIBR-Nq01yte30@9$qF@6Ah`@!@ zP1L&x1?ts-YS9B@y*H{lS{UIVkBscV9eR`C;n9oq(Etm000!=HFB-f!=+A*WC@1jh zNSvghH%PcfuM%*9M8F?h&?Ny)R!XEraA6vx13Y*dEMEWzbiqSJIwT!Ugtb@TgL<%N z29yr)2Id9k1iY~2C|;U}@(`LRBP$c-1!NJGALw8?q7P^T0zQFPav?6b2Yo;YdIdh9 zp8{T3-f&$5JZ`oeh7bqYK^{^b+9k9>qzU{3PF9x~vTGxlPV$g{$Y*g1N2qhyJ1sDi0-m~0MYo!`sBp{qq ztx=00oMAaKnZ`Vlk8ze`+Hz1j&=_bO@>tCxgY2psrjb0PP4JA*e9E8-BfY^Yy=0~od}mS=T{Jrc+a^~?@V zs9PADiPHsTP!}YeLBVU;3Xh{SY!cd+`2sl9pIHiF4WgR?7 z#{ri1M8GG&lMrcw&Or{K0Xkvz4!Q=tVf_FM%LBrKZU`LeliWjnBHvIJU_o}k4|-?I zVtoOAf(Lac+M@t1f(Q9xWx{fxE0$NEk9EVA5%kuCS8SsI0~g4_;s$-7jz}7W$S>^~q3y8x5Y;W-0}e`)z=OX) zeFv-qGVH66)jfnE>m*c{*zTb$=%3J2g*6sv%LJDS^eM0|)DfQ~4ZJzH82n5{mF-J$$&PwIhv{0iMAT&QSw2g?}DDh@7a z;17bpkI1@@pcpRnFv~#1{Mp5Jz|3S|F(QLVRJcCGEW0Bcf)XMNN0>qELO8)>?+~d9 zP!kkWByy9bCRlQXg;vDEtRul{D|1KGsGv^jo@5dbW`PNF@kf|}aKbex$bhGtM1L?B zGl>2fq=;FaR0SIqP-8NLC9oKh6qZF`VHB|lxMGNtM$2MGRG2HIAw&QRU`z>sWA+Q6 z8W}bS7F^`V1tvu$vVKAMS0;u`ma&NPaJ5QgcLh)|%UG~DtuzCHiHOW2UHBLsT7uA6 zgiBz8>SL?}Dw4TFV2t9{1i}f62`r1*QxRZhBxy%Yhzjoz75)e_kOme*lI_?K;zJHF z7t^qqFp6o28SiknMu=HRQpg78;t%8scZq~|j5dTEU|EbJF9HsPb*PAIkU|jTPe=&w z5R32!fssF<(gd~x; zummFlX+n%CBM8z!EC`HhLTZo;4+fKMI&5mtpCJOs#Z`D*7-m{1wnq5DrE_LuRFKB3 zUJG-ft5AlnQCL=_O(Pu4p+(w0?y*8K26NjeLsGB}%b>!(21{Uupz9IoOE4EQ@HuJB zV9H_%N3_2C77y!N@3CfUwbxy0}*`f7-}13 zm=u-}U>0)42#6rSpCarAGd}_mFbaE4WLKQ*kH7{HvkRn7HfOM+6qM+OHp94ZEml51J>T-#O;C?}z z)Rr=5ZDrhj8G*X2*c}bKlL1x_S9ck5~STF;B5S0)gNn=q7 zGLU;_{}{0#di+7wg#2MHBE>Wz8<^3K2I<{JMF0>W#HbFaK|bKYUIYg}9JUy4NCpfR zWGz%dmAprVV+Yg~);FmaoQJUnit7!eAz=tcO-2aVk;YB{42)hdPo;(j@FZQZ;t%Cu zO^9t2INv7sxUNmp01v>>3(^4(Q3TRpaSHC)eB6n^Ja%mY(rH=5N#>BiGr_A)WWs%M zoFK!)_GAF36IuH3J&xcM062hc1L1xUkRs@yZ-Wa+VOOk98X0O+X*$uQk~*mpc*Gsw zV}N(f$etl~J zUrvEEcnN{b`{|2w`0^QX&k!Hv!@F4k&z46VK#x4jgDCmpR zEWiN{2nnAEPhp`vT#!fcQ8)+zj>1A&k_J3en(*|K056*_h_mGc@DK-D6b|lb8VRW$ z1$>a*8iWOSEF+`~anu{UeMw~i7>bYZ33W;N6woDoUz;>4Bc;LOfVx09pab$!z9FB| z6HNoUqBtNA(kMSP59q<0tz<1mkWcFd@+cgHv@GO9T$EQ9Kk^CpkSDkpxnTen;G?)H zPEq=l7F%9W4?q{-*$~r3X+b%_L(&8~V)KDE@<#clA-ot0_W(yP$~T39kkV%J5I==u zUoHham=1OVe2U^Fut;CDJiwEBg)+4LA`WUpqUC`%f!+zvfQOCKwg(hvNQkq` zPzZ-uFip7N439sOClFXTW}XSWFn7WdSWJKqpIH=neiE^u2uMhP0J$g2(=31Zlw;dR zBH8t9SV&d_{~Ttm?0Pnt8sJle_@ksi+$)^FDiJ`UU&0F$RU}hyd`Xl2A+8shp_8BV zSFe7MM-ibI@%YeJ!)+wkG$vbMFrP)=3wDw5Wo@8Gcu<@{25@|yh0!##h#(LQ#Af({ z>SJ)Dw$xy;i+Mm36u>+qiFJ?qzz0p?2j}}(!)oO9e&*>T!VkVdi<3bj8cs-I{zMc5 zZ35E4KB1k#9tzkR_5&mh-mipoY*%38#7uPv$v`|PiIqwnZ%DugD@pBuhRGA; z_#^^67D@Dk55kbm526#Chk;207>LhKKk#7`QW{ziy49c;czOfS0(y)SS#b}F6vBc8 zH-z*#D}X@{9@lKxy)}}C z9zbzmIbz&&fdbV+7LhQY#f9@`c7hJP;#?ef08P^i@B%!9bdC<8NE{|5C>NyDiKnjr#t~ITBlG}v^;xH z>p{R1OH+^zb7{~&;3V}56HzIrC2K3M+o=`mIZNT1~a=pY{uhjPFpDGP(4fESh@ z)E60NFr>I356S^AlqLxghF#aAI0Z1IEaC$>FJkWdysb1h7@e*2iPvVH1 zg{OJU!X;Hc2tx*QTFE%pK*a-bP(CX#Fo(Vv#37F|!-iBzXpGRQQ=zHgzy#Z{v4PTb z2mvS1BFa*s^gwYeJVOg;k_(hZ=_8L&AEK!^{l0jk$wEkeHK@V5bw(*k^j-g~aJ(?!|7t!KM(iIS8mg8~Dy5 zn+BVC`0froCByiP=rp5ih%O|&UdL?fpwGy#h7Vrg53x0*hTA{XzXkUPhEM25AcS=E zFQIv0A4AL<`b}KsWJ4@K{3v|38`=((5(Qvh3t`a$00Rld*>z9B$|+ev#nO;R#Kv@3 zRVDY73}Plouq^AcAxm`i74o1gxM{@XFoJuYh?z|2C~pEj0SlC-7(}tcJz#{3mL+L8 zP{SfH~FUSWTAdQ4bkH8~6mQM;#c>x(Hf0TdbEju7U1ptJUF&eT21PlUU0dvID zg7U1AP(a8h-WQ`l(x9Lg0Y5NEYK-2~5E+F$CHz~&JwhG z>>Y$%1nDOjUxGQ|fb@*a(>w%_EPxQt02Xn86h0|Hd`JjUrL--OU0qZGINne-gfw;j zArAML4%JV~5S1Ye_?4^=iB3Dfg7Xf(CZrR;mg2@Vh?9;R@c|Cvk77Pl0bIZX<%7n7 z2ZE30Ax;(s?iu=VF*Qxxpfb-OwIbsj-ui@xCbE$(Ex&gqHn=t2{r%X9*W6GOk?EYI z!ENr-IJq+HL1cB}|3Q&EmBQlHz4s%X%dR zWXh&jp4>XONn0za_?=%%OP!O}$e#|brd8ywzkyQRGCjPTWe|X_rLhY(3sM2r!Y>3L2yiomD6QThe1S4 zS%p&^r^8?#_Zt7b^DoU>87Hv>Pfok&O73m`C+AX4UVxK+LI|f_RF`{`|Is~!M&FjUa8`Ka?_00M?azoIpQ&L*2cMPBsZK9OM6~JyGkLmY~c17+2d- z@Y^@#xq|wFlphzQz0B<_ee$YyX-LbbfNd{Km}B!^snWeI4F@x0 zZvQyAq(Xvxza#8^-7xhP4yym*S&G>@h2M^U7EFG@{3y6B)xp0(~qJLz)y4wB9(kY+uXCufCsLa(t!N%GL{7i5H(XHFxD-NlNE)YxGli zPU}r=8WVror||WY9UZhZ0s}&}R=*8+dEd!2;N5-a0qG@<&eQZ6gA5kq=9}%*y{FUh zU$hSV)kURu)EUV+d2z1C{OU0HYqvxCqJ&ygC;0?F4$~Wyw2S_=Q)+Kl?hdV0@%dIC z+WaY4w)t}@Z)<$GK@=V!{UboI;1@BTXtM?!jDp`7lw78<3$@ zPy=PC$m#Q#+E8Ld!i=Vn z%zQJi(n0IKjCpWp;kLCWv#JLfYi&whXjy+$PBu`kwJ9d-2(2~oo&#P^=*Ah$jEY7H@)eHD~-(hun z>V3z3>ECB)+N2l#SJzE?^1lpJ%;?qOK*c2f#YDhvs=qgZkv>sOhzp7q4-7D}Q7_Moo^hOOj)}4{xheQcb*%bZ`oGeX<#4 z=}iIY`Ng%3SKI@=Y8rFgKLyq|PRUP5Ou8Bvu^Hql`Z!6yEn?I>KaPq6&J z{I%&B1pS0-IqTW9?Hby~{ttB&w8B{{=%~V3E0E(&d#48*+s{Fe30UC7`*Z5Ur z9LywN`YIV7Qj>lzAf>8dT=mXn+BNkJe*$U(>v_&inXBA_YcxNro7nEKEwvqCd&xG| zJ-9aDOJIrEj#j;zolY{c8DUFY(@*|6Z&uNAWoy&%A4V<@of4!PW{O%HA$Yk)Lqj$| zKRrXqu_J#@=(+OU4`mwfE?Cs5+mk8R-1u9yZ#2qouNsi`W5=fErw*Z;&9@$#J^Eix z?q9uIVl~XTBFiz0823`{xbe`KiPi?W*B|NFdKHKZ67sIc>ezXeK920j!~I_#MgC`< zLVcYU*CEZwFexmu@k#OFD*e1W+SYfs6u)nb-rDlDa8_C%*Qw=fQos$D=2koM%`~_C zK(*09o$?wKE9c9l`a+h7IXOmCrL5$=?lyix0ow@3H+04w^_yg zo|LEU2tQk?yiJc^?(?b;&ykBZwv5T*$_2;=6c*3tR+|*t6Amr~oXmXJ;AZuEW_}!7 zLcdT)LpJ%jdLY+{E#GMgysBe(OI#klg^#yq)L{{D6?m9hoi8t}C={q*_18N);DprX=xP zG+IpEElo@f9~sFS`$bN0_*}xZYte6Zd9ig_D zjngPA?q3|(u(if6KGZStOF}lk^dYxV&Gbd#MvW6sCB0u?@P4_*`(2jzb9L|3N8V%> zDLTbsXIg@w?OdvD?0?l`7whwLI$tWA2x@j)K2V%9+8R?GG|@8XXR0dOn)sZj|m^tZi5y@v$+kG+_rnv~^YF z$=J+CMm0fBTBd<|kvzUr>!%_^e{Dl|!%TZ#)7O-m)pcQ}CsXwOwMq*^(jq6j7!^4f zR+-*BSz51dX4m4}eBa!$^-`u!$uME3LOLoLVMo<&MM0L+niPEpdX9s}-C}xK56T@) zyAqLv-?cB2o@oBuL5W<1jl=EefgR4_g1pi>d`Hk<3*+{@R+<%PLL zCMR6t@5l>tjZAa4%L}csjr4IIR%sY-RAO4>Y*_i(y{@4s+m;if!8H!x%cVE^7Q3d_ zBo;a5SI65p=EcNU8k_RvA{%`(T~o^vi|q2NW0UG48cj1@Bg+yq?efcFxpsN{2G8HI zy4L41uXma`uFTA7Xs@5zH_BG+dK;UT>A2`--RW`%E4!{*+Kn@{8`hmXnfRrUlUXyt zwD8rV_~a74ZHw#r7MrFf*Y&#RZ^ml7CqLX@}f<(GObr9~-zgjf;y_oa|dBkJ8Xu_+8a0@lXAzKr_8WKTd*Q*`c`&Ba6}v9(xCH zFGkunyXLydCONygMgEaVXwCaloF<;+o;0&pO=#;^yMzVY0JDW7IL&SqO_QsO^{4rk z8g6#5&oK=*$us@-XL=8Fc9T#T~8p)coz62AS%$$yb zj@M^RImQ0Xj~0~e+3Vty7WkoTytXX&1FufW#izikmN&69=z|`&$jNGPx^_-P%E^6J zsa&g?5$E~88cyAJ^T{s0leeJM|`v0eIV%G+(Ipn(r z@1|WcQI6ZT??d_ZuR8a=wn*eni#6FB_iNvWit9N#F zE(yH&idfg96vb7f)O^A%qJ~6@8y}h?eEanr~NJmCN#IBr@I?dPQPMDYD%d-yu za!D@Rs!an|_clL1K2xU}>pnFuN&a53g{e{e+p_wk2FG1dn)X`m0s4OVsYX4EhY>eD zX_kZ5Bi9sY|5foRHC2D>8iZ@f0uM*v{fI6aw;##=zJy#tdXI!}Z<)R$+RIYn>$H0& zn`vhvNJvlYc%hD&hW~w=AoM@B34;G)n;_!IQ_p!hZ~g|FL}my~5wOFII9L`N=7T z8~Y`1(@VCTn!F?4vDGop-MS)iw`7Q|Qf0D*#)*IR0q<_L*%A8NRuJqD{cS4MtqmkVj>Tnl`P5j$JJ~%4^zoY}7 zWhu9{S7c0i^y#U`53bylctHOj*&5juVScYhU%!{r@_TpQn9KVt-<&GN9mIdF#o|is zUq&(*-kQHRr|xmj+Vo$4e>nObY(D<4Y!mOUfa@!vf;{NuWIxMlSBy&|3e*ef#p_g<0EW%$pH zKIkAtT1pM5y!FA$cB_W%Hu&l}W^GsgJFZ%~)%SOQCFg&8Tlv3gR)&+L!S|E%C4b^_ z1!YCUHG$RHMQ{?HtCf!G(ti|c6HnC@j~qX+lHO`ys^00?N0Qq|N2Yh|9yc& z_1}B90+$FJrho0-QkMvKcK^0{!>l5S?ACTr!RUk5dGh7co2|V%{@dsUf8U+8JA7<_ zR%M&V2AIT-_jl0|e0JGXKKwNC*+>K zU0}ABbmQL2jEDL$8D@#AN4mNnj?&)~_(jz}(zQ?HgBT6IZ!xDj*EqmAb&ri>rCfSK z(PJ_Lbj^15caGe{wW~~sNXUH1kF7J!7NugCFv&d0T_yJNt~9;*_d- z<0ig+yt`Y^Uni4``6nx%);Bx8A5)_(U%jo_@j$%3MPRAcLszE<75Vl-+6{?;Ma|hE z3v;Sk>Vrz$e)X1aZJl@WOW<~^42O!9Ss{<~w+B{hop%jwtlc&v>3ecev6FtjZ$(X5 zglj`|lgm%VVC)z@B%bbpsGaV0-EP~xI(;76?@*U62m z__r%EqV$WkOd9ucSLTO+etn6u)z(B-4Ew^_T_KnG-#-of+L}o*`o@t>*-k~7U#28Q zo7VHnd5z5_jdKFb&Wk0q8vHOa4=B{sZg6!gdaR$RmDgDN%g?db&&+T0Dr(LbHGWEq zT$ouMAY_lI^5bmD_qIV)xXw z<*A`R#uU9>6#aGHu%-VopZeQF7G$mGuMb(kS`VFTe>rL2sPSwhFV--JTd{I!euHb{ zs+#+g(?dC-6-gC$Dz4#rJiB4w**MsV%R^ZnAe?{+)eG#m@5QVh0fO3C;2ZB7%+Hg(D`lWDK5 zS}d+VYYuNSd+&JK&UTvr!)~%MR&h94{kJEpwcdUT!|z8)hD8mJvy}`n5P1+r&|iN4 z+1zN?+K(>Hi7e{3S>;c6WhOUtx-Rt7+j#N+^<+^yhojAK1cTLoZEEQL$C3=0Kc(1d z$LaiQb+}D}=Ksaqm%vw9o$3E)sqLWEc4~2HF?6i8YE#Ib07<5cOKpW(5ZXqPDgv@b zL6(FpGvip=qGntWMM$PnNg+T65h6=+s}!grL%6$^U(xbKdWM z_i}@Fu`}fN@tyCScR%mhmmB!&uQ8-X46UO(JALn(yVP`CcRwG9YYesYZ-`&6^TV6A zJ+we0?ELWQgM(sheEKlAX@ZPm4n8)&EjiacyK&2(IvKycY);dAMPovvr!}>1{Gjq0 zPe<$LCx1V9a{im%MY$uc$lhN#DtLC)YwLbhKe=@Dj&+6kXEuGg?wZe(tZY5IrqOfc z?5X#^e`M^$6J0BI)|5OS=vq~mQ+LhNB`bSYZC|&z{=^1vr|+%O6XVvM@;1!=$K2a% zCOzJ?yt89KXsma3amD*b=8pEQ+f;tnOI<;4W$P;^yE7J_UN!woo)Im3%I_*2edH&* zCa%9`|HjO!4_Cdn?m)%Up{->yN%U zTfP2s?+)J9=n2d}-97!;=D0t!*B&04Yl`4C+Z*Oy!L& zJI#`3)MTO+xP-Zi)8C9g{bb{`ef8h>4+swWW`0}S zsWZObw))0EPTjn^>vuP?FgC5*QWk7adTLPddV22Qzj1^e=CpB+bkA-p}XyQXk*;!^=N4 z@}KAIeSdN3ZAr`DnDkuZf89C%cVDRMbAT3W_ieH4u&qDwdVllxZvU8nHFj5=-N_R3 zb)oGo7wW_RnL8+p3Q7-#CM~$oUrST020`b_`(8iX+;L6qt^Pgp&cuA>){gP-pVtxd zl~p^!-w-?#>-Awz?|ZW@n)pyjL2q5~$Wx*5500KVbGGk+;l3HueGleV#{UQZzCFWE zw@2=+{>TZHK02(rFDb^Jr3>s;dm&;ob=T3*gMq5}l@Wi7<0Jm^y^;HHBl>QU>oA`{ zPi}9lW#FFEJ+B0t`kTKU{bT;sWEYk-FAE&6Ev#;?3Y>`fDlV*Ot_-xqdL3R`QI?dx zEGc8%y7a1b8JlOOSI*3+X-}^n8LI>NF=oHpb_N57Dzq^6@z%l^BTv&>V-`&t`N@?~ z7Dh9basL0Nh_*DvoP~_FaPc=Qp>5hV>5l0=OC&l_c`0!Z7-ofY^_@lRmMeaP#YxekiZrt#7{`D~?U|xX1i(_?Mfd<2UDU|JUOGGv_lkpPT-bgWrDT zkq0i;2>Z+7rw`mDzbC%8sw}YSR8rT9msY<~xp&^Z-wOoB#jW)JdP7ykfR_)gKee*7 zRb^RJ+!N}ePqD5w&IORsH%#7eV#C$9&Z-_eC-dZpQ?;`%xuPUtcd+V%?_4^+eCI=@GeQ|f zQ(qZ0^@lkHIiJe8Ip?~Z@i_y&bRzh#mv&TlWrcicS6{Yz?3{fq-@0aV*8Z3GC*Cz| zc87oF^+Wd6-}Q?f&piLR{iB;lzdCxyGr`-p*N!i!c&6>0#FHoFnNnBrD#o$ky@F!gUMZxqaHvX)m^)`* zV0B03HLC)fpUv_#wob`h<6j@l-I>=h^tHDJ&2L^izh-`5XY*(BE*)Eu_7CIo%C0{> zWL0QQ!TbJMow<#k6Gy&VHs!C)}5-v&Q#JwD6r_U_NOOc{vz+FNzz zM*4iz>%@`TZ$7yBr}_J{Yo0t@T~oe!M#b$-vpQ#d`N{gPlzPj){m%N56X!-Xk3PJ* zr}xIqkLQO*y*~Qg(c4DvAH8ezq0w7MH;i7e-{ZgG+PjaHerEURdv995u;#A+S$HV% zo%n|%|J%AzrdRu2+|e^P{k=!J>aX9i_Ob!Njo82*ellLc&rB6+nw*K)G3x6}G{_^IL!yoTxZ}6ATtS&$E+f$W2 zSsgD2elRrJT(5ktecSOXAG!0YmR)Bi6eiU^*ZhP0_KYNI|MYrZ9aS)fj11y{DMJ{v#v zHzPWH+l#X2zE?6RBk{76O~3zoeyz9P1$z?uElVui{<|x$`og#g z-*|N4+JxEL#VcDP9qUrR$NzcG<~Uw? z?uhEj#)j6Gjx&XYnYFIZt{uURM}~WvPx#Ib+1jzSaOTp&PuD)& ztj^*3{Bm<%Zs7WwXAj;xW5Mh3U+Xh4#dARq*u3UrdO&nd^TonPa(_MMc+A&bg$r|E z9Mcl>Wpcac!=B)*(t_!SH$LL)U!F7fyud$B|NJXA|FQqSH)g%{rQ@GHb5Y?x)c$+( zzvlmUn*Hn}ziswMTlwL<8wKf#lHF~AyGujYhk_Zs!HwO) zjXmYPOAfR@lsUqa+52>MsNm}QhN5zzP*K_5TUq_PxJv(^hXWaNoBcD3dOqd|n;RQ@R~+?UAIK_A&ha;dhIRNR4I2@+tLJA1JN=Qy_RGsF&kcLg*Rrg! z$2aBL|17Is-<}nk9qgLb;oDbU*;=rvqOxb$W4=jQBRspBz0ZE-17FLq;cXqm9`W6f zHKOInnNV$S&Q~Y&HU#h7;hi1t8PQQtSkvk+$jF~K=ThH8-}KGCWesSI46Z$Nq&j=(cQ&2den-u^q4Q@BSu}I#Wl0_kDeFpS%w{w zBu4Cd#3lB*)0oaDr~JgL^;qBW4Ke?+f`8#|DA&o-^R{mHc~DT!gUB3BtWlvv*3S=k zyur4c7o6+2`}hxbfAEdnC#LS+SuoU2#ymAK&V5C}|JJx&NAac#krQxR&YMxw`87MQ zR$mwE(t-;dXF^_IU=x{t^(Z1oZZ&lOJo9;T4da$nI z#jO)xyECKJzwO}cgViTCjN7=fZPhVZJpOTAPI*my^@5D8va)?+W>xp94HMUAR~`Au zQe6_;H0^Cq#iE%%tZe3VET`{*W6Ga`jt2B=!QcbKf9sH zEKN^u8e6vHN9A`FkM^F-ihFf${{9N@{HE(l1HtaaPy1)@IN6Z9=FpnfszK(Q=#dFr zy>||uoQSoYbZCpG$e$W@?C88BjRAWO>7%!7_pzt9@6Fba1VTSdGsk4)bc`(9jY}9k zE@}3W!NX%*mE*KSTXzM$^`ZEvW1@RnnD~YlEeBPZm zG4@SvK>@Cq{@|uP50kNp=fi7yQ<_S33uXKmN|j@P#>l*15g>=H8N1em&l~cH_2V{h!a7 zI{myrb5M^G*ds)tBgM7vwH4N8*JXE{UG2N;WNB4)-WC4ds-As2yj`K~*;;oTS{b;> z<1O}FI_t7&rEC5eDy*3C`_`uq-%!z7zOS@;UUBQm$|1QmC+6LC>;Kf1ocg?{qh#!z zb(g;A|MiT!I)5^)ezNB-@085xU#hN>74$hr3Ld_u!#gWD=TPt1(we1>*ZZEWmrAL< zW7V3>>H+mQUvTiz&259r!{?4}{>GqXf6jd?(h3&kr)VAE>=ucN&^jPyf9R8`7_P6l zpwCQ4j>h$U_EV~ZZM~nVs(Jdrld~Rs;jY9}pD%lGb?Flue5)3&`0Q7TKi66E#Yx4# zdsezO6XT+si(7j8yp#!*$|uy>arR>ekA;rbdiA0TeMeqcQG7P?xZX$Z2#c{H8hwpE z@4b>G#lB7pW9}lxYJYjYoJS7os&Qlgn12&X%|3wGOa9yku(c^W>uA?BanFmpC$_Wp_a>g?(0dlyG;-@7=@WNkTeWb0K+ z_B^-b-JdMk-zlxPKh(A-w9{Ew%=yQNzyCb8&$&|#TS@=ClW#E()5?ZkQ+WTx12G-X z2NnfN^d6#hH^=&Ge>crss}?cQ7&-0O;T(}Xzqt0al@t|~6!!E^Dk)mp)ARNv*(2I~ zHxv&oF1gHG@^o)#kMGm<6(c(XXFC6*bLPt4@+|L-rNd9Qj>`6&_0H@aQs${_YfmmM zf4jb+r(j6-h=8x9>QHt@MTPj+=?tuKBlB&-Tq+r0`;+b%M}0EySKQdD^^v`CaiaA8~*NJo8{E!o!B%`^UDdJ-Fp1# zANkho9MaJ}|K-q4m$n^#Yn8Tk31+Nw3XXpJ=4ru^p9O{eQyhK=yV=j8=`fmNOXy-Qwe7ZTpbPlo>A!f+ zJbPr9aoV2Bk!Bau`K?d*EZzB+?uILun7s)b8Pj!aWZxcCewjbJIgp=oFxEYJ&c%6Y z^(Cdnx^S>=$n)(poNb^n_kQY5(3tn?+Q{gAW#KE!(pqBf6SR?L@u6sLZ%>_PLHw^` z{@ID?`ns4$=VQ%M+k^BMo~({J{4$X}M?zgItJ8knU-mzR_MYo1zM*!+;lQY7uIJoP zx+FKQv-q1!^0EhceO;x#Mqf|Kip;zNUhlk2zqi}>d}#VPU(WHOqwo0J&t-c3&XUrw zL$XX&SWdT=k|8TYEumoY#E$OAlfUHaE!^;-zx4TI9lo6<*BtmDuCgq9&fK2PZ+agq zE!mGPy3KEPL`+A^*1#2dPp13MnW$xqJ{K;q@$^FT^^XNQ)|_-~-WA+|CJRAyo zK6Slb*XzEfHyrNzz;0A@`$x3z{Hc2qBiA-!T~W9C0!_%YxaQI={=D#|$gP#z%{cciH zR(ssu_{{&f?1AM!m^x})+z$s9Uw6s)KDsA5>O3{bpI7qfzIH#_zGp=!#`^iE{q_DI zO?=>%i8Cflv>V2AcQL=fm$ZPKHY0i!wOm6ER@fSUq{2LD+W8UspE%vSp4AQH% zBkwD9>fxID9$WrmT}P((GsnEu^rJ7iywJjyx4FBpHgZltR+YJ=ET;q7=Vg1$S%5zO zuh075JP#0k&jwq7vqwWa10}JBl8CF}Um)s=9XqzXz%cTHx8c^FiE-rK)rIS$yt7LX zvF*HWOQ~Gf5Va-3ZiX;hA~w8ZH$^y0nSC!vU)Eevw%E1RMHZrEw+r?ipSS5a;*>!2 zJvi=}g2)~rzm^a3%SPe(_bo7gQy0Yg`(WJ#4(@cHt;@}>ct5YQv$yi6DEl@7jV%`s?M?6PezT&Y zqog3ydwfh|Z?K`Gc*vIT&AYa#wXEG&J?(Jk-t7EyC9lPwKHbsN_;U5`j`l&5JH7Qs z%i6Cm4esC6)84o{&{EYgw?cZRc4tQCu+_dv*&}=po~V|wzwg|Ar`o*rc>}zY<~dza zZu!VN)Ld5Ub+(OEPxm!W+G6^nH)M{;tKIFdKkHkToptiS(5`bY2TNugY4H1IcDL@U zsBDwYtn3`w<(rf_BG`JSbIGIa!+MVf{2g75b2hye=c~V>yF)q%!85nlk93$8cNCXC zJhq}P82Z_o5#CVGA9DS5{`p0B;1th2&4Z$<>fw5w|3@!`_R)m=c_Z9cgYDNHm%c;y z>7Iap!MQhj7TLoLTF)G?_xgV|=1m`etJ4fIdk%TcvXD0>XH>*ra!$lwg`WTX3y*<1 zC#kFDMBShpe)^3&ue`Z(RNLcIx6kbP&ZbX2(^&e%e}DE%-oJZw{klu;JpWw8$F5=Q ziI%J_y>spDE6>Dli2dg+F`dZ^_8a>?4Y44t*gdvbH#AO_JyP$wLS9Ihy#Uzt--Q6y$9ZN|Ly&kh#})&AzM#Gcl+H#f{z|DMqaUo0puy) zy$j4=?D?bt~=e)5z2lm z&sR3R!*^!S$J0<*5pL#i*>SYN;6-0`zPN$Xj1Iw<4JuB`Qe6`m3G!Q|%3 z&aBX+v!OA)jgvehe8rop8@d}-g^IRZC8N=-7XvqVMjS0(=^q(P4|V1Y>rEb-o&Bx$ z%6I+QA$zj3IlDcscg^ZSB|g{wv{Nr{d&&9R^k&qMF=CRs?~X=UpGOvJ3kNm(uh{OI ztvb}1ZuTO6oY^W&Q_b;wHz)SrS9AF1DUNwjpL?n~dgkg+T&J)%S6}eru84DNAru@> z(+d%Qt|HGm;M~c$+Op``Y;;x2tYO@B1?<+rH<`Zo2zN^FqIQ zsPvwutd^2<{j*wv7atjMz|&iG<~DzCqPKHh(}Pg5O7r(Li#Nq>syB2R> zeC)}tDR(q2er@r4i}x;myS8i7n7qJ=*4*MlRn_x4W>xpBZ>;Y;cp~(m=j!0O%=*0c zxzG8>?0u)C{@=TM4h0t;@n<~e@f_``=6$?kaP%+RG%Hog6HsptE2tj%Es>SFu}l@cQM`?zrcU zwkNXIJyPG3H|W67(zDrtp#!E2X?$q)4b>}#?L9Ja)vE>$tp@M z^0bz`IL{N@ynT`H7;m{dn0Z-!L%aEPpj6y)cfmVNV(f-;?Unj7F5{4E1CIpiojp=V z`!CA5d-{VLw?zj!588_Z|1$q|D$mGY&pNM|xr$)lcd5uNlShh6-Pdbe8GYY|L=>I6 zKy^8{x^d^s_Djn5Bo&-0pYLlaD40Nk6)QHsv_zq@a&bQF<*cEdrq&HDXoI(<*z2m&+Z&D_k_x?@5rt8rQZ7LV`Jp% z!Is#Y)Ua)BbY=%GLw^1fxpdOGH`|q|;ajzJLt|a7Z1NqnYs`Vty}@7C?R8bq*UEOe z(hX-{_pYd(v})4go^xX#tb69x^qQ1MQnsbMcxz$l%R@`2bxUZc{a}{e$wYBhSAF+1a)# z)kVbInRB&bM%&4=aQq|&*fgfap9LIUVe-3qAj0}|H||CC;oiT zeQ$n{`I(n4y57UO7<*$?{w(plI&^T5y8O7b0xpZ8(vZI z;p89q+gqRZEXm4#Vc*=M@`{?bQ=aixPTbu6etU36@qN2?&MZtFTK?r@lZGe8ADcY= z*z}8%7Qg=Hv3vTjTfA$Z+0bWuHYEjK&p&h~coLs`ci5Zvj$ZfNAz+>U@tgY(zIo`9 zjH`=?Gwn_sZF`-7&HbM|jOF}7n(;h5U0=DYk+pXc4T?e?<^ z-{bc&y>R=YIX_tw*H~QmX0)*W%hzC&qo{?+f~@U zbMrSEXTDoJ#Ixj?qh0^x^>r4MEPedw&X%qdJxj*yZoD*5Ft5Tl^MI$KeC+m@{?qsB z0|%S-HF^v4N5;MSM8%f68?q|rRkV(Ld+D}S6OuM(yxFkizKwxbvOI@2E`EOF^RGTS zA#q*7v*EPJPDJF_$L&&t76d+B{e|eC6|&cLh5HlrCGvxrJ5Elk|AP1a5xMo1EeVH? zwWgieeNXwZuhwt7d)KamyM897vaW7_dNp!_#{Kn${Jj1%Q_^OpJ$%)!`zEvxUhtD$ z6K2nRwsJ+-BU+D48}YTI=jZ?A&B>|jp5I!urTz8qOm}tl2p6lp(DSXxLMHl!Xms?{0f~s8vaF42w zEeaII&8oe9y07D4a&>n7Q>7){9j}M$fVtg`w;uYi%~xGqf3-WnL$U2?m3MCZX4ld7hic_K>csiJWxqT4W@u^l+}dYf^+&mT z-pp^heQ3Y#RAc^=d^#M=Zsg90qfvvSY-X)EtJ*S)MJ-wm)P+YcLc2`jv?5ND^ z3GRsV^!VyaL%~JarCk+gzV$-C8&*tuu3*K@E4FpMc=PKk`hBYNQ$H*I+20TR-TzCE z`^|m*#!tU*=0h{a-!rWrg8BDO?w2q)IU!}>;DHDa8`f{ow`PtTKm8&3o%Q52`ItR% z%%uAsx_@9oLSkaSLEpLOf!oGUns~n?4^B$zH|V?L4RCx?x}@GR^`40{2c}9OfBHk; z{&xP{fjI-?6Oz*g#;3_|tf!>NkFbO4z_AA6mPu2`CxMXsM*ZM{KQfWS@0m7!;GkRX zOGwN}$w*1)H|Tp0-7|I4xNl9LICcEM!Tko^anD>UP)d4wzd<7(8b58c(2$f-1rGpI zSVO8AlOA{|e@4GSKeqD9ud4UU%5v+RYIV*Tn3y8J4llpPo+Q6TpOl<3FiC#MJ~<(I zU}Bp5;=BBsJKp@3AG^md&*K-`Gg8wS=5N=h%1_4gC+P8O_xOo-`FZz*!2+3(I5=Zq zda4BEb6`q(n()MLyMtO%diub`#MDIo0DVG2O4`7Ll!T0d32A~NhDu6J7Ob>n^Lz5b z8NXqlo-V&XkKdukZ^x&l4Fu!#1YroqNKXQsFCxe@IE_z2N($4U3zQV}M4_6IlsGUUIW>J?hB!(>vM867C`>b~*`QXcm@P3w z*bL?$4I*E#WKv?fdBd`JU}Z501Yj8HHcnv^l0jQcpOBcGM7wEk$tcfWaFuHl1;buQc#R9ANPlcqmUg_S@kFS^~#(guyFGOs?`N4SXwqyzK*nA&l(O zIPgpmpK$mo9%zW%5w?OJN*i#HPae{RJQ}BZ16Jik81R6xkE5sJ$(z0lKA?ek;3-d~ z<)jS`rvV0dfKhzKQ#yFN<&i#X5$kHyzKMO=hEk?xikwD64w^i+muxseWB@KAhw14nslyyD86a-^fS zu<|M&yyaoK(9ybxx+#oHR_Y+KDZHb*^0)LHnve-{Xu3-##w#sJCrzY-hU$l~;(!Le zMIOiz{V?8^9m=Wjz=1u%L;XbJ6rVKlJy>Lw`j+vi9`OvuBk{mxH7d50_Cj$~f8t0p zK%A6tUXY*FDJe2sosrfK4WG1GSSO_V_6h$az_wrMa}LZTELeM3+fO)~+8 z!?zd@4J?&bC)01FBMclonht{lUukJN;_xV(@`EF|GKVm5SkO^iz$#6I6<6aFPH|lE zj&r$bD7?yI;T<`U9<7_kxoA@+eB%*Yq7g?pqHJJk z<<0sR-}*pRz`%Use@?unTRg_A=%AA!bu&a1w;?a3gEVn2#8G_Eu_D9y&=&ClzQj8) zfU~kY*@ZZb7v6*g48p>f?HXi&3)*;Qx8N`iG9exPC8XmU59E=D-5E>Q$zE~y2>#F+ zICu*U$F7ziWwQ2DdB_Xth!;HK*nEK9oIDU2(v3P)32H!eF%#9cC=6>n#DLl0AutU@ z)3-}ZhX%wzIv#|9i)?^NKwrL{2QWytayX_!JYeyFzdVkrlI9MR4`5Ul%a`(i7vf!} ziI$D&;N!*z4LqQ0!z!bb^%74rgSI?QHmS_|R{mBGrAL02wqyy&(nL_z_O8j^l0iCH zkiEnq7m=h=Di0Hl+Kfw^GIIdB~(QR(#!NkIp1vPbt`JVnPNXs}Sv$>Zb% za1jq@mM~S3hKY2nWs}*7mh=o6lSuu}=47x8ZW0pH(xm}FTtc!CMFPeOtoTJij)~Gu zRbvKJ=`u{@utwNntbt(;;?QAFNJtiWF+xHE09t9Vmkfvy=D zx8z82nzV^B)Z!y)e9IUL?Ign(ib)tbku34BFh+!EH91TJoWO9{hOqs1Xlj}r(lH${ z!ZVCx#;`i1P%|#0C^=1c7xY}F47SO zJ?MwbK&B%fprh$h2oMZU!XPAs!JI;1?1`L|iUkid1?fT{MTW+N6N3>4@%8~D8V%o; zA#uQ1c(Az0aFl{rLy$Ivhq89ipDb<$Wt~g`Un@N6BW#UL`9&!@k?^IlVJI;SiYDk% z2hCWKgNA}ZHN)jiBii9IGeO|!q~e00LAtOLM%rQ%W`fWJY)Z1&NMxezQtdcj2F-9n z$boe5qEikwgW+U(r$~P-RoZEE!Qzt=QqohT&?O{DkuXya$qASsNl2DqBYJLlXa*4j zJvfMjVu|94`2mzAd`mr$Di#$?PG+QtE3iCrI)g=rEKnaLqzHQeO0QO4=xef|NjNnH zHHVZyDapW8j`Tt(Ef0;L4uDKjgIEW^2w%OA#uURrS*;@IWT*x3z~O8dFsvo;4JWiU z2VpE69SoU)8bYmdW+HtcS-~|MOd6f z>qNrYBH|cFntT|Ou4@fS<4PQjEe2Lzw1QXwZtdhBETa~(nLt{|^Hi~p&_p`rv_%mu zHDF*p$_O3Aa>o17mO^toW6GSTr;GEOiU)lFJDh}DaFFRZEh-h35&E%lW*Q$cKd;eu`gck z``UF}yxjM->$qThS*-M4->k{+g^QMj2wRKEjgYRVL=1n!b z+W#>xY1ce&<2RCmE6=U$TG_cW7zzCP;i^AY9ly!5=v?jZ{nwQYYMb{<@AtcN-wXV+ zD{6)J`=Q(ufggDmb=B_kzgRM;V_uA?=e#?+bB_fQJ&QVP-}H|!8Pq<{M!n?A^=)1A zQ*Waj9P_t^s|H$$7jsyNRjiDE|6zuwGR-EtR83W2n4?lQvjkj!R(Zb@6S8nlL zT(U8@U!b^nciCsW`-{i!p5yo4RXS?NgFV0Zch&XpDEyZXTB`gfh5egx{_D=px+Ayu z+HrS38oa80^_BlH?!F&9`rO*VqqlE==c-R1x$p8@#wTyzc3b#P@ALc*H-4XYrMu&Q zZAUY`b9Pr9$ll-aW?ajMcg-EOqxIy;+n(s?e6+Ut*yB&1TGlwnSFy6W{=gIcPE^m^ z)0@{Y>u&#%8F!srlbgLpGU>#DQyn8NUY2So7P1FU(l*Mtt9aDPEUr#&Fy}|0?*mhPEs{GraKn+NYYohdckHJ}>Y?5O0~= z`Lni^9t%h)n$Af3P zpB__^_4cJX*|)Y7J>BSiC%dEdvnPiXeX;0^#S6u0?kc*gcz@CU;*_G4;_K@6-a4!7 zvz;W zKIHM0OFdW3D0yY>o!2y-ty)}HICWm}lkc3kseS+H{XJus#w~W(b-XiUiRYq|D{nf{ zx@f{RCyNhx8;=xcdK*vIl}weUElv71t62 ztR%}f<+D1gJwS&tfIqr$fgfPpUR52l}Tw)Uf2`%mo(Lp@qh(Ad1wbs z*DfUN4nBBG-m?n^eRVt_@YEH)=hBUQ0Aur!@Zbe~1fMdB52j*$UdB3n10MYK4LiwP zC*gr(X|WtY2A4h#U7<(XunFL0WR{vNG(u{*%co^O=ST&s3N_P5RP_X)=Z3{*Q44 z5qC^XWp5TBspzk!qeo6$ex{*M&Chgn>C#*(v2DgrQOyn7z3rs(44iEwic-QY>hxm zqh+w)5P~(StvR)ZG&POX8psW#fxhr&Eec%Fz=L?m0v-~k%%X<_YxUBaMfKvhm4Wyc zSK*YlBd_WWeu784ASYEe(vn&X>5x-uB@W6Vo63tf9>^*KdGb)%T{a;M;FOl)1JA;- z21ghJWrcIoKrIdV;Jwy1&KvOH3pw!y9v;BqQ8_JL+Cbv~Z)Ib=z{67!mxfXx3*v6t zgpsoB*xT|%4+A);rBf4R5nCoq>A|w;Ooq&oYJ8bB5jJU=iBnTuqMqU;ClgqinokkN zUBRMG;*1;S*|_7$)a0zcNttCM9W#XKVlXK$QbD9hLzI*vvY9%a6+4$kuz1gwgVl!( zF%B|g|5?Id6hekrL#Ihu^q~XEW2Vt)HDdQ z211QwYe4#$Uc@SmH~XQ!BdC z*ekU>lqcb(CRABS%gVwy$bbiQW(sT%ebm2jKd?QT_ro2>eNlTE*+X3SCLri|D_>>SP6v^nJ z4m*&w`N$p%jgDafcq(7f8G1Y4nkH`@LQpmk!lQT?K2S!J(KMnXk|hEHFaqPPB&czW zG_WK9t+mq=rRoAO1|f(Cg0(c_%{Cd7dWVh8e9EcviA-<|&H;l2Q86`4nwB0ZfWKma zpIRPqnp+AFnOx?iI|4^_&@_I#U;%>%I@&jNgyobU-oQhg!ntgq#lqna7;7^J2j5~1 z!h#Rx9%0L9{Zt;SJBy&|>V6}vy4yGDsh)VtDxnAMBot_99s)8*PSVtW~Ktbl_9Vq3$QB2`CV}*j+Ubg zqQ!ztfG>0no+xAu>MFPsPfZAAc@Njl<+lP>f8nx^Jw ze;{$NbUqSgfz~XTnxO+)MKfecz_0`VnPHY0=!J($B8BNwv(ZKO1$`bcM?c620mX#5 z<`3Q~q_jiq2k9Gl(noR>uzAkjkanW500Jg>INYS&T^zJm2h*|#h8`PwXx8M4OgN-T zPY=?uH;EpeK2k>m7IXlEFxR5di(?fn*$X_US0~>hF?qpv(5nP3XaxE2ph^Nyt0mKg z7UK{Pc=SB2Tz~^#^bpBM;^`uy3uNE}KJw6wln*QieMJsDj!c%Wrcoc^Ngb_DDhqUR z>rWomWl;tkIYCn%(n1*aP(F|Y^%U@|Y@FAC%odMtwH0&{e3VO+LGpzBplNN%H+uMp zvk&D*x~1vp1^tnKI(MWz0SjJu+ebZA<)Q7Y9XVnFPr=uC`T+7DG?8a`?8pN&VL#{q zS#;zDS!fH`MC?KNElq}z2LeMJ$#>Wv&v`P5UZzxlxiI69%o-7dSpiWqq3BQ$V1})9 z>aA)4qk%}SR)aL61tcS$)P_uxbbiD7up-7`pb70@F<2aF5~q*Oy761mNLT2ACupK_ z3|moXiN}zKD22DuBpr+&p_laUfy4CPKk*-QlxmK0T6yT9@Kn)(v$hgX8Ng3-+3E!O z=$-HY=q~g!Ff)N1!_1!Q4m_Jl)B#>1-|o^v9-=2{y6t8&RBcDwQf@O7!gyEyk~eJS z@+{^Lc%lTrRw^6fR7T{Xe3QS(Mn2FFFpwSTZqG*k0uC@1m-xtg@P^#LgI#UoMBAcm zmOcS+XbX8~NZUeKz~d2I3<(G$x;nmR={Y4yXb}c7NE&1TP1t}#3fM{eAM{J{O|6L_ zC*b9+a#9cQfK9C3k*Ba5^9T82WgskUBXG2*gpr?=8@Pal?w}95TU_QB=v#SdQ-mQa zc-cJAd>|fdWo6YGik$`ESUs3ez(pK%1ue)58Sw~D<-v5w1^I-o`V8TLBl0tEERIuK zOa8Nr0tOHCu(V+h+DPK?ro37+qU>0ExNXZYXedvCM}I;44$K1?=A_8%9${pjL~Y4( z4_w$^_~Ce1D$26ZN>VPt!IwPO0 z{LB~ZTod1?{s>Dx*zH&BE^(qFDuihaGm8_RsU`^ibItoWXq@OV(?H_>cCsCmO#;zG z2iIqKe#lI_Qw#^gHF3lQ@r&>P(}qYC#|K@cL~ogDlF>vWCR$0w%p-~M6HG|Vn2;`c zFNp$TCYYGY|H27`3(r9z0lS;r|1p&bVt+%Fl+z_E?5D%cB!n@DMwVe*0*60I#gWP| zmqKePlN3|KJi-Jp0cJ1&XVwdlmqrYs!byHkFv$ryv)NZ1S*EeXc$}?rt*(HCna0B8 zbP{&p^V4kU;*KPGLfBctQ(#W^8Sg+wnh=5c$)yRxh0z?(GHWUhWur+Hw=gM&NQ(c3 z6Uc*TWEmw!m>wlyD&vS2{$v~}GsM-JFy%1Iuoz6`e@G3l5`{y?8es{D%TLPUND$7$ zM9x8mK`39C5ksUB{*SaG%GFV`#>(YYK{NhGndyIK!2!O(koiygA9l+# z93;FZ;c}_4PZAdxEMSHJEKcAsQRD3ZHd#RsdS{qNSd1uoQ36GN8a=`o4rL<{fx|+= z_K8>xHvb{PsD(JJImxQHtTST)$gBdT<489$Dj`W1w2g7X3s1)3z&BhjjawitydN2H zXw76aEL#VpB#|>0oMhG7LZXIFlC@gXt z!tOM_(T%p9k91uf z9)PuZp=q?I@^B9)t^CBbwxSKh?w~mV9>^!i;DR;t82|!fK~_YL zH`NF>jmQE+<*cBJ<0uBDfJd69U!RQiSQuDvlf^H|OFD|loP0I2aA`shMpWY_@SFwu zd#tu>^?_z29TlS4&cb$x4G)W*X}ORZ{$w0KQ7vHGv{?uydGjAS(ymV#+;Z~PuJX#K z#gGxV4N0kXQ(*%CBdIVwiL<1f1WIq#k4c5(`5#3K%g0m_Wn5ScCPeX&+TE=JK)}eD z4&0CqI;=(5__5hC(ntat3z-X*i(U}IVi_C>&La83ahQZz&}A&f@iE?TY-u5|BF!{7 zm_8V%s^dw)L%cKN4?M*OU8GAK=e3dM<^?!~1)LayJS>EP>@)zYV&2qVpTjNWK~9a>6TX}bAaofY572k-^F zeKX$83wWR-agL2_I(Snym0RC97>Y39^ijDL25;qU(@0<8?BP<-VLbcE~m^wAHYOEfRiV}=FkTZ_-NSTlfLGG(4yZ79OEr5M^}-} z)OVu4+dgi1q2bU3jOK&DII=?yJfQCmLl>0~@%oLoJ_@gCprQHUPD8xKQF-{baXF(pRxJm z*xSm-!`UJe^BH{PNs*;)RiD6JC5D)+4 zI7=qT;cKi1Bo1dS5zlf3AGd2d^k+#&n}hBw{a<>m@M*xayvbOL{x5KpgnGlf*-{B4 zdZH*1^lYI-s`y6hC2-_!C5EJCOa}FU$xPLbHzK&PQgR0tmL25WiGXd9Vkd5dNlcP_ zHiHdf;_)PSFS+`5)p+q-n!2UFzmr|&c?2-NgVNA zI2>;XBiITma7>J%D}Duf9N!9_hA{wO7-<@hx8Nf`l?L&|xpe?ev&eK3)0M9JfP6z% zj)fot;`IStz~ilBbi7^PkcoOBULV1CcmY-(j`0w0^@VK68`fVkKEk-2Fwg@wz}U>% zgt`iCd=tjfWISY5z8VicpeeNYsI5d7%4*{^v)yasj(tHBy1O65ffnAv!_gbICcGKX z0*5xWdXR?O4oVYpLPy{uUE}2q+KvrD5B5;o2|RbWA>ZJ8Dl6XlC_RrKx=7S@X<>|zW|I+@TDfx;4spA6{)}f1Ukp-LNXit^HB@@?+g*WYi z{I;_54S0M*HVLQ84t2nh7U*JMisFC<@&tC2W&k*VqphuNDYu(9sub+;w!TQZ;3Y7W z3;qhfv~_?Z6Vh>F55A`KEG*(k2QZdDU_giaO4Kiar?~24q7!kUGxV~0GY&ez9ukjl z$_)P2rjU_yAEK*c7okfyi${KLJAsGFVddxUF>3?zw=#ea<-j-aAfw=-F?3|H^3Yz= z&hV|YkOn-+qCDkI7(1`0G#wbhC2i0^807?IU-3l-O~+g9f-va{FNWotv@N`*nTbm^ zK9rHhTr-(%4Kg0gVSKAFgkvR+Z=|U(_N_*uGon&grB!hVVGA}3sK(|I73aIotNLP8W17Ir`$PHddlMald59F4|9$3Rk z5?_Eo}X*Ummpy@hA?Nzj-?^bB^ly|;n;5t z^I!u1L$@=$uw$li8OQ$!LQ>=#jtdiD0#_Wv^cbQTNHxp0WFG#HE0{<%8w|MQ<}3h( zt!6^F1j*clgq2Rj**(2DkT_VzUUu;f3qWRZkV{4)0naSjI4tJz><%U%O`nmSW_AtP zg~ahXv#i5DqY;f8FZiGM8o6=#NBg(v{-F6pHG((d*}p{bU>zfFje3*Qoc2uw=|^#I zH_8sM+yLfSh$RaE0||6H@9E5($_y&8ktS+09ZmI}_A|Az+I5yPMASx}+;)>Li(&BR=fuaBzD&av`8OWO+ z1t3nYgA7SQ0XHPRktx!*!eJCrK)S>`hOsc@0>jGs2w`3E#`40JOa#EOHi!X9(h$di z93vpJ<>*KUVAo^J4DHb*z(vH39fcu=0)sjn0hUIbIJq(jI|UL1kO1H=@}t^y;v}6+ zATH8nMU++sBh(Fp<$iS{z-d7UKzJaTAeo!}lI0MuUHfD~#GyAXg_^pKpZpIC?%@d95N4Ke$5Wee9)9}n8OF{x58OE=I{*!0WoPG_y!OJw2nam z5Qb+VUWB56h_i&q9IlLS2%z|IC=rshRCx#w#efeXEzM}Uj^Kc`g0r)Nu%$(Lg$~m# z9j00OPC8^joXcS3XXSL{Q5ulj%BS+1Q+7gx)(0^>Dww`414lqGMj8oAPYd`GhLI3Y z;?nyv29yGYT!ev;COM{IeJfAmfwn3S95tw9gu+n{oAZt_KwIU<8#M4(S;-eN+D9FO zG6ROVMrKEU#Hq~C6=6J($?8iRAWr#6Ywp+q{KWy4r}MVPtPs`N`2WN~%mErAh}+I!h?^tR2EtgwzwJFJW#tkebo# z<`F=d0Fj;nCUL-u8>OWWi8oEEWkFVTHQU*d7BRH*k8gw-kL*_*F&Sadue5zgcG>}p z&O7>=h?jn?(q zX;|5HGrG!&w`dVBZS99<*4m!gHATI_?sv~$HO}`;87Oi1_ z@YDzT0WMl!=p%8C%&?yehGE4857-?KF3Y~#K%leh1~%&px{nGVQP1}2su0ZD#XKk zJkZ6p*9u5w!5L~BVXFd)FRDNV)@CLi>Jyswmqh4>eis4Z$JWoFC*)@SiM`k}1RTb+ zu!F+k4PO+(gh!ek&+3?)JkZ|Sa!g#c8)T5M6-tniaaJ%g14G0qV`yYEl7u7;jK~a( z6(1Fq2u@mvhhU%q#x4h-uz~{xl`qoKLD4kEgD(mXj09Rzzz|O!mL}sNJ06L1%R*Yf zLmFg67?0ut-o|l(hXf=dLJ6xJN-2o2G{CBs8N3}tkmXcXW+MozvnkT{0G2rp9L!iq z%S2kt9hpwTIa$Ha5TlxQO4dWnJrr1|5vYVDS)E83EdPNvTNvcNgtf7DzgZ$s3a#-7 zFW>rRy70p{A6Y^`i)Sv(Fl%5kz-D`ld;=NeKl0Yviz-T3-)d7hB*<&L=ADX%cuiAt zlP2=jip$btOOO_7nizh7EP!fic8Q~GDx=1`V3ZH~A;gCs@J~z}AxrSsY^RBkmDZP4 zZ^{9g#14SP&<=Vq+kp#y&>IC<>A_|$9E3?9HiZn(1!2&Hj|v^tlX##hX|xx7AAGD0 z7*<@wgNAK@G!5@`+#CdX;KpbiEDypcEtLbZsvgh{6~8nD#1VUNWP)_S;eifHoAQ~u z0J6A!1u(RY?H4+DlttlON!$JPw}92|eL=-~qWIoAh~ULwu{8 zf=?cRg?(K*(hl;?IOqdjkPDB55zhx5A8QMKLnpwaj}3Vs1M& zwNpC~QcYp^yYVMUmk9<324xKLTAHLQ4J>fc$;RC}kjw7V7cX<|U^iRBrBvG8>I|_F zMib4MQmi7It@mbbkQ0Q`pSSx<#ak^dD4Pwc(oNwaHm~&I%$FsADMiCF+yjtm53ayP zVwn>}69-jzO&DAR56q))WRVSP+Y2=T!zNO~Tp+REfW?w97mY2P;*&1mq$bvf=GQpD z3qPjGkO^;x4>lfJJm5IIEezq9ZVsOU7Vf9`lnbzsPif%|`7I5`+h(8i;Rb-WFb`e8u{I)g4A@WHoi3?L6{bIK3*wDti%g!!$sEw08v7KayP zSKTZhrU6HIAm6Ej%7-`PSD7G(%@4kjuU1CFfVSlUKBSE}EAM&Vus3Kxc55fdww zmFLtI`nz?4Ot1lPTskohd|_LGcNT*Mj^9XATe)#T13Dqi+L|(jkS z;Df;9t^-%TfS%d{G}#*xTDAv5df;z)lCOMoJc8;=9=oX~YDq%YFU&0=+8K9ToJbtgQ8mK1KpRc6(m=d60e}ZSZ~zPWY#itl&hjLj^3peG%7bnSag_#| z1mN3;GNTEBUcw8T#LQL^5W)jP;w{RlKzOSn6cEVhODPNtVTEHmrnKbkIFc2R%EJ(# zDVfXp9Haq9-mHA#DADlvhLOS3hN%>s1ctKl3@fez-02L4lfH{neuoaYqU_kjM0~lD+olb#-VJtp2je^5y zA}n(q^sF*8E;<$B*$y4Rf)4P(7jh^M;9~q@mBrEtWt44`w)pIas%S3QHat9R?7Z!sd z)D`9!7$|cA&_y0o|7Ld@Rzr*!AmtpIF{h_-M%-M`nI?|JQXB?YPH%vl(amaVcl zw2!#~>yv=z&Q-2racvE!fX$vxT%JsyG>dLL9?VmW1`bo+m{dqilqFNS6+s*ri)1hs zcL3U@KOx7lz-hPO1D6f5c?#({oJ(>NFoH3{Ht%>iSYg)3NDa|ITI zRkbS9H{uaSnmjb1{WkW&2MFQq$||mK*>9$Skw~C0)Jl&$2`;i13lhv`(82?z5C9Ko z;cW$BSmBU{N9AziS$NQ8#ZLl)NKJ$wTAm1^%1nvK+n5Upc;GXd2(ChmQY)fLP6xIQ z2~7pZfdjrifQOe!zA_H5s;#9(Jc;KUcz~BYCQYXWxH1~k*HRteu%I*~IG=3W6ZkV1*@P>@Qo{MhJ_D3q#7meHo-{keg7_$|cu-Bj zEnq5$D=L~PbKH+2Tu_Zzp5)KX=8l12Fs%29@^pQY6u#hz+D2sq0N8Lp4I!B-wVnzE zNJGL_pb<2gYh)sgEwe!61qpUg(7C~*y*hbge>SQmp2a{Iog<{<(H^44*>BYC*rAP~ zK$6@p04=dUoLvLWSLP1~KRV#T07nOU=(}1jgwer|O=lNRoQ8uU#9?p-DfB^COv0Ry z5IUrxG%XC{FzAwR(vfry78MTKKn8Z}Bn$_XMH0tCRz8)JZ_rYFNmu@w#y2bsc`ZKW za1HRF8|9H4!hnw7kQ4Bb$;yv!w_dDI~W@A@_Z|p>VD6^_B;MmKNIK&Gs{6zI2 z50z8jf=ge59T6uLn8Vk?uwlSFuF3~KTCsyS;suuWvvbbiNuRZ4fPSNX3EzPq$(ube z@KGHRwzV2`aAdJzt^A!l0lbqYI;f1$ACJlhn_5`f1^Tj5w=m!@>7?(5MMV!ABHh}` z{bm?*t5PP&4?G})=Ar0Fz7hvNU>LMiU(gg;R8L1Qt6F`M?jl zDt}9t-_R5Bpb6O&&gLO`YkmR_eDzylPzDqaG=!$ES11FE53-VdYro#(($P4gC z81(T5ZP3yOG?6b>Muwpy;shQ(Lma_poRl#Hf6qmuk}~*u=&J}4CsL$=%E8CZ{nyt_6>S$$!SZ2 zLmrZDWDtFA2g>m+l^HaZF5;A@)dOjyfxH1f^&3eK)3$O#58&HJWgva<08M$Q8|*AH zp_@a0hA*h!TfM@aIpb%fCpyv>#ZK@a#(@@SgRhl~--x$xj;~^)1M&@g0S|h}57-X& zf*-=ykq=7KWk<9hT7R-lk@nfKi^$J($|d@MCLYK^eT5(BTK%Z6$e^2toI1+dkG4ns zqVR}E82v=m88#EUs~zZLfKh(X0pEhFKB;-A6Vc!cUC<}db~3tu;_yR0s$MFO>ZkTn zo>p$kCUKAr^%GBvQYZi-K`UxEAt(k$@@B=XO351p;T&`TRF0M*8QH>wurdxihH+x> zQ|EDDEL}RQTMkhYFf^W4UQk>gYiQEZ%(XaF*mlw!gQ6h;e>B2)@QpWUBi?po(b-^y z2s_xqqZJ5k2B(Ft;IFm;f3X=WR^Ykyu(n2{&kRSVqeFzkAhu+jZ8#`5=v%uw1z2^q z6*l==-q4>m5T1M^9`Gs~bkIr&blq|zpCyiXNK+jUhAmMDfDarvJLXuC?^Z|Z3w+HV z@U(tFx~RMqpM1pTYIoQiVX?cZEKC8VESittMLbEfa>HJZp281d_qW2S{v23fbq1XW zz(XdH5i3{7cPCG5I{67-<)e5k4=6~s@?*mQJ3wb^Z^}X2h4TV&Y=oc-U{xQ@OZ8pk zg*q7ovYz%nx-2$aHGR%4h^ zvXEuyTSbHydS~3X0$@t5)<+I#Zoq0953iDMc7r8M&!Dx9w-HCvQPTlN_P_v#H6y0V zgf?ps;MrU!e}U!EBc zh|D|!*ZiJ3L;O#i(=2b22UEk#mgX8g@L=3v5!bb0*kFJFDRU7LKXPb!AY|ewGZr;X zD%Tnv<~Yn{);I@CCr1_;Nl&anU>?!5@L=0W-6ngaeZ1M;L)? zZmdJmMRA4a+iH=XuT>JN7o^KW@0ZeJim!2CR{dJdz)58s$zlxW1g_BJ7(yJMPA+1x z6vJWRxF`@>C_o2~Rd}t5wv4x9rN|-dD7kDBK;~Vg_O&@VBAL_5NK{tdUvwhQk@(td~hjIX49>`9* z-~-*k2k}w?pw^*nBn>#Mr6eC!FTk0aOK52RBL5^WO&3CR1RpH-%Nz88i*(8bUVukF zpxY%Y)Jy{o9dDxa= z2N&=V2V6WdaRYdyvu|Vz4vj`*S);k*1&81(Ugmc`RFz9Emqqd-A_`Ul`a2an(p4)}nTxCj`P z-_lk+I8H#GBOdYtS05{*k;ir)#P`S#@K$E}G~(qOe(LxV{1(0n-&McI_zOOYH1#*| zv%0XNap|OTQg_%;?E@U-i^xIR$XldYT=IoppbLKyIMN1=@&i0(<0V<@{qgRpXulgi@AOc@Oi;4ptso*<*um$E<(d;=bKm2~Da;_;2ghIMzL zI}acqVSuk?Lc)-Xbb$*SNd8h6$PFG^rd+Z(jg_?l`2t^c!5e;}an|0BPOvlRN<8_C zog5h;6Kn~ez=N>Zjs5_BkV|BtJ>etPKQLcHdNyw;ODtN@7xC~#*bH(apQMkaK9`F6 z0lYz9-jJ2`h1~o=JlH~X!w+zy?n{Bqz*ml2@(o{>ZaX>!?6}CzP3cmy>xurD*-FL3 zS={fEAl)BcoGzzf21~lVsR4aRwkZVSwkp$yL_fz|{~!g0YuD!PUi5CT^+MOfxnG8N zIY#N1<~S^eN7CpW(ckJZNXKJ6((w-D7I5U3^t4%Ks|7fC8QzMkZ{>$?37aO}&}S~g zt8CZD=|WgJn6A3OD?}gdx}h6_JrV5Qp}U2#3Az%lZkOs$Pl7E(29#RB5>8-2PxW;6 ztJp3HyGGh&65NQx^XM8O4c#krtssN)rW`I=Eg$!EI%EYdWx?fWfI%GS;=yc)wHaDc z@|G^2!vnm@$KYu^^1+cC^g&l(QNy!KtT>PvG++-s9*%FT3-z+{0giM4iwzv|p!-SL zF(QZDd?a4!;#+CSn{p|Aq*jz9j7g=bZ z#{+o=e)6bqvu05rh9A?wWi7geDJgMX>ZjPG~vI1hmQ0$mo328$_oDUW9Vf4 zoVB9xR^KOWfyXy=F=fTHvZMq3beRTprMBcO9pnKo^%?pX>}PEYIiVWJEF)qUwI|`k9+Uz006+VtuYx}O7mwgkKdTpPOMe26+6co6iPwD5JmcHii#W>5 z;*lrPt)6I6C<|m3-b{xbAdl8>cx#UlVdS^UXv2VY>Lsxq{XyiTK4`g+E_nhwkdMfK zykkBIFWM8!o4`>#eS@dk26d{)g0cx5wutBSgUm zJmo2^GHnL^A)mC0yyFUYRmqhG+R~?@RmN~kb~5AWm6^E_W$f?3;CD>8^O^S_C1U54 zX|Y6hGp%5D9dizc+oXk&+18BvBNLNkWFo^b=gLmBl4hQQvpf8ybN*6>IWf(45VY7z za$_`F97>C6F!V>z-lKnjT3xhd8d?&>>05FKxxqMh80qNa;$gqR=04)}Q9Rq~IJ_h$ z{y$w`9neMc{(onm-Q67+q+p(kje53X2Z&u@Vk>rF2V!^Ysd#o5c3}r7cI%;M{GQiq z=ULu&pYQLFWp-ztcs((*v$OMF+-1uaGX@y|{U#Hr%gmh_F=P@Vhs=UpGe=cf_BG~) zpaB-utF(#-dXRORHLw}Bs$EJa*Z;zUb_d;jCW9Pim*7X6@fkijs^_SuE;D~;h9RpY zHas`{wj7bco`!iP>8#O`=g4-=cs(~5F#2d_|4#{96)R-I_l|ynzhrR$egiMs*vmm{ z=sBkc5Bz`kV$ohJ0M3RG;CQ2|9rVbto~aDIU;6H%c51n27~(kUG)}9eoCRk;%<{woI|-|B?ke zaDWc&ju_QOty5aiIh?CM83)Z3;n6-pT42JVd^k6@5IbZlKKO)wu*NLge%4vz7UVD| zRVLcxKwq-s2YFIQd}xQCq2HmNZ3dHdF7nZi{;PN(SK?v!AsMR_ALYp`Q+)vc5d-v@ zF@S!MS)`3iF{2&2#rL#DV}*A0fnZ=ib?_H$7eCWpbN7Ug*r%o5aXhj6klGEKEW(>BP$-B)zleE~dDPdm)H?IXxC@-$C*4Vz>f07lk}{g9`a;6L7L zuqg(*%sWx~5xlBLZPPlGsKY_MQVK2e6Js`fhn$vn+CzGYh4Ld$REF?#2B12i6F4Q$ z=vxOmT~Bn(9mlv@wm95-F#bXwu$i&g=G9y!N!NhvdL5}eaeFwbop_GV~?N9W1jKAzXDe zko7NKkw;sB8Ha;T8-winwn1Ih5v|s9J8|?e<0eP@peJmyY3m(Xm zIS%aNI4jr83E;;ZKzLb#R}aI7xdbs7-_VD!6YbCe8R`$UA2QTFEj5N%<3*jpKwq0{ z$`rd82iUFt)e`d27sO7+2H0Vf+6EpRz$%CSy8@L<+kgYUgAB;id=U)1Mk)F@Pr}>- zvhZ>OHo<1JLoe-*A9pzpU<`mvw5feY9`(pM<(Sxk$Kn&&+K&w{=WsYjJ#1G0p$_~g zfeGi3E7yprEmP{SPKrFDkAMsGa;T4Zj&}70WPt|yFy4y{$b+xBR|@{Xf%zEjEAXA# z1e`cm88{bA^dIs=yC47oF0h7V6K2>^@^bKUFPt{h~01PSzB@SR?uHfm|ijBKG zOV}8NpZ)+=Ie4yq)Drm#+hH4g0UnWU+X6l4n><9HjQ2bYjTIM5H*EuE$iiXzy6qz) zUwvT3L&jO9MF~IRFnMeH47l*zV&Y2M)lWjtdhnxvAXb|9z@vI07q*J+b{?V*@i({` zf7pye}SK59P2lV=v<-=NNCH2M1^&k9rNA z?R&Xa9$-Vg;j`nd_#nf`g>M;m;D&F62V*b&2S1rQ+5j5((%6sudb_n&op7 z7s%6m6&>_5WWz?Z$*bL7{`MOuo_{yg0_3Ozd-)l@WJY+2B4P z>>ZUM*gvfQ1Ueew`g#W2Y+o&a{l2~4*qvj56NchQ#SkoFF#koy)t~) zKsNm3&)S2+OT1=qaU*iU4q6v4c?7Ub#6OAQzw~z8%_8eP+{c5rFI-1*mn~KN9s^UOf_*>S^J0B?7sS?=HbCbh>zQVEj;xHixX4fZ zT->mMhwn=GgV3B1y>t7Jdk3Fp|6XpXa@F%xMVMWk< zKp8=@c0fS@l7}05_|JUk8~(2yAtw(%l}@+u(urzaU})TbVCf z_#;h;y){1&a{N3}|Ah|!RSy2a4fgn%d5F$MP=`4V+ax@^mdxWgjeaY#_#Rwh%@Xv6 z$8N*5&}uzo;~(sx zQu3Z;{DJYuRW`(s2Wxn^7eOxQV7r`KvaLGGkvxM;3^*9CtsaR;S!=T#q~wbCW86=K zM#nd-QbQ-^QCyvum1wS9%XqDIe4~UFYU!+8;g?Q89<0=ZUaqy|=M4D8T#Ome$QHae zL6%#a0?|WE?vhZp04Rkx zK-AkM>*bpDpusq;B|fVTb6}d>qREe!EYgnY1KUu79(15VDQx>?R&%$Tnr_bOg_zkjwO?2a$ z_@G-hh{6spOs8dff}OCIP6;0GGZ?#YE8xx0x)tz60{>Y5S3$ZVA9L;LleIL#sif$o zZ{aU`oA9C6TdEirC& zBR(@4>Bx-{l;<*X^BkqzMKO9|WMmy^FtQ6TX=QZd$O~B*1yL_EN{nna5AF>9&bue7mxD8J72`^;}KE-O61{bb%l!hJ9 z?I!z&d9GNrR34#mkB_yTnXqa71m1CPppeUOi9+2O;x74IhXc(m*d_ z4tk-neP!^G4mPUo=1$3aoEw~!D;S6c@}Un0@Cr`GP|qDp(BhD%2Id85ksm052l0cA ziqkT6O$<4^Fn(toWa?(e13Hj@hF^Vwe#F@g z;%5A4`_&<~^nuVo9&HgmobyoJCjO93`RWtcsCK|M=s~QcU1{x{M7!vvEx@ewIES6W zgIKX1^5G}Jfnk*S0hyB5u3|g&7#Y+fGik;Ke6USR#0dB#b{Y%vs(nT`^f<~?equ*o z0v+UtJmwR00Egxj^dVnRqE4`r&fuUg9pVRj)j!Z{AHZwu((#(Hb)Z2zW}U>Vz6O4S zHjc;fR&J{oCa4usQ;-h$=%dsEuT4_osr3Yr!-m*K0P2)@ku*vmNv!@_24nKD<*AY zoHfQO8ztl@FYaT?4@`1y=N85xjA7t0c--X4i#{{;`1+v6fwZzU-=j89zU$&qou z6Sq8u@f_`tDXZ(am$}M{o2#rVxXKeE<)9t$0eJFAq@QkaE0GMXuc@g(p)bTM#^y*X|j~Y6Cww`yf z%poGBu*F-;Q?B9~vlPR{7Cc0g1dpPacH7@qNsJ*0AdCO z$3c^FbZ{}ai4%C`nmW{K)R~T=HlkELv=K63H%i5W61t6V*rqs@MzNtD{A!=#FoOxP zIoNMsLmy~`jyGcCGhU+({L&8Jagc*vIfw;(&?kQ2gc0-_D}x7o^sUAcet^9Hv{Q!2 zVN4+ddW>Gu;@s3hH}yiFx#=mblaBdg4KzffqRr9ytdl@;TU}J|SKs z7c>~~cte98$tC6;L z_z8T_rTTya*udv-&>q+X9+c)F4f--}DzYlCcF`7<4eW?7Vha2yAzN*6l&Lp1gUJyi zeFZ-8CDuFa{wX}{2e3(TfgkdXY_)~D9c=v{dWi?)Ei{h4!8ykz$b&xh1$4qTT$?@& zI>=zZHMZNiEb&K9Fn=+=z!%5|9L8o~b)2*zzljC5gGOXPALux~89uc|ZD!vFF2P7F zunByKFL)pq_~jrT)>-|FG@7e|^I!3TJh|=BZrBcg$U*-=pBz{#Vrhk)p@Vv1Rrq$g z;CUV9!yLF-Tt`!6h+&AOj&Rg`q#De?HRkJTmT?PtO*^4USSS;^HT_^J4wz`t(3S(a za1jp3#{nAPfDV*G!w{M9sw-#%TmYTwBIt!o*lG9~Hb=ck9g*vZ-NptNOS@&S6&~7! zdc#9MA(dbc{9)?tkl-3PG?d0?^rNwrb~#`oe)!SQ(l(Jp9MD7GAO@Dd$d7aQ6{XPV zFpbi-4H&?0N_GKU>tT2)$J8k{VgM%Oi{V#46DM-U*w2_5-_uUu5+3><{5nU*IrJEN z)OX~OI@N7mi~mI?X&hw32HRhP-_|E`c`ha9cH~2Mfee$QwoQgs{lRB$*ka;r=OpkV zPN;{y;A32Ln2-{=06*e@-H5T!@!G_jdV#~(^RG70z*mrqbK^VvTydFLU^rHt;L*6- zF$F*LL#DyTK7v~-`ZM$>KG5Qpg81TG^STwOpOnG zBiC3jrEchfEc7+y6Pa%Eb3EJEcnb$Q?laGYZetE`mmDdGUy_};R@_|vFzi2n=@O%Y-$Sv6Ri`by&I$hItJXzoe zhx7%f-9pR!m%fD^5y&n06#kO+7~sS+p{x9}TaIIRrjrLU_ySKdvXUu(&09RYlEwoV z-aYZdzI`IG2SSyeZ}zZ0pCE@o$-V z#+QWn%7^uqT^1Smv0whXVlTM^nSb+v*NS`tWqsB{c95`vFG1raVn=|q;O8iOTc>YQ z#6*54L_aCQ=SaK?!`Fyq*Mj|uO-$zN7I|l(ug&ndBpM_k@vnx=b`d`Ai6-v7;HTC3 zKHOc#1Mu)x)q`9)f;pfbk&aW3AL#9|Pf!X|d}wIS?fR5k`|M z2pP?lZ6{L4OZd#%*n&6J0+x^4hzUs{)9{c|h%9pMo^Zh)4hplx+P|gc{s`s?(OKI? z$O{rnvrPV=kJiH|aW=Hk17f`~PN?g6oM5f1-QE9t~!i_O}EB7MwAp=z{R zs{exom)z^)UoYZkM!50BIJ5Bm zM+dqTwrrR{kd4N$ftS<~j}LmSkI7Jxt;4~8AYp&7B1Dq-KeinlCae%sC6fm6aEL;@ zUcj(Ci8^b?4ms!uJ5aJOM(J#5b`n~;_#z;OD%K2_N>+CL3uys|bD*V2D;CWDuJ)IbLvYb;}MWeBp&DUs@qfho@pfAMGF~bzws*NX^ji8JfwTM(46w#;%;Cg1W^YsgTqUv zda#-ig(-5*TQew4vLFKdh?z`aV46L_V4pHTy=00->FCN{vi+6+*UZJ;U6`$ZUnJX6 zt^ak#J%OH>7hDsnLl^tmj>J(KyraMniaMngIcx_FbV>NQs!oZ14}_0veQJ2M=I?P0EjUgHtit_`vgD8^9|*ryo=X;%oFN zW@ehfMa=LWcEFOJPd)(zP9|!IX$Nvr?KV8PcC?YXBKb~xM3!xz%0&rY=+JifL43#< zYAJ&WIvVR$ufb&JBlr+^*r4aQmf?-|82M_y?Q_)uKJ*j#0erAc&9&5+euvyy;M$X@fjlr>Rqn#;3Mk)h+s%V;CSM*VJe5I}hSF_3)>I9LTb-v8_im8w+C&cf1jZLL*8Z!Hh%UWD=$MGLVGjJ@!T1RK zFh;{JlN-FB(qIFCffw+O4%g1A4xu0j13)+jMhQPl7%T@BAc&^((J-7Nm=1}_dL*9V zvy%rhkof8tBNGEUlgD7BV?l#!gF^>NTw~s(PUX!2K@l8u5}c;aL2M8uArn5rHRKqX^p6=Fcn(_lPW=Zv!Am*f zJJhQ@@F6DJ$xRy*0rtSxxWPfMgWql6VE{4sI1tKgiP+KkVIz1UQ)p~o=}pe~l5rFH zNH*dUdi<idpePuhFf!MEhZ@xnTeUr-~$0CrGKmf^Y&uaFO+PfK3lVU}Z{V zDH3NGrFJ5NUuaOzc{MFCMD!vjS@B*1q0KCofQIPdVOWL(`~a)x@Bn&&UZY*l!KYqU z9x0g}Diiha9(bgVZ4yoXAWRG<9&~f<5s+^@$lIpy&@s}Rn6Yq{+#>8cT#FpdGGY}> z)FZNNKL{OcW6#3SBGEz5vh@O!_zQK&Hp(}>4A*?_fN(|%6IC=KZ5)X)egTjkpwV+g z*zvHVZFOfFfN>d4GTjCx?i;A1Gi1sSI?BW^K4p^6DLT3WaF|~K;se&6=nj~Rz@c)` zAwox9xxbf%6M>I1L?*VJ;~MqAiF4@SPYtYnU33b55sJqG`L!VbS03aGJ_ZeX@EC}% z2;pPgGQ-Emw)wBhoJAgfc`3a36(aCqo4cpzK`^LK<{ln0L|Hhbls!m%RK_|j42MIk z?;Y{sFMj3Kerz)b9|T<~Ka{s>Y?`Q{iU zeiVrkZ<8f2Sc>_q$8(9~BkM?b* z6~-G$ca>+=Njjkm7+sVDI;0otC9;yb91NxV*dLt|z4Q(An{K1{C`(ce{OlT#qbUp7 z=$_DrE&+^UqmDPIha8rWjczFXtRo)FC*%ho24Iwsi>@Iw$U^XO?9=XVc*%$EfO_yq zz11~Mmjaz_yU~R@;0L|x0}XtRI^%m{MVACUaD&Di^o`^u<74d8Hk2HH;b-F$))|bf z!_WoUkOwTV&)7{~oI@w@IQm-cL7Up)fQvj1G`4=kNb7Nq83=Sp9ZNIxFm479uyLpm z3>ZQv3wWRpK2p7qEA`ANl?OVlGrE~OhKJ{BgM&;CZSWH?NI&4U!AW1JeE1K1h#ztj zCGvnnw-qbmRUZPQ=w=;k1vVM}?K)!vWunibU&^62(nr7!JsMLZlYWIfske3h%Qq&D zO0V{U26b95SeaM&;Xd?ZY|$|V{S&tWNBxjv{9yYHGR1eqp|YhP(JzWg`1pf(^@GVv z+A0_<9~#++1N4aAc%0VQN}r$&hmi#tz|1-ayU4HlQ6etjG4k#4T*qdNuQ-5 z&+v*Cb;PRJ6a(ZMn;AQ4*AFV#`k@yz7+c^w;1#)yotX}(uk3yy^65{=hfdW4{5Usq zY#qR(bkK(bF>vhP@Hub@FKvXKIK*zqB(3_~$U+@)K)%QXZXJJcuD+!2fyvSTa&G4m z{EGY%9{L!$W%3LoQB0;Jt>Llz0%8H%aG1E;Ijeru z{;H++U6qe(9GKH+4g()zDRGA`_yoR0Ty5XO$G{6Y;FXg9JPP9kd3TiV?m5 zALL6N$7br0z6+ll9>xTiU<2(yzcYOg`k>3?D%$C1d@u(2AzLHdW%@|nA`f(y3^P9y zxvax4X}JU**)-1NchhgN`4_mU$=V zda^)IoS40uC1>tp$D_FQ;=+3Oi=FJ;j$pkqv^Ta}A0&`Tw8KUW&RzL23hO_8$h6=3 zMJV5`{^v6U)^>fo@wG(RZ?5A%aA0kom!~xAwHpChFz|m$$i`QQ)*CcJlkR3-T8jgP zMCdHN*vU{v_O9@C8$Wemz5j?8if@?GjYtQC9tT~DFq$;cRDt`=bFR&U)I*wq59wsC zIaDEpNDDkdN?7n2&q zt7{|ZAUH7IV9XLsic5_pCY6QGpaB4_;RUVQfH^d;^|hJk=c@n&0=SLM#40j$Jfn>m z1C4Jq$gqcpV6+2{P68a#aoLGsw_rgBfDZavO1)2@je2FP9OVKx@Iy9uF(%9X!P!+B z=wvukUgoPY_)k+Fvev+_>sbG7ild~PFk5?3@F^aCW`(=l-0|-YWF)ly^AvY~VeI6- zHU3{Jo>7E#DFeI_D_X1pl;32Le@A7$+QYZ4cp>Y8@3h#%7SNlh(He7Sv@Mf%SWYj& z3rKa8@HC<-IC&s~;!%1J-4xyx?^wg2WSm@M=7cWK%tJPblNdGJNd*JtL8dwANR^L_ zL?((H%7A`g0Ut`iO+LuPu!5d~bI3A!fQPu1-pEtjYzHke2=bs4hh`O`je51+u>>FV zB14UhY6s~Z@dA@#FtVu=w-OvCvp~b)U56ClRlh->9LzpPtRkEI5;w+7+JISmzO7ey z(W_L4T@QN=KE}z6IE*KJjd(cN4cW{GsfX>DBT-LafILOg;HnAq_mouN|=rg~t5{{Hh!6q%ncTd`Wj1t8VO0Ca<9(FCN_>PwR|a$`ik-Tu0eR2J%Q? zS&wT3*l`m<&G3kUW4+wMDTi4e22RcEcaw#kKSYoU>kWqs{n{d>TI~Z92pA|C0k9 zwk}}BVdU5{ukex9*ofW#lmT1O zt|iXpQB=nS&?p8BtTqqi89yp5#vb-_lyZ<37$6gJ&>s{N?7)F~BZuw4fdlp82l@(p z$Qi|{e8^qc1A48KYsIVbhzaA8;&T|MI9{6ZO~*^n6DRa(4nwZsagkr56Nj`>55@z7 z7p2r0}RG*)Mc=-&B(F&DZ?x; z$hjRy*e`tajovpfZadx^aBXs&_Ct^O3YZiJWx&_CUx|GB2mM*|3;IzHT;Rj_A?G%3 ze5cgd2s+XtCelxki>w1a2c0$@`~V*K0y;59SVZ%mFTE{q|N<7kT= zEBHqa%^Tu{Z1@cEgih6gQhkHcv0l#Y{)2dGpH+TGUf82}agMQ6+8tv<971FJ6LAI) z^kN)DpOko@opu4M)Y;>*@v);!+5+1I6ZwpNO2azD(qQHM1$s<;^xCnc%`$GV&R_sN zt{F#%oYHz*H~I&7M5p>6G_aHT206xmih*$y9?~FgvUsJmln;NvKJXzAAzSeaAJ281 zGxd(`z^y)nT;`elkeI%gUun6?4tceeell?<28`)4@x}LW!RLlJ$$XVKM6N|6d4jmf z=3F;fivSIE054*LR|F!%4PR*CQm6C-%;98x2Xe3>7+9=2xyJZGdqgh$CCim=_ywQT zS)a1ydZVkn$hS5thhl%$y<4T)5BVp^z;@w8@M@5?H*b!M3haa`~e6Rb12F$rp3Vs`@8 z(abh;?j{%4o6X#E>4~*gM9A8P;3?~q+(>P0v*((u1w;a6w8C=kTBm-jp)#uw9X&*& zoqZZLEfGOIWOj+{B_AUi-vjMv8(O=Uncl`8hfFisrtKyj?9py z=O{soI`n*8qr`#HK(47%acK#Buvu~9C5PeT?={uO<_^m{B;=WE$~Hbw-8v#DW@5#i z#NefmM2GrI#*+6F>W~4&gC03+|PSZ|2xYjz9kZG>j4!O7s zfk$bT9(8&L*Al)`Igo{GjTuHhx#lR1HsDsQ%42L{JU*0PZQ@6MwO(<62Z!NNS;U1p(EVTf(Pnu6H)pIT29;^WUa+Dcs2-8a7(%|( zQJ>gHADUdT_(Tt4uY8VJ;VZ=^zEF9pkJqN1@@+YSMdd(0oTZL87=Mrt=*P$f zk%io#PVj5L*8G7@=s%E&Sm7GB;2ekcAK1d{|071gOPo>~T+}D^kj>o0I1ZiW_*Y-o z{53TEy*S2V*akl{M@2udoA{wbJ!cQVjzefU(+6g)Gnk3p_|@{G(4bA_$vO2Y4eZr( z^$BDO9peH%@B@>vlh^7e2V2oj*;2=tfDdwLm+7y{XY7D2jHC8x@Ia^f06GyTV8mf$ zG7f4JWIABid{rKfzp7VxRF1)C%Y_bLLn%DO4*jSTUdo2w<(#&vJV$JhZ7>n1T-)(O zz0w+)qy>-B30?FbO87-)E_R+9xy%XV6AttV)B_7-s(zKJC1~WJ4WLt6?JJ z@1-8&5_LNEL(tY40_NHe9*0Obn*q6NDRnBfQ62MH}#Zb>?IxK7#*O) z_xZTvg4p0YaWw45BMPt^8#&McuRIyxF^1Q|1HGJRf)>jRzzQEik0c4PIQSmBJn)#~ zCev;=d4q~aA<)_hVg_%uQ{Q)(--=>7&piyB>s!AhMI9&RUb1W4d=de_r{%5(ZjrG5 zpbn2a&iuRqrSQ^vsF3#{eB!WnNQhvY-zid@*uS;+l1kV`xCf zek6KWhk7|E3%*1>=y8rb20i);@W3wA|M%R;CLL(u3-BqOgAPtyphIk+el1OWh!>L| zwcqd(lfg-h#s_MHt;-RkgI@69eV+aOH|SG6Y7>?<9I=^p%EmczL1?H`?bB;4TNuBw zgk88cn3V^)tU0B=gnT{zRj084R>;vfK(48yT(p4}b!rQ4v^q}1C#KDo!!gS6NxPjV zpapiJXP!z4+4O<2M{|;xfeG#Kjp9ITj7_9f+){7#U281VSW^#pAOkw|T=B~_>M`c3 zy?9srUwt-i@iF{h```Ex{mRh~lm$$nM~VIeKZzZBsO_{LGSOx*QlFgjV^F{d`%TW% ze&|KLgHLT=L571KJtx1)(RN2$bexek{oou*>XF~(5u3_Zys%BiL>mX%k*`v(_Stqp zr-?my*q330$`D?Q$K)W|;4>VMi)*7FbgXyCMSL(zZKc1BY|xP&wrjo!e)_}6vu!i9 zwtV%E>P9=_09#N;IfBi|W1H3)%=8b=k#kbo{lW0#+RhKui4OHCKlCLld8*UKZ0Ky9 zBA0DaPhOQRyz~?7zyTcagUMUFPU(R~a@NKO9@=cl2Okz4AcuVhwqkx_a+CQguUDuC zSdjM;BYwml;{xQtcgQQq!L{r$B1T}qA(IRn7xc(|4||T>$(o{Y$rs;gu|6Uq zGc@a)8P@cN(cey<}$Uh3~uY zhhg>~-A~D#x`+Vou-5$1-VNp=W>Yry!kI;5K%o{(74TS-N%~7JE$pa=9BYrP^|=k$ z&;K;%ChtnEf9gXx{B#=EyZN0lPkGMbXWcj{q&p-@EzjcL-#M)A!}+vbb{ttdboq4; ze&Y%FykzMcyOFp#120!FyT_xroWowexE71};)C&*p`PDCQx3KWwNi4A67~_{l{X&n zWUfwV%79Hn$WdP79S6kY5Mp~n7#IOTv|$p@O;p$bh0RXjmsNbN1D&3;USyL8+X+Fd z^tc9}v?HcEz1DUZV)J1$nb}yy%}RoU#t4n-1|N8MjXk!C4?5%^E`tHx&DM=N(8DhM z>8sh+$qiY?7wRuN9J0+{ePQc_qp@*I?`X6louWa4@w;zp6V1X_2s!;QXHWFWaZX!o$r_^HzL>{nDp`YW>YwY>QSb!Ko zFMNc2GvU%?NZum$Jv4Rqq??Fyf~p&K(r&Sd zKR$zQU~upUXt?1WdZdj%io=}%dT_|O;)GoK41R>Kks?ObKH`U5v;z-fg?8}~br_tytEn8RWA-C&;17(F z#;+`qZ8+2qS}F~EE$xs`?9eUee4nj~;dlnhbQgAO0mnK72Fl?8I2~Yd4uEiu)L|GR z7|6i^5L$|II#Ud>K8+?GlY}vP_x-$Q^wkwq3J_jtx zSu;Kj2kwgbPO1GCg&t0HO9 zE(bd;5=EXt+4&?X@T3WyOdvd;!VV*kQySw>K071G;v3}!5A{mFK(cUflh~lnLmry& zq~%gp7CWSeqI2Tu#(MN)`dd%0d~ju2i}ms)5J_-1`Mm)@Hz*$tMmOhUt;ocB0iQPk z3O;5fh#Sa75lo~ey? zML-*j0Mepe1)>xl&{zWHM4ifqUnNxSPzV!IZw@MkW8pM(VaUL4Q8*uSCVZShN_J&{ z1s_0QRYJk49x1_(AxA+Xn{ZA&LXUQACR1JpADIMPic@$HWZuJ|6M7_#Sz;J~vy3eA zpbm0T4?5t%0lQ!m>VW|_JFH27*b;75HZ-;9MvRE|fgUT#j?o7yQO|oiMi;o#K;ayi z6|fg}=z;V=fPoJ`0yK7l7O`Ry3oYxBpK?wVOjyy#@e#cR0THc4hM?fw^d$TW9S4=d zS>Qv$0|Xo)r9DAFuMtHUt3ZRbJ?*+&FPA}sz%T|$VC)0>QOB*s4(~%z4@0C4>w%Ps zo(x_igY~!u9ZK9spc`YS%9VP>!mr6%fAC{NmohTJweI7Xk$B15Px;U*C2`uq; zViJc|EKR~Js1Qi@QY)4wu>>jZ(4|*46f&_CYvgme6S4&}muC$wyB^ojBNHg)ag?LW zsdgRk3Xl4POSI4>^GEPw+PNNWJM zafmKwEZrKvl1^yR4p}lgw0$W5%$c-k(}Vxx2EM@m$uRWPBf5AkDWq|P9?BOvuyk!LQ)*@VBUx=x|FSX#HDhnhuuh3(t;j&C8-TMc0=iYylI(~#vP9dX)}UY zm~bm)f0a^45Z(c0{((M0VcLdkJ(oVtcJLcI_80USv|$WD8^;23jS&ifK!c?-Ge&SQ z2d&hz&f%Q>67)tcv4Kt!U-hXTOIQ3I+!2Ff#Xei zl~#)j=?zREa0p7=PWXi7>MG+JSMxDKqXi}G(-PdMM;)dg@C)iNKa@JfPMrV8wH*hQ z0lDVjd`uCclzL8;;4_S8stdXy8}>=PqgABA^vGbhc~qa29G4kSYXGAysFy(ieAdea zKBHNCC-9KOXE5xIK(^8ACYts&ew1YDP-@z;6m9k>kI@~YHY}1Xf|Ys>v}hwjEs<#^ z{n<63AH0xZ^zfgexZro;)_;P;6cpW%Lj}4bx|)>sa3#Y4dJx|Zp&r97-WcH=^`_LW zY`1|%-nLPm8LD|MJiv^hNV`1c7+J(2yr8v*X<#tJI_x1{8CqC}VN}}rMoh5iP!F2; zHz1r)VIm`Qb-uKq`{7ba9yDUK<-7wkFA$1YxD6%40vE!Sa@ekg+cBu<4HmAKMB~VW zfdqhlu!EOtE-7VStC=+-0zziD&a2@3hZL45`*+^h145%ORI zW{?;`afcRpBd1F0|)o<%UilyZSNYrdj&R; zi!#-cSE`h}e_%hq4n33Cn&>^fYm3wqavvY@)1yxHqO~7q@;lpX*2`JzI%J<&W>%2X zr^4Nz)$?6BGwqy0O)}>1o`3n&Gc)V>t*agVIc2rKr>#2O-l^o=B<)_$`w(`2@cHrm z6Qv6B_U)#49mCoN$zv2TLqn4bS|)~#|`%$uh(_|c;L;+pw%IJR{K_3 zxVqGwzcSaGT+ZW5R=1MZce+KNJP~lWQoy8uXM5w4O#S;~%awtjn{58r?opnYr_niL zc6Z*k`{42=HAjp)cX8SMlwX~WW@=Y=(z7bXM?6kG=g8nyC)*#7dwe!iyA8$1Eorps zV~Rh9q|W{5tJi`DJ1&o?F=I<3=VO;{)_%C|V|JGgUz`7UlH%J4uWl3Seu=F-vhJ$7 ztID<8n51=0|NKE~&sE)&^3%D1j7#^VEt%`j&sR!?e_j_5yJFV3&B^z-{@Ceh#DeA;-+u0N9IoZ8p-$k^bp?+Xh0bZg%) zS*cPH{tp*U?Vfw{y!i`57G>!*aDL`ffpu5kaH)2D%Ka~=r!UF$t@Wh6NncNmY<*$l zfynh8&Idp7e_Pk-!-f`1J1^T>W>)p{PD4hW>{r44txq+tRFD1kt$uLr*rPx84UKMd zW@ciiajT9y_3tz|TZ!fG+>e+2<$mM1>)Y2C*^vI-jw7XW%qdyC(E4uQ{&~1$;?IiB zrne8O@N2c--saCcb>zv7&VExTx!+9mJnd7T_QgkC_$_RXq=N*uJ+xQ7R^Yu#EH{G#JJ2vIG9URr{*npn9Hbk{OmAd2rr}i~7mk)~a8ojvH z&6~Bp{r;$Vx+S&0wHi>b^Nq{{nr^>6_io>po7+$SZRnHjv3ZBS4sHMY=!CzeE7-cg zr3v1p(>ItI^?RccGv|f|j$JwAv+uUDBlml~?Ac*S$$y%>+*@_K^XVP6H|MQBIb)GV zyJj^yI=uYnq+1V$B=pbu_Ti!0se>Op7?iqKO#6!Kj@F)9@KfsX{{4zhs+KBe_{oPE zQ#TL2KF4juWtZCj97|VrTEYG?&NY+vy*hbC5wF$fwyn!KIW{WSw7;VxvYgz~uj-f# z)54NPA4^p~d*928XZ=&_M*d;xpE<9*|F}uz`sbpr4ygaVMo6)2bx+sIw<7#XLeE^M zp8XS+?d*bjVS6GMOz%9rfxpv&-CpHK?wA-h?3h>g^NIU!UbwM-=VGUeKiuaLd)G71 z`7h~9&F^=3a*D*AyU(aN?&Zry!cy| z)_+EKOq6AEMAWfWms%%(bh&G({VNYG8XcX{tzkgDhc3w*G>!|)-+j{PVt*a?D_QF2 zsmFav#rF66rFpYHg{E&9(mE)*Te{}0B0lH35#Fdrm3K~)rZ>8CD5%KhqPuTQ$lM-v|N8i}<&A0YcclQ_T ziapp|VBnZNLnrvUcYC$=+{5sMLHpPCU$J@IKRfnRo}P3?+=^*6bFCft=wP~U4Gu2} zsc=2IZ;1v69-q!0e&=D==HaV9^hkB#dBEG1%jO=u^JT-_8fmh(`_TIMhgRQSow>hc zP~U}FrVrXPY2KT`pAv3)6jyWci1dT*&bu*q--2U{GT%G#{`}m5d)#hb3>@|3P1pJ> z{qmQ*5U{w)i>AJn-`*SbcbYE`PM%C1{B7Lypx}P7jZ^jX_;c{ZX2qvuIOF}%JAwD` zEIYd{|NQ&a{nfwE33!?I+{EQy)&$f`x2a#(E~Q_&to-iTwO#&O^_LIx`7?)imyoA! zwZ?C|oUd76N$(qt1A9-tSM<`^w8K(eYFG5@rptXd25y{Hf5Xbgd$LAm95duu1@CgP zwdaLiUe)@q`g1n7>=;loNr=6ta_|Lg{7K}>bUboyU`C4=8f?l6&>;BP4DU9 zVWE91#@25+XYGWH+e;=(&hU0Y{uB8JvScNws6cf zuZ_93<{lMP%41j5u}=LLPiy)#YweR&%gybWW7Mlc)1GZ~Sau;=OaD z{Mt94^u5;0(vL2tA3rGP>nq16mZ~0@YWa)$ImbU5l=I}kz(v3BPWjjVWqY&TUGuQ> zv@7X{w7AkKPsQ*@IY)h{6qe^f`jE5TTGzjHB|QB0v%yo_&i$C(dy7x&yL~E-TU4yq zmA>Vt-0n1_{H3AghwXdXfAWFhAJ3hSYZZ-8)n8&-N1vRdadkdbD@C;eIJ!oxA9lvgE@XUsCSq9Mv#nQJLTZKjy|YIQ+9> zfhT1y&kij%#mR4WR%(I5Neks>DY{B-C>pXn+pLH9t`keoe5v#ZOhvaf?w4j*( z5a$n>c4T&bk!;6-nGv&(Wr*D6KOp^%9rL5lhP8fDq08%TGmm`PRPjUW`MuA43yEw{ zV6f}KBJYP5N^!Z?w!DuEjED(ccznr=mh%rUAMP~d+@tSK?+R=x-t|Tc-#LEW<9cU5 zd-ThO@+D@rSa4>&PqW>H?}mN6u(9ho-~QKMcWjd=+v?6ayL`{!actYRbc?!eFE;*M z!kevYJgKv5?AA{SZl8(THYV5Jo9?6TPJ9_&w^@>*1Gbl4GOW_ey{Co`{T$nOY1yO$ z`t-@3v~r)Kp+|$f!s-mDxV^F0qa&A|=bReTB50alpM9B5_U@N|)T{wv!AI8B4%>X; z+3~P#(UBhghJ^MXx1(50vqA$i#D4An+9S4Rp93@ZeQ90h;gM3MQa@;vp;WGd_ve0# zZJqkz`~E+sJ*v}mbL4|FuA6&BFHC%6ZvXuSZY*j1pvGapUdR3jsL|oqvNijD$hW(2 zzZb5%uk7h`a`BiuK{2oEybgNUHvQkj_WYcfG{@k8BS&{SnJy4CY?gM z&ED{&*R_64HuYRz(R=5IrbSu@6>qZp_fOZ)t_=5?^l`fL`ujCjyZdD?bfs*!GA&Y_ ze>#3ux2LN@wpt zCC^@azRb7c_0kKvRcx8Ljo-6%9@o1qS~+0WwMs2=EnIulwPn*YC#rh%^cz}b*O%wP z%~C&n?oxf)i>r5Q*Z1p}y3vJXpQg<1KC<=6Q?K@aO|qf){5yG0eGjcr_3<^I?={cf zu9>j4+twYyg}Yt6ko{%J`|VTx7J9!zs-2g%jCX&zC}iH*gWd(&c8w`E^-R-4{)snV ze42IY#6M20%>`}3d8IA_JvPLobwjChqj&xYT^ z7kakXR%z0Ub#d?NoVpxSW8vlMjVlLyt$!}E$s>$L&ZIP?m$;(0CM%K@H?X=J0TN|z{nccX$SK@N5mftB+Zg;iVpH~y7 zXp^!@rN1h)9x?Cv^O~95uBIxTX~@$j4gR{;WcQiCldT6XdJ(?=^~vW|Hs(&XkKB&1_S9rgA+Ru&|q3j$UrPd;a;hjBl{p@YeqGZ|8V2_{7iOMyDB>Hf@>Y zhX%cgjp*DtC~#F(U*8&IUDCIlGds!h^er2%+jx2DAH`DDt~z!~qx}C&D_?$bqhh({ zxXcO)t@HP=^=Fs)C)w$m^<|Qv3~TR?Kao11T*nE8LiU}!*eUCiWF>P2?Cdls@t?Dn z?MU=j!ew%sIJ2zxxO5-dKlrs;@2s!J^eyg_x>HPsDPPArFK)kn?6ziEV-xLYKV|xn zv90FErOuqN{kw#-dbjU3utl#UfBO2|ADPX0>-m$BDI?b(dKo+aL((2o+P_G(w{zr< zG2eT6COWb$WBn(6vW*?Z0YNgsAc_A#gDDaqxHKWhl6SG? zzdas(Fjt@QNe7;Ia6a{&R}+UGh!~MM&C9ocq#9T8-Kmt-bN$g|{D^+Z_vrUQR7n z?dtIr2hwgS{~*ZgUhzkZv)`NUeY9(E#FP`w<5o_;FgMQS*LK6+Eh)WlKy)kj1G|@g zN$*>3#j2c}vIX28x#Yv8*O93kzHD)_ewv9*T*faydA|0`%SSesd+A?gT<#`=F1%h6 z)hX-HkR8o)&zZgUW9YCmQM(s^5As@?V@~<^yXWLwd#1|zCKDgLY1<^#8sFmAuB}^E zZ))Lg*Zb8fIKI-->t(uqU->yvw}Y!*w|-u4#R0ERFT5TlOf{)%i<&EHEG&AZbB>z5 zqSq#ywmD}06}O<+s5v=X)ppG>ZOQT9I)nvO`OwGr&;IWN>er8*owa_dWslR>Pw_ag z(D}EkJ~i`g-q*iOm!1z_<~+ad@tuHM8`qp`d@J{w#T8$*?cX;2tFnE6)Gl|m&!}RH z?>w!rq}12IVk^5R$}*&XXvr)MR^KjHs_)}Q)k^hT`p@toQI{HrhWCzeTF|yx>q_Az z0wb1Bz4u~Iqgfk<^lSQC^Voj%3g38gdCkZdrTTnt_%-*6C0^gF{7lqqLWhy=2~%Zr zn_s2SofhZo1>FfdUb63Bbx@}xc?)NBeV1-l^7&!shc)%7 z{oqGJpL&l*74o^#`BsYDcMg9nR^jUO@x=$nC7Rx&LrA&l#Xmf4mAi!Bla{%sKb-hW zcwmR?1^wMWG)dT?^5X>w!c+O}O1EQ)OOa8rqvw~OH`q6_`{OS|p4@*j?#n*U#ffk2 zySixJ^FeziG_U{edHuF29)AkHSLhR5sP1x>I)_c)um%k6g!YM-T3j>CO3v z6${<#{^Wa};65|bM7Q)@JbieVhFvndf7rG)u6gDWollpnRJ+T%EN7dv9I)u|@Zjf> z$@@1ezV&_bC9Afc8UHiM`@!uhU5K81ZR7QhK_$BvZ+JUAt~dG{YT7S(ItIP1Y; zZ(DgCthv=|cI92$kB4pg9_4##SMZNJ$3L&Se7HtA-#SGyJiA(SLdI^%yL;zfwPSo> z-&yT8uG(-Q@XDNaO}(plFZ2E@PrB+ko?U7+}ss3f}w*mE&3^}{BOv7v?ieGy_bky4L3_Cru?W=mVY4!cB-BM3{ z;+$=!Q?==5wpLuevqnhiv^~3D+Lr$ArR8gi52?5OVDlPdCmr^64$QKmcE=u0g`c== zpEt$VX+;~qDWj&WOM9hOwj9Ny!;Wv8%&b*DS7bDG!=L}ULVXL9CQP~PWB zrOY{cZ@ZTEcJXazXAaKYv2yE|b^V5q_Vk|IX`$2G3`Mf^&7H4QhT~0ZW*#tW+^g+t zeKMb%uxNu*HmABhkGE-hr`@EQn+N5d=QsG#oI+=JpG}_hUG5?!GWk7j)ADi24ZeOs zvo=ngxpU$6&l}=0p8adX_8%c}t0%M@@veK8pXF}ODD~^+^a1&+%vkDjGi!lG`#SH~ z++%ZS$yD2SRvrDKP|WHctx7FBpWeT4hfV2+H_pHL%x9mQ=}Lu8OW(3!!yA5UcD!6z zU~kiczU`J*uI&?g?B1-3X$rm$JC^j+y-M46|DOIxp}w;V{+O}yXSTIz4$jC>DfNTe z_b+ausUbY*TIKgrcW^ThKDoq}h`) z78>W)4&zhpC>e;P(S~D#}?HI9#^nvzxvhBKR)%vr*?3@Ed630 zb*-IzcHO#<-?y$EUi9?2neS_F?p)`2k3F}lZ}zC;yQ1~kIU{Dq{Iz@KhFU}R-#ImB zQSE*u+Pc&~^(s}rlWkvro;~zyzb(~YmpwhkcktT$(|sOq8&%=byfv?9K6bk4KeLUK zSF!hz^}>hE%d+Wl^^lm5y5Z~gU7gW9WM=QYU(&<`EzRgOt7?j3k)dUmHR@cbdQhX* z#R^?|@A3P+>u2|-FLrLm-(6NYd7r6yc6_t<5BCM9oH42Wy1>~Dp1)t$Wc|#T4@1_q zEqJZ+s@1g)c%N=wDnYcoHu(& z>ZeaezJ6Zja>%8MAEU;H-+SserESYH;Yl-Om>+ZKqvw#ntGxNA%q*I{ zjmI4b-8w(n4-E5AGP;NGPhm(px+XfZ9gM*lKm$ibWHi~$i;PAuaEll zTU1=f`6WYIb?`1bW$ocpjk5-&-?gH{niP9$P5C_fdnM1P_CBqqG(CK5!Ti7!)7JNK zIWjx({Ose}T`5y9)s9#s4Hk{dZD`)qYTL*Yt zADs74ju+qGc1e_=@z#fhJ;INyt{1g0ZL11fucfQ(I#Ucjed6qBYS;&+z5qHP#?HjRWV$$=c?u;K_ zY>-Q$2C?~vCfVL5)b*DOi7u3XG&n=s*50rC#VjbWC39)lx5a~b&hvcRHs&c6MT=7rr;#H0gQ2t7D_j_6q)VxNP0433fh`V0quf!v`%Zmh;@X zxG(cJ4fw--PPd;AkIxM15q)~s<|b)Y)@a^s?6$>e++VGApYJ;`>fYp6{cm&NhlzEQ3d_ZPkr;Xd`krGj%;-+OsCWPhGZk#qc4eJeEo$y~P)=PT8`d1FlG z)qmFVtK8u8hK@f|rfyNEZhv3@OK0XayOuNS@hVq5TTC7^%d2yR@xjp-kNz3%{UZOZ zu*X{`=ByNcG=*pW*#*}0>71cvt`)Dc-^zCJb?Ta>S62);xHxt8z*^Dsf8^{xxzn1y ztt(F(dg$GFufy{)-0Rn|Xpwr4WA25uu5q$@;Pz!#lGbl|dfj)gPuWI%A9Fr?V5Q?- zbB8rM{j9rZff=P-pItt+U}E6THQlpy>A9>`(!bg)-<$Yu>5HA5DpvGrHEYKQ&)B@N zzI}R?iv4n>?yR;apS?PN|IfHqPO)A39rpbia5=VkmTA%XGnGpIuw%ti2hQG)y|TN= zuqzRrUA|}hdc4oGz*3uHT-uc?``~?(%~6NugtQ*K@JFX-?IN3&h&x$s^MFU$3vB)} zzI)mJcUvb(^x?w1lp7y~ytxx~>fHJ}%TI3VJR{rgpvSxXdu@3ztz(ig<&*ZA=RUAq zY`Yy1H^Tlo@!{u>I|rvEeV%P$_mW-VG~ycGuPllk)_9 zd6%g~w-zmr7SGho@56@-&3bp7TJm7T+YPA?dc3_o@cQ+w^{0P2v2ja>Y92WRqf{?K*2*C%rCN{X(rvdDecbn>P5Dn2}}L z|8o6t?67u2Vgl~GI4Vz#+kOG_Mt^SnAnnA|-5+L6UZkvNiu1iMolds6&PA`JrOI9^ zl&ekiL+&|yB?+8d;@x=^NQ;xV0^3+AqNx6HRW&YwcSOgk34I1lJGE$jG9RZC zD_hOqm!swotE==C;N~kpGW2t z71DM&bR@6S^9gakIC-3yxv)jIajV*Gds%eunoiZrZrnJ1Y`0oPkM|z9b$!|mY4SP$ zTD$+Y!l}APhwe-A!awihEGuht7?$<&=xrS;cx*ng`a@LC@g*NdJ)hjOR8+HR9~<>( zaAaDG&T$2RT4 z)s&;V`^1!+*7nFYrk~HdP|Jkp2S5D#m$2Q($CZkBIyTs~ zb-&+7IVZ2vaQ?K)^&efB6OnUti31Vcrgm@IcYpfL2amT)9O0a~`tXQnBU|~$?ael6 zYTw(x4Rq?WJK>LKqh?Nv=rZn~VSjWRfBD9s78#~TzKi;`!Se^Ty~3{@{g8KGz?gZj z-k!gX8o3h<{FW`UUaf%sUQE`*K(EDhS@v1IfvFbzuIG~ugiuDou@Y4xM$YR zCtG)wf6-z`sg_$Zzxdw%dtJBF9miDr<~1(Wil|d#rcS*XmuOMWPFI{fO04W!YSA0N z$!-hBUA{9f^R=!GPtDB|u%Pya9=qzS3d-NJ*~I~gT9v=NIn(W|0dEfND%Img*sE3- zm;G8k>dK`F)7m}z7;=6~)Vo6Ehxy0;9azkNUWu2!HEw(e+?#|nBGUt%E ztzEij_deSF^MLkwN_;N1Cbr0sIhX%QJnZ$wfm!}3e7W@WA6-)>^E+7YWuBwIcS(}X zdF_;hyZW`SkhD$AgVw1R9A7p(=aa~XZF4@1Oy`&LOUQ~+{Xce}=KN%S{%I9Y_8pw_ z;M{!Uv;8%rgLBHiyNoSX;EdPg|Mm3#d1BB1bLZ}a zp&@$8yN2L@Y(7Lu1mV) z`EVyFe9MUx*Y^dS4KCkyQpdw-GpCNp6aMYWqbPy2!mgokBD9 z{`&5E`yaVZbZl^M`02gV_Wd)e(78cdO1xS0_Q$YFYa_?M`0_M)o;4p%J6C#fF1A!~ zhX-fV9(dnjL5_9}Vi)~>Am~x~6bJr(lyuX4U z%b#93F8jyp7aDe(zpO@@YsY-+En44l=z@jo1`pi1b=HC{k*T(4T{?I1wf7q~MqVr4 z=z5XP{Tu8Wc=hYLTl3G{Yt!@YwO$do2F@C@rd*5D+d{%dKMvb4t>yD3o6mpgSFFjr z{6Tl~-)OOCQ={FDpNFr>9ds>vT!qi;VtZwqbnQjRkmhSIq#0akPV;5^%APIK^1$Ke zFY;GT^Cd^d_A7>0yL!LnsLaW`E&cUg_NSYxbj=?8N43@60{#ri)YZG^|D)@=G@E@%zO)z{{<#TLsqOxM9aisopVRhIaS{8b z`HG2O*9~_$R`mpI+>j%dq@|m1?SK(~)OY*bO)+n@ZttNrvCs(lp08lMYm?|op#!nf zO(}H=^1FVh-PD$_q`6YQC}LvM$}_ck`=*>PiWILY5WbSS$mo-ZZncKfEs-~peca5$ zw>A9(vy=F9Kh?e4oExKYA}^cY$V9MD>&mHDsb&%^dK$@Bvv0G{a1NXenJqkUrdL2M zkCj18W6-NJT__=0L$A>Bt&m##>SISz-|BejuTI{ed{pD5Q0F0m)6tp+565Dzx}F|5 z5H)*zeZ}=Ot2I9z)IY3@PD~lNbkSC7?C%?CZ^g^Pg^TT0oTUA+(>cI`C!qK8&utxr z{v%qBbJlTm0S-G4unNvd-&?D!)X{yRPh^bl@HbZuPfpt+>HK8@%r?bKw<%Wltlr2a zbs{icvZeirpG^);^YM_0TAE|#3;}y3T)s)WFLN1=^ICI~q44E}c?W&@y2{uZe%7vp z{-Na#Tc7@xR$a8s)xUXv%b5SieJy7$?dNe5tN*m8o&qlK$^X8V%bI`ZT%g3%QzUtzR9b*=ys^ zV|LoQTi{OHlLYQNp*3YD<~Of04EJP*?mpMUed*oDyWLDxjXf`dKl?8?QrDq7`N!|j z`NKarKkW~G+_gqjy@#*o2iLD(ZXLXV(e6D<`j@V`5g_=8-|Ax8pDU9MeBZAWYemba z&a6Ikb=yaG{fitYYM;N?VA#Xf|J**QFQi9Fv1qxw!D_33B6l4f%>kj`tYI4rk`jZb z|CGG<4^AoZV!R&Zp25A3Rp-HW55D}{g8`z)i{BriJ$_6xh|ZX9{oadj>U4ZVx0aS{ zS@fa4WE&0V_|viKOQI_J+ea3wC|_uJ6Tuqx$yp_*uIq>Qi=ZTfr^lX53wygS^*I&6 z7qVnuId|y3G7&j-n=L`KX(D`e4~-)Ijg^|78LF*iJ!&|&WbcRU7g{shvUk;PwSWG4 zXMbSXboN9wo%)$_{{S1u@=Hf}iZ`UrFuykKP+P~dV@!X?KF*4O@{N2Z8t7-c#qRL%nj zWf!g7+~(bPQ*$zg-tP=sFU+Z=-Q^|wQz`jKT;xZ+gyG%CUp5}PIkKVipyyXpAxR~l zM_s?K7O#(I`ySz{EZ!ziIWuIXt|u-sxmbMN&K(9${u}dTZgnR*hWfqGd`2t&Q#@J0 zAVvJP;~US{?iWtdcD3;oze)UlCZofoxIOl}cE?2v<>xy6=OcOp!d@6@Y|(5>%U%-n zN2eiGi55)>~Wu5WjET^swB#PLG35}RUDkneMGrFy-&aLc@_P)a(oCSp@ zQjVVW61;qTnNgFxZfizyir1*}+v${V^i6TwnT$m|SyXjX?sR_B2)&`)Rdh5uO1+)E zE7+`wPkY(%Z!$MmhK|i_6wS?C%NcV#^PavapB}4Nj`5!JVkR@jxpy-j29CXT%FRnv z7R+VJ{NeGlW7o~^#_DYHoF+wn78cp}ufOKbR*h9YoYS0CmNynGKU322GUK^emRjn> zn%;>uKici>&+=N=h^nbPO`v;qZ+tB;cT1y?WUMPlXuti&XSZ;H$-qp5w>qz@N=u@|*G zv~!O>o$^mwU3b-0sqtd_-mm^kD!yGSpqcCrOuAG3l5KM4@fnj)SAX{=lM3;{V)Kfv z!4v*d^L4+ixwm~AZqYh-CaGxYTn^7RvEklVzsoO8bCs^YY_-gzf0M)#_BWo5suIk< zwW?V4N<@=xXL*EftYjEPcX5YHEQ8c}eVnr@kF|HCnP;ju=Bes~-^a3_ zw`&`pj5JNy(9I__Wp!0p*ZECG%9qHIbxtJ->5mPbHAa4Wuq!PzLt6D&2~%YMj>fUa zb}9xk@=+~o)A@>o^aP#GB+Bvcx#t|?!mIOuHS(>L(^n;@peQ+c3lF#JnL>JdBqFE( za$IIAS-o0~{)q$oT%}~t9lc!&PV4=nb)0hS+Jn+}XnL(M5{c}*9(mc&uGlnvr*X88 zj(WV&&^5ujv+Wc61x+TN7ONl57iRlhC$sm?r`j@Om+My#1@{!N1zN;^7T)v2EBmT1`S0|S4AKmz; z>0YN5dI90csaFYt{9ElBR;=iXaNGAvR$pMJ{RH!?0zoRi)jFSQfg zpAflM@KsD?)TZmU!@8+M_08Q3k)wihmd5YJUsey7UFzi!_rKxMWg0}Q(|NQsM!ar^ z@jZ*n^Qh=I)DEBZTLDHp;EfpfH~v$WtCO2 zE17dlW15_Enxe+NeZGjuM<*EPycLp+ecHVDtEi#no91=0K3g@$PwO7KUoLk2$G&tm zQ?8`p8r``bbv3o?^>4mz(*Ltx^k(bOs^O2@=YHxZv^{;;_0{#knea%y#PnCj=W_L$ zmpgslm^brP?7%tg_u-n3X?_atIv#L;_UQa0rMy|IA!TfqCHZSg;o=~*v0l35bsa*C zy0K%*D^eNs7oX_Z&GWV|&3EPLlI=dCrnEbT=}te`exJ_ND)ooaH+SuKN@H1}=XQ^s zXFdN@y_I>XSBl!A@z9Q^HBSyZ9K@e`E=-AtPrnPwoan07pvO7hPFVuUyZ)mn#J$xxj4DSQFK+_9GTuV zcD(vEQu1q$?1=lmVq{a?D_*m=Hmb}D@`WFR_P?>dNu#~HCG1j{LCf1KKB4APOM*=c zXK7>Es^(T7w0hFY`Gt1UoM9ruJaOf=LwA^-1jsK}^xMtfvxMf2^)Ii>6}9;h%a7K6 z*{LxrD6@v{w1Do?&iX5*7Zq7+A8PM(<$iR5IYm*PcUOg??8;5uC94CUJL!mN)E~2J z-M&XDKV7hZZzbcvY1)-hMl7Lg?W1%1^M$@x3|5Hq*1oq9|D$$Mcw*{~_>B|Whb>Lt z)_BrA=SVeMCi$l}n5%r;?p5ZZi7s9l1R*^Gwda7~N-%oW8 z4rlJx>{}(bB4OpE_}ag;gO8NY>1!0NI43&bpknc?b3D}Qq` z+}@Y}sVMGj>#O#d`G#o&$=qS%$Fkj(hH24D#j-h@cUV4uT~~EoX^0_E!NXik+tl4| zv-YV0jsxSnGc5&XLUXLz?n-cHwY#?~{aMeT?>KphS=X^7NNZ=>l0DxBYul5&qN990 zJl2M0J@Zx$<#P{`+%4y5tZgEh@WS0$t~KD+RaJ1pXMCrM8 z^S`>b1*}UdNeNo_xpYc-X$Ys`lgdx%@*TniqJQ=Ib<&J&(N#3c9?ycd>_`(tCYC)o!iSjUw+mVt`B%< z*lk0ujFQC0pVn&T^I}|6(bTjQ`bI@|TS%Wb~pPuiQY@87(K7 z@wI;+`gPKVv<>k4@`~DpsMQs2~<&y%@T_%PTExv|EXzc74 zahsg=Up0H`s<2mkvZ_oxoi^~P@?-xpohmNb=P=!ii+ZGYm#IvzYh&tSnjV98*WLi?iICUaIlmd8J2l>VJ>U`trkBw z%cC_%M}5vNFSyyyAcmg3rU?-2EBi5L$7PDUVfQjsT9BXT;CQ3e&bytd)DrB%3%@TRkKSs zI9>0nyw)?` za&UZ)?&Fx}SxxH>`9y7Sl^^=d;Nu`X(Ui__&Q+mjdrMBC@fXe9Eit~eLxRJDY;)!k zHxCY*WXd_|b@@24IWb0#=+2d!s%_EHi!S!kxgB17BI-f+v+rgVE|HR<&%TI%j``Yc zP;oB8wf}3LR)uQ>qwR-Tb>-F!*}doVWB6ta&6oR28XjC+N9(npDTCKA=+ajWknR9;{?$&x(F~;Wq#c51>jq35#QI>Bm>IL`5_A=gQFg&U~u_#+ieSZD( zN_7GL`%gS>v3b!>q_wa9rbNr2?zkbfK<(#^ot5XtPBF~4cK&6gRkVJ><7lBSyK3pa z9eO+#k5b<9y`JfCzr1G?twu=(aa%2U$pX1oK z_>EHGJo`zu!sdX-s-IjB{}u^pue&UzI9rplg!!#>BTbaN)SPT4xI~6!&QD^w;;!e#@BO9|`mKe9!Br8Ca;nq^H{7xuU(#e1xfB`R4FT zr&!Dm);2AfRjD7ZGoN1fLd*J)z?p4T6N105GJIb?SzT}JV!ZQ~s)F`<9o7RpQ@14_ z?By?6%zuCR%=S3u>a@anDFKf)oFQ)ytyX39EiZh@_^ZADmg?a*ZW`;Rb}7EN!rZ9H z8jRk*e!OT@H=>M}U3mRxvHU&tGaK#92ilB!nVwuS{v8#1$Jp*Ae-bzh3shAA?N`11fJ=Ms2oo1^Dum4)t^5^Px`%M=Ytev!2A%8sk?WHo)=UM%&%gR+R zoqFZyRrBlbWXdA+J6;Y`!p_c5m)gx7jWn92izRj>u6Zpnpts?5cgGFCf=83bcq;Y| z{#xdBIgNQNq>73Cx3`9WhUxRn!@`faGoP&&^*4ESp=p!p-LxjblZQ0+^5j0adw}K9 z54#^M-wO|i%Y0X9u{`o==7w{>=~0^r$M5->r#IInKhrs$sYUxstLU#AW8tk#X8Ct+ z?>U_x-!kJo5$k@9|HLmtSK66FN?vOi!a58S1IoDX`e}_i{=U4?iTl+K6W@frQ(5a1 zqDDS*pS{MGP@LT#ceXf5x7i}>>~^tj7PmXft|?S@jI3*To0_M5tjlp!=h41mrXlZj zVFiPiO}q*-)ER|&N7EycOsg9ADcWz$GIbkgQ%>l(>(?cqn4Hwt#M$scE?|#P5@-GX zfTX>;qua}Ro(TmPy>vUtJi5U>pKkPlhb7nO0grQA4;6S+>6S5M9N=Zo&v>N#R?^*Q zHTzL__f^-^JwGU){+6Y!aQ&R=paCcBVbz(R_v6rVUn?EG?h!?%>bB^ga-`BQkH}K3r{)vejaBt(*F8-B;1Fb(Od9_4utm`}|MY`nb|gsE*FN zsl`2^vzjwlS#&UNZ|x_~mZ^c7iZkXd+P7!TW5Uzs?AG7(`udLNjB{;P-fzi^rI+H@ zwU_U2dFgO&<*Ll0ThZ-)`^TPEAKmO>XQXsf`(96Uox^N(l+dO99?2Pc=9xA3R4V9g z=e%MaiUwTGUf;bJv3JKE=l*-)n3V`EDz!#?v(uA(sy|1`bf%23ku$x0~~ z+t=r6rbfS4t=GuHB|3KF@F4AQ*XrS}y&3X*=3KJQRHPU0HhJAAW|c2$An3^-LX~Q z{svSDaB$TWF4^|UKVosno+mvk>hF)0ay{1Xyv?}rc89OX>37;Umr3y~>e|+MiudOU ztx6Lqz00LbTlmucN|@^h)E%JLseWQ@&h_LT&7~&m;gz>NIk=a8G&g_vlp0^bvVQP`!A#0)&aW>d&0Nx z;%Iv@uthA%>MEM``7YO8YWRKi`OE#rtfC2Sb1L~`gX1R;@&&95%T~FZ*j=K!?i729 zv&5Hu{Z+?Q%CBf=c&l)C`x{8R9?bu!GAXq$8bKPY2^qS8Jvm+NKB*vavXGMML)nJv+EjHO5 zI4=8YMo#{x;h^|^+IzngowW@|*-q?uY-yUg+V|yF|IAt@E$WtBMCH8HUDg>!f~&giZ^Gv4!s_15jlKh>C3G$VprF#j6a*Cm};k59t|H_g4{e?^v7M$?IUFITzKB=&e>GiH_7I`_1dYRxrZxn@ANJRWjZq5FZib`FkHCk=h~w+vv#~UXWn~CzW7k2 z7A(2)RpFI_zPpWA3I^vg<62$ks)EGt|7K}Z5I@Io#Fw}7eDt0p&oZ=3MKw+YX0u-T zx#L6G-m+y^0)icjgO1$y;uCwVm1--XTC9Pd+Nv=>-e|z7rctAEk3NIScQSk9vM` z|FqGw6Lxudc3v?d4w3P~A64uh=h@BanFYGcilAq9o~8@Gid|n;jFL1)$UU+<~Q_`B$omaC%G=vxe zKfMwV5EM#|F=|TTZ_>%wc{x4$S>%LI*hu4D7o{8P`;FGF5sr{vdtW zJ@njM=@|cAEf1}sJDEwX*GpWKP916!e(EpmF;!X{*qmX$%k8>`Sm~$ryN-L*?T9=v zY_+bm%q)M|)0r6$+dIA78#bv9#rpU5iJWp7{<418XZ{>Xq0eQ#z7ii&BG+vC@uTtl zy5TBgA4idJTHVYtyB+tsg|Z&0yol%xi%b+YNFC0(J;V@uhM`e1#({6hKeznp_3IAl zPj*_)MDC0bu;27kv~J7rjM*mX*k>n<*+gCYnzx?VG_iqCtEs{BtIsvlSe=;gGxH+d zTQfEqR`~47^M9_e>n;Br?}nKKIVFz%_(x6O@~sF{7$MlRxS~Jd&^^0?$ORFcIR&4D( z>(Y9qeu~sz9yn#fLGNF+JLGMcdz;k3(5WZ0hdDH>yf^*n2)rtz?;%ySiuvXHcEdPP zYYUp9RdK~kQL55)i%f3VIMZatAGT1-{HYuiNfcFA`fO7TkY&&GC!o!^=)--|4$7 z@7tfUI9%>da`1_zh50LQOih+8osha?b(uk{=UP~3Ur#Z;n(|~${fOIafK9Wv3(vAj z#z|MYzalhoHgEK4#sv#kyfIl_yrN2Ld8g)6lgpXb4bs1vLy~>(HZwhXyZQyYjaA|3 zitj%Uzcc&9RDID&F+1RrzamR$O_5s(tM-HU+2UcG@6A=Kw+g7NT4Q4td}S!PBscVEV@XPA;uoF9s=UL!?sab;>B!bTUT^oU z;p{-AwD;;OfiI_|mc=JWf)t8!q)Go&r*im%sAqRqAK&!5HSzWLPin!bdUKl55o=5piyAb(Keual{d6My zad=TU-!F@zcP`^0nR|qOy&Jt?%IKB)Wi_Mm;4Ou5C&PjO_2Zt7YXkE}C#}Qcnj_{F z@7?&hj60^Kvx0lD{oNr)sR-JeO5fQUlGAOLH?(JV(sPC1a+m$NwB?`|_D`o(Q{ z+n3(bkVhdUZxU^SOC8vLlzH6b{BhL%yegCF^tH*!mAs9^o%FoHBU9!9RyOGpX|YnT zBZa?Drpw!Y@^Kb1@RfQI zeyH{LmJ9o$yz?$^(VEWWHPM=im2eFoOy((HSM~go{;J`}9GUF0X-Pj4=bpqd@yv~J z%btRN#eE#-c_lntYReUaC9}m5K6NdUqeW(F1@D8E*&K^*g%;$RdxvU!A^Z=ezHtW(SG`^+3GdvWAI$wFhg;-@^yx>t9yU2wq;dzMPAB;_x#) z{d0kvK1+8qbS+uK>6aZESHUfNcun$!_^nbO>5ts3PjYG5-B9k`Vs$Z&e)E+bE&^(fm`Ku@zPKBxiG2nr{kzkcs58t}{z_scRZGmuJ1b z^zM<>#*eQl&~MA)KTG$b{_r7{7p~ju54d~^-<{KQ_(F@Dooe-iB`&UhJZe2YoR50% zZe{ajvngQxeyDbb9`}tvL7u5!;zM(S?>LqXE5-()e}l3KH|bXtOga=a-Rj0q$9~q$ zNkXE%Hiqk9Yt4Pzl5;d$p1Bv%KkS-3b*z{5%ZY}0YnJfZOFAn0RcQxR)IuWl1yveQ76TCe_yQeNRkjuAu%<|%9J#CuP+NS|g zJt9{_ZF}sN?Plt132FWPsy9H~Z@Ja804|;Bdb#uMW)EB*2e6g8Fl#j%TI{xYWA~sr z{eMW8D3!H7Lx;YrNsh)F)}bw(nl~ zHU-vYL!BoUzwI6C3w@ke6u#`&1Dnc`Z;m?Q0^bYXU)cJsyz1gdrR)oqS&Ah~1A9EO z1q0*VdY1mQ>-e!~K9}SDlm2{qIotPJ!dzM-_R@1TPK3L+(9=qe^mqiA%RIj}$mMZR zs9~LF_3{8ZkHZ4O$A*VEw0_rZI;D6&D55hYX!zUSq&0P8E0Rht7X`SVTs|7-nJ+#X z?`EkqdR=OSi=9R4q&R!q;a)b0lLO&42L~Ewr}R16YTYD~>+CImJMmw?F7tsa>hJrY zgPG+6qO0;x4kcXGS8XU>nJMh{d4Imxz)$s-+2nP(r8z=d65XeTj+fT7cpTa5nW$8B zwp7(`>+e$8q)HaIm-b)!8k2tYPG9u>YtOz+D&mEo64ns z3x>>DZXT=m3sAf42OB(_dmd%bJmp9xf2zlhcyMnlFjEX6bzcn`?=nk8{vKTr|HzXIkhW%cV_!( zZx7DiW!m2-vEHG3 z&*k;MpS*WoGLZYks_3*FZoT1R(><=w&xW6#&1u-8G@9)YaayQ(nMbL}%Q=tf=mY+} zr?O97`{`wRQ*ZpyzWLtn0$tt%&)-?jPs^{@x)JvE&a)?CT&C*_XneLd{z{-Vcy{eH zmvcdiKUeIgo6F}+o3|L8%l}#+^w(~gx#;_Q0SzK<5n6FhwYH)9FGZ}DDT$0-so*Q< zY~wm>V5=aaXkok6@e|K{p(X#Cl{02z2SW7>&3XJ;9nU0e{ATKH>(B0dxNxINs=Ex_+ragTSRGyzLoglIMZ#rip%j4~`TOCLCw<eSvmXn6`QUAnS_Y5S>r%bSq^^9AVGhT3wa=<| z<_k^~8fz!$7IzxRWxS0CRu#U zgLh@s*!Ut%UlE_}``0zakFn9j#2C(8a+ZBAbL-qjtRcS^{StHYzC7hCZNw0EIZ8UoSgMgJD((Fl zJ`;(<&VmQop2#zPaf*vy)_y9^KJZnM^eE>@?BN?r&aJ9CBevPGLBMzOjjI`5g_~K$ z^rr$P&GuKnVZ1Hg-^H%>?(PWxpEG{<<0n;VD>Y`fX>8x{f?JB?b+PaPT`{%q!T zUj)3_{Eik%FXs1M?Ht^p;1X1SRN4J?EBfJtC;T{tnGn=E9@mC%bJ= zZTy~8-S@a>3uAxo@@=8>UlgU7=+p+^i*X0l_OI5sQ@uu$+vjTK$ohL?0-lo(*~7l? zGB%z%%PW+qSu? zaz4WP%4L-eKl@#lx8*%4wb<~sYHs_%jwk+nB|Vq*Ug@0F^pKShUT?oK|4vP}e@SNe z$MKRsoLk1-JY|i43EW@%(AdqF`HT1Z)+J8KCF?GJJEwF0g73!&X}RlebogG7AncQc}uNd5z zRaw+}dUoJKfx@gsNUTorp6y2kEA0DyIbLg} zHu|M-Ts?zcl1bUFv!ct!z^IyF#d~7ft?$P)!uAYs zNQTWN+txTuG)yroRrxW8e#qX_z^0txevd1;YSSg96P#JCDZ%oG7{)SpJrw&bl=wwb zaek$PMn_GQ?4wST&>P*q<*ye#Q`&mN^MS{gsr#d? zr@W7(;j^-kqF;1ReSbEh<%GqeZ6d3a2Cy=@TAxJzwvFdVzUKXnEm2PE;*d_ zIW8Yn?%fx_e$b~g_IgX4OKtN{edz&K6U!6t?=LG?OWvaJHB-`r$GbV`J)>j0`$+f`#y}ndojMW<#p??2Q4?6={)D$`1oREw548#`V7Y3tZKMEJ4Aa^ zq41XQD>5)fH}|dRy6i3Kji?{@(qzu{rjhN+PT4Y*~z}?%a27vGBs&X!$R9LaiTf zdiUxsfBZyIkM|9}+&Oo}ZT3a4qO8`=$;agB&E{P@w$bHXJ>R}pA2vL4iCt-sK46$r zY$PhI%PN#}+C2B8?u=JX4*&i9UCFzQx0sI$>C8{udlW9GAFCRa9#Q(~gjvww+WyE! z@Jp_lU-}{qzV* zOmY^?3XPF?lkxG~hZh2GV}}3IcL%C3U(QEseP+Kl_p9H1KLT6Y6b~q;dp*^6j5OV; zY1H&oB*I;$Nxwel@`jx?PbD<$yf$cj*KNB~@k{u|dRQ70zK0DTDuoY}!nd^XM@!+u zxA0M1@`Ja;Iec^!f3F+%PzHOnVH;ovmf9rFL5}=@FVvH=_~X39H^0Fb_`o(vd8k9* zL@o9Oe?_}l03F!|e_(C6M#T>#hikIXE z{8Bf-OJIO6=Yk(tMwMDm#0?*!#dwiT%r)RAu>6N_(l*!u8G;)e3mlX9K@N`5GK|nZ zq(8ud-nVWl$N88RVcI{K1Bf@weT9Pv8qSq8#>A8^kf3 zQ#Zs7^_a{}&_zD~;|tn`+z8v412`r&DnEb|d_Yb?%;*Es7!$-nY&c&b1~>;9@C`c9 z9#D=p__{GAE{Ytq=fd`IZzoM*1W6U=#awZE_((1-Q`{NNvK5!f+K z^tEYRhVmUgj4h2SVn}hMwkNXg|NT~WuaLa^jT}XG!uNq z9DN)czTl0Q8$tG|AKpfO;TV4c8-3{wI0@uN+X?U>{6gBlz-^7YA_|xG88p?{|Kp9D8pm&8fR5Cay*kLsxLkvNFK1j+#m zSx-F&e;|wG@P(MXz{5GQK|Sc=K@R+)4Pya4;2H4%oeax^AHYa%5I-D~Z3#Spz5l7l zHjo|MreFj75Pq>N91~^W8~X)(#6^#k#kk<&3G&2-aS?Gs8AXO-pUMZpJ1L805JosB zvE#OccouMg2Uy}9PsT`&ffL|{z)E7rgA*#FPKZGMe|%%yWULS)lJv!4_a3Z3AayP6K{u zTd+;Wvd|`ZVOwB>w1c?Jpbz#5+hi=*H`F0Jq%7uylt=A> z+Z&yee#uzyxCHjVAISyygxKJm=))ifHgLZsVyEUZYD>rooQE*J02k0lVFL^VwuO^6 z$Zw1VVuyNU17n65$bJoYiP*`Qao>hAgb`yQWTNAqF=wD#MV; z@FCSuJ*7!0wBd7t7Lo?s!~hL73$_Wq$@GIzVS^BfG{pEwyAVEXFr>i-GJpeoz#d`2 zO|&4jaZ^GJfE|326oFsB4sjCtxY-u^h15ZI7h6Cv4ST9T zzySKh9`gq0DkFVU&Jq8}CYD)X8)BgHh454T0d~NP_As}@deC-Y1Ii&*Ql5|{`M~)Pu@LP{ zwiAvW_=a+b7xZwuki!JpLoN`uF^|y3NDi05F>K%$a1inQrw;0YE3ga41b5V95*N`H zFdUOUL5FO2>=XQgKJ39JfsO2!aQVP~NPHj*(?e)qI41qWvl#G4lz|RDNA(Z`=>y8B z!x`DONCuaIO_Fcm2c65nqB-Cj{D3X!Yos3XC5P7HrE(4TmmmkZg4TkBHEgh7!X}Ob zbcpsP@sXDTv<%L_u>no$DQ!Yv2Ry_khnA(n@uPbjS+uwir5qhYJ=h0~=>7}G4P|hD z1$>}OFqIb+19?nN*T{Ofvyeq=-C-{9v>VCd{73wvn;9H0a0+~(=P`g2?g?el+Cg|6 zgL^u3Lk3*HoeX6eFJc*Id^3a`z`8Z zfkkNLQ7F=iXeBA?!bKE2*dpAmp&B_^bXy1uU%@>W!T}3kVMTC+H^ehM55!AYqB~B! zz9tG4FZ_hcVYwr`t|u}8w@U~!N=PY`Ez*<~jqvRr@`M*k!)rc6l+yBOT%ZI(i4t8t z6ag=+JPr4+coilb}@QQepKd_<`E=FWh+6FE2O96ruiClqJ zp|q?VQU(=Dn^6|eMj1{C65S0$n_y9}N$3E(gf`-naw{&65TfNG$qHEQ8;jtz=>P!% z@t-b;P&}hq3iu=M*@0~EhMB<67GTLL3N-Y9gQA3&E~bFMCh;Ha6ApGYaNFW3+lTPu5 z`N1x+92`;b{f`gmQs{Ze!Z;|w;0kO7`@m}W57@(8EeMNR_OB6fe^|f}#)AJ)GG{XT>8wxEWPs;rZpUMFmG?4lKVGWI!lr@@B%21M$ zYK;;Amd7?QQ@HkD8HR{Y|BIcHsF<1sy#sOy1H&3%4?@910c0sW=YmXyehb3_mc>N< zi=BcWZO&v;)_{RmVKyG1aK@5`UVmRN) zQ3jvjv6ce;UlU<={-ql7Ob$4p`)|a=$_qLZb_?C>0o%p{Tw$gJ_EE; zXz{^+ff9|28N&7*+1rS?Y|(=DXcyS*8=PX2k>uLS&#u(5&uE#|BG|MaD%Pl zi1EViRI({X@F_GLg^zy_{^b(RAnXEK6pyaBk}M+9{hwhl0!>LF35kIcbpdYZgK%v` zu|baE>k`yMIlgjWb&`Lq3WVbfLi}MJ@HvtN1XoqBdvg*`b#T7L&01OtHDHzx}ixU%*bH!h#L;3ZFnVkRDhqSlY2BX@qlJ zhn5G21b|@=|Hgol0OoNJ4m2Ph4v{>bY{K{r8=6j$5BqUFBn~Nqd{N6tS!4&-gADjW z%?Akqb5NXgP=?N_7zsMD9k2l#(k0o#vB5BneBrKx>R?e(jEj&5dl)0~LB@dN17B!- zB#$v3;0nr+4RVj!NBKf&1)}8;F7Qp3k#;dQ=pqYzV~lWn0Wp&s)B``zE)YNLfp^#d z1H=UQpbj+o>Tb6Whf46*MPi&4fzEdm>1v#`N3s`Z$&8-2VjSIz%Fn>at8iT z{!rTu`NVNRPLgpGI&i))Mw}}s-*G&If2w`33w}VCI3~FPJ}_2tj|LOyXt!Wf_b3ySrR9<3phXy#thH}U*I1&1w2GO_6xp=I7uAX7b>UN zK>kS#L|piSgzXV^V2|pPC?hd~Z&XM1OZrAWagM<#i*k+R40y*I#!r-k-vxH4T!39^ z)JCWda}73OgeJHmA!sMA6@X%FVGh&_=f5LVS22 zM6)IA6Jf$Jf-cyESV^wPiyXlvqVN&!L_?20fBxQU~pE#*sFm9M}ULREFzNYeL3B zz!(p7bI23|JK2lzWfSROVo-0w84F~gO9ZtH&XFB5%P>}i3Hw3zs5~G!u#bBd3@xa2 zpl4D20w%;4ltH#(`_KSj8=d3(4ls^e3MQ&h32C!X7=i*ohatd>9;ITRvgjI$<_g$8G&anWkS|5J z-IGG|T?LRs`sg{j0&08(^mJ1}0TL4Mp>B`xDI%YW$PY9I_J`~#prL?*1MSh>2)@V9g!S*bWV8& zjUTznAvR>>(Y+@0eE10o|8fj_@*I9mMtK20A;_cfaXC7NT*74_M{Xbk8|b4A=NrhO zdZ1MvQGjiMJlKR^sYzYXLAw97i|U~q`zL&pwg^mE9zF7>+9m53;E#1Ia)Z;&B1SKC=50y4Wvt2Pg*}RF03KE0Hmid(sE!0)CJu{ecW{ z4rK)Q7%SKTdB6=a#D=*+xry6{h>xs;J;VSwFcw0G#EAF64~Y@5Ap2z8SQj_|pMYl} z*MJ4=5j;}s2p`mPLWb%e+KAMJW8@$ELuGgmSYQKO1Rn5%hYExNh7b}z#XsVT^a*y6 z49+Ri9^fX+2;Vq&2pxP(#sIPyFB&Gvwge2QAK-J~g7AUc7tR4E=t28IZo(dP(T4K| z*~55A4ndzRgE#>j8vdzeq&7^lcF1^Opk3KseYtOO5K-oP&64&wm3gn!Hn=@aQed*b#69>~4} z^#}unL&7$+1NcFHsqsSp03Xl}PzM{qDa4G&R47{z7uF~J6MnD`VV^oClVdZCuW*c> zS5Y}Z{S1Eog)+=7iH*bnc8QpA+o5{Q8OQ;C(l5aY<_?vCecX1$bb#cF+AolO%n|5= zEz%Ff49Cz0uqS;09#RhS59i?j^l#uCa3EbABg6?CiW_WU-z4XREhwY56_G3C_yaLu zpClK6X(9jUn3_w#E94i_!5l+w5qSna@G-i6;cF2YE9}8G!~*>T@(1k0Ip8Jx1SwDS zA;3i1#{S5>2H$`g$$?$WKM@~pJMabeVI%8FA7uFgjxk?wPRLXDUGk7R!(_hjEC?ZY{2FsC7N81O+`qIL&gzzJ{x?TT{> za0ADH7wmv8+HXORsmZww<`|XXDIeg24Y&Y3u#e91*o^(4z6+c~yMR5w4wzt%Kv0}u6Xzeo06Bt= z$vxHuo&h^xMvtD!*cH(44qMRUddw5#32=pQgPgn^!hq(Tm=E;I48{qwSK^T~ev2J$ zc_}|!P=5PGzpqnXN1*&<2&ee>Wy&8kiNh;v7UMN9ZjMiZK3ZnPL<}L*0$| z(HaqmL|{q|lXHqU^nMY3K_C63i)!)jA2>>ER2J?GAQfPPriTsE3N|uL$W#IPVQL5| zMCw55q13>7kWR!o9;%=TQ60V;LCu2iq>w&-zyNnb&r zUlK3X4%EZ60%QnWqzt}OB=zB;1ssEalqgsSe1RUMA?g}{AIp$B1Q$4dhzrSsEXD${ z5Vh2D0!~O=fQ8@==M1z5 z;UD9{brkH7AODGyl!N%d9`X;DJ$Rr*+JZg4G1x*_paXyp%r)AR*9oY@e$lIP)R@5s;tFGdF&SMSq-BvHCK<>?127qk zf((F0@4?EU5uft<8GbuL4mqZbms`+ShR0AmxXR0;DA2%&2QB=z8vNu+QIv;A2)GQJ zpq!!so+v|JD8nXPC}d>Nm@OjpHwAW)J<2dhNpYAtL6--4oK1)%+-h(oMQnnfg&Wx|v3)WV zp{sxm@DEr(5B3N*)&-j|tUynJW3Wm10X$SakVoYhGl3h|gDhka)Pqmh$gCpxA+zW| zd(Z>FkfDGNcp>8f{e^g;oWxAn#y-i*5Rq9RgSjM!3cw4!5PT6E&c20Mk!{?TsNHaz zp*o0#?D4RDh@e=p|6WIp1J%MY83owHW+T(nIyZ~9~F@PP#0rsdp3vvuF zB6;XxR9=85@P{@$3Xtanf7lk-gAMc{HslM-!ZE~%MjgON%0L;3mD*FmKj;C!@U9|y zsXzg}7l}E?ofOp(JW>6inW!S_K(bP3N(a+Ua)T)2 zJlvw8b9@YXPzO^?!XDN^!QfjtD2I)-0rm)4AW#kkK=n=7q{@;yqEK1f3GTfJy@ zv=Ar8h01UpIn5>-6B?3=8?c}aY~cnb8U&L|mI2XFPLPh}z!p*epK~;9l5ZK4zTxd; ztV`%%+;Hm#_Q*2i1MJ`p@kTv{IT=VwRp$Tk|JeW%qH&utg2%_dobZPRKo}gZID@X_L^yc3_Y}<@lJ45pF9%hU69M7sifq0@tB>%puB6 z=m=E%phwukwt*uOE9^=CD98R&505lJkKh-_jgIl7KmsGKTi~DcNyZ3yiOUE(R2+bb zh#%WPd4TN`wn(l>88SW`H}C(|h za>N7Xip&`jC#gr~708oiL|$Wk&_i|9u?cViz6IkH9xsXUjT{3(24e(&WDbK}ghvMb zCpzW})nQ&>JRtDGo{SNXw+r)(Y)1kom2-%b#0+*8j8oL|1u}pg#|Anip9B_+2QU!4 zVNM8axQ?(x)yFnaz7hVZ?FjKBJf#tL%E2{0N(;o5&$1sMI?Xe(_DAz^Q zmPiK1a_pbfMf$i+kqr_P*aHk;o0P?Tl0S(-J>W+5WFEnu+^D=lJ^Hy0w&*kXdcObhR!UJ3*%isYFCkROzLX_v+4mwsh!#Rwv&)(_B1>8*DM`wbEm9== zQbeIB>NjURuUGHS_xHy&_s*O-=W))QId^96JO|Vx=||9DUW84d4Z(*&4xtn2naIaw zq*#XYNEm>gC?o6ux)b?W4$wmXfE39j><=`cC*)&#lKtTxU(k-I4AVfnp~WkL7Sn@X zgdIT#;7#Bs@%*=)h%#Iku>4~~EC;oN1o|N{wmtflmN=U05xU~`C$&4q05Kg6d@(($ zCl2j|#;c$^QAZrDi{W-d(?xN#76CNamqAaE1)m=g4{!e|nKj^scA9#;F%)EU07i^9BHR1(b~mh(&W!Icpp|d=APeqbwzl$% zs+D~F+bZCMb;b*xNQD)J(2EHH!jG^!0oKt-+syG^0%Us9W^VK-1#7MNNED1l3awA# zjnpgK?6Fl>1fque=NDag*E$vrYpB?>Ai5J5l8E!5wIJ``6z+)&jV{51F%53f|9aqR zJreC|FN0qCPaffIMEPnN^Z-H*V1QW`N--Va`#<;K_1LSh2a-G$cmN%0L-5#Dod~SJ z7cPk2u;GGu13?NnNoB;F3r9NeeCV|h<b2!@t)g>rFRJ;?@yY$75Mm@(FW@M2pc z8MqA~DiLh~Dan4g4oS}HJv_q&x`9lHD8P61LQw&12oahzLSD5yffwup7l8-(k)APL z;0tddqWoWa$Rpn1L<+V78sGyLJQHmOkqm*ZGjHS#&kpq zbR_`4UhrQM4gS42#A48mBoEIP z06VGuAO#$F^Z?l5LbQ0K4?afZkuYQIB)hKIk)#*F57A+H1P$m*+!Hndo`?>&3)BPN zfQh6hVIQ3SqbrnS-Y5^Z3Dg5V2>-u6hwG8_09|l95`7x#fK0*$AQRdFFv3ORiQ9qD z33T`eJK?WHot1YPsa=UW1RoNi82^gB3G7%d z=tIbWlz1k^3XBQffB)JO@h9ZsfheH>(GUc~)qFw#0)z)O00smhC&n}Y6a)b9e+-O+ z4b&y*P#LZd4FLSb0qi6lai9ad zXl4M@82pUtfLuJ#1X^Mc1vUh{@Iruw`^WaM%L9J*D2|5R;^+%1Oof1U)j>$Xo6wW^ z-m$Xp7mx7q9tM23@=H<};^Toi{&^+dps=#_0g1)uJ&^vuZ*1{A1N~ZZWpl&IBd!Zu zAMlK0WrqaP3~!FWpODZ8+m#6eo*ZC;mHie-KZFC=0`HZ{0p59m)`D=sN_A8QmGG=& z^>m1pqXbtbamb!4)4Bg99@}SkqwA)oDbNbFZ^TsRXU&rTR=U6?jITWANejkZ5ZxheU^MM%)wl(KEI;in)Zo@U0l@LTWFNw~8Ct7<5{-Kgo{Jul}_I<^`C5 z9#ZH(U?8^{=gIRiS{Mo!iPb@Jt`yUu>K@$7z>mWwgf*S`350}NO66F4++En z=t9I9R7M;)2PxJa{WcHtC3q8fK{pf=S8+f&_$$gM^jp;nWRlt*>fpW%*a;q}?n)h! z4?-E(3@+dc&m{TS7a;#1UxWj*2wkzgNxTW$K-sFlApF=KBz~*9A)Xim*cbQ{ZB59A za_|Sx1@bT-gpI@xml1g+%-B9~4?c&|)&4-L56`Rq0eMIUVN-n27h1_9WUgW+(XHA6 z@x^5*AJ-*#qq?hl5W0XJNPhc2`k``+1^MhMMyP{zUg3{zgBBe?4;brVy^-G#dSib@ zpI5Lw0Sov&Y9oAzJ;Vjz2et#h0zUAJHfdsvfEg~drn-s?K+>^TxgCp8f5yXp(* zhgRZ97id>JWB^cj*nsx!tqh{ju^DjK2n-=01Mm7kJsi@N?N4yn6dJFHpjGFUkqF+~ zv@%4&OTKVU%gP}lXoR+MCdkSt28Jyw%ecrT{;9jN)f1}WgE=s(6*>_0-*#76Cq^jX zzzeil3X#LX6Zn{}m9x6=GAo7$XIO}$qcBK^PQc1ARtlM(beIc3`wt78&_O!N16dAM zk?{p}uqOXe3ZsQ#X*4pGhVxzU55rdf5c?_dPF-jLc*9~t{IUPi)2^eg|S0eKo@={ zrPwxr4}B-a`KS(-2fF^#E`W74AIb=Qfj0>sb_iJI0enOrK?`;PIq(b@$VbmuCdekW zDdtP$gM7pv|Hz)e@{bO<40r-&#FNkk@9PGBDDJGb4^baz;b(o2qH-*c)Mi*;k{yXH zv#WSX^)XIDC%{SA8S26FKiDxp(iUCF#~48$xCi;@!ZC=j$-g=P4avr<7_lu@d=K)7 z3;)s<+5zlH;D8h^sDmcbtF}V*aKD2NjpT#hV;!I_+Wq>!b|mp6;l;l=Cj18EVSNAj zCin=}4dp`!1V32q=g`-QXV~)(u>jf#rb9{gD)-@Q?ff#7dNdhy_welCcEjNvl>x z(r|A9ExLzqA|vM!De zAm^XD|JO438LW?FLUh8thOh$g2VT%(5arM_@nbWfBcdf(laLL1V!e@0_}meY4H*8h z2hiXR;vff=t^Uv-x8yxPW9EbiV=#!Gb{u zn*I}T0FopcpshjzJEBVp!&+$%Ni?{XLgOb44d~Hm5&Rabh}vXj32J6YX$1bW zvJV2oSXt3T?X_}pFFxK5FB#%v4=@(IMuq7{W!Tl=8NpobE8w%FdRR8_Ll}Suj*q|>Jww03 zw#EOl(pp$uKC0R{RC zsY7Bq0vxFx@W6b52P%VmtO!b1rsY^X=zCxRQiI{(KgAeX2E zLl@FL;Dt2?;7is?zG4$U=E5M z0yzcDG(jfB3_NEBJxKiUkcMPWz(?4Is0($lTr?vDX8~Iiwvt4XCYWi7?njFqD8@nO zgxSr?)DOG=%IpUzc*Mp;}Q3+6*{CJtQX+G)g~4b@2%La|zZc->inPaCLd&6xxW^SyYk@`J zbqbo|mV$6b>T|&K6o?G;uMsCa_~4vfe*^VyO;m~92tuVp$i}eSaWob z39t#E25=*BBDmrd`QPd@l%pMD_!(x|Fw4YKTvULeq7-w76d*#1hzMAi7*ECk27(2K zl!iGqNjiZ5>p)_FAwxOA5K>eJXjT}a8^Wk~@=FjB(xIh5MaU;zSTGnCj0Rm8c))H^ zFg}c#(7YN_?5+S7>H!E?l_0Zi6V-u6 z#_uqY338Ad;}pUG7>mRU*MU6X3;93?c;EuPKqtrt46vyW-dRAr!ko0SLAVw+Bkpw& zrQm`di<}*z4~T?3{7#4H0_G$^!DC>Y0s4X-#0BmF4Gj3;M}Q#1vC(+ zh^`B<4A$B(Fo;2@VOB4w3wd}eFw> zmp5Ta5|$=m2@;tDFHu5@8W1lll9nMcEi8q?CqL3MKK#!EyflgE@lq}b%8g+3|R0*ltDh^fgCh|BI^9hhgeQs z%>%rs4q+3#L<{`T_z~(uTv+PO$ zU&VoBiNMk=Nq#^86i@dxw?%#0|5XW}09aa<1dNp!fsK%ap!hyhTB zV*%+IA`}1u8dy3b#RweCffnWCynpU-zXW;`UyKdtkmD2b2staV{(FP}i-EujyOZIR z2;BcMZWL=!1jT#_Jx~gD@mbDzWfg0UOo*)k0|>YfN_d^%8J3tBifec^pA?yiMp#Xu zHq-!}VfX=dfjk%=qC5gS#`*vAyxI-~50FE;@OX?s1S!hLLnW{o#4|z`VQk#r#isLeF&y@g%b%A^o1fbr^#|1n`TiH7SlO#L`g9F{b+g778Lbm!0 zKS~0mq>FG{oFZwfQ68c@L~YOrc@aiQx(BpSh7l4ecpAz5fftqs^uPn;qdfGD1AYh& zXL$fb{P_jCAr2KpSA$RqUxkQJhEn`>2=XE9LK)mcJ}D)-@@g5-ps#JX>p~qwOLSwv z455hV@|X{a7si3=0_|#;MxlrZFJKFd7ljs_2VoSI!!}&NLWFvtS^3TaUl{O!3I;N0 ztd752VAF$1k@G+yL|Z)WfRPsvBDP>QNO7}(3Bi=;S~V@09n6fb)h0uZ24;tga2Ak- z9iG(5aC1QO5iWp6bhr~BEVx-AA7~*3R{`0C6GA;w+3HSeWKQ4@IKU|}J>Z15E=dl? z2>d_?7(qe=g*P-R$Mv8-`slZMPtr*ORyAz~?0xyW{4Abqr`zc!dx~g#xG#eg<{n^#e*nKK3bO zc;Yoo_%Qxn2nX{(1|A#&S{U?!2Z1>W55!-mu&t0vD{&Ah4^*qZiwuV+bT9~o%#|}{ zU=?U(B?K?N!0Zm<9QsF3NFqdjgb%eG;tKyO3a?B_z)KsP6a98$_X!GH7aLbACkn(4 z?WGdl4fnFL6hg|5r#x)kcMB<>vh=W3vbA=#v852wv~{ufa6tN^|7RpFLLsE*Y31Q_ z#&)-mqMDMjtBZ#|dJtBmke8=8>)~!|d747?no^Xb5!F@Jx{H4$)sJwijnLXQ9*>=j zEwE&a5svlbpWo*^p=FX2vpt?ue;_6tB_;cSG2xVGFOI2T|2>aKS)21rJ)2XSJsc(9Nu2sx;5=77UGJF}T$yJg zpPVNc|AK^Wo--e08y+8G8h&U~ z_V8&|hRVgD=GM$lTYvG_(wb|8P8{aFI6@Ks+$Xo*qHbZNk=DGBHz-3lcW%p3UnZJ=O|QPlF6;h)hhOBbb`u4*if9lWHGtC1^XUPNZ5V#n^8 z->h(F>wL4r&YP9n1z7I==nzc*QQ$C^9UD|k@x*M-dc5L>b~?Rg-dUO8Wszj{hfnCa zEK@aquG4&E8FS?Z<*42`gR+pRZ()aNnEXLYAGSiSxfI2}om;tW`k9K%#k!;S1Trwz zm3p6QC|h2CzNt86Ip^14V(c!5XF#$HV)3-?Wef)#cH$q~-1#feGD!7003&Lz>k^3ce8 zC#qN%{%P@bR0i#mS?FW(uMtgVEk)H$w=LiJjoQs<@Xr<+-L%Op6^=dfhTr#cy}PW$ zjHaSA<%n%nUVrC{!J}2@hfXxaY~&Bht>Zsy?Zd#A^-ZE~|C&#F3te|_a}`p5D}OG; z6feNbdE05}_dv$AzjDW;EIeh`DsG-(-yLzOzDUG2B2?o2hR@r_H7$5Aw`^wAIx2qH zV8eOpRLvP01v2Uw9aSc0l~TzY_YJNvZkLH}-JrmB*Jb+`{USd0rc0$quCVMaia4|D z`8JwNl`98!^jyuiUEbXlQdXU+%EEr)TJPcE(~=&Rf!mncyU!$Y(`4Dv#B04ZmHcp5 zBsHS))aT}Xu98#s<(pIX->pn=P|Uiu!~fE_?*k9}M!yF+cSqKm-g*DIrAyXIhFUB- ziQbC$s>E(D#>^w*S%->B-ZU83MocCm$=^6?t8*R=oR2*iJ6p2eG=f7Y_U& zFMS%k-i~=@;F%hgUw^+hmCLY&TtTf`#NK(T5IcA7P(@1S^!kCFREE)A@!}WTMb&=4 z*s(uy@7ZAy6>_(?VcA^LdCg@7%wc2QERjElDt6VExGMzGM5b;UdO@kp=+>SV`&;!L zyFc}WNY1Ab{e#-gLvOvbmz9Hg7&Kn1?#WK?STDu$YT|b)L*ost)XJtCQ8pKJ?D%gy zls<5&{93C23u)&!8_yOe7irt@yyhLKk{tUe#r9^AS}@7ICTz<_8|UkCL6fyMPxsnO zNnaa|i+0v_*l zQ-{Ctheql4KJ(-%CU=udqZU$c=Ptah~^i0eALYvG}3<@a*qA`vod0ucvIQv~9e@+3Q<>ht7p35hQSJpIKS=K?FwUp0|%n#yk;NMG;yB>!x7anSGb%7anl*$df`DlGZu z2A}R&(y7S^mhBpHv7(2ng*pgrFBXdcHMW( z`f=#(lOxOV4wKuPuVpRXa?sjw$KBChXi79^S<2Cz{eyOvzvewACHvrUan+Er_C3cv z1eD(CdANr4akn*Y_or+#=l*r4-L1%@C|0{LN3W8;X=kACgshUxm|9|Vd#>3d?f7D2 zD+ht#PAhTqaD^A+l^$oQt+hn{6dh^zul6XRqtOs?qmAVjaZF(S(avF{*%LOQE~40^ z@WRZzY5j{T6JKTZmWNqM9HBB35+{8}t_D>a?F_ARwQAe<8a6fa%0-Y@%dMG2I;fMaO@P&%C@AD zk@@Er?T}^2RAyIX}5Kxr}s?wM4U{RV^k{9 zH2Zi)E+~b^rNiw&c#pO3fwuDp{Hw;#hE-pfYp(xD_jAkKmdsD=7YtiB4nY#0h_&8owv_^j%w4WlZQ2EC}yrFfGMhN&6pJeS+Y zDO^bxdtPi&Mlbco-Ae_MnokoUF=C)H$K;P-7FT;~7AafjFOosmhrt@DB_V`J@N;Q_uFqZv|fx%K}**zn8fD@!Dj% z#&NRqUU&Cr_{&c|es$sek1@BK`^mk|oM9wCc!oQ=)>ArF-AnGSp7h}Jw$IEF!$zKw zwr8qn>s{U1FUNYN`aLgDOD%4hs7oyyYLayKjXoPx&NF$)3Z1M9W;= zRPR^lL&qxTn#cMLz1-(j7pePtX8vqqTUzLji@LQao~je1zcqJICPQw)FGfhj&!_&K zfnQiTl3oniXc!A^07 zqb{B9`gcy>mQ%VvYrtjZ$*ceH(0o^8PP%63T$IS|Ps(``wv3z|`<;Z1DBp~SF!~>eWE?L^X#0Gi|h^-Rz5a4745TrSxiTuvGa4LiCmY^ z4JSEcx)Zh&1(ID(DLG!To$^L3$@#Tn#s&>96(mpForSQHvS~g%!TFL|{i~@bzsL$*lX}@+El0~LjC5))t2FkgtTz)cE%)2!)Y`&0De%dH za&z=2S<3ruB_R@%DZz=2Pn9@MIu7$hG#EUy+gRK>P9JgY==H(?f7*7F%;ues3@w8g zQ|`>Dh0Yw$dBWbfGd_FVI`nmG#S|l3;pX&YDWfv^&@TlG-_&2V4=X3PAJIGL@JqY7 zNqMC!?@s_WlcF4PTzq83|q;cO6Ym zYVZX+jxgP6==xl%{^{mlTgT=dcbeNC2{fp-{&M?p<|tF5v)*0N5Qj#Z)2<~fK_576 zgPf-srd;!uAA0USMjq&qA4auJ??HB?)WoG# zUvWE1$e>L(<6?Va(68iN*XY}t9X}tF%~MM34_}l0K`#3xPxkSwV_e<&GKk*A@c1b-PM5&GAMCb&Reh^9{pcnE7Ki)R-W%`5W|nVwv_2EPCK@tb zgLceX^siNPrJo9PAg!Unn2jG?fP~yGU(#Uba(v^bEtLpcADP z_rr&tnLFP+~gtMhzTT(*3`Hi|ZHMn0hPgHh~;i~~j)WKVTAol(5LPcp?Sj9p== zteGwI_@>#z3kpg`7LRv$akIPcWj8H5yT*&b`XN=8#CGeT?)%+mceoku_{(y>@VZ0z zUeCQhYpSIte=0fgQ}OPW+Y)l;y2uuW(^8C4)`8LQX>W8&^^ zj_QY8bpIwrU-$cHOa#|HZVBZH?YIY-e%l)|1|~T48T*YHZ?Bt~W|y6g+O_^$7HjAG zd=Z5y?yAWM8O67C+11-i4)l9U_wf#4D|-gZr2G$gD3joM`U^J1AvyTd`O`ra*H zGrFzm&j*(qvc|{d&qez;bU#d6_LRQK6o26R!+7TWhQqh@uk}x#)Tg{HT$fUT`fKTMS5^OWvHW(O15$`cZUs=ipx;`rpV&q zqz-YJCYj$9jPyEuD7w|G_ks0Rn%vaMvnQ#i_PhO2lX-jQGEZ9XxNL^tFAts^=MB4j z&qfRE(#h+Q5p)~TRTMmZ^Y;bc?l!&Xbk_?08z+yO$*1#qRAfc;eW}!qE%bFa*lalF zuC?#oX#1^8Uj)xAAN$3coguw^`0oantCp7})>ATwCmrVOHF~4v*_&D?;MU9ds-I_T zn}zC@hn>P62W#2s<)e1+_V%Uq2)T!FaHKKVzR9=xD%*6TruWIUwwiDe>r)qB$`7Uc zho7}w^7`s&{e1Vnonqg1#8M=szVSEERO|nmWkq>9XDm=vmG^NjT*SNCf&obYp@jv`Ie!u&Y~_WPXT9MW2UCW<9>^wo&`nb zO@>{5oiE>2`jtn!-uiZ$=2QH)WlPDe1LW%^sceRJU8ri&QCaX=|1^Ba(D~216fFxq z`lmcIrqWMUN~PltKDb+#dS|)Y74CflIEzWImsv1PsHx=m&?t_oO4e2 zvnaY-D=zTJ;^QSRZ8G1+o5IH!_;@?NpTC@+PIF(1p-SPc!I39s;#Aj0MHpiE6{8wT z<+AQ82McXK?c7#I{jn|U7O$^X)>A{}E1@+eA|AW4)vQkO?;91pn;34wpMAnM{Bn4~ z_6}7BCf=dcx}x%=j|ty+L~9iHB{#mXw@Tkf*Ju-SThmuC_M>fRxu!u}!E37m{sbKx zlPn|YYn=y0<&N9Yhu+UJ+SSnXSd>rCj;n#0?ZyGkQF%Hh*Rsy-J-lU&F+QwT2hAom zY%c^zDTP@l^Uu(5?Q&z?BS=$cphD*r8#Hw{Uz4u>YDytL1HZ=Ux)TPy=AkOZ-mHnX zK7;X`jSm|s$iK02@zL6joG=~{C^WJ4j4iqrb3gg+kHUqWjgJcN{s~^lyJ~*%oAa)} zGViYot}Ui^U_X5Qrs#Wmj+82!^5Rp)(E^lr?<)j+;T+C8Wh$8YhT3kQLR-om&$71zbXWu9~L*$<1>(#XiFzCWQD zbCvt`<{QSep>d%*IfKOYzy1mS`DOmi_0k|}7oGw0kr`=eYIYU5k?u9p$NB4p8n2mL zI~sd+)8g+UrC`;#CrV#b=X|bRi`R3cK7Uf1ExLl!-LC3Iin?FWUT$~oBX34tEo!Ry z?b+o%Jm{!K5vQRs^4&}=o%?lj%y+e78}-kpDnA@4mQ**%HfxN(7&H9nVNRi{?~~qF z@hNKVd?!Vubyi|9iWb6a3OV z-9ITOEQ1$k@VQ`G=?!|4xo;P>$$0}^$X^P&TscXY|#8cOdhqLXw zdn=&DVe0=khBxs5FKg|2|OVxAl6cMS(}0&gbt1`nO|-XMGD!?(IC7o2Oc> z^xBYXag_glcFvDLzo)#O2Xgzg81-`p3dDcCj@t8`Lo4}DoSnU+NJ571Q4u9R|NPsE z_qX1W%j}|a8ryU75}(5wJB7+Ck|Awg0&i6gTd)1VaPy;v!^^|YLLYjv{262xZYna| z8)|do@(5^kP9J@w+=tkk{;H45k_%z4Z07aC>l@++24^df&Kh z_(@~obaEP+q~T|CQocVAPyZI~2{fOy=wlfb7}pD`jxJ5w6s9m|8vaLl{NlFtgBH?c z3Fa1_o7eBRxK2g(q`u#3>$m5v1*Kh==QnpRSS1Mrn_4RE56`c8rAO~c{UF=&)|SVr z;XeYF<)ykUG)=<|YF^w(^4Jo2`;6%GxQ$7SLFOI8T9h3u!W=urHorSs@xE4W9qYhM zQ|+X0(_(OC^9*~{W6M7m3nyxCZKI>AWoP0)8T84p_T0Jz=F8^n3Ch;SG70vUM;Mk2 z%G9?MHk5r}cAhNtlI-%?{fz0$@{Ik4b$X=(`y|t!=V^6UZ8w!I?c8zrOPRo?o^6)( zN0x+GYeGspHa=!9?V;QAaeMovr|M-~Z0Da^e%dz4_2Xhq&6L#e)zZgORjex8`WFP1 zHf4Eiw~pu*e!-%$v~h36P!*q`)Ibbn4A)S@mK>f6FSdz26%)bXffXOGJa(%nxkmox zRc}ZLkGJRsoiX+zd&~jkVhvuZ2(pUH48yqEcLSi$#YZk-4`HEBcX7#gB zl+Wy2d&GrXQo(JHdi%@|(Y}qD9^C4UGk?e$)*b8HH6pPvL%}wk{hTGuImDNEZXF_kZoWOA;%FKp`UdrN`)Qw1lUMe=o*CCD6` zv{5*5bpPeFv12-!C)dqCyc;I)*rv2l;_-!>hc{78f>{bxU#k!_f5N!(gA7(CtE{i^wPZ&v*so9he@Jx3ncxs>!r zT9E}FAU~5Ran5|qyu9LF>hG7cfB*D84JZH1kla+N6uf_S+&6t@__f$lPi*v$a8WxC zKJ;Z{QI@vO=wSK-o8Ch&CBA8HZc!H5lRl=KRFSwV`9|EcVf{QMG0%M^k=Ds#C7j zdl8{vp{SWo=h07ghneW~OG~c=O)re{g}EE0zKPjX9WnG+HG%A#KX>DUQrR#z&&6-F zd`?EjwY;>)ZD(g`j=Ne#2t2KrDWrNTIn#5ltE*HyYW`(WiKU_>6U}06iq>qmY>a^K z(tE{YZ3ZR`e7AW+KhxySa~!#&8@+DhHrjN(xb^BOchq}!AMuaMDpPUXmE}OjXHue|sJ5}?FKKM|TQht~*kVoB$e6$R`QfJgICTYH zrD#8g0`Bv6_u}NVrT5-F5E?h>(9O=#v&Yjut>R4dleF()9!x0U;Zk8$v62$-Spd95puaj zn0sTOwa8vp#gD>80>K9?lvu)xBBOKZJ!!MgaY)fy`w4fk4xJL|quTRw6OY2U?G+Y< zg>_05RtoDiy(3?xByG~M+ zjeOB-ob+(h?5;hMbX#P%+dq50oB#9Gg*E(=FJqF8oPu)A%O<%KZdo7MUsM!z#YvUB z&h=dB?d^rz_K2)iJ6pDo(s?MlitLNs?vY(N%9j50?Ez($vXaFw^Jcr5Lj(r8KZl(b z>^>ejr+Z50d8Coe0!PO>W6EfQfXTvc(MK!<<9j>$GzQZK$=i>L<>mUVCP|{*BMT&o!wJ>w*L;#;^E^ znYkajEJC4vEGhD!_FzkV1#f)z$<{K+S=#E^dn7CwWxA2%DG{UWC z^Ev)A57+;hxEvE%VITC{|EN<)`#WzVny994-D`C|_p3>#ch=7Cu5t)WoSJE1wzcz~ z3f?dFt!u}$=C^9ezQ4~xbQTsiXN1p8Y?S|0ck#x;U25}?!4#ot|HD3tafw6qhmN~v zMzdUG)Ee4!oNDB6m2s|gVO+VBNVM{sJjqfM(ZUv+2!o=^*!!cU4-R}WDi<^^q5HCI zv8*Bf+A2_SNjiu!yZcpOM8x}r4Jpjl9sH7fIgWxU)3#ya$wBSCiFBQg$6h7ua=4*Z zcsBOb@gd)ArCiOh0=dcZ?VTBwYMp<0S+Mc_;JG!%?2&TyZa&OU6ZV8KJi2Zvvh}C^6&{WTsev6F=E9%(xr#?~=2KIf zcxa?LGdhCZ9v!fs8`iXcb9Zd=(95RblHsaNFMrtf?tLjV-2TYy!41A(cUwmEjxdlY z{`&mI5i^Z_DQ+ju=Y?B4ZFo0r{lUwHd-x@Vi{vOBlgpi!(`}kRM}O@7s%rPr#!lO= zi`tHD?9K1qk5|tJpP8or8aD9ffb5w|($caOaUqeS4^vfSy*r1}9IF~Lu zFp(!KmSN8}+v}NL@^VX8l|!T7fs>(DHQVW^hS}1WIzkiIdvjhlGWNA{W!Af_hrsz?-IW0l$k&N^7&06UlzwH*lx|f7LotbJSOO8 z+26Rm`n%-~CUc#!lta~?g9o-${~RPgci~?DQ-cLZse?kp7l#%()6KcQ_iVjzu<84) zrDF#1r)=E#7&9PIU)?eX52AX}8yQ7Tq$jyxn2sSzVAG{rSM_oFK-z zu9jm?Ntw#qI$xM*rQ9|?e6WG=qIv!eq?`VRC!1Dq2A~8 zTdba)LqW1X3dUR*LOZ_%`x@rAZ1a(iH_WWs-^gWLUGw=1`@wCCOgk;IFDSnKWPF*9 z!s+JPKF0Cl!;Xx8M-}s&9PS0vIx3xxNG&>MDE=!nK*zaBB%-;if|ijj=Xx~7RGzSF z(Ej5KOh@#&+x3nuCNCU{RTp0j$cuAw%FC;B@J+QFcCf3qW9bw+FLA)6O^>$R{AseI zi)Zte)}@iqwCs)5p=Xbp1<_r2n>B5sDKL?nyU(P{xKZH#b7j6Sd^I;e1v_U=<-JLd3v$CT=^ zmkPGQyp1~Vr|y*}dsTN7pPCYEJIOX>dT05!Xa8mQ>hbH>+_gNqbybdk9^b$cc0B#C z53S6}JeuP7zY~wDIn;Cq@7r6zm#VCueBJcep4cC@w|U}wlnb@V^h}h(e-umVs`2nraGEBF zG-TE#OQ`*n&rlIOx#4Qnn&@dB3cnW`hTohnbKl!h!gV!k&9O;t_2){CH@SO+`j}}( z3XcSZre8E2(;oNXuAedCVkJRFa|=IT3W z8oS`KyE-x3e8(?)#R-bIl+3}v%htl|hMfOv{DcFQ1xcADhgRP}O zqsk787D?p6_6nx79P=V~sb!>FJ1_NdkCR)?xze9yur3!V-WW_{d2jtesps9>_c024 zhTITpYIzo5S+JqeC4BnDhSNrr!3Kh-=0w~!o*GH=*x^N4`tH)Qy{1In(}dbRv>nL< z!<+06yjl{GTXWDgsL{A-Jm`yIlV6}Q%Nf3xliC%D7H6oG_x!0e76Bn(1 zGE5qWJ?YrNtJuxf{gd(c?=!8eA#rZq>ju{ENDtXAXtCECcnI;kmPvwtf3 zgTgW^Jg5?5-Ex@?X;mK_a%U?p917-jxz}$;=5qQ-D7h~AZiCA`b*kqh4pdg`Uo-Kt z;@}2`&#%Ux2lC2l9vWRMD|4y7Cz>{L(n+?UuH&b7S7@rvtJBYBxxC%h`<#nr3twkg z#T;Syh+ACIa(^gUHaA<{!(%Z)y3!5pN9Cz$osTZAGnmNlQl3AUulC}A?b{Cu10j!Q z^QWJaEBaLh1zS2)1=_LP+nY5{^FhB=o{8n~xaMI)hU)Q~Ds1NG223x`Rrdd;`usB> zPF(eU3Yk)L0}Erf)@@VOIj#*fXPESbvJHaTBH3Yt1R@#?{eclYWG*(XlH0!lOgSsce=n?@P~ABNJcb z*DA{@$Q|xih}_M^Ag$8jA@)l;%`PeCi$?N@mdm@>Co)F&wway%uFokX?en-}>Ds;B zH|TyuyUGZ>VShS5Y_6ywz&*28fJx!7j$_ciJEAu`Qyd}!x{kDy3H%aBlhnx+D0JvK z`@!v!7g@&}mU}%ZKm2lA_3pJK{7`AVY$Eekb>L!jZ*XMSF{S-S-el*m3;m;7pT%vr zKTS0!HfrLYWZk2-8v;AeT^~&0w&dd+)r*lyd#pWnu%qtGqaqbUs|hC#&go2Ne-Dl; zE*pCiS^?z21P)H93P=9D7RWje~8<6;$Cc6EduZ(vi| z=rSjoK@l-NzmNBJ9yLR}OWs{gUN#L{z5-qCi+p$}{ye7EGYrg!vC@A%nb zYwOQyQOheY`zo3I{oT*htjrCq_9nHdwN8cJs#1kdttnZ$#BBsrSVwDWX?&E}qN7z%ffiC&eKy9x|W-LA40Lv!ae4IjhJ)0M9? zsY5n?yPze%do0j=VdjK9yY-@JB=?Z2b!6A5bvm>4E3V_SuNCA4#=2XW$6kF4O5I*} z%~ksK=?qCNdj5`XX8wtvUW99qTZ3M;z|cLT>H}fZLEo0^mMoYL z&W$uFU+_yUU%yzua*%JN_x(~;;4EY1?knaS-3NFC*X`;#`&v$rW=Xk*R-=M9weXgE z#J;DLV`vsB3DGNy<%I;z~R^9Pi$m$L?vRIsB_rL zIW;&O{ZhpDXy0{;KgFv0fHvl%u;X`W$Iw`D2^04-iFuqF+JZ5&f9bDmtJuC>e(N*) zU5ihJLW?xiBpr7L#i=?L*tCS^96sW)`51RhTVl+Wqc->Sa};#rd{h;092>sQQRm+> zZOoxJ{py~gRWTRcRGp|n(d3Iqx~CGaoe1kLp$jp&F~z0*)229~sfTOU)Fv~NUp<~v z`L3p7LP%JnhjAt^-&vdZk_yAC^@qRtarXVWI~uf5acz3N@z}mU4R_nj(FO#&bMKQm z_8hRO-@Lga`i$XwF->*_+i9BjB^>0GoV+Gk_eWYyuYKGbBF0&)Ihev(Z9x5e#5-W` z=T`+0F>iOjJ~&czEA=AZuG=G4sX33-KO9waj+?W2t$JN^SEUVyadM0S$NTu0Se``d z5%sL$myMm2F=HHyCw2P;-aQ|A6xd5I5R~rTp&v@7+U8stFHm<__pXVHb0f>f$`0P# z`??8&=QxH>Uh4gsNPc$M@|=&j>YqP<>%T8V%U1I1(Bv*%k=>F&K~ta~-{4fx5c}EN z=PS2FT(WM#M^2%HSB(bWd5@m#X=D=fIiU2}SN+8OD!#;@hB@;3jHx5F>Wkfq^74r< zd%p8%{xRmwXdd1&^5xLtFU{mPuO4=McYWX&6~mU2^IrGDZH>lFj#K;Y%zx)Iy`a(` zb;Kb%K=M=T1Li6Bwm-r${L1y2;|n{}zGs%M4V547B~N2&<)l(i7?;_cMX9;gvsH`b zV_)`p3g3!DKD_#5heybL9~`<*u5X_8^Vpo5$|vdZTM-wu#xK%d{H54Tv)&_9e$D5I z)>pO9tQ=hGZZfor1{`N0yJe{=9!zG@&Aj#9^BJe`ifhNz>E$+mpraRKlHtglUH{0Z zRpWBCz)Km6RI-L8F1}FlK9$K@)~dYJnvc?R?S*r32M8;Nk2A^ z@+7@yJ^s;Bjz&_V^h>C5k444?6|JVozz&_Jk5_#njD**P>6b2$CD7F@ZZ|W3*39sg zY{rOkI@&0O;^2v*ZO?)wHc16&?de{(p~vF4$Cc_A#nGFbUwlJy6W~)nuqzfb~VcrNAHg%UsjniUiU<4~?AE|5$sL{4IUf@r^=%UW74L zeGYiX=q*O?$~g02lV`m5&+YRp$3BH`qgaq)h?xEMdduI*I(vJ+vRcC};+vBxW(27J zk_|nUxuB_3zWD<0puMa~d)wy-^Di?8Zd`m@uEpJBQl7T0$F#K8%Ilu(t&RFdibr(a z4j$04OB~T>d{s=glSUyT^_fd{_s6Sp!N+{I#;0`a#XsTCcWUV?o-9xDZ+_nrzg$17 zBXoO2_la2N)1%pO>-q8-8V{d*`=PETQF@p%MAF@ePetF&hF|5}Aie2lt-O=$^AQE+ zZ^{IjZ?(9!NdMVQsp&8iNTcph5vr_^y-s^>=tWDaM_lZAcX#TDTkYO55o~UuLR#Vu zx+;1?$z5(v;?2SB{6QUCrS8OayzB7W*(~H9%xj<1rjSVY(6KTmAxc^-;CQWLyn?f{ z$;BM4-KTrnx^6t!=J4>6*HbCJq#sWl%$3OHWSH};8STHgdr_p_8-M#uIy1HKdFAF* z`zD_;si%Bn(?bD~X4_u}EmsJ~hXtQ$GZ6eSFu2WZu!-|&r3Xvm{J>o^!EHHb&1LM{ zY{gG#w|ml^2&-hj#8-WG#O@J8`<>Ln-f{V)ue&OJHyCE*stEa-W!{pM>ln8^QsO)( znfp_*xNP9V8?*C)@>Fw`%H}G+x;k3YE>N0{)q74?USL}O-ElCODYYUqlxeE+o6P!f zhNI7(PNLTrS){$i=Ka#{9pq$pEL-=x^ffe_SJuUwnpAjhen=-Kb+x9sm+skAXm52y zPa(Z%;GX%da?P#Bzs~eW*7r)M9QbtRo%YvXb)~z5A6j~EKgW0GocK=%_ZA7|aS`_D z^AZ*NZ$$euRHpsjSs`@ecXP#Gx^3ZOmu**%%9n)+5& z^g2$n!v^VhM+!n@+5WmfKZ?PXN9~AHYPheLPX?(8PuD)pEvb2H4Ss>o%DUfZ*NB{dVXhl`3>vZ zRMC?^hDS_J8rSfRG^IW7t>{9)ZQa{giuj)ws2(6&wq83aHhpsfXogObn{%W;z$-7xSgk8BQeY zGlsnMRNiZ|H#_UF>XE;*dsPKF_aFPdb?MBbW5O;v1NB zC3J3wj>N}SJ>u#-FmgYpiYl6MW5KuhWUGSv(H}H)_nUpzR(}%z_ErPa37^=#t`fsj zls@)c(+xR$j2NpmtZ#}-zW%*o@g^S|^)ScC5Z$7YV20U zavp|PsHmMpG2c}3%Okeoo-ewcOWlL-ixw$bTCYj*r@s~Ic7fh-ZI5*6@-8pB(#GH?a+9uBOWfft zbytL?7HTus(R>tny&+aYcu_2mDsae8Gpv4&UTVTJkHtzY)@q{q~=-}{{c zHq!LlMFySiXAL+KQmV8~LvEmLb4#Dm=(dtg{854Db{;o-(Xeho_T}d~qgkddWs4K+ zeg|u&IhL+b{@670{H5+GU4@%+k}A7ZX-!$a6$(8t*i*4~&;3pFhmvTXXO}Juv%BwL z2>*CuyByW|s?v8XK+p|F3rPzofU7L4%ZqaUQ89KHvo&QB_o%e?TS-s)kSLp-Q;|_(}2FS z<+Q_(;yhpey0msxmpo;%-^%5G&rp@#%%hR`bf%xd>B-IG44w&Y*Y|k-KI%#~e?r=0 z2W4dI(Ujmv%w++}V-8DK_Bk@YKdg5?+2Gr)-N~_|Q_TL?>5}i|4&z*^&hkD$eiwQ7*l<0cyHUVH&bNE&=oz8(p*IX}7qPW(Z>m0c55`7oZ zPoI9bxPCtUt>~Z14WSI^!hl$AH08zu{*um3J`B`hU@|w);^t4>vWY>O40^|{8T>Vl z+ibY4iNQV$F=j{}|L4I_1%_rZ>@vfh8D7urCmAu55#`(w&qy^!)^TSzcXj2io7^4F zs3DB1W^@c=)EM)ad)&CEmcRLP?@;bN%Y7c)*UJ58dBB|q8hG#oW6c~RPtWJ+_dFBCv!*tDDg@#ua4x^)4aBn*Y$ZlgEu^QvkPx#GToTziOeu#Mip|M_A|;jeDYLkeQlu1;Gw!(TSwKHO1SY?PKJ<>LnB(-7s;Ri!mf`D~|rzNEBGQ`+7u zU#==&bCmxrQQD^{?XAkUKa}qSl@2wfqXeA-(AgZF@1aXPR5YP-1gd?ZdKPN=Q1^m* zCAtQpn-02_K*JH5n$X-2El+4Qp!;fQ4~F(r=tMy01A62_R|mQ|(DR1g87R(BUI6F7 zDd1(uO6Uvp|AxUL7#hQ{0zd49kpYZOz}N}KwdlDTy-d-o4koM6dnkI}N1p{S9RSlm z(RUvDbw<(-3JWa4tp)wpTw|@a4>^I6^8GF<48C@$B3yI(F~^yjI_bXYK#hlvo@Ub zG1>&9ufQb%uD)=+3%5ydI|ujiaQ`nnqTx{w&m?$thF1!_t>9gbG4tWm4?Yzbn*iV5 z@VySdSonQ{e*wl#!?-pCY`}OAjBmz-Buq5N#5W#dR0j)mcb0g682WF$_HKuH+R*5WrSoL`9x zpYVGKN&`^#5PyW>QWYwiaQQs0=;P{kTpxxTj;K6@o7K2I8+R9>YA)_q;lXV@yog7o zcsv}{dr{MfC%Slg4bPqMuLJ6aquv2867g~q8n)rpK{W0}(;2)W-e#aVAMeiN{Zq7T z!^cNx)x>8bwDrT6Q}}uj?V9-JfbTBo$Y7_F?A$~ZHLA2zO^50;+4VFv`cUI7wFa{L zIBG{w=N5HAy{n>v# zEs8l%jg}@Hq)IDm4xUNtEws5wTLaow(XNU1#GNO8tMNp15_AL!wGhr7{W<8oV=NVRSYU-@Ii)> zQ=&Na48w+VdI-Z4I3t!b*DxZFv(gw@$f!C->v2vHW84^fm~lrq&yw?palu$F4C5kU zygd^U&5_(Po%u((^%x5-a9bU>YjB4pcUo}Qa{ipaU&^_A zC->~-ub)_WnfsEtzmx|mcnCbK$|G}mG@Zwe^TZGqC9}ALr!09on+57I-_5cZ&J93adhRuZ<68^Wh`@ z(}#~Iv-%Qi!}w$#pY`B#FV^X^K8r63*|3PO-m%GuujBcqn9Xnb!HO-l{1nbMEq)DV zdmg`klul;SrAAaLM0JO#6^Qyl>AF?A1&D@=XtauEwR9gV+D4*dB0aQ3w}0Yt3nwZBi80(qa!voGNepwtHo}&3_T+DYh>6VaY&Kj;o_(+ zj+NqME+a!_)BtgwA)_gyUyExOaeX9icf@_Uc=(H_p?K+wx0Z}Cl`&Vu=e3M27vFp0 zcUk;T$hZOt*dpT(%Y<^7SRs?rWO9N8=1Wkf1cypUgoL_F=x3QaK&Cdxv?CIhEz_eU zyqkpA$c$2%nJf`;GRs9G-6is?%vK~?OQIVkMnz)2NbF;YtCzX=WnQk#_mcSyvY<*9 zw#tA0kwpy>|56g3%HmzJBvqEKlV!28JXltk%8FN#xKEPOWTm^TGL;{7B)Pk!7|LoV zNi~zyc3JaL(sg95tz>kSjAxRWC+j?Ay{%;VOIC+$_$b+xl5QhN-86l-~0aU5Sig3b#Y}U>N{zi5u!qgsEkA< z4TtR6A|fLtot06_p&`mhr9yAmLFG5hsx`617L7SIY@EIXPcq z!sOIgIc*`aMsh~vtfrjJm$+;>cU{gW$b~0z@wvo@%cWRJaF;|Yx$GcGZgRyzl6B=@ z8@akxt_8^T^>SmZ+#Dn+J>-^!+}$cp)?uF zU7?(Uc0Opo0xI30ato?!(ZLsL>QH-&j;EmR4)yQQh=k@UblQl{GttEkUDeSw16rBr zb_Bn9LR$;k73h8yaul!u4Z#*DD$wH~dU~VRc=WbGpXumRfxfTN?>Tgm(ccCGMq|J; z46K1}1_pUza61fs3cYO@;(?(`7$ zW+rS6VOs~gc-T*eeHs4F!n{<>zl;S=SlAa1?cq?0Mb22Pge9t25&=g?EFFfWKj9>B z`UdAlxLm^WKe569D+Mcy;d&8nfmr1QcSo$=gf)BNp#hIHteuN>1F)_Np7HRy1Me`b zUxW=t*pQBm-q^GZK05HJ#^!MNhGENiY#jx^4)AXW|0o2QVcSdu>LaiT+fxv<3Bg7P z(M8Bpgr;D}G5iyZoqMs%54+tE))!%4u;&T(`eNT!><_|$X*j5cgM~O0jl;8WxD`jX z;HWK*8Q@qw!aE{73lUz3)I#J3M6E`&9!@CXL?})w<77NyED>`Trz~*V5V7hwqlPo@ z5!V56X*lPH^SU_y2^a3*;x5EHA^sCCr6C~*iKa+=jmwXb6oRDBxKfDZow%xvYst8w zjhpUB$-%8++;PR-yGS#{y&z=t$9>|zF?bM&hu85i1(}_ZsfElOWMv@x5_0C@@kHb* zA@>rVY{pY_N9~6(}u7Srpz( z$6GzTQ^C6ilsDpi6+XO2MGZbC;gb(OJEGDImAUwmj;ee3x)9a+s8PeWQK;2HZ8hpD z@jV^&#c0@uABOl*jK&LS+Jt6Hw5Xw_7Oi#o8HTp`_%)eI+Egl|ayr|Eu>A(A%%N&e zsy4DiJk^5P(S_=hsL_iWP1KBJr$}}_!Y&8c)tg#FsMW%5Dg4cw+V<=|i=s>UMU;^d zR5-K8ME2BV&u{E?kG+qxk01M5v)^p$jHXT{``_n)R1S2a?hp=AgRA|y<|WtK zbKPNj-lq3(uHV3oUASoieU@_b4EmaLi#4~p(r-8Y$1}i=+jcO}o7>$OG?Br63~^!T zD(-OQKknSQjJu4u+nZsFxn~ylx^kZx_iJ%~Jr7j#knr#d9?9j=3?7T-@mPjmVWcjj zmN43qC-(59HDl~~YA8>8FxHc2R`RSp<7{~@mgisaLLo0^F+P!(;+f#VLdxv#teL`ZR;;yT-Cz7} z#`*v@*zw0IHoCAWh|T3}`Ocri*fyNMOcYAq3T1yqyXA`ZmI{@>6{?#Q9b6P@V-y|d zD%9sIG!`l}%@v(&6rF7qT}%{RO%z(g72W<%5PSfHfGA)9)+u_(NcjIhq$tTMMKp|v zGFn1Mu0#k$b`q!Jl#IHNRfHpFpQ|f5hsg zf)+1<^WZjU1rV%Xb!m2*nHbc7xunvHY7ut7)tpPfC!)_cp-bCll z=&~DKkHWzi-R$7l1x|tJ?uZ^PaCSydFZA+&O8{K$;bsT-Ht21SKE2U*5BjZx$2Rm& z#egh$=3wAqcp1Xm1m2YxT#O;NF!UUT<-ykge#Y>73;#+4RATrm1eRdL35>jtAR`2Q z#b{!TBZ3_;wk^h9!w(k_auuQfVq7)G*TDoMgc~5d8WZng(o0N!hbiqb)eX}E5gCH0 zjhMb1Ghz{)fSEfm>kMX}#++=-O~<@=%wK_+3@nI2Y$6uUM_dXPt;FIK{1}2Iu86lm z{3|4sA@LcOzQM9D_^A}jpCjoqk{@8jR-|mj%H>!!6{`cWW)M=nkTwiIry+d@*2ZF8 zJl1bO##?Ock4>rAVt~wWWIe*R0&H)B9X{B38N1xEI~IEuVXqbTUBp349G-_G9r61u z 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 literal 0 HcmV?d00001 diff --git a/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1774-patched b/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1774-patched new file mode 100644 index 0000000000000000000000000000000000000000..7535b65f3e7663c327e86ce0df84f349b9a05c4b GIT binary patch literal 15779 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 P3K(-U0zg(6Nl^G7gV38R literal 0 HcmV?d00001 diff --git a/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1781-patched b/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1781-patched new file mode 100644 index 0000000000000000000000000000000000000000..b117f1090e69ec07980872ac9aeddb69a3637507 GIT binary patch literal 702 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 b5AtzAhydU$GnGRtgETe40zCO~1DXE^ME{Uk literal 0 HcmV?d00001 diff --git a/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1795-patched b/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1795-patched new file mode 100644 index 0000000000000000000000000000000000000000..3c7ca1c22c537d50b187ca6fffedf95ea01b1dd8 GIT binary patch literal 14900 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 literal 0 HcmV?d00001 diff --git a/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1802-patched b/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1802-patched new file mode 100644 index 0000000000000000000000000000000000000000..a9ef4efe7ee0da993dadf3675b9810324fc1dc54 GIT binary patch literal 25182 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 ZFI?T&!RcS8#l^+T&xQg7N-0UB{2w*4(u)89 literal 0 HcmV?d00001 diff --git a/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1803-patched b/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-1803-patched new file mode 100644 index 0000000000000000000000000000000000000000..073abd9db73c101c9f5a09e8ba7f841a2cba5731 GIT binary patch literal 44533 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 literal 0 HcmV?d00001 diff --git a/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-237-patched b/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-237-patched new file mode 100644 index 0000000000000000000000000000000000000000..f0941edcf793995256213c4f4287a2617441fc85 GIT binary patch literal 2219 zcmd5;O>f&U3>|i>eg$_3+8!FqAFkHJ>D-T;qwbM+6m2&+RGsvHr|a4Xe^@)*{xQ#=Il3R-SG`tNxym#G zE^hmUO99>oy{R&Nb9?tmz%K!a0Kw7_@FIQ!0UITZj#g)xlq|4W3J zGmimfm2K5V1ApYYI6Irc+UgB54z(^En2oleivm;E3b7Bx>t=II2>qa8n2&BLp9WOaa)3UJzvnqteSoL^(nbz_A0 z{CinBeZF!6U zH2}UmvXHDnQwb4-vE)twSerF=1i((6`xEttx)7{@DAo#5unSx!mtANq8lXua#LnzX zJDhuRGCmS!wP~@3w|kV}qY@1yp=`Sp<&P^dgy!dz<5R`m5Pqr&pdn;n-Ky2R>mBL5{X%NQobs(?9G>Suf!X%1i z5`}&er-AQB3&h2n>L~P+F2z8Gak_|* j%~Ym;LL%s*SmU1q+QJI-+{4Wbo)E_NcN_MjKwkB4UUz~b literal 0 HcmV?d00001 diff --git a/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-337-patched b/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-337-patched new file mode 100644 index 0000000000000000000000000000000000000000..88b151fe317c8f8f3a4645ccb1a5413eb6cb218d GIT binary patch literal 573 zcmbV}u?oU45QZI`?kUbe&_$ytxYtcOIf*!gcxo{=p^Zur-`z`EglYznrX{q0zyIUX z?eu#9eM~Bu!vsaRN^epPw@guz zZdQN~KoldE@iz*+06n{_3^Ha{E^7u-;9@Y=IBfc=DN8 Vk}kNh)lY706_YDZ=5F~^;RTg^qKW_j literal 0 HcmV?d00001 diff --git a/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-668-patched b/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2021-668-patched new file mode 100644 index 0000000000000000000000000000000000000000..06d052d6e4911d20bf4e6f5c45db358153596a0a GIT binary patch literal 18295 zcmeHu1yCH_7A8T1M{peou7eB%1PSi$5Fog_y9I~fZovZtNpRO7!5xB!0Kp-+??8Tj z%m3c1-L0+Nt$I_;X$&qw>8kQKyrSN z8#VXF7x>73ca3@gxok+BnxYeVGQ%u}f(L3C1kc)iK{cmu5 zCz+oUE)Dxap*$vWg8b-J5aEERvq5K@41I|kcL+GVRYhRGj#*Vp7&<9!RnrLTOJbHJ z`6TC2!x<%*5f4XGibM;6%ay%*i7;X;Z`5roZO-j-t~o6qHInu+mOUEwtj%i>x-`oD zo9ol4hvaf{I*(hx&%hY#1EsPg^P+4^-fGcP>jX=$m4=|M<=9ml+`i1`?fW(v5N&b1-WnG0I!nL#zT3K`ipy6>odEx1_ACm7aou zJwO9;SwUd{qoRScJwOw{C}3r7WvgJVqh|oPHMoEs6M*TqV|hqF07fBadl7}Zes2p! z?3j=s*SjwihK%g4kqD#>)9+$c8C_EYy`Lq*7EA!}eaRmKyA|CJ>^B!cIsah1fmbcO=n@@Zm7ZS8z7&$@uS`!6 zJ76kFLlCjgFwUZ7ljJClWQ=v{DiNr(n>5c|h~35RX(?h#-D^!vjh>)Ml)mw0k5aqc zb$W{rp!0|5r8e_We6r zmXl;FX47LeVdHl~G07x^M{&|KO7XqH^DbM1oE#!Vrd56}h?vZ-zE00Q zxE9Gr`!$X-{T@hJfcIgI>G!w>2}$>%2kGbJ{4Me^{W-$?3?F}lGDZa{9Xqq1kqf}| zTi}7j0X}nUV;x91kOwgT9?kxUS$Bc&K4|^hE}4IZNXEZ*`Ew2Z%P5(DzmY$dTIQeO zl2ID6AV5Y0S#K?G!#bm&fuo6@fxHO+e_n>u;++%~rm+GC8^Mi3Pe=jehj^}tfRX2- zn6PreV&1aQ0k0_>1>uA-9#bppE4Dlk2_)4M!a(-()tyBA@kq9_RZdW7WiHGNakm(B zFrR$YrM57=Ry{dwwCgch2PJ#y3)^O|`oNntQx#)pv-RbZr@b8~&^V7Cps7A+Su!+) z6*(1z9=mMhPD*+w+F5?Q!{Du7KSS3nOJO&0;}t~;79fL%LJ}Hh2gP@`EmX#ZGBH-0>!sXJhcJb2G;bjdfEA8@}=xB*vyxS zf}=J6&o<3--SMcO|*+v52pO zjqClnd{iSD^pReBjW2oOuu&r5dZw9S7&~Y~dH8e4)`%f=TX91PJcA*#!W)1%m zR;2~i8X3h~)e&=ryh5)SaR}Va1KTd=m)j^$ts`8#Ldrt6Bq^);R z&>1ro0lQ^pNxTM&2d%mddkKFJiq2oVE#~2i?uRhL!m1DP_XYVQRmmPaCNYa5&4Dfu zN{&R!!LJP$jk5U$10R^FlZb=WiMt%A7Ph3TtTUl24jfO^OH`J`US%_U#Nu=2o2xti zAy1X^J+C7o+vAjQ`VQq+5wA4L51;hGKrT>y`ATuXZe1!LK?cvqy z$8D@~KJR4gNdq3abiCB1{_tjsuR)A}LOKRREPxDKo{T!F!befelvI;~o1&2Gg_cYSSq4Cx96g#>HkOJ4Lq?oHh<{p|L%jBd%L^BQTzS-YmSd`giFIk}GL3>B z;vS45F)RrO3ClgjF-1{kahnNllQ#Bwpgzd6zZNa;+~~6@0SGlrx2w zD%!aH#e|Zx;&g*_lXZi2{l0=e$&oii`$ShiktukwUN%CWOM=Hgn(H!BQz2Es`NiN1 zkWd7ib1@pT{^^kTd*dOZ0l9(33e^h13f@ZjXLdEDHvn6Ub=hy&Ku+QH?) z8Maart(ykwxHB3{8uvKTIK#LHaS?@*N><|-<7tH!g)(D6QwmcZ(`nO-afYJs!Tdp| z^uaW3)|+pafg5FY!LBvurbq1?+#4}?$#_k8xOhr<39OwU++@q-p5&F}HP)^QV|C<8 zSoIb4wMs2uT+&XTq9J*CC`V>-$#y>dFi*~05qGiPyK+^dZ0YiWr<&0W8eqQam(>bR z{4x@Zs*KvDa=V#4av8-LIn5%?8eX4Uh5%n)h4Q7ezRL{BY}QHF$zIZXRv1+@Op~pi z{k)T1ugWH5pJ!QvqAWN~ELtqQM@nI8Y+mtI-C)HairK0$1#1zgzALM2R!!}_@Wfk= zcCK#sY?qWXT4e4})zCDoIV^3uZ8`<|O*&#VYBe}ji;9i1^Y$+t$!3~*9$f*Z%X;Ml zd2_3k#Rc>Wj?LR1&yzLF=CJCe>j#g~j!7>lE|?Iw1DyjK(N3o99jWSHdyGHc{JvB( zuphRJKgr74Q~)xD=48P|lprLLph~A!{!KVcJq(b?jYW))=|<*gTW~TmClR>3^%ZG( zhk@l~eEHTF+sc)K-ocVc?N&7#8X|mR!i7gS!B5)?RwPRfwQHSLU?*eh123Z2I%(I! z_cc!qE~8)*UVnT&ESS)t8LTH(B8Dlp3@yV~x#;jw`-jiBg4oE|Y-*N*;evjX*A=G~ zqx|GLA!W3hEZmfhjP0!1K!Li?CgVFwPqSVOM@drIsTtNMzPXk>5)C6uA@@^5E;s!+ zZzN)n@ma3#@#^8Xw~4E zrp*WofQ9JvUaxR(xB>oxWyt)P+*`S_rdP)0yQ`i2wfu5Rjr0Q=Xy%{HG0nH<49km6 zXA(%YhL3c6zlMC3A)k%jTu}2+Ih*S{e!bn8dz^dWwCMQIX?AYC?m#t3S50ersAN&I zc%|=0){p9Xm8~Xa9SxgT=q3^R5f#kuJ~oP%nu?6)Z{%$F;6)^_{?~*5>%sqjdvN21 zTlIF@m#&$~<^>C{(Ffr$pAdM6FbEpFx=&=yiuo))>C7&@Zy(&u+Nf(b^3wJa+!o!B z8Wiyt$?a;3a2S6+HVJ+Qj%8~LkM8`iY|~|RwRj}p_OxhSmL6pjoh&ma7q{`;Z9*nylX_B?eJ-$v3(%1Y*YeG*Ew_G@hmW*RRpl@f}KN;ov1 zd!%_ZZU*^rV0n;H zL_m!I<4xRIsZ2ZEV8I}*aE0)ONU_LZ*jd<|>xaWnd%a-^qs#uy)Ynxfal=I!o=z8y zM!G#6duGF%Nxb6o@0vKyCyp)F^uK=_bu!t_%MY0^YT`ZixyroIJM4;D-;z0%iOUG* zb#h0%{NYStVYs?*^7`Q7*PY|tM(TFI#tg}k{l0a)O>Nx@A!#r%0Res;I|F^d-8M`f zpm|@3`F2Zqztj6IJ;nT6;^=>4TjsB%5rnUVa~;FcgH%5-`emFxN1)N3x?Z9Rb1t_c zStF*x4DaLgI2K=dOpJct7TJL02(kx_@7K_xCNaK-M*4@oBd)Cz2p94NvdT`Iq*Oc= z&U{pdLe=}vWArK1Oj8U7-4Cu7&aBolaI<_W`5Q|vFtfEDQxrNRHJcDm9v~EOs|~CbaRJxlfMv@MW_%pF3kL{09Z)Kp<>@-$(qXmakb^lE zMZ8NvmHv_l3neqd1bcdd*Jq32^RD=NHW;K(Xy3;g;xXbdzYM+}<)jopt zElq`D99OaDtqUc472mCbMCDnZr$Oqjd#m*#a@$6V3lYgcMZh#`6%%4{wB#Qqji)|s z=r-C`B&Ya+ak-L!6!@_vyQSHdoBA+_{7R#`JdHrLdx(XULH7fDb*k%9p#PRQ4;+zA zl4Z)-fL7JZ5wyJL=Q1>g;(NNgm32FPRJO>c{ld~?Z&ZDHe3L|>+l>Id;V#26J}DK8 zw2$)f=yjEP-b%?+iHL=KRi}I!|HLH6Z>h`{NZ_Q||GIoIi^e%T`AvUYvP0~4nr1P- zK^eTJQw7Z@equS8becnisgO;DOq?CO#m_g(`Dwl3Z!+-kb#$t*Z!V_jW(M=7QK+}5 zk6E9$e0^m!#WU%I~0AVpBd~8>L#3nHf;{Vv!Ho(1s8&+Rub4$LKnf-$<>Q{ z04LS>qjQ0~aipw#gNEXq)AgGcH~J-34Uy`nI-)6S4=SGwX#7(R5vvAu)AYts0~>if z>57T`8CNV#CD^!)fdO)RK7sy*{MBGB;sj~0v$xn5acOSX8$-FH}{drMt7#it4XgtW%5_l3AVn{V38N{_E7Q~4qv}?}m`y<_s$(XV2 z$bVpsju)3zPbR8z&{!o9$1ndtJCk#nP@?`3#6_O}O|#70X|O-VD!1D9aD^(%;lgfB z^{d+OOBr^Ug{wrU{?I8f%t5zm_VS)d)`IRl3MZn)Zp>sskpC2hgjLdx3Dbe*LaQK< zC@k{HEMY35G#onOtVg_G{i~GLb1JGZf#4HaSwSs zUW(ywe5;Wka`?og7Scm+$>w4c-QlFL^{g(*t|_p|LWOI`y|bc-y*TUiucD^)3cA_ZYS&~O_@~l+Pu~3;C&)|=TPH=e&x-K6OH12 z^hGbf@4nZ>Z!_GL{vod2Mxxv3!~_I$+=r~YjP);Z?PqH1_qcYK>iTP3yU&~dksxRO znf(7Plm2Ij0Rlbf*xQ;wfQQ@c7!W|u1h`GK-zC`Z^XW*pNv~h>>AxkfL~L~+`St&h zR0nps`u;7LpP zWbOu|8cC%lL*@P>`B!3SV^sX{d&G8&d^b?t75MPKYLMw(gX}E#`n$X9d)536D$)EC zqH>qoyRUb@H2j9#{1ZC%KLK6*$ppV4JwL&Wznb7)(SZM?=>Ldb(0^`4^#(rlU#eGV zfRhZ8|BlC9>$9GjY=09P@fEJAg?AWegV%sVgdr17o-T4Zu~V}LUwKUuHD{?_trXzg zr@R;_SVY|!yO&YEEPMfV8HaE9tE!oAb#tpPcF^yt{xiP#Z&ZEX@)mgdnQpy>%k2IY z0CtOHIY96z2nZx$qHhPmxqfD0|7<;$TV38;?`NL^I`%r|Rz^RuIJ!lwf%jU4IdRqYdBw#A@ecd}*XWOkfn~{jFU?*~p2V z8;Sd?z$+`|w{fNcqm#vyBUYX6%f7AtpDXDfrd~QQ`neEdy?*_EP5RVh{kYueD(!R@ z)wi_!`H1S1NoW-o>k7Z*C=fR9m(}Tr_{=9aRh!0m`OEgo74uI)gI}!ql%JCJ_XY{` z=bXjKrXyffNqOgZd8p_-v8tqCRbD+6%$oaxX#$D6lmp-MG&>$ zubzQ*6zq%gK+Io+Hk^$FC7Bm7D$4jD=GgtjXJ%);k7IY1yVw0cdV+wM;H^b(%a|e1 z^uIJPq@IF{oxOp@?F_i1UC0|4nLzjiE&wV%2z9`K8o(%Ht8ZX?>rPbn?gSAkI9OYo z8(2Wx3*x7@aJ|ayihMV#1yvw0J`jimLB}oaZ@tde#M<7<7QpfoUiy;@-D6N1w`Gun zjSUQ7Wx74sAkNOpa(jRw>mD2X?EwNomV5}N4?))OMW zUG%~;CLoo8)&N+Jk2M}~W0qp_w%#g6dD4=64YG7hy z3}Ih@*dh9a*g*NVg`|Pb?c7Cz+zzAaZ#9@9w+(p$a#k_XhcIH8A@5%70y&!3it*!6ol)GTNzh?-4FWO7=uRI zf*R^J%qx!*IvTjLe$Zt-v@5o-@mq7_IeCmY7Nf49t&_c#I43y4B*+(`G|tAzQ&Za$ za-P|3^}g`q47BN0weK;)3$BlG2zCPtFqd#GkuD&K)pM+PwnuT7n37>hGr-cS$^`}9 zC#dg8nb~QuKt*QwJTC=fL-)hhF)OPATuBGr=>?Rxa9Mzzy$qd;cmx<`(&2y&SI8rpgUtAt6`s}@xSZBvkB_PQ=ye`M8& z6pF3(M;aN0XWy$ywY}|$tKqH`TWnqsy}|qx5|*U&<@(hcMENr(d(bcC;w&)4E$eF0x7X z8D!k*q}mN-?3h&b@x(}T{v45DvtPj@JhR^+7Ct3A&&W+i*tX`eUOEEDq4*{)W*-BL zE)%fXI*xQkk{4c zb|>1h(^LlvSc+AO8G`DtZ8Ld%lN*p(+$SKSjB&m0Kumo_6`he?pCg%zzN0$t$2*uO z?ve^C6IT@!H`1?LjbWu~PC$YBba|b?a(lNcsT!3%A1Fyg8S)7udC;oxM+TGVbO@P@ zi~j%>?~JxNlxF6ujSQd z;-j3pa#s9KadoLdCa(rD-#)$NJ zWgGCs?@(DVE-A>w4Oo9df`+l^;Ul~_Y)^QpOGDb>>Q3|`Rd$hYJaKvQSxBQueK@&1 zLO;tXk|1HKo@>1ubH6nY-)8E;y8#zQR6#D)r3OT9%S;7(u*KuvdN2P`LAgYZt`3I) zxe=0fsR))cWT zG#7p7k9MPUlk zH!?mgXWPAtgWWJWDc5U!xM=uwEl@mR?4ws1-s{f@`W<|_uGst0_ULXnoFiJ}ztg-N zZ&f0$*?>{;SS&<;dE`^XV?B;ga^CVUgs+HONYp(Sbz98T^|Kz=liQ3KZ$wV0!SuXM zjqT~pNyQlJYBy%5?qOUEHJ9O<5X~*q?>%cMY1oe^{?X~MBFAIhEA$dRx9ha)lycEm zAcacr$={^tS#Kd6WA8FyVBZm#k$z6YY9B)h~CVGe{vyPvOgc$+V z8y(oMU-g-_X&~bHK|5|Z<0?IXl74U`E+J+$W0^Se88p8gd~PT+P48hu&%@Sf-R$7f zCg%huif3-!k*#XM!8Va3&)jNqmd$cI=&iv0Y1NlIn=@MK;~p6`hU-ISp(0o3Q9IAF z9F@OzdHI2NrS>c9cv2A; zSBpc}1&JTbqS4iXfvp0dq%Z>uL!J1Bqs)EaBp!-7&4FA$KS+i(AqBthbJVt8vc#!uyB> zJ%HB$%``C-B@0=TglpqV3URLOjCw)acl_>~A??N}V~92UJq&n{sK8 z?4|#p1`l>0cJx(wxx2rvSm+>9e-I*43in%2Z&mZH@ME?Lef z4+ibiUK{0QI+Dm=_CCH&PLWSiRTV~l8rE4e)zPXZ5TI|C(W-X!WLY;n&$B&OvIdCO zjey|)x|95~a7-yID+`RibBju?)Acd7FgP5yVR6)jwA^^5SmKu?yEA_VkV9qK;KY4Wm?bXuwOf{GKqqj zaTHN;NSwfycNu^VAyYxE6avl< z_$Kbx|4BZ|MR91Vd$TbwX)Q?xw;Ab7>~hiUaqGv@>Q51*q>WP7-!M^TUK=2Z@101L zsm`BZV|f*M)q15ge_bGW)VyHdZ9n^sm3lbOJyk1O$|LI|#m1<~QVoly0rCNz(PC4g zoY7({6umf#xKja-A+U(34jl(tDX=ZuKTlf_UiAf$sn^j&JN*H#x^feng-XJ?eQ#D* z^`+^4-VCwY_}O=Ol4=>6NcW|^2fGCB>qjyRE|{FO0h1!Fn|_bsBGhQJshL%iX%cWh zbLG3vtiT1h%G6f}`qQ?sVLS&zQ;p5^f)MTYM5#}<@EN}M*bCG!;FoW-i0 zs$oBEu;=OXEq~y-Iy4kavORulgBBJowlGhz{(#0OrUfDwSqIu-=`r$I4H*!CkYZ~+{*Ga#rrjwNBX$HCw@Y8XD zZ&2zjwI^B^{LUQ(5R78OcK{Q zrsc6@v6wmDPsnbnnG~SDLoGlt!)#3#_B(^G?U4QI;3pGq4xVZ>b#LH*h8g3PQ|%<% z5Ip`ACnGY>@`?V(M8(tLx66-7eS0s;zIb1B#$b{Sp9Y%;!}}ZY86@ua7`-j|cwq2i z>eIlh?Ir5)QF`S;>Hz9=I}|%EOgUvd-bg9qPZT+!E63#2i)8#gPgeFa*>9v<#qwcy0WEObNK!#BVH{q7Y-?u z^lL1g0T~)mpHebrc7AhUeqcVw(86fgf)3Vvl&TWZdt=GL^^wNQ5or%52&jR|9Lgb%-=?P*k^qYszR>C!%J1D8<&l+R( zRRir9E!=vLuW=I+S9C$^VwK^Y3dhtroc{&adL@qu{rHCLM z%(7MRE9ke65F?o~&F<0ReC4{J&$=D6s*s5DQLlud4V{wS$QkbW8B9E*BhyyTwGi8o7{nE5Z!r- zfs^=X5%YCeMnp!ljBm9{WOcR5s~6r85!G^Uww6Vr;zg%BW0JcCn*dCx~E zA3Xk?w*?Q-k2XaNfU^&J>~<+ghbiQ2qvV~jVNqGgv(EF>{aY}PG;t3CM*YYo;C*cK zbN)ue&uF`P>*}Wh(`|cYEH4IMt9i0dciBGK)O1c<2@8Hs5ulpdb=P6DCqGCIAnM`P$`wbiO{P#A~QG z)4rzTVB_hk+g$|7Uv}UQQzdx~ z3mL}NRnji|Ho&GknyoxJ!+TR}on(lMR%4xujXJ=C+vE_3-!qA`(k69S$n?qIO*RWr zW}}jayI?M?F)hH2n$hgpLCrjC7kFH0N5BpO5G@%lTP|~8??|wC4EhON?J76-Fc9$O zub-qLCv;=TF18tnBX?Ubi8JECoWX`cdgrsUTcSvQD!bCgO$8kK+QwZ#MK8Y_g5m%n5Ur%!qb5;IG$MJ|mp`hr%Em z#`s?H(rSuc<8Y%4t(B&*K&{d^4eyJ9uViRn;GxkUS`6>K)jD*B3!p3EIRoK3-FQF> zONPEbOY9ssTF_!0ZrpPY_Y4=#$XSXoJ$-??&{`wHc+Kq^zA{=g+eI&d=y{g^ARlGz zE0-FaJZ7_Gjy&Q3HZu>}8uTVqKLbsiFzI9vmV0GpgL<~CoV?$0fw987xS4BoH*pwr zP9vIuhvV5!*Nvne6%>cuSnlh~sBLGT2*kTgm;tfd&r?^DI8>v^O5*83P zFt%07$K;_oIHt1O_KpSF*i_-mkC|B5pPL$s3L#q#a!)MTXNNq^4DX(I~sB_J;CJztPXHu@LjUZ{&#WilmrI`JO`cx%V z75=$8P(|vC@yqs96;tZ9(}Z+qRwaC&3%wa8l|IUdG2hsOVyY#Zqv6`uCYzN_haYO= zd(D6W41qjN{kgc{2+KOdLlco*x`erLuw5@X{i1HLVG)s6(d1TJdag#P+H&mG`-$<- z-2DC%>BZg5A9qycSEGxkgHkn+?f7~c*K@gD$8(Jk9mLqR5!DBdRO9Rw2MVoOb0)-+o@| zv#mC7IP~uA`-zH)QNNUD6Axy@Ptd9;E|4xX(roqRV22u`jN<0V#jJKGKz;N| zV~i8_9pwSFIt%&|d!-@kOg>$Tm5FVxL)5cG_AU)N9Im}8nKt=f2>>T86R(JOw^JN1 zebtcPIXiAPZ6A9PMR}xvG7q{jww$)S9EM_N*3@p!-PdY6SkyA4B>S7DpH3gDr~4g1 zflaTzD}VE(t*GKo&x;tqGUt!rl28TLVeEWxDXBC)dheoX*7snLL^HIHUIaHy&uO<$ zhnsa^c#04~!3!(Xjxkg$X849HY%rBookUm}7WC) za%$hEYhE!nzD{_Vs%_aC-R>2l$M|TMzCnlzfubxT z@G9w`=Z(bmxAg7zOdcM?ZtH42vrV%s={(PmaCi}t^(?Gk4_EeJ4d;G6x)w)18nsu3 zA#!8=Gz>VxZuq+PY?D(*lhOCEA-h$kkYv2FpO(FMv8pFdulzXQw?5r@r^-Eo{_uP5 z1!r#ui-_f|BEEPW?UhHp`eqWn+TUKx_1w%~+j@4%c=+iDH)S89&#oQboYq57M5@c? zh(wwRB5Os}PIiLJN%@1)S_PZK${DqEJ&b3OP1hT2P4ZbpH#o?1^$u-CwQg7+0&2aq zW~Q=dImf#uR91wCYFu`rimRL4Tn*3I8ODs8`dLgLf3c<8nx?#@oS5tye#Uaq&@@@& zF61b(N}FpaV`y=-73QLRY^vq7R* zHxr@*8U?6xAMb0`XXSe(lTeG(HN7|?BlfX5%ge!oiZqULd1h8z2AR@Aa{yT*=$i3I zcwzMz@LIg5o;kQgaiP_$Bd?xb=a`zg?H&P?MuoNqvmTW?@3>|2TR7S_jC!bP!yTy= z+wtNmCuWZqsW#UHa0@K79$b#8$RCrwK{5BCt~q{>-ypu1hPnIn`gzkRtLyd3G;8++ z3YvxJwt5NT?(rVd+Xe1it*p!D=g*v6^w9KR2^otz3P(K(uUg$W=d8@kBUPfW0L@&Z%HcWXNf(rwEE!5| zOmSA=$Hv6)JW2>ttbCg%oc5Btw6Inz&D`oEnBk+!oA;$=Rg*tN!zIQj@bNMmTuanV ztP0ar60)#Zm1j)HkYuL|<Fc_S5#qLiYc**6b1Xlp^s zAhs}{V>aM2gPCRJBuHh3PxC=eu8mk>;d-%WRO2xGelq@c)vCIpjb8{>&{T&XXnYVZ z1rOOy!_?Hhi!Ey|+_#uwFW@3OMs zVEEvzHPkFpR0fZVmBu5>K5LCag^v{-6k<<P6wY7DYM1souyzeH!Y~b9oq~y2E{nL@fmHp*&s+tIoxBD@v>qdqe zKGqdvc2>O(T%2$?p2&mOfKi1JBUd#qvHbdGx(_w{sPZToJ+F?CQw7`NqlcD6crlX` z-j@$%MmcExvKJ9WCC2ZK@KJ}}b;cR@U{&Tkt}3krF}w=C89(%)ce7&~iRT z0bDjEHfA_2p0@5Wvs;{ED~6?1Ik8RGBQ$xinXWb$R1nmF`>o0)+%d7CghPp5sGJ7>Wxgkx40nZjQyA`q zGHv}^LInhFWo7Ue+T7=L z-wcrkyu>gQ@X7-VL(M_-RUCWb8c!Pvoi-I6Ow(4^=o%>C^lfnw6x#CGKvT4ZYsxA$ z2-~yS4i+Hf*L%Mg z-Uw`YZH=SQK*rhAlpza^aZK8mggOKob_`D?)8yZxDPExWephzSy#Kf5T?{CYAk{&D{CpZ2eU> zebOs!H)VW9jqr3|Zaki*ADJ*57>`Y%>>tNgpI?riHVl8Fe+$&h1`?l@KHxr5D6<)| zYIhlxr!MV^C}^hIMc9fv>5)0v2z4uJioJQcIpaw^Sm|h9=IT0n-cI7rC(fjm)dW9D zAbVi(U_onrrj_PW^_qgq>?^(2gHEflDx+D1;TvdBc@XSB0L}N*BqmliRbs&%ua{ONNzTz#b1wzQtchG~p6%byuJ zcZEPO5Q2UGQjh&l%$=Y0*x1;AsrO&KK-}sd^uh)P{%Q|)j$d@j#PO@1S^vQgSizuQ z`U7#?@(FG~f6N6o_FInIUu9t6uk|4A{L5Sbga5%dSlE6UGZ@VLi!655itd8A(9Mj1 zDK!E;OEz*5i6kE0s>o~%uf_R%4m(7Y9KfS)9L+F2&yp*hr!ql8cxLkPVIK0Ss}ZhY zsGXcNib}Ri@~JrYDYTZ;xl0xWQlSHniF=-09(=IPjB(Eh6{Rzn142dl+s&~9LBGnF zAq14a)?;P?{xWEYjP>t92O|6PB>aQ21|f&sa@JTOq>($)+8vb;5*~k&)_z9CzntIk z*YtIm*qB)in00gvnRS^BbU`dEdU`C7fMv+R!oLD1t2UeOAIsS=Q5Tauyv;NwX_s&DEGO8EhK@oMG*6dw;0bH3iTL1t6 literal 0 HcmV?d00001 diff --git a/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2022-1-patched b/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2022-1-patched new file mode 100644 index 0000000000000000000000000000000000000000..49763792ddcf4dae67d77d9ff30932ffc86f0db5 GIT binary patch literal 17534 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 X$!9UamNuN00>F4LJAHcb;*$RZ?T%t? literal 0 HcmV?d00001 diff --git a/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2022-100-patched b/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2022-100-patched new file mode 100644 index 0000000000000000000000000000000000000000..d7eaddf2756d819917b3f5075531262700c69441 GIT binary patch literal 2525 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 LU_m|@AO8OUU-^v~ literal 0 HcmV?d00001 diff --git a/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2022-177-patched b/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2022-177-patched new file mode 100644 index 0000000000000000000000000000000000000000..eaced0ba8dba9b9b75670d9e2a9108539cf3b436 GIT binary patch literal 126785 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%0D)} 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�WyI7VfRN*R?fDrPj6Q4ym; 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 Jx>^Oz{{)B&p{@V` literal 0 HcmV?d00001 diff --git a/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2022-199-patched b/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2022-199-patched new file mode 100644 index 0000000000000000000000000000000000000000..22907ce0d9502bf73dc8a48552329e07b6155a90 GIT binary patch literal 94305 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

    ){J^^ig@k>{>6YZnWX* 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 %K8erJNft^X zf`H6^FSyxw?#ATsPlFOMH?8XZ_LNXwB=0+&%Hdggxpa1Nlxk&}-u!9C)@9=T zd)>6L4BhuxYXKdb&aZw=E9z^n_7-W&b~UdE;&Wl=^qjw166JYtp03|qndZA+PwFeG z+p%WtJT~s9O%z1D-i}iLzZL2IZ14iU?tyUsPhVtzr9%AOs7wICD#w3r)_+FvnYkD_ z|BFbk6WRxL0gv--vmHRI365G!dwXOTsOy2&t_bBbDm{7u(g#7R9Y!^NnTo{kHDSIUvKDtYhEbuh)z$ zHak4ey$#M!MUljzw5F*=71dUvE3>9bH$4$=Tzfp!-4fR*6yh)lgJFNZ$=>b+c#XVm zdj$tOT~t-xF0f6YRlmRyU9x}PR6o3Xjzd5o?R7CNx6#%1zWp`S-1mwaoHcgBca~A( zf4P1Qr8kc-C9xn9wlA~+>bM1dA9Rulq7jRq%Lt#JPrdHHepKb|?>6zxIhYxULVJC$ zYn7rVDXjOExP0FuI-Pg^t9{r-#7(6V zF?mRz6RV;9HA5T`ja};yAs(5eGUCGVLv3j5g3(ZXLGn4=cFeeR946;%-FK|dZC=|>vG6I}(5FiHtOuX2#Yk&Zk34d(RHlIItxlwe4J zb$+Venj@L!tWe`8@oIGcP@3&k(lbF2UIQw8;Bs(Y5IRu}p)snn9>^JBS7h^=A2!8Q zv-`HJhhKZ2l)cdX$@if>Et{7~V=(R`Dh7QS3)CvnGzvQ%CsFj#IHJY|GzQEp*$d%P zYZ(eb?fO(M2^*!BgJB)v=s(5em2$nJT#)msdr5gg<4FuTaYfsT$bf;rBlyQOT-bIX zn)^m{4M;hr((LW1Jdosl2K7oFPeE;j-iYk~c}B<$;+iX(OVSOcI8!z2WK`yg%NNBj z=pZN{990W+2*xbSjWA?kiJ=Xa@CXDu>%=9TO1lVSp$OR}zf6_Y8&nGY4rT+FVV;2@+koj%O&a$U4%%|+z}=EVc47sdm~?>=6m z^jhf7sQaIwf=t2!{oVuA8^TNob_pC24Kq~aI5*{vV0%iF`%WxvTKF+tsAe}f zT}6jUU}wzz*1r&lc;pSm5dcFaJn3Z9Mu_%MiZq>~Weu`<>!nVr8>A)j((YF3ER?9+ z7hH876#p{eUDMX-qv<=zMT#`JcPS7s`0~=@vTLF{j^264$ zp64j^tq6}*q&O1{$*hUs1T)5Vh&#s3G;A&Lbkfw@xhlNvg|zyFRIjEX>#;*je#ys^ z;WaCq(1bOWy2iHkn{ z_+hYK2V7dC-IU<>hUT|(`u%dwz(;zh>zN*}uy<2P0Atc|`I4Sxm1xU`=>)YsI(*Q* zlCP8mjMGO|^GuS6ZUqS)i|EL`G7wRI%W;T-eRfJ=`*6z_L*V`x!?kbCVNS}x%CYky z?;`(#|AOF7XB)UtXFw7x9O#r)5Y)U=IPV#K+xMyZU=G%sKdBy|ruq~M(b@-Zr#_3` zy3$63%_XZ;PeMzKJ$z(L%;VJ7?@o=grVLp;?4D^NI!S3OGD2N{&9X9A>+@J3HkL}) zS8+`AgzlS&-$$Pns!}I&)H6e&FdKV35-ady#+A;l&%;mv;U|wJN+FhW5NTj3wPiR> z!f&JyzFBR&Rg-Cnu{tm@nPn(k*G3lVdTwWVmj$vlvT7dhD~pzd&8Wj2bKOTdNcCYC zm0I5YOx-84)FJobsB=*NnIm%zZs|{COfWnJD5O%Z(tu0rnG4J4&03;}Ff;MU^+$N| zoRh-Fw&${IHq}|31o1f{7*kf~+>1t2V-1J5J7Mj%jB42vSKs)k6)Y0@vl9dLz6sBZ z#Y7cA38hd{aZ^)MbAuO)7K0>u8h;=^|U+LuQ9kr@q%aHzOg~v<@7=x+D0VT*O{)h_JYn~cGVoRS?aj^ zba+{kgE*+tv-?SP2Ro8@tq=YrIc(gnzK#Dl|DpM!Gl+c*XBKap327L8SF(vqQdu;? zT2l7ATQ*QW{t47rgH4Lh&P@dUH1q3D(y6LGyZk^rlCiV2bp{_&P}`T~d`=A;xV#M9 zmJ|F{al{9Kw(`r*8$Z0y+dby)*8IB;Rv#7gXRb=cp^8Ur!dXs_-OhdYTz77i3Nh4{ z*t61k{1?$Migz{De1A>5-8<=I4cP?lPBRxu(W6mhMqrVl7`qc2&!5IKYT5LVgAa~+ z&7cC)f40^2mO#)Li!j;c?!jX#4$rm5X8LKGU`t>`Ffcwq?<3DJ#G}`8`rzbcaZl_d za$jYtpaK3$^9r|ip&GZ#(2GHcA;^w@E{)^{ePX=k+I)NGhGf^~YrZYixY$7yUqpzz zub2==H*<#|S+n6zeT3t0WL!uQ0Civv)DYZk<)5+6ss z3liLXy#7#rH^&D@ucwKrqvr?m^#GjP{wdXfhr(Q$db%p zB-y9gsfB6CM8Zz5QbMn%b4byL?a|!GG{p(J%;}QX{fQ(_%<^4QH?9PE9MD!9{l&Wu zek75QggaG0kHMFk>`>*!#7l9OD%v;+YsfR3MnCr>aOw+5;K`Xe7rm5hP0NYc>AwzW zt0Y2N1d#|vn-K3*=TV`WLh3Ur8c)hPuJn#%)L5V8BTV9PQS-6_4N!F~V?wd&ugnUk zZnZ!R1!h!n-W}j@tiuys@_pLE@$lE@JHHBnWysZ_v(;Z;UteAQZKs#s<-LzGC2+qt zx^axb=d|Wc;Ph~rM&!LTuX7#wHxYlL%>-f+s29UD(dj-$pCxpAp4s65QIgC z3I+~-h_dm7?)|Br9tErTst5v~c0>OR`ZV__9@eafG(dEO5RISyy`tbWuG4UCpW;}8 z6Y=E2@OOdD(U(w>&&8$a(FM)ySQ2pHzK45;yE^YZRIW@Lg8uS{q|l|+?PnAMug412 z?J>_R^SZ*{GzVRrI>v~93nNCgn?j3VBP^}8^_XZ0!XJ>iXAQvL(BGj|9Kp0DR!=)8 zfnf2%+e$*x{c_F+)0!n4t}h}zLX%2?tE3|h2kY0!6%;KX#Y9yil@}BBzS+^%QiSu$ zCKVPkiGwCh^pygeayVq?I0K9F&)7I_-8gRaUx)Gb*8FUMR%J@nkfd!!rX8X2O9LBZ z6x%H73Kh4e=d#Nfc5VnKL00}%3}Qi*Rz4;2Mg^{61lK9WHCvaKGHn?dZKISwdHLkW*Lzn6PAs4jj%c20RO3IexR(_2~4LbSG z3}<=Dx{^NktMcmRse$IH`&_Z`_)m+)x63rwm!C9pIG*+u;O)7P{CGh>+KlDcL7hLb znAY(PG!NCL+lIpvmL%$mwt&d={Qm}49@0~C`{jxQWD#IOcVihhMIyBO?Y-}Qv)9q7=A6N4kReNpm9_l zA_97M$<@dAVD60J!b`JA&R|wiXU&mq19phm$zVw>x8r?t=yM#;&wPus_FTVx=$3S! z0EA1>y#DZdJ)|9?N2%>k+7$vth9f}OVgmzeE1USU26u(*F0CsT5Rg!wcsvM^i)ZNh z)!v1*yP4mKpgUy*zMR{ulUZ}>gWy82&YPVN5*ft^&V0JKnCQhB`^vuybkW&!Jo@SA z3@5Pd6l{Y$&x+ncwvwc1bNThM6DCF>Itt4k`%8Ua*oX)UFh&w3ZE@4JGipp;d3y6b zog~O5w;5BBjZgU8T9@w;5wX*O>rL@ujSUsg7eD&bm*SbmygEF(f9Amb0nr4xB3<5S^z+%gNgeWET$;5~ZE z4Yo|J*=c&U)@ad3&g1l31>zD+x{XFGH0SFG4f6Q}zHOEw;ylbg$H}a&AzX5N&`0dw zH7WB;^LNsTn_5Zop7n-w_S6l_rI+V-dTP00q#wU1VCHU;`*5wA{l0WbmnCQ1@NZi~ z)zRGA6g53T-fUmD4m&ZUhG-@}D88uPJ0gpqwBI{^>t-PJh&|^fOL7&MrSUk^L5_6B zN}q^Y7Wx!Vw9KfL3q?i`5#2t)QT&t9CnshQ0_CaG1`Mls?j%@AbGiW*2`&;iRv9%& zWd<7TSO`~qBrj~RxoEgw%#0HR@@Q7LhCI>T@^(S&X|odSHa>Ytq6wn6{5y6+u%uoB z|H!9raA@RED#6V8q8bIdZeyO$}P?{q5M9-%e^zhz^tm}S7Kn&B0~VbLXjmETcr!(gyaWeWR3nt)0ue2 zE$1=AQ?#o`5LYyrZ!EO5Ht;yn`}SrmIHm{Prev#OmQf2tE`tUZ;!g=Pndnay?V_0ZG!O@R zZRvgcZQA)l7JKDGvMO1>`Gk?}3(z(Q93$hy1B~a<)^`KbNS7d%`njqdJryulO;&N6 ziB=iMxijFRaJ?42md!+&l(w7GD$}5ukO%GzYmF-0k+pI9)925857Ijk`L4%BTJRn6 zZWS5rirhXIK9HaOdcZmD+u7o-4KK8W*OOS9!|uRh=+oGl$k*+6X$kC`aZK%Rl(1M2 zTEy;~;I8}*kMh;au?ULpBDfyjfb?7>KCNyNxelr;V?EOo0fxp21Yh1DpFp_{xrYC& z{Q#SwrH8`*v11&?1e;s11;LyzFcuwL@!LG5f z$?lHvu7p^OGpaZ`x4GD)a}tFYF<(r%sExx65((*=x6NhQg(*m{{%3zHk^b3J*J8!M zImd^p@5xn;ozgZ0c)km0rhWTvO%2D^Pi7pZ4TlEZ*CR$oG#Ya&%jXq8-~1r=3XSrf zSzU8ai1$!Q3Qi-Ln53cyrXu5~#Lw%Zyt6V-aY9L{e-v@zMMl+$9vLf#E^i)N3M|e{ zmKXh`##5Yi(VKZB zSFX`%?c&^n$p}6^mY7m8mbip-&b*P`LS@y^M&()RRBBb~>CtyKup!mHurVTX(4ZVx z^E1y@0j6pZvUCNnpyYtIl1{@}^s?A2cfRKFIBOBl;QdRNoWV2K>vh$4h&Q3-nH>0y7WDz4P{>%4o7V`8IWkbbc z9ry&>^~2hR9hlZ%qR2W=mm51_iax0B*)Jlvw%drAZ?hMvDVyX_vN{zgL%qw0QD`t5hp(+;1N340a2-dI5J; zdOQc$l`nik#zDIQm3f}!2FN#yAC$h^>pg|;d1SPD;YP~~Gq!IR*a3UFwZ~=GqFR^< zI0cPVh|nkANK{-Ta5G?8j7jifmg2~j`O6^0+POl{FmweBDRo<^*tiZi$)Z$A9A#y) zOX+FT{Yc?!_TA<(e)R9x6zo?JAA`K1>J=|zvU*^wgz$+tF=hC2BU~&aO~Fz4?+I$5 zrNjC`8-&AgYVguopNPbdc9Zg<7J+vRSH2OHMb_zYum2W`GOh9KzQDQUcmkEC z6?Fquh+Gu_{J%CYa~?9Nfzn9(fbq$SVwWdm(jH5N8Y;VQjTPFz$E5!^;8)w>fSDnp zyldv3SddUR&H;(Qzabm6a=0IO3sd za2h-B9fr~_-eioM)P%~$%U=(B&{lH`$0OGZk0TR5F_+4h$e(BJl^mqHBswV`mwweG z<|^h&#*9mi%V#7VNoT}s=BQ?CCf_s+s7ZN{Zl*NyIoZs14RlJeA5i48y?p-NNO4#X z?nr$djRe|UAAH(XaiIT8t6x1&1z)T4P)@V8w8Q;%>UC=B#vivwYdLxSseR(1Q@LEdlQ2S4k~nHDaCW8=Y8`E*{WDIMPzFz^zYv25s}_2FK5Bxr8e$(z=|5445n% zY0x{PVhCx(*j+?{k#%c#^jW}=CIAn3|u^P4?`KGUD@fWe1NAR?}! z-=T9$E6WYrI*FB|?AIL=37E2f7EYvo-9eQxC0vavr-!M|dNfCpWTWQLT4R8*vrO>Q zF)^hGe}LlqDkq_RF9#kkAc)A`s9|t9yxz&f-7!{k_ngAu@4U^+`|TPhOQ6QfA~oAj zUO+X`X})Y-jwigs!L`(e4Y;p~1Id*9%Tt$p+y|z(V3CB8v>-)13nYo@y z%Nu-SQ5>5yxIC1nOE~RYNhEC^bXoq=*Jhkd+{m4MN@Y%>8%-g7C z_X6`7jlkADc8WKGPzqDk!m#tz;o}a+mG|M~*9{}?ll5xgCF{dwC!?CoGL%_RFNqUE z(S$g~9)ba~D`mG?Z$T*?$~F`LUDo=N{#9?WsPT8>6|2E&dE?qFzU}P+)(HwX^=i?;9xZ>+U4)5vQBJ-ox%+5GGuM z>S*AP3{TRGYGYQ=Lz~kP8r;T3ZJ^UJx$Y|6#tRGkDF#sMu*={5Jl@HoFK!ahXi^&K z4K`uSm7$8~pKtiu2r%N!5N+4)fS!#-4f60DI|3MfAUWz*&diEiNNE7k(f){aBfA-V z=ud%v;Jb1J8Sub}y?L!KI30*+=BKviXJI8kX{F-nnld_^S&pkuP-zZ zCN0#8*;C3niE;(9b03aCXa^tV5k&d6;t$15zo*hVwLfG5(584mMX*dSBqTl`Ig+>j_17li?`$$AqrX2uSU zzFRg>Br3Id44+UIEiEnWYHfpZ>R;9frlIXcqGP3J#E6L+G-Jt}0k3YQSV^^rYZK9Ie#8QwE?vSjmt-Zc zaeZR~Z<1X1gQhX}{1waWI+ zgW9B>$+iu1svF5pqS}&LSmbhJ<#0lzb*!=t`lYVRp!qunuo*3;!Bb|5g??Ww zlwDWr&D=On$^g8y-5O<)e}fxOEIy`?75N|#AG6m)viP#YLG36KsXI|%v?(Cdm8?{7 z`q?&})KE&4d#z5Qxkr@fp+Q<=68x^R)`rVFaTp?u+7y=FC`FN`64@T58OA$kh=?<$ z?~=mL2SOq`m~iY9cn1;gP@*Oi8vG9tsWwiSuLGW>3ge3k;)zVA5_Qu4O+KJq@#};e zlr<73m*VwGx)gQ^9`O>Fe$1SW5h00*gcD*$kky4^t`V9G3sQRy&DKmlFneWSKevMY zcQU9cj&8W2gY%Y7lH$d|i;OU#>ltHE!}Fq9DTAS8>B%t>oSC@LB!AVy_-vJNV4(%+ zdnf)V1MP>Uhx$6cF6--E$q=R<#C5oJ#FP8!9r;_Cbafn!8I4#ZYz(+`VZHJ;NYYP5 z!SLCNQ6+Fu%2&MzXDB2^nJ_8#6$ryVIHbt_v`9#R{m=E0_*Jpruy8KPY(%W}a}lFD zHc9Nv*F^){3_~j9$PrT~m}jyv*06D8i{nFV>aQ-cu(VCW$t{ZI2^FqtPuRty%hV5| z-Fu0?+`0UD57BvGkEMXiXG=H^>>JjtD*oS(*~jF!{pwXZ44#tT{QBj0?NQ1^{ZzZR zZg}k}!Ui$+cl$E;;4kTpi{5HNyDLuBe5vq$S)hb63eTUk|F;u`}BI8t z(#;=-g)ZV5-W%^WqdhXEM#~WI9$b1>f6V8y`C?%Dwj!mPZ;=E7F&e(JVdU^QgYu{+ z?U9v;iv+q&f^hg(<%|6mJ;;ySf9}6JeqUMHPcP{^3 z%Qb8s#!OSQIT2sJkQ>1ueFv6*XBVM$@$0Y?utuyT?nmEb46{H zLtK|;guArznw4=C_`|qnK=tYhI8S$|fn?5399D>0rhaQ`yc7%cb^qK4K*c z41FX@OVXJng(2MGxRQkVrFpwE7cL!r(obDqp|r}ZaxbB}bIdb0Y!vucI6vk66p0x6 zgP9mV){@NBtPdM`wzRCrj5uxG)I4njouZl)c9X8n)~#F=@?bvf#Vsu5$k4*7gfG#H zp}Mjn^JT)!x?=7)upQLJY4DsBt0QCK0&uMmr2BP2wt@X4LADM=M&k8!#7Pde^>kmW zehb#uNVx938*Yqk&%(9-Gd@ih#hLkYvS+|14Byw+0eu; zj_{^jPe;V};Z-jeA8A=nN1}#BU?W4RUH+xjG?{V}&*nlY^0#}vt*CLZANYpZ2^KRQ zu*H{#X~T_BJmZZZTb}v2cPu$!ec*HhC0Hv#mvRD#C!NtHO8i4yJS-=14 zcm^$)+`~sk2j~18>^%P5nGI@!-(^qP<(o)9p~X#m7W3l%@wqHpUxQMOVbPma$mq4D z)@8-G>U0Koq+E?NgPr!FZLJDL=LG{}Lx0m4UzJ)-tsBRR$6ICBa1lFeRqt|04E&N+ zOxyU@EL<|Y$#+QeS;VdNL+mTF_6+DLR!|v>!nTHEVU@*Rqj&PE9j^)6T37+e*~z0U zFdS?UsLUhF8=wflQuY+`S4d%m0en|>T}ao}XUYm7KM@QX{3na3Oidg1AvWNF$c_|5 z@dhgyLP8E{6RPNn6BgXvjJP}W z-PnQRRyVe-?+GplP^U6Si_dIEynG;D?f^K-Y{D zl*?M2Ho^}_TgvnTX4secz!L4lY{bWZ#m44ekU4{(r1FCc+CfJLS^?~>B2?rV0}flr zz7}#qn+r{jT&5j<@va;VTDmmi@!^DWNMsUFwODR@#5{FchQDmL|FY;@b00 zgrC{-d1@b7^eCRqZ`P0lyo6ivb!XZ|(h;YnS3e5Dq4TA>Hm-!VXmr-jaiKMsMb;RFR#a{t{ydaJ*h8&a8_V&wO(9Q^5m9sREqq zw26^p1;{EkB+6|%`p&=39Qa~)c!xue^fN{OSMzVqi{tMlh<4?pJJt!req20W?t$N@ ze{?__X%BW(?%kD&AEidO2249*m@!E36 z4e{2K!h<`(;rYS~CN;JpoI6AvHnP25M8;`MBudzJO7oo8Z-ujP zOWZ_V!cqCb^K~htLmTTpL6DJf`H!>}4E3S=gd)`@6R)X*Mg;wV-|S>Ax=0?3i!KCj z280{LtWN(!;!Ixs3DqVpLlAqAW~iB?CQdXAC(Ei+e%OHeGhbI0yu6$vIv#fta?q5aJZPl!Q_jSvMJMRADPu3A zq=ZoXy7Kf76ZhI1wFUecN8f_RQsv2*jCgQ;5xS_$xzh@pk17bi(-8$Yb4wc*45_)RYbcF)II zYF7rxq%S392({BuHq&1ueM$0fyQPk;AsC$1CoeAUWLpx^nvb5L`U7PLg#+&0+P@2uR>rn&*#3Z55HW3#eLiG z7w>-6Q+~GikUeDkkR5&gqIm%Fgg1k`IN#63pyFDijL^xTVrB>Oibjv}Ro~rBN+-`cW$1JLDlri9iay8B?LeTZ ztJpirdC3>$ZD-q5xjiOF=jYprTSoHd9*{p=tykLHa^>fkCiPs_C425?1KhxL%~1eeYpds1SK0i0hnPIMqwct?&(N+htxV94YDb>|38bylVyL zWwWx4YLohDe?yDV3yv{3u+wS1wB30TC$98TKXcpMt`^h0t?`&_wDY1g?K6JO(??jI z8`3dQ*S;he)ittkXxE|qu$&7orZmAvCkOBQfuI*;Q1jUA4$#nx>cZBX0c;1*r9+}v zSKOJDgVded=~uq+()p(E>R|yQ*!-b4t=N!i`o{!&C`ilBt?ZK!Lz_SXJb}dGKdi4p zo>aP|RA+!{ahKQk?Q=+uT@|bDr5d^1V}G9h(+XP)a58u!q-SuK&^GpZ@S(iKX)4Q` zC+%*wnk52+(ozsCYt2=h-;6lPAgIiOKbK-^*rF53-~&AEtpVYdR?sBhu(Vl~Kv&fT zqRlT&%H;?~S_a{V4D#j>B_Mxf9N8+p6U>4|+X0k=F7rY%k)aHIWM@IdQ1K<2iwWQ^ zvcJf}x75)6^q>7fvFxta$0732Mz4EVflyB{Vo=kD938`?`pdS~($M>9lv0|^|1ak7 z7jyWFIsC;O{$dV)F^9jH!(YtdFXr$UbNGun{KXvpVh(>XhrgJ^U(Dez=I|GD_=`FG z#T@=(4u3I+znH^c%;En8=HSEt<-{S~1aR97-TldJ)^zy^b=2m=ox)~QW z&Y~vc#DnPX6ZDt0VP6)C+1|FgPfxbuXrA9Kc7iCCiZAw;$z7G~(lPdw7PJOnXLd0G zN}=EZ=d~4k+17=|2;)sG@G&JQ&Nud&m!6oZs*d&a z#7(QOQ3Sg*1p)kS4=GpN|0tQRRWYi(uS8n`{-tDE){u(KR-%}rtFB!!O_`|C$W<(6~QAWy(UMhNYBXpv@&gmsNe7Hmy{Ko`zvk9?~>P z17kj=I6=L*e|AJR95Sn+%Uxk&CiLAhfgAZaB~`7GY(Fsx~{RK$gCi79w3xHzczz^+ZDzLm^Wu(V!r8rkau=O9`4024G|P{p=8? zUzxK92`FWnG%<0aiiRmyG376nGMiDLs(y%xCO=b`o>~A}&urKsd?dmgAnjj(G5syc zTy~s+N{IqPW4gSWaw>0ng!v3DB~^|=l|1byE!|ihEj^7I1qLY1GpY;>+q!>>6xs9e z0?T6H+u5^NbPf^dG8 zRh_%&_k6}I$bm2=bMj;aSji0a@n4YUhR-c(D>lz}P@eTH&M@s1|aoH0hW zmJ-Y{gMX6T2{!%9t;qxp{QRWz(93iS0@kn@6gDm86a$Dq3l{cl0UQ?WvYNX~%P6K{ zE55TG9qTP)RQt3> z>oNfP)VyG5qtIQ8QEPtpBo~3Ie!S|4cj?*=+=Ma81DOz_VSWpG;jPC6!GV%28P10e zp3ziFMg$NTac&o~of>K#XxUDdUdjn&MF<5aW8g4*YJc|`} z|FdN~wUp>W*Lx{|sX&=HfBE|^+qVC{ZN;Q2dWeRuK)drxtsmjd!J<&4I#k6@8G`c5 zInjgHvd~0_iz4HghLhxn;xwm1z`8~~r9iQ|vPetfZJ!biRVKlQZA)Sy*Ck?QN-|-C zy7G$^8Spac3IEPruSMyJ5a4dtinMf}c17PS0%aOeo=E&t!vqweRVJS_PcfeQZm(& z!Kt+wv+_4|aVf3aPD77Q-?=~(cs3xpQmaoKbqa+&z)R z3!nwCCGG%E-s{F6nNhb9qS@_8`DfqEMz~EdFXJ&|j+pctDtjT<>}W0$XI&uwS9L|| z`vwZ|Y5G%RK5*P8Sw4Y__=vnUIFB8@3}s)=R4xM)fhcdZJ-jd7Pt3{=m7i3`bZd86Ye$!|f4GnCI>BwS+SW%!Zz zRAl%tXATj5uc8SbsUrMJV+K6qqisCJaa7OcNpB@d*}+*!$=UgbBGMnS<50b~&|z7GxR_T41!ArOk) z7;9LGo@YwwHY4@(NA^1XCAwN4Mx}CWGTCAZwejOJq)fY!3F*r8)`{@Y$ zRvDb@ZU122NLt_9sP}&V;BZ)NAGS7khpPnhI0;jC|2q57LpryL_*dInv8!}$48@G% zEh|}AF3wl{b5ezOZh22DIFH*1&9ia5+aaN@dr?}hr*<`N3yL^GMyWWRaS+rs#IZjr zw^(F-F{E*!2|J3n&}4`zjSP{zXd-{O$ASPS1M-bf^j_TKbw+P>2a>qD>+11PlxsQC zS7j!cWRFUXNr?tjCQxLLc5RZ6%8gsXtzAR5MCG$2lpS;sPN0`gb-WOkiPRJNH4>>Wcf$u@wCRl#w+3==+C-MrIt;tRub?vzbS z5;wsW{Dm=w-CI~`J1DNrE26fwu^RbXC+THnM_4irmB!G-EXs}>$TH`zWE`C156N%Q ziFwEI7t273USnpW8k0$haBYbR1lc5&*0NOX8L14FR-=1ab8zA?kCZi$ywxw#0M7ku zQaYM3wdAL6>_m>0ioPa8xZxXA#9F+QF(QQl)Y& zG7BVQi{GMHm*gYqOr$BOGVzGf#S+Jni|donWE&+R)S1VH$&YzTB63Ix4Uc&utOL~? zm6-QXqF4u{=^Ns24yNYap|H)#jjhM9q;E;ahLfWaD2g17OO)gjd6EaW%O@hAB{Pr27qA@` z;v~wC$4e$+n5NC6NL5N_N0|I3Lh7F#h%kxIDJE)4o|j6jAzdS@L?)FYj))*7<`nM71f0NiAndasm1;DQ-J@pPp-f3CdvPUAv7#}_1}r+{imZJ z!@oQ{88j8XS(zIDR{>ZlTO)H*7>57poW})}Dg1vd^;m)agd+Af_KqqJM#iT9nDe<> z8k}?(F?M&^QiT)SrhQN#dv9?q+a5WMs16aO5Rr%pBYjCGlB7Z_fDS>T3`e2_2QMH3hrx#lK!6w^-bEUVCypN= z7J>Zd6Gn^8%xU62iEDTM?(6orT{2Q&*?7O(^SYhqmgn{Ox^<1PE5BY>#R|))uwQ0D zjNj|LanZ%)T?dd=yt&eREQV8|f{Q0NQc!_C6Wg#guOR8=0F;(@)tfwQ=rl>8X_akb=JC8$ozWQH9#8VsYXaM*PQl%1{76ZiiC?dxN`vpYgMVW zG)oI+58+ir1R;iFh1<`rk4+E~iXC@cp9qHitc1w6~pNL)D2 zZ*RI-E~Zb=O%eOBbxf4B__!hx@so`%)!Y(GjiI58bh(U;-|RfpQZ@EOj7|qHUi(TL zkQ9u|LCa+;Sx=0|TjG~tvxNES;gmzGed{x$8J=3`3ucS=;A#3C^;9oSc|D_paFgXd zq>#D>ugYAo@0ZzzMCDqz!%!MT#o(w%i?@xB zphoc@3PN{>&wRr>!+z^|=B)J!UMdD$+ao=pRy%du{ba%)pngY^9}+WZ>77DA6&`tH zl#Q%c1BYJs?6c>CW?z8{FbqgPkMNP*1UqVo4@M_m2bA$`WlMnG)R6L^6#Asgmzi&Y zQIa6rS1fuG@|A=*j39rfdGQVtS=%_VSF+~MBw8_~3aHPIUP};67BT?4Qe|B_Wzf!} z$iK>*JpIu^DHqa0z+l8w>0&p;kYMGkI5DyLha&tarE{qGYRzsfP`%ej+g1fBbx zxb#%BE0V7*}t$LSHvyYRF$qO~QWmhRQ z$BUZa-!6X(hH>vep;)o)$8Wj=eIau7vDIqujJ7|4|BPU9OD3cgmQd{lh_W7A=p=i1 zd&*T3O~o`h7Q!gC$Sx$0tOpf~iVodtQc38KYhz)af#VcyP#B2VSSaWzRpg+4kF@vFr7ChpPS!wW>VH|h{=3MkEFt`VIIsf!QU80O{$B)EW_Av) z{|u}a0l&0$qScnLKUPc)rngVH(+=Q%7+p%DqsfpHk?1pF6cVGX7qhimy^u601^p7C zLzIh2#Z;MJZC2lKw=OOoN{%m$Y|&hho=dd?DUqf`b)bb~ak_fFywLXH%;vM+8TpcH z$#^sA%V~byvT~&J`SRiSZvB;$;f->qOI(VKZ%aMrqsS7_Ka$)_rh`N%=e~V>#)3Zb z#={lthKU(&+PX4u`2kGO8)+U=Y^&A3&>eN>`4sy+( z->B(OSdUl&?iNdtDx+Z9;MYnLK zA-U_FJ!a40XVUK4r`PE>XoHVM!r$xhzS%{OpmE<6Eizsl2z&LdfLLI>_?^ zIpq1L8E3;9Jz7xgbfpJupT_NcO-F?r8lgDq6hV$J{qmg9=99oF2db2!R(&yfcFS+o zECI=&5<|r!eD?c{T;=R89)NV0);$kowLf4qTnyv@G?xMX3_%Vpe=)-;$tiHQWdQv# z*Vur3yyuoH69y}8V#1v!p%fPWPS_9Rz;s@gvLC?jaQU^BF13SStAk!}3RZ5COsx4+ z>R68Xx*Rv(GNsV!j)>$g_==Vr>PhJY54KGAu`|Df$e-uI2E>?LRt7nVEb&cY<6IgF zkUyar!U9kPz{k@|m~9nQOs#Gum2LDP=kGv0TD+%krcI0Obc!u?N-oeBeK;4v0E!x4 zR2>u^&*pN(MmaehuC!^ThCAerambd2)y%(dA9jy-AiKut2|l)1wp2%g?9pmUo?;4o z-E()t$Uy{k5OIi`-+wE1qu)&h#6Wi!BWc$Z1Mle8uOHs|ldR}pI+7>$bJ}e0c#fKW z?cfO48K|OUb;~P#&RV&)A>IYhGjtv$Cc=gehS^LWcKgV&xbk9Q(59v2dcfv%h2JgC z3JK3!n7PvndeLN!whN^5X8i81%&!m$4jn8}$<-lY{euq9C|gdN%)r7v-uCtsV)>wPlU zw(i_(E>9vN)4e%#+J)pyAqcShsb+i{v^LhNN6n_y$Ig=mkUa7%d1t?eWHsNX%IbT+ z9B4mh7@D2aXulBf@d%SCJ;P7$Fvd`vrzGKz^a+*}Yj#hq?%3X)JVe%MWwCU)RAT60 z0erRVf_tU_#BLTD#hBi@RO5YTxSR3wVzB@K7#!-0L#w%0fk4nVT}>*-Z;i6*Zyw#$ zjzbO&NahvLe5n^cq$^#VW5@st=&j6ow|n?)*03QFkOP;>KQ`C>OW%(%qS6z*^=1zD z#ZQfq3pQZin`{`E`sphFIMgCN6p4_^szC0!PGyWfB^pja0D^*BX@mg4(1hD^Ps>MR z*iE<7Myf2OyeDznbGzy7BU|K?ZZkhG#X#g=(~%32FelzXoU$E1FTzn220<0P?#U`! ztdC;6Wn0&$t=?B)F2FQ2VbsmG!ZONhA2FMC;);W@Ko8mebuC}q)U<_}LZ<|dN+t#3f7FPw1&4rC2>|u?V(H+z!UCQqw`s*~p<|o?uoBai3c6d7HMT$DzT&=- zOM~7jE^)(tI4ydpB*2jkYU-gg-gMHSIhWQ#U+d9L#8f#8XF>Ilz{Cg8rkG&QMuszj z_=hTj91w`oBYFx#It(>@*tEi6*)Pr)ihlFoQ1-l++;2EvY(Kd=Hz1N%t9H&d-CmwB zNt)sOF@)VIGxITRp~>q|UQNV`gBK0^J7{82e*xfcz*ZTD`LY5_4+a)J5vibpj7nz5 zr7K(FD?HR)A1&> zfQZ(ZkWN&fRKij7H(;;)upzAf`QAzu$_5dAmjHHRoxCVc$A^M8`kmu=l_X>qM@Z8d z&GMs}1NF*VZjv={nUuJA5Aa?P6Em_=!&;y%cn0hOJWEd^5!BNZArP-;-N(Ir9_KSQp%pD zn@$`#@9tYe?yua)@X$#8=_gn0IBw@mIv9}kJIuqVdT{kzIXZP#<{53Oi6S5618W1* zm@Vp+0SZJ&~l7*Q@l(`Y_g}*y#tSURsQ3WCfB!}mV)4) zjdVM5#{ORSmsO?6uft)%vw(t+xgeaB-|V^e%fix^2S@5nI3CVSDYc19&c&@hW|IaC z9R?TfPrpGCV_q)6Ctuo|0UFvLC5rhSf?bBr*`>(q`FsA%(F0&%iEDA6*H90`#)5q%$%D`-K#B zdy&@8tCWXt)Sd0p8I#ahXkeboGUuItRyHBB?rT`=!t~x^5Tp)?bD)O~O_Gub!k%2! zgGmv}>)4)m+Z@tP8Q{_U)`<&Lrr0vjgD2|-(iH5|*Yvi+q=XQd>?h3)zQBl5T2wL~ zJNg?Q?uUUAbFU{1>9lruyi75zM3htxKgXK+$UNI9*8vRkEZ;az1J!BH)4smmQJ(JQ z`ct$9yX;PJO+j0UF7HR5Qqv11q)urf)Q6LyO1@<-TGDaqAj-5@`akG2q z867tpHl!PNnBQM}?+Kda^lVmK)(H;?Tra!G6?O`(a9MpaNXwAT02F#B{O^Mmn7P)NZOh`^Bp!2^i`kuX3} zprHdDh@b}pLWne>2hjsV;z>dbzYn8h45Dk;d>>}huxS{^*pOxV`RZ%$s?Z~_gPG_Z zv^_o5>tVm`)%R!~V!@NTZvQzPZ-2B!@;%2T_QM>62JFJQlT*o{7G-XwR-L)(E{<%> zyL>?H+D78yD{WwddgqZe|6Le~e1!CF<)WHN4JZbW?df!70K>-Rrzc!MQD4hZRebB{ z&KIUwwx7-Oe0$cbex&Sl;un@BJbUj$d6Mo8aYa$-(P`+La4V`r zjSsDg1uohJ6AQ4zg-3`IqZrDQ|Jclm zbhMW?)j*$a@-k3BxGRIoicNYyD1$a0A_y=2JPng?WP@?b&uE z|7*v?w_5t=LG@JMKrMZmQ99ZDh@vo@@d`@nbwb;wN6>H-BwPN~-HUhQ`PRZW9duX@ zvXrd~#h<^)YowlQtGbsukc|Y-rP)8MyMJsUpjFJzvgPx_;%zallS+>+q!}Ig1Tlyz z*gL9*kIK)B1Aqm#X5ZjJdoNlg zZ`ZJpJz_J6ys3sPKF9`cq3|tj@@Tx@@7`K0A`6*L4sM8Rbe!UxBniN1LnQ2%oBuXO4E^}m| ztZC5T1Y$1@&agz!Ug`Y2N(%K*t`*E1OCLElkf#f_B9{PRS{L&JDqoVyQvfm1WQ8~J zuy&O^ry2GbjnPs_fX}!gByAY`k93{Rq9i|!atig)3>88=6OvwdF$v$0(NhxDv_%tc zr|&-PB?UOC{SnDQu<;*?@bbp6xC*Pi!22RGP?|w8lJNN*yyjZzFPLVloF{J|xH%05 zR&0JTIs?D3ytJSfKPpEOL>hK2IFJnm7&g%u<* zrh(=pkxKJF{3#Vm*EWi#%v2XJ_nMK3&CSs$t|_uvEEFd4W;Mp*Cq^umdck8mFayDY zmZK*iEqK8o?{WIDn5%WE!x?^SInhZ5i}CrJzeEpIjSPW*JqRG5IgXUHJ^^}==CH1f znlz27_O-zy+mjnLkG+H)PReOs>m`MgRiaBw*{~Xh%OY4%Ya#rIgts0U4##6!W|}sS zr%8g8*v*@i7fVB~@{x61tz=uy68*^-CDl&`W!Ae@7vRTE>pF4g-c~Y&w}9LmVSTj) zjX#;bZNN1LlZAcYOG27{mmk8tLD#z0)VZ z6}0F_ORN#OAcsP-2)*z{VIerLCwKCRm>OgJo^uIZYK|4$5GvI{o;&iVn5rty@*?#> zIrTi6I~v{&dxj%yvc6w*XLM{!K{!jMh>9=K_Z{P7G@paSqH#hfyQWf~vPKUGMe=Mk zUgF18F)CSv+#fzc0RQ7cQaEK~lRfPiv1xuYC%EOkPf=8D!AY355rI_KL{27P@=vGy zcwL_xsIt-z7DA}8Ey@0Kg^dWox`wQ7y<#rn`|qV4*nLeOohB zh|g8EB_tmB>D(;-#0>Rej*R!yE1$(0{$|!U%_PBYBgwR)5w5Ofvz7Gzt+g=PnQPC# zFzID)-jZuO1HGGR|0xdFvc)Hy88sqUvp3vdH1q4(25NCV;B94fsV#zQ>;BxJcY^z5 zD`W?y!H|0YIwpjD=ldrU6XHKL8X=ulT=7_)P!J?e2ds;s3`V z-9L2$&?fG`!yo^52kF>Ynf^=qw+L9$cJo$KYt=8?)=%2J7Z>(NipPLJa{xdoiaKDS z9Z^kamOhC?iHkq~Y>NFlgZv%RB{${PKY@fqOc0uctRPGhwm9LibaQ)y%l!J;*g)Qn zo;ca#W90E2`D!nFYgzwD$J*XM3u08|@H)wFOs(=X>+0kaVzt=Z7>4J8cyi_9a$3G1 z&CFwXB5mh-V-pGCrMOv^A4f>wko5E2a7=(!hOdWGA@TRU#C+LwYjVu&F&gy(^V0|{ zaZ4)lH_nQ+q8YQam|4?f>boel7Pf&uspT7US(DXWN}47+*dmTM{7wA&I_c@B94kOL!7qdWCNYU$K~#^Hj=N)4SG6r~5ONxt?!c zi#~dEbUBz>mBrE!mQV_2Jefs`%j<}`=&(`rz5c9%TlSun2^Z5=gqF|-lbb+)5~DAGO!{CR9plgaZ=AW(QYRx@w$oE;r!mz7Q^)8u zukg!oc(rPk7K4VAFaUou|3ZILs!XY?0{e`YiQKi+7s+)zecxkr*2Mk3Dr#Ol1-|<# zT4NX}zlrON{+hvHJ;j@T?a`N2w9bMkt|u; z=5bDRC;IeOtm=EtbvaZ0+1N*+6>95K$f>%Na5)-eC-**8oAkZQUz|#2TsKf# zpBHIV-r3Xx5t(tvT*_~vWS#DBfCeGEfF=ea7NkDP&25~3U>Xl`wk9UQXG0h8eTC6AlB*)^I?lC&pd=F#pwyoj{)6}n zV362yMLdjhH{l>=$g#z9`Jj_MOc9iv@rLi3i9`76f6zs`-|LNRTr>ZA88otwdw*{7 z4W5Mt)qbvRDVBAroba2J+RW>O>ltvObXC@TSzZP|lE45^!pIZCTe#3NZQU#YeceS&Dgf~bMfny0 zK%Nd71TCVVuO!L#Z>g{vIx}l0HH~NKFsmTn2#3W4)M#n+Cd2Oq)BRS?a5qA}bx%LZ zMMvs)(&#lD z4MKg%<)PYqcb69sJ};vpYF69=o`q+B@-kEVY_~d>LzyhHSc%3L1o++bdxo6%&}P?9M8oij8NQ>`+3x;E1+S`74b zB+T4CQ=h-oSF$Ew>AbrXtc`V(!NRQ5Y6*Ye#0mi)8pn4g#1CebRAc}n?J$i+Y|#l{ z9*dJcq?nLPNnI;>dJf@CvoMI%a_BZPqNZ;g)^DjF_8dr#L-mVeUq*CBu@&%d)~XwR zc=bqvX0f^c5%mvGIj8_02kBqNhzeHviTsHQ>l79}pVSKF+6jfQ5}UD!4o{!^<>Ob0 z3`kybO5HAcGgXSUbtHknX$~(mvpTe609vbCbNH|o zq^B%5{fV`2H%^e9U{cT^Qf>6@EEt>2Vb;Qii8mTSS@8K1x!TAe-A8tJ-*x z&ch7>u&|8=R!AkqcUm5i*R5SnQL2t4XQ$zGUL9J0ntJlHz<9LIHX61Yb_?#h`kaw+ zOIhlz=$uyGEBtiTXdHkQ|Q&cD7xS|8G$FMl6tMCJwvLi=?TE?mSe5XKgb zD#+}isj>zhI!E3s_&)I#7O_AAwE1|Pn|+^oY8)+ThX<{lSJYBZ2WGso_dn{k%;lfr zd`=($`a)g!fkgShocfYl@tRt}m77@nG_j;jjv`#>pXWiA=bj;{Sy}lzI%D1xXD^=B zSygvPn@@#X78U^f*(I5-t}sJUlgwh!eyznW!^$)xdI7?rJ2bWKquOeFQqhV*6D}cS z=grad(%<)->l@hd42Tzo*>7K{`Q#fq_&=m8O6|pEX=PGkW~r0!$EA1npW*X*w_bj+ zm+jC1E4|pF6zb!LIGJ3{beRR!GB)a@9=a-9{j_%TrliI5?3}4E{D zgQ%{GGi0i$c%syE&$mLDp~BN^KdbFlcKP#gj4|N-`t5mFik<`fj}dlnZ?-^Y0wZ7q z^Sf)63^|NsAh2N*mhb}#sxf$CdU7Y6$K8dDM}gdr^)NCBGHSqYPBCkh;^Xi%77(<&f%j9(2SBvm1LJww<=!}NUoT!# zzy#TG`P~?Z;xh{PksOo>$dp(}+E9r$%+Qe^Uzz@JX^UQb-YmRKfqkt45Pg*pik2@Z zd=OW!C=82BfRD-HCGdgXnZltqd5fbemzlc*>)MHD7lF^5iEt~YIwqtB2SJk65R z1N{XoVI9+VX!JSpWo@uvqeCl>+#T|hL1G)ryan)W%9Db99Sqj#8ZSZU2a@? zx-NIPeO5^=Q-zlJ-Z_5sAnM@dFcpp$QDo9;z40|Igg>ut80Xl|Nn(-R9sm>A?Q7*# zUKR-8=fj>UgTZ>^I(xZpT6)^o;IQb$$vv%-g7HW2#BiPSu5@ky8oXlCmswV}D}uX6 ziFXs8cYUVuYR1Sg(nSjZU_R7HpTR6Da)(#X@ zywC#iSPo$FONf#dX~Ju93JQ{4H$|1K&0^IEt{sLUbD)b!P!s}C6ELN zi-GwMOd<3Y$>hZm{^oz|?{&tPL^7mnA zdObLax&zKINdJ5VM;>rtBTrg%(?d#NO)GBNheFe$T}kx7t%d$H5Gm(+4r6zvQB5Eg^C~iB>!YU!VeeqIe<&y!7iHW{v7Pj z{_+U%)FM25CIA-Ca5YOkX_|6n`Y7gMIjbHsKG(M7H;754A+NF0o_8m&YxFsKrWAyQ zOyv#>EK3)gZ`cO8v-LdpNoJ)JS|pQ7z;t95O5bI89UehKESrUL>2 zJcpW|umadCTp^>+-Ep{)MIxq+a98YzEjBy^+fNVdr8k#QS=>S_1`%`;!TP87q~}`D zIUxZ_hg;zF&FCsekxh(YuW( zhE%hs`j@hv<}!I~k$vB!b1ygL$s>3{z9@#^-0mfsJl_3yT_QpnV<_V1=Dag8!C;j1 z5;j+)zru@E3f*ZMR_ercmFNB1r5-N62@6(gB5C$%mMHSI=1IP#)v5&;Abwv+#z*wH z2eqv1;|&uVSajv-CreC_W6ppJeCD|V!o`usJCOz>%0yR?7GmN5gx(P+=0xYEHoBYk z0sA8HD;XV;Oi6NxyeVA3w`i4?E=j-umB=y-Zl8zMGc-6+6iR8;K+HuTBq}%ok5A1i z)MWa#wJWuIRkB#XtnoQks`SyomOSp5l|F)S%muyOdlTtPk(yuA#Mbd2rJj4C2Hn;V ztCW~_z0d;57VSibey^1I^OSGGC}TsIfJhm(IEJx|8w<~8%^!t*7<{i~f!Iz9s2$A0 zz=vTsMaohEHNp9k!+{}&gYPtH`(gp!^G7yk0b}Qr#)XH*fOwJ#L(Dd<3VZbNRnnFK zFfob^tkA2{T8M*V%;?9NC=zM4bU5moeL5Od)SW!m_u@r)F`v^VvyI9xctv8o!p^C8 zhFJzQ(GozMA^$Wya{;q!wnp(jXQqicX`#LTQisKMh`?v9@5rVz3WEt-hda4stk0M} z7Y{_nS#}))d5VP?2!p{lvWMm4m->ZmQ$_wb$wQfiMc^37SK?-unqRsuL>2Q`_cA7} ziQ%XQw%XesXWuw)CVzPG`FZpz#mak#Rg(VklN%~ZnIxz6d>ee@fDMaXzKe8+q%l89 z44=t`v(YoIs`=7+c{8AW{`Gm7T53p?5|FPrPZ~I;Lz?Goc0{4VsiR|aiPn21YtfHH zH;!GTys63WQPr|f1DsfR9mSNc+@YmlTCKm_dcM^<)cgfdh)fETZq$E(a(K&*yz^Se z*7rxrfZ0#S>%NJs#?d9&Z1)C&YmQO5!hUx`*gFJEgf#l&e&dDhx-EzE(1iz_t2RVr zez~Pp?2cab>Sm0Y#h|A(-NgGw>ts@4<=uDMRbK|-Ri9_t zscek0e9T@%{WaYRU>3swG~S{|UOoPb2mgHXdhLu`N4#FV0RE=2nA z+UE-9PekM)U;-@CfSoro239gVx{N~#`xX@I787d7ozkES!I=}7)>h3U0z`nS#>;wE zk(w7TUv5hTiT=AjuAGaS#>Gr139%@2va(oQ&Nl=I(mI`XM{EG2LvU*HV={HAghnK( z=BtpGweipe2GU5AUy8@%m|fL+(;D^{nH|Ch3h^H6!Xh$i!Xk3A4UHdaaR#lm4G`WW zgYBIYE0b!izzCj+xPC~xvPKm@2?8*bG-BfpEflITy^ZqXOsTE>4gN*~XvZI1Vh&v% z84C=X?t7GO>fuXGDSO+(4G{%7YP;aST*@!hmyAy^nr5x2x%H)L2_b;pdvk7*k4tGt4L#Ss z4H#V@S-c*Dwr+#r^PKTk&#r7E`Gj0UiWS}D?vH=P{f}nOJf5mA3iJ|Xh>%c(l1Ad( zd(J)gHYg>e0cn;Ji6ld*P}I**{8CYA(x3qiD*aNT!I04KQ$#6>P#UN-D5ZMq+`9L0 z*6+Rd`MmeXd%w@`^T}S$y?d>F_WJI<*4o>0in;Gp z#_N3~dfU5qd2g+{)P$tAoNm-Tb3%2MC+vf|L3(Y((ED+xCekXgN$b)GD#CNl>*CCV zD=Wr){deG}L4zWFr&!CK^UCZUyVvL9;*Ym?&+%9jr?73Zm)};w{+)b}APzCA6SZ?JWvcheM@4wmwCY~Y z+#59NQ%dO^UEgfiWUn~o)~og1bBb)<&Z@2+Q)8f6aA@Ez-CqZihS-|?Xg_Z59o};A z(aor%`YrbAPZL`HD@jfKpI4>%qW{WD|G%zEle`XRM{Q$HKb-2-ce0+$`(I5qfiCXn zr!TkdvC%G^)HIG%8$U#2{J4RJmUHCPWi`~a`Wwp0EwWUL)YFR8i_F)T>lwaDPj*bh zJ@><#*1UY?vi4<5zmQk`cVBC(oJ(h4dw8$JvhcwA_J2#-8;z23&uYEeZRBaU_NU{6 zu^%GW9eZ-NOHN60N(GhK>Ta=OLwjUyzcv%IkMC|J+dJ6rpY`PN-NO0RKjIA>zm2mv z_11ZKO+#B!-U;U)eV<<_`kqyMv%p5p;O)>Bq9CSws9;c+1M#^z)qAhBhMxK~&_}-4 zqaVR_pSyfJkm=9lD#K~3_8FUoSBBnJ zG}oNA;rY!Zbz@ia$+3~;`mu^#QVL>XGgmrH=_UJUg!-ARg13P$FSPbHZk_)A*s;J% zmgiC|6`J?=a$P%eaJ5q8hU#V0axdIb{Pc9ova9Apy714J?yd`dd1`m0j8j9wnZZ|A zPD+aOuh%HuKA~XIp)aDcZgyUAYoGUiFe1rlqx0hI36{hx|L7rov-=Ats`c0K&wi_R z_OLO}%~M%qUOpq)I=Y!U{KhyWPkUtGBzH>F;xB!-NX52(`YXO}R3990u2F3^FKm_d zl-fOclU?@7@6owFH*i>5Ms3K@d$LBh(K%6zx2hj{D8DA5F5V+j{<+ZT4*x-)DWeBj z?bw(wd)K~kG4^AsKK3=GW<<@i^6g^0f_!G);@`E+RBL-l_?>8b#}mzJ3nLpWjOJU0^<7l>Qdu3ndCy7Vr~e?+v@>shpnrRQSYZn*2M3Hl0x^k*Y2s z$C{Eg8)bUbhF!dokmF;WUbd@Gz?EUGeH=@}2QAicDBpA;cJ9XLGjEdBt88nM)u)}g zt}^5$HQv^v`nc|n=VZgAslPNfAB;GD(q!qwl5rK2XCFqllv_gO5&GwAo|Ejg7LwLoyDZ zxudaW$Ygt&ybad5hrHxGMtAS7dbl|??#6?Ot$Mzd*+JEZ@A|)utk~RVK(MS)pLk6R zr-W=Xbuvk>MeTU^tW|cSi_eX*Uf1Akx`4NM^B0Xw+Y=A{`&=ow-NV4z!pbFY?~DGm zO&Y6^h~kkmT017L6%{T$v3s>+AB`&l-ZPfE_-9lE{(%g78aLp z?tL|7e#`;w5v9$2r?sWsG;Y@oNnKmKFZ|uvm-!=}3cM`z=1g68QpbH=)XHUFfRJ%wjVK}Vc&jvMZK7(TPRy6N`CWmcFX<7nt`vX3=FRg3T_U#kt+JqJ^Gbt zN$c|2>z&8lcMfRJT;KHTR?dt8tJME%8RGrlEkl25r3AB@{eM_1<&*3|DY(v%M|6>q zk;zZ`Y`#zmr^)%&h(3Lfq)l@B?8e5b=Kxk2MeOelXSP=}MrN7Ut>fG;+KvSMbssrfC6G@dIKnsyn3j)*-N!5T0f;^^n_vc##hWtOn2i*}g zw4|C4LTE`cTUJmQ)uW0WGO6JRY>9y72hWlIjB0MZV-cz{pY1lIp?(T_o=U zeh0cp-UhTlmp|_V^yGmqV54NnK^L%5(gIz;Mo9~FA*8zSK^L%5@;lH4Y?QP>7qC&% z0$spHNegrV8zn8!1#FbGKo_v_Pm2UymY+B`weeY?QP> z7qC&%0$uo0T}aS{FV%$vUHDR6NYDjr{PQ^qbm2>Np+FbDR2K?#;Y)R)Ko`DL7YcOY zOLd_@7rs;%3UmP*B|U&HV56i3x{y*`DA0wJ>LLJLNU1IY(1n!hA^=^O3iIzV6M!yY zqof78fQ^zC=mIuMTA&NqC~1K%V56i3x`2(67U%*t{%O&m3)m=Wfi7U9qy@Twjgl7V zLP>R@K^ID@3k|w}jglup7qC&%0$spHNegrV8zn8!1#JA&5`r!QsV+j$MIhBh2)YQQ zx(GoRfm9bE=pvBn0xaSSq`Cl%_+X=?2hfF<>H;|8(^6f4M|@hU3jm1^Hvah>5Qz^q zN?M=`E!72>#HXdY0F(H%R2N_ppO)$ZOyYx$l5YWBz(z?6bO9SBEzkvQ{L>-;N_;R< z+5~M_;u3%*KFeGJxWs3vO8}VoEO!YY6Q3n70chg0>?MFre3rfhz=_ZDmjF8PI}jM~ z#P5h;(5eH20Z{x75C%f=J5U%9#qWS&U=+UthXGP#2M`0L$POe1OpzT>44fia783v} zl7%q=q#{`w6M!m`#W4Y_B3T|204tIOG6A$ASt1jFE0RSr0lb2fQqq?Kz#>^F6F@AI zr7{7?B3UdGz$}vGG6B#cSuhhoEs`ZO0oWp0G!wurl4Uai;38Q#6F@GKr85EOB3V2W zz%G*IGXd}-SwIs&FOnrR0r(16TmW(RC0YD>JXcIs*lBG5QNF!Nn6Tmc*S(FpNIg({L0h}XQm=nM`lBGET zoFiGB6Tmr=!dIg({M0h}XQs1v|BlBGHUoFgSzALT>< z=SY_81aOXI!A=0@NS5pbaE@frP5|dfmhC*?9Lchs2b?2Ww)22(7%Z07;zNS5t9;2g=aod=vFS+?_lb0o`l9&nCi+0Fybku2MJz&Vm- zI}bQVvTWx8=SY_AJm4I~vYiKZ{$ z=gN4@?BhHqUX3_1idh;sG691Vj*Mn}njaiGw$eOvtc|BNH)T=_G@2h?$HW8RHFHnRqkLc}|RNj*Mblog))4e#ems znRS>W6ETZoXBlj7xMK=|5<@l4bK(e-BNJ~qI5LV^rZ_SIvu1E)G{YH=OvpHWXBqf2 z8dGo|^jRK{p*ZKW;;k`9CU!%POu+1SI5L`9BRMi5vtV&#B8F<6We}5M84v3W(G{`- zVi(jeL=9LbPBd`(6*Bu6j!cBd1vYTVUf2;KonZrlW#SdSb04r`B0FFSLOKKSu}p+~ z6~Zt)Unpj^<=95?5Z53SV|IF-^#k>=Ou($Zoag>yPEsOfx7+zSfjMF)1Zd0-g!3Ga zS^qgQ@s6J(1B20X0%jM+c@A?D!Zv1QiaS;p*>O+M59HKqs=MeHCKZm#v`8h;; z$j>37Fvu&_9=lVIsjL6R+a72C%(IfJ6h#Ap(4(g%x9LR+H970I6o{2Zc3 z?B}q~AUgy+?B}q}=CTPwNbKhV0rqnNjr|QQXSnl?zphU>S~QC|GBZ9k9+Ionf89G8*|gU=8^>1?vnNdst_%49D0M)Q6BAu+AWzVV%J; z8u>W|>kP63QsQXrVH1L7O!lU;&rq<=V3{~`*vY3UfHtxNV25;ubq32s$j>R5_{a{J z97tyvd@K`ZkUQ%~iIY?u8IHkVwM4lQkYPWfXq300C?OszN{Dh96yOip2JsO$j)xIN z%%LEJ;Kuf#GJbCY9+PJ5Y_C9EROHCSMGmeE@sAR~Ohw;E;W-XVH|`g&J&=)M(t@0R zg?J7LL`>;`^W1;<8*R>{pgTVYX9>_agUg_PVXZ}Tk`|Y@Io~HPmT_d_ggi%v_Y5#y zn8YsUIh^Bxr%)~pWY||}Ayb~u zfqJ-Kam|R+hd3?Gk^P5X3Skq6`W4{yNJuj!5YG2;;=vFPC>t4?P51K)gwqd9`3TOq z_%88-zt{ZxXDdTz!_kWuf%$w7-l9cIcy2roH*f%Vcaewr5)q%U_@Dh2;tM{x1iA;m zXQ}`kMMQW(f%O;}2Kf^-aYao1j`MvG(<11KcueJ@bH5^-G^0e~x+&*5aRG%RqnP>| zSB8No5-@cf&T};02te)++bcvHbV`I1uOLG}6qw^=EW=Xn#041wBE$;F@gbFs67V2H zK!mUqCFKR?6xzUn3;|JKE()rP%}XN5!a-E6KmUC`*ePz}vHSNr=J{5MuRAadsVLh_laF`!2F)+H)s=+ML z^qpgpj8lqvYSU+T_XZuRe#$M;aF4t)MO&*9eOKkb`xGRrWNvBDIz1=bCwQ&%o5HC_ zntOdtIqz9P7_8q~(|-T^*J4p_X218rI@fIDG;X9`FLtf}VJ!Exa6wbln?rrQ&Ug3E z-lKjo<5~4;nMaQwTwC{uSGsyyzwbW}m6sk`A6p|_tCdsu)&JR-tR=pEiVH(zmOl%M z4Z6Mdoq2`vcbi8?=g;?gSXBK_^NgvcPYha?<>{)Z^>Wwy>2_J=g6_kr2R-g>YMU5m zzV@X|?)vy!@9*4Lx$EOi;lA_pd`=7%oQm2!*>aZh-!UmUSryLu!E!&xd?@xvo1JrQ z-P|92-$coNj{K&&&c1fW*B(VDn!T@Pk6-TirX}=}qFKQg$B?lb+C{wr73%^k`IAQ7 zy`Vff@VJZF#J?BGO>~QRer$H#9=rDH_-TeiUd_KX(fe=LkNhJoVPorxR-U)Eo*R`> zIb*p0iMpGwCsh6r9IVa?r5BDp;a-;Pbb0T(+zD+rb64s-Zi-e`RW$CJpC-F4Ej-tA zp8f@2@NoCxkX;H8d7T7psn4&Peq4R`TnqwrW6lL5sKN2nC`-^x1Rx z+n_ah`8)29z0qZEX17z?Yu-H_V{q2Mr3A82l3HOKR+miHYnZ5dE)E+&`<69;{+Ar%?+xxsJ`pZ*TM(N% zK*6Ln;H+nL*YB<=mUpJzJ&+ajV*m3UAGKP$?A>tpm5X|bZED@$b)_bHe>HbmH{(;% zr3?jE54rc0X6n+2upZk3-WbeYpBxtQy)^5F-^`rAPqkaebf1@L@zb?*@~Y28OV)*N z`Ld(3*yzpAuQPp`-q6P~PXAc?rljq{=gr+zADb(XO?2L)Fe5e}l6{D}~p*hIzN_^YJE;@XoFm~s;9q!xqPd@igZlK0^&G-4`w+y;g z=pVJ~=eFU4tH!=A#{aGhG%J&@JM5*VZ)aUQdcWTtI-zz&b+q>O=aq7|%Ik-0_fEDn zE$o|MZIy7{dtb=w@^fdZqAE+a6~~m6yLgWp5qjX2*YKCc@)?_sR`ny+MVDmfYv`Aq zQTEDA;{`N(#Vp<8yVlAEV-e#q^(#ZTMt%a41d44$9gwPMHX-I+NHh>r=Q4uyShPW21Rm?OO49GZLA ze$21Noa5_f?yRQ=8dU!CJU7?UBr#3?Th*K?eWFuFb^ErtI3qv$an~EI>AC%Ot*$@$ z^7Eo)Zd*#frPnI_GS}$cr?0YQw;r#0DDyo>-u<*M&Pe9REKAoE|->E3q^7U*miNq-#RBax{vJ3NCmkGNxfI?Dp|8N{nCN*!CJZ6u^Wdi{kA!7PCuC* z7ZsBRzbSU)>s@@Mr!^@$Zp0Lg7jaj;&K~cY*yVYxj^2gMSIRy=yF91auJ^Qr`SS+c zn;{<`N)-oDI|6#lNUiU8uIsq`0JpUT>8q>0MN!U zM`ghc)i;b9_xOie+%750oBLgX6sR95$t~YGuCMQ&szR%tQ*G(2kR z8pA%HYSen?bfjkf+Hd#m?azkx8l}5y#PSVh=M#-{os{2`8y-!K9l_H%J1(#JgX*<@ zrXXh{6EYvtr zwS1J%_dC|PzScb5%(lclH;2dmJ5N5c`()VU-s9MN%eT9Rx|$ySGV{lztFfjAZsDh2 zpMPDH<@|o?g3W)+Ip+=X8J?x`J@lud>f)H?i6P76GH-g??@U#86`uV_q#aaRx#xyQ z`?QQ$_vCvrH_H^yMJ-V^Pl!)zI9D`3NIPss!ZydfQ(WKKwuVnpC@yH$8EHP=?8Ayn zW4Fo9`g%4aquc53UeEdux|(}iy;4&ve^VD9a!A40UDlM*mM%X{rmq=)X7Rl4ZC-7! z+iS`R8sB}CuPCg2%Wj*0_wPNJ zoi^;3sImEM$*Z9CWp`dp3fMm6in`nTRgm>3iyP5!JwL^uwZ1(tY`ej} ztuOL^2C9_3NiT@8y4$_Z^^BZ-qf+cjfB8(AyY+7et!iKQMD~RI*#<3Lg9iNp%h$ze z)gI1`>F+pjU8P~uoL)&6Ot zw#t0hWjmK#9TQP`{91`_6kV&hZS05Q`qzs_2iAZ4tUI%7Q;V7DwacqEg*;pFFtz&J znXwns7M$Nde74_*@+UJde@yV4Jw_`@Z~gnzH4~1XeD~8fx~pyvYa_k>DK`JEZJ0GY zOtbk}UVGZI@qu}RcIvq*9v&Ft5?|Ju`SIrWALETChzz$CdiqV#C(3-^iWD{LZrvTx zZ2el^C(rBEqYqgN+h>H%bBUf^d!+Y5h4c1L0xpNl_+julBji)-sHX==MZfDwidU8o zINv|+X!^t9MOK^oU3hI7t`&2>*j7Q1oMb-6&%I*!o=bzs_vb^Ce@<~-kh5)zTTxIf zJ-=Y7aQcsNW6ms*Js5gv>S+h%8L4rB!4~=(dIiX;K0e_)UHjBn$ErCNNg?x9zN%#%2)@X$!ZO4q;g>*hD^EioE1 za;ANm%yvCxYRb-;4WaWIBEG%ez20R^?xVgH_Kz!y%B`>Tt@$bQAlQ4<>{E>uX6a)u zKFNBcxgh8KsVuL)VG6VB`?lXZ)>QMv@#N3(KQ4UJ{j7b?;%O8y<)Y$NnG*?X_t{Kd ztgfSN{py^3#sQO%tz)`IG=$1e`N!eg^+NTNCTh7=)xWO&SUsD3UvnX9rAuGCwChDcgI-OX0dTC-z-o@yrAzv%223zbK z={r%y@NrVus(>|B%f|5b-fo?=aAdd1vn(|OXE|!lQO_UXnKIBnGRgDPkqyC)N33+n z;fs<@1|}LV>|Zrl=L4x@7uoH4cUj?`l_5jpbWM8fvR+{n`K-)pgtLy>)cP0xA1}4# z^L&%jXFV<+V{+hmlbVtIRUNzVRkBt~p2+a#=nPXW-BN3#U{pZ5{6j zk-bn`Mg2kr9N7!!<8Z&?gW#QYhKexmmqK|O8V=~p&6j`-t~pg@oONFc(zqRmm^81nQePeaqp zMFGZK_V08;>K^53m|8rt7l4K4Go-Y*c_|tk3B6yKfVf|HnMfA_Dl9^60rQF$qJk2f zhemm28kP#wFPtMm{leEFd%^XQy+YVrZB zTrd~&N{A0NgIA)05-r3BooOMQhC}^|P_Y|I_Lx_2&IOG#q{q=XL#+&rvq*doRWc|4 z_q7Yj6R_kAwNTQ7JrG>`fDHp|*J$YmRtUA9j(swN4Kf5= z;1Aje2_ct{#u#q5ao;VR`#}|aA)Kzn{Za_HP*g<~d?8$^>d-H*d>m%1z+(Q1yfZBXIQ#{s*0)N(P5iU?&byg@F572y?is$Jy^f zbqkJ{bXFctt%|t&djgL4i}yJmOhH#N{xG{xWfzt*in}9%%b3g!Ch>cNDFkN*IXyzm z0;`?)_v~NqR)W9Y4drRrNGScTPm7O|GWW8Tpjbo*l#IoNYB(_{zV*m5(RiZA5+!D; Q+FL7;w34y$MEK!<0E%TSKmY&$ literal 0 HcmV?d00001 diff --git a/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2022-271-patched b/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2022-271-patched new file mode 100644 index 0000000000000000000000000000000000000000..f609064dca791e7b6c80908182ad1c1e70ed0c6f GIT binary patch literal 4408 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≠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

    Pjy`*#|XN&4q4MrM#2Wy8>k(qP$ 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 z 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

    F_%8=&Ii_F)6p%$p7Or6;&%-b=0Ho#3 zN`Uzgu22mVdG3aZM1-8xFt16+fuL!>0&}F1v}ICgV;yCC}H6-B(n})K13^2TT*Umk}#7*5(x^GBiKnI35n+V3doiuA?l+LL*?X_HVHGk zX9P%35?KlGhlG<9u2G_}G)h>)F{CmO4t((iq#`ASYmz7|O%j%D26znFtbvyg(F)Zd zQE(JLfnpjVNEpc%CZ>aHB@jL>r-$=a&72+R7sWi&)f0n(qv0+;g zb9T1DFgip46S^z)%J9fgbfL2{6vf%1IRG0Mmpgg=*xA{k&|vV*+1Riqm1&70x)@ZR zdt?j*{Nm`aqedN#1)<1g%nu8O(v2msHj8NqbVcY24aoZkMH63#aALZ)*l>Xl1Uf6- zBIB_jBnl+7tz4oDMy1fvO7L|!#xUBwPamPi_oI*KsU7-AV8>ij_KU7BM2%n*kASK) zRE#Q033ypc#86vO=+#lFRSGI%016WnaR-d(^CEPL8bIjk;nr4*HMO@92m~Y8Mw8Z~ zJ)4F?AVyjM1J7^p1C)lB*?)5h1@7-a;HY#{zbG?m#9=m(4m**aJ$LNZ>9kYlX-OBl zxqEBkAq@KgCk$IG>=dPkc`X!^DaYvfn_QIo3palVn-)eXb;?kkGAhg%#Z8lvj_(tC zMr!pCs!kDW5QF&%yI^d1UzDJsF(R6c1wgARq~Q9rFAoPwEoOr*0Dt2sEFAq{->*r~ z465N8y8yu18Dm55(WfvbqFw0M&h2~rz74DcAer!en_n7tjf*S=m{m(i5n-$bmeF*{ z&oDKJFVlP$0p$`wp?U&w2(U9}F&2uP4h}JNCJ^**giVfO)~<#u;^rCZs_XBGqP$Jiu|f&&oAU78WYyE~*Of z(<|hxsFETy&XVP)gRB+RLUsP)cpjo^KuC+Kl?d|@)k5|D;&|?3Ef$J_bU2D8Eucjb zlENKpfk|S)oQ#$=B4kKs9l{@yPF%QyEu3C`W@>{m9VAIZQ5Z-^uiPo1sBLlKj<;~` zN6Ls)SExfSoM1;R7K;ICD4;MI#}oDDFvIFo zli>=pfKyz^)+k}w6A%g+y>@^k5Fg4Rkd9=|#UOC`F9b0aIFn#e+y@>6ej4k z0kDeqM{9o2@?4yt2h{X(0(vlKG+~&#s2k72c;l?YA|z;ej{!Xa{REu-OYCN`=vHC3 zZXE@K&ctjrTc$4nijl2pOrf4q-l|GcyQ&JupiL6-zoAicw)I=w3g+0hM)*8lsTXb3gU07%eg_Sxf7-|JJWW)=*ugk+sVTi>lOe+!okaT!q_jQ&Y zD8^AEMN4*AH;oi6l=#thMT}?GI+?TZjsJ43LNClS?dcc~8;g(juUUyNAF>s0KSwV; zG=;^IjUknRaA=`K{)1s_30JsNZ1fUJQ-mzx3}O=!K!Vkj{XRA)R#y^C4Z~`q${ypQgZ=xkIT~isTF;wb9(66hgtQkUCRf zCN3z84a5rC6+xP~pbQIkjXT8Q^xEV+Tu}5XP*d#41xH{;?BIZdvww-*Y;Umw$8O?+ zGA!Kvj-6hkoELV>Q3Wfq5;}^3-eygT7ReM`Ct0{o7gx}<1>MDUMYi)A(?gPen_&yHAT5AT0!GWFe&ux^m-o%9+qG-=-J^cKbMOsEHit? zj0+38Pp6lNGh684^s;J0R1iJ2LN7$lqfh57c4gd6GMF*NK|+y#o`9fgnHXuEAMBvV z41P_~cfoM;?QYE`mwvhW^nVV8>yvN;vzM*v(|Lps~|yCt2+DGQ;l-E%c94swg)qBvMCl z_i%>&AE8}LjX0L>1Ozt1Qdt@~%$er9yup-}%>>zujSCz%9m2=Vk;Agn;xK;&JELxR`TF=*l^aI-b{ZhL(AZdE0JXM zx}*YHiB!0QZH48ai!qao_~<^@N_?g~oy)MKFk^HSmST!lRw-alMKstl(v3FZ^Cg=( zEQ?+Thv1{a9gl!-$v~Wc)h@r0*V)qDmEHn_acn@hF@V+zb4QpV2eoU5&tQM+0L(mI%Ozm?P47)6m z@sQwXMeEOSF=w!ex_vW?^_MH5eAio|^;Q1?Fb>5EdD5Stml>H+3_LvaQcxM|LC$As zD7`Y&U+6Ck#BdPyTvmoct{gHyBLM$3!PaI;A7B-1kO)OkgHIKf*IFDv_9rIOkS}C1 zqOBlWQyH`C&}*|y8w%}TE5*Q%!bmLy>=JYiq#x!Yu)>pq5(k+LLw`MUTZUWVXhg+8 z1EYd~z3Txez0~R_okY2?_b-uKiAW*kB=#Vv6 zg`0wQzW~$I;{&)NWy}>gV3wSkR>w5H!Cglw^_obn2c&0f>fr?ZB!>mKauF;)7fBsN zWD}97i9Je?(;srBHSOx??}$OxHchNX9it3~Lseu1g#{?%F+WNlqtn_8U1RiNk-Db- zZJh$0++F>gd^+0;>5srgSJ;Pu!n`%HlzW0IoWeY)Xicb=(qV1=A(a?mFYHJq#6{}V z(M@3~ez>wT%WhKnR3NdIPFIX1~2tATx#x&bIj9_&hh4kbJaxrVlKxDNrPg`861=L8Dk)1F7R)Lwn{~JV&4?8;ff&yTrLBY%y1V?%#o5G zY~IR1V;#aq=Tx5Th{gxMpjR*(Dp@e6iLu8x78&MbgE?4wf`djT`GI%JItrT2r2p!X z4^Yt36~lsIp)t%Ug~bb^AI*XLK@Ri*(* zf)2g~CP{TL_L*J#{kGY4KFb?vcNM}^7fmt{+(QL(&A}Ei6)%>n;50+WSS39 z4mik!l*|=+KbG8SDW&J$OfeFmU18^5lqwe(Q4Ea9?&F&`!dw-RaZW8tVDL~Bu35u) za+Ua}834avIa;|B;jx6q|ZQdLgpWjL2vcso73;?0wqlm=_TdkDDTuz=kM> z>lLM(Nf=`jNYLcIu>nXC3?F~6i&(ClY}No~L&pMc0D7-CHe^-GOpCA` z4&4AW7v>?xoV~`F7)BB(k909B$Pk0{!(7R^!tcWM7Z8j3FtnBUtdUi-j;BE2 zdBO(3dCMwir#yqK8lf6w^{1d(A*eBa;Bt2@sLP1B?{E7Kz1#Itir$=&hsPX zk7U)%@XbqBnfWGLW|w+7O!XP(n~c|FXkEGabCO)1lgQ9?i1~9;>GwH2LwPWTV4Nc} zT!W63^9?z@O}lw{a#%iK`3;2#ZOUi<9E3p`=LFerz+=c>GkZ<}Q%;t3hRyrYjFs7Q zBA5d=DUY3pvxSK`W_x~IrVz24_CvY>WJa?yada>RoOlE|i(zWe19x|KYYV&gdq_MK zxRms8b!#h?!2F=ALgwP^K}r;^5?8Ui%u^0^01Ohj+|$j|6L-Z4PZ8k~4Dk+BEXrg6 z^Mb#Q#zq% zIK+&2P^w5ZC2S80SV9QBDQ&1e41>m!3;khQOe*XKHnL3a;sQYxlrqBBChX>o*@HW0 z1Xe#5xu9fa(MYe#U9@$3_2p?Vg}1$T4A+N*=Gqx_0XBkhShrRf{(J3>H5;RWrx? z-lP+Ezutc^bB+Jh#LX@1DfV?w-}C17?er_p)_)qXa$koJAHI@_Gp-Nb@IsUP!Ta3r zd#lwy-;lc4V#?{yy0rtEWi%A7)rqp33GY36C(4K(X{(a%kzd^LraXCIwP!^6*~;XG zUnTX2=3J}Y^zp7?-zEnhwSQVy zKgM6_;(KDeaK?cao+~Pxx>Q45U(v8c|VRl;2(bc!6ZWumhA6915p&O(A z?B`Ui_mvip>dy|a?bS)Wq1M5S{)aQwi(Jbl&8<|_#dR%~arCUZ!lp*uPP=3FPxtwF z|5>kUPi$b5vJXYXxIU{E`!()1Ev&z!??GKu-~I7poij(rh8{e*F~i=e^U^p)wK=tH z)OUL<85F$w@VQH~dv9&I?DNV_51gi57`=*`<2hz#llrUFqP3%k%4r+^pOECj-09zTxPsax2eP5q>mpyHMQ>EYB8T;?>0GCwo6R0&r_FPd+$7zaL}#4 zE$JT=_xQ^@>6x6nk8gCje*R{|oRq~q97`lzJGS=u=vNJ@eHn7hq0zh~ugw=Or`?|N zZD#4Q#h$)M9a>i?Sh}^z&E5T8=lpiRl>Hy7F-z-C z9KT`Qyc<_n`6RC`d%e0Uh`dIPZePDj< zw$z}j9m;qYOL>1KxvyexyDNUDV-Iba(M0!R@%SX|(LpImy<)3e-s~oAUVcfR*JPq< zZ43JkhhARTyv2U*$LabSe)iX{?RU6zx_I-kIrw51ha!g${}x6T?;Co;bN}gy7nYQ6 zTy4YnQ3E`BE|z6Z>fY*X=$jsH?dB~#ak=fi)(_Xr>~Vj(*ty$i>7gU~x1~JZoV|gc znM}3z8uzHrqnzH33){`D{Ps+7Nu|drds}2|ZZmuOx~{>?GRIDXhQ7F?owIQ4j><3A z`ZOOE6#pXL$+p>o?CM{7cl6oaPxiZTX5#^gS@V5tpW5~enGq)$lQHo?9mmPdDr}b4 zex6fi+^mw_YnQWYwso??WmeYX74_PFS=Z%V)8T(~-g@d`h3FUA2N$Mqi>>h`;MCm_ zM0Xy*t#D~I_hzAKkt_GCdh|-NMZK`y_1ZO}-`xrPbC=)7wqHk; zKYuXeL7%K4A0B8Eg5yHQ%nwSe-e=+4Rlg-g4~u^6wkY9h=MMd@_SkT3xMQ97Q}#ay zYx-uWWWiVez{kte7BBA=`Ssy}6OV59srS(}Yx7}xgHAvCx@GB(k3E)+T^_i~Ek@U_$!||HYPWIP`ea4jx4-A? z5EK*qb-UIeTa-GA?Go9bROo5Z;D|LGnQj$gMI)lY0&$NFkBQJmV`5|-s5L5mqz?9~ zhLKZlJ+W3z#Rs70UsruHH$Vbgn>ce0m5*I4*lLiKR@SMNgyhB zXrtt_eYv~xDM#0@9ABpU3!j*p^uy>f%Z zSV}A;ZXlyIVUYADWB)Sd(R4cx3i z*xSe`NGS$u2jC0zWG-@C%1~aQULz`HVf16=wZ ziO!Ixjy{7}ei^-GAblo7XU6wn5sQpr7?2GJ99H>L`XFIv4^LqL6|V;-2Mb;gMl0m@ z@~6XQ8H7L|VF08{69zJpfs((O63n=>ND$D8{us>LF?(5{1G;MHfMyzWz|x6{umTd2 zGL}wE#14Ihr4z|)CjieddkLTe+FOba3?> z3=F(g%iTn7#1PEtcD)jGq&(Fq^@n1GcJCW&?F}g+(f5=#H+iNTm$5 z;floY2^3w4_*hEsyGkDzUT263w+u`#H88!D*#iyTVwoOx_F~Inm>zC1dxfC`Lk*>D zV@m0*w9vQc&8O%C13+eAhi(~4W$p^}*?e{^7|n1M;8^!j}I8AHj; z1Uq`zP%^#PoqonpGBY_1l4Mv)AVULuTHP@7xabyJXBo3h5?wLqCVDw26ewe6577Zz zGK3PcL1U=)h32fmdbB{0zFq)){sOF_dE{naESJONEb9~(b_OlM#^W2* zH`4-ics?Ef_%jjzv}ZUUe)MSjJeRJYXTcP++irju}~CZ1|j2k>Y01jFFmoKtuZIzYFbW zBE`+187Ca_fQEERK|-^LPc<;6!Yao6iI{OSkhs7Y2%ZN_q~!||=1*u!bLO-vQrrxj zaZV)yq_`P0{QJCR9^g#O6W7i#JokWK z7;gV;D74VZ_(3!!`TyEG_t;9V^RQEq1h+J{QD7%>t2CXi5_s8&yz_q0yR>#mE+k8o z*Sn0@^;R(EafVBYOLED(TCP(xMqwqj5;?XM*QuStbz<2`lN$a*b+Ecg}Y(Ku^Z(H@Qg)%9wBjTyb)`Wj zB9&pX&_??;w^ny9NKL*fW>Wk9DE3%S7^Eu_)IapV8tNwR(l0F|aPQQss@t)*2R`(7 z{=2{ zA9?f4xfAI__rCGTyZ+Y9J?Wd?_T)$IoB5NwK7aqr2M9Et{0BdHxo=cX`a9$QzeeF5V@plulb0u92gBztKhICDPrhriKWb`5#{fd=fy#Do6;%B} zs2LX>!eEz+1NK=MjJvX;Ll}(kXX?4?0i&l=*N0-@u_FW%g+pF<99%CpI)DZaItSP5 zhPF7kTsfj6dCaY-7Rw+OW#NcEp+jf2dAxcasstN`Drg;)E20c!jCQr;M=J)M!l-M8 zdRfqMM<9rHB}2<(&0gu<9_?^yc@l-VkQg4TyO;AxYlfIN6M|WYN$`3(oAhR!h#2AW z!&=R70t3icer$4ad5~t&%b9k`Z3j%V=;-lq5PD|@_1aiW`nr{a{lJHQ^cTJ~`Fm&X zTKJ3aJvH@g{$KuWWBbC3Gf#iP_{P*HKJesSuYP&+uYT?m&gSxmpL_fd{@$mTA9>;B zr|-Py7yjLkeD&Xa^PZQVdiL9!Kl3Y}`mO);oi{%G-Yt^1JZauS*Jyv97eQ1km$>cWYn1?j=AmzK2TmhLmWrxOg}c54;4Zg{*E-1bO^r z)m`Dp;W>bgMb0e~=Q@`Z@0XENE!iD+-Sq$wS4+i>tBJl3MBHf8@6gB@VdNC+?O)>} zu4bp*A`v%!(Sa@zH#|+&Q39YP;&h0nTx8#fa}P+wrW z!zUvZ)iVas5f#ck*9-e5T6dQ;+oympJ0erbqRI&li27PH%=rwiE9zSi!f5o2#cHg) zyrsG6;}SN#|IK&)#dm-BbM7Brd3o;HcRw@p^ybMgoNL~F-w*uxt8cvf=bv}J5>8#- zn)|{FFJ8`m=u^r6_&-lS^*7(4^4V`3x$yGenEBc7{-yQyFa5#ulOOxhKR)-|9n;U> z{mch{{}-SC-(UW-|MuoLy!3{j|K?MlB5(b{``&VAztCw>x@9yndp*D1B^UN0?W`$Z z6IR|g(cDp3rbBe>vR2E@5*=feyXg=d!{@;Hddl{o!KBO(%g5YO$=# zDJK&Q5F9M;4_Gd6J?SD}lfh{8j3qeC-O>LZ%i0G%bo}c&-?I4PD}VoMQ>pW>xBu(v z;@j?t@BhL>|Ni!~e+9wOm|DC0lYjP^ufFiT-#zl-4}a`mo_y;6&AjLG{lD?`um8+X zfAf!i`^fqESAT5dP0wa8iQxF7hwfWkb)Na)3+G?@_MiIS`PP$P{Pz0Jx8C}@6F>LB zTYj*w+|X+QM&t4z$c=*Vi#aR(VY!9#*sLN;yqgM8U0&7jNqQaim~Px*?3!jD_M4to zmTr0%E5K^Cp{uGvRS}j!1(G_Tvq#L*>!`d+T*W zV;4Bu2kl)VqFgnyyDCu{3Dv~Q5kX$PRBEtLJ)CkWgT}Emh|=F zxLrbZz~Ug9T}lx4T2fI7u%D#T8C;g*b*P-G_*Iu&?kNt{C8tJs=k>B;HxAuyRZbV6 z6=)Txqe_}}fjYvUsFxMHaZtxnIbHBoDyIcsrE&(;G3$WO8D%}x%ZhcVoU$505qvJz zo0b7*i9{7kQm=Eqz?iY7Vnu9WK<&2JS%=CQ5p>tE3>P=rA3B`g%k*Af)5UOXy#`f| zCh%QCbF zv;|rTYNc{Y5j_gj;j6-n$`*SD>R2kL3%-`hso*PB&Y19xupV^5juO5Ol~dMcDO65T znx&?4iaIX)ta1uOba*)~8;%P-SM@bn2qeGz4|3(@jEG2RScZ$6LzUC=ax`5G$JT35 z-n#B?vc3<>;BKJt~L&rYS7jRyl>->d&H^sG4cExOXN-nEtwq(4IlJ zTb0uVXiMdkpte-bc%Y7my68eldj{%QDyIv+mddH%t5nW7@VTSB9N9Otnls#~a*Ab2 zg~}=Ff7Mlv4!iBM$|(@hsd8A+EcDz`IZT%3cYk^=RL-cy+`g{+HeB2ss+_jUsm(DP zcPh@o53FedA5H^3iu8b~99_Vz1fj*rCHoef^mo-Z0g9r!VadzoDQ(>CFE^J(u{1Y_ zA*=Z!!)5Cw(}?`yN5HO`!}!=lJ9X@2*M9Br^fgGTqYdHv&p z@EQ${WbP=xJWZgZMs0+@rmM8>BXH$B2&!cdDTY}>S;AF8 z835n7P>yibbP3vhgmMhvbVN)$C(vdwfG+!D_1O%(OJI&j#OR{B`v}@~3?O^zwD@m4 z7)M0@biLqxgmH}Fb9|&`|?8!eH@h%MSO$VA;(8mU5+nvJjx7q4Wsr4K>Pi zE$&-8fCc|KVw6?fXZGK*wnKb+qpX&G`w{GA@yOi_U%`JRj0N|N2jd6>roPF+evs(c z{3jFtv`ww`p9XXk_l+=LTH66gp~ZbD;k}#TE4Z%(qvpP`U>sq*=qmTOmir3v=>*~@ zRN}J)bkqQjFkf`#{(S`QItH+UvKYXEWJf_c!hq4+66_?3H`F@Ob(#qf;>;|K#r?;%mb*ovQ81Wb#)M9L|~L7Dhy?Pe{T7#e49UhLF$ ztr>PVG#qxo)>f(;mA@r;F~GmCG9jZ-P&0D|gwhUUr>)qjri+qb24JfvXK?TXkD9=D z3Dv-eaNx_V_4>Y_wjYF&aO*r5n)2GNb9U5w&g*S2)EhT-Jsb757g^o=q1t}r%9bRZ z&qjK?oUU`BsIZQ6?A9W67prryBs^K{i)yo7i)?;UU6Ui{^aR2BIr+{$BkZ`t)WQ77 zWX~R`HqVv&ld`kt*^P~+#8)I^dtIBMTCNu?o;qdDdnYM8$!4hY_QFZevCLDUZ=Lqd zIcokMncUe@^o3HTLpx-%?~~=VHcYiGp$qiyK?V&MnTKpPfH>c6RB^RPho{p3F89Wjwt4gqpvW zt|?b%bG_f$ zvAorSKEG(+8~XQ#LM^>_oJ`q3Y*sWDm$#JCv@d(?$zwY4Hy=0SwT+d=8O4@;2C(ZKXGgC@RhPZ0+y>6v#9ipv zF|a}s9W1N=>K%^Da^LS+dblctjuZ$A$d*(y&Va5eQ$Bh8?K_)s`nYNuiCS4*KXLTs zFMau_v6`JYdfrbN{g0vcP?#SqA_FV(%Sm= z?9Pd!u@LDj-{o}UsG)CZK7Qh8LA~!;I%CXlY$=01?WZ40O?HCv>=}o(v3_u$;5ani znKliUcUs=8WzE{&^qGZa<5;GWD=Sk+=VWW-<6Buidv@V;`BHwJIC`_;5A9R`!R^nEdmWEqB&)XEisr`cu2JyN!}| z#%iU0Z`scAhM>8Ic0H!oF&tUi8jZ~>TWfmIv$Ubs)Fs(&krA;vMgcI>rSoicVQqD;62AqgoM<;HcWDH4KCgSw z`?BM7A!`$8S382olWWb+v+ZsOd(5uI>nkUY?o4MYkFTsXkIs$MLBl%T`8M6@{@s&~ zr=lA-wmQ3~dH0;U+A9Nb8`hJ~CUj4F-zU9jie~A2o9;s=D0HCRhyIA`R8GVC z*4eb~TSqU7XZL^uAl()VbOkiA`Ezo%vJh${+Htx~sK@1eWj%}*JRNuMHK!vW zmzMfNT8Z9EmpXyfkIXJ?q*p{3Jh(7-<;rR{Yq~0AyZda~QMNPfrlFb+tbfwQMUlpV6TR-~`+vee1 zWk8mX_ujDAz{lCejr8gOh7dE5T~JQSJ?A&J9?#b{uJ)?zvWZy+7maNlZ*-oh0bN~q zLTzoMMCQ;n?Ypa!Lm@1L09FiURHJ1_bqcCND((Ge8<4$kyVc_1OIoNH=gT3w#=%nS zoiq%;w-HP55F8@;1C0c z7&yehAqEaH@O^^;N$?Ptq4-!W)g$Za%FL5aR-Id2DL2Gz=q$m^nKKVPyxLTfd?X&- zR9i$d5;e2=c)A_TWCZ5Ziz;JTK(4kFp{xre)~bd$*;w9+*S95HPOj+UM%MVLvrhZm znRqL{v|T;Xy0tjncz45|Vb9&|m1D~nSGNsm#JCu58(A5RGqzS&E;hFf9fen!(cCar zn=^*7d{J$y*2OhKG)BCBZDU;-Bw04sm`=IAVl=BJ?=!BhHZSs989C`YqsWb%RdJ@a z?vpmR<0q6{UfnVz7^Sl5)%Bt?Ya402wsvi1s!;_9DKB(oZS5RSJlfEkA8ubL(ypqp zKtcgD773BY{Kn?B#)FqOH@2FM#T|Wk=la^}I?qXni*|U`gX>+lFb0=ao9BobW@HrC zRik)@k;w;&2zrH$U1~Jl)-=vL8j)WH()MGI1+^KR5Si zdNX`#$Xp@#20C` zpt3Uyr{57j5leFFamKKsxieepENEjNVk3{&wpHV-&hjzEfz6mDaYU-ujEtrDnnAsF z(tIA7zECoKvgP#2&CQONkdm~i>T6zxEJX<46g6OzohNkJ8ksXJu&<_1PFf%gHfoaEF(N`tt&qM|@ap*7idUj$e zF4$!SN`7 zX;SUqv_0l^I2LuGOp7ySaV6$T<_5m!=bjrdiz09W796k;P5F+kxSyU_N$dVZW@@;W z@A^4KFxkVm{*>pi+RP4oKl0_9ye;Bsrka#*a|At}8Q47S2A;3q)$^2TDW2iI4t3Y{ zUyu1K4*vtkb0RO+SLKY!RnrN}{~*dSz1T5>n9Vu^0lDMNim$uhf<%k*f6(ft{DS%t*Hb<@KmK^UAhC1Hb6llV6eez#L?NjVQ{{=u z&BOx#e(czR6-Ob{Y~s+eUFC&w=30qoCV|Rxp0pw`$q;*C7Tb12#=}lCiypXs5`yZ` zjv;o7cGDnTsur@*3OdL4blM4a580+bBSQKC?@xk`T=-=aD)r3*n#_C zI?a7dBmtWx?OU0d!%42@#y~ipLDF<>WfoU#xZZ}^ZE`s_Tx&b@-}0Fa#$VHk?cC0x zciT^G1r!zkz-3ThW+P4tuJ9cA2kzl6eK$SGTknxxTDkPY<2)~uUURbKXDfr^UEv(v z>zb^xb9vH)CqgS#ReQ*}vOUg1pM263)GB^@H0OW%m_tu4s7s=#E?7r6>?R0AT1<`uZk;fAzxUh z?-w#g^8{^sL8v7T&+0ewY`^y~`;T$g?MsikTGzBiUxfqtuZp&4SC0_wA$)^~cPl?= zx6;AG^0bUC5Yl^kr6H8wYZ)UjwWOWChby`7gNdNTlVUUlt8rV;RAUFGtFhIZMo7?f zb0`PpA)05XUV!t9rfR$jykPh};k=~@ao>PI=cEc4UE z3+ba1A}17c+~BJ$woE6nf*?yH6O_PDxx+mv4~Mx2TZc^b^6bcs9cU)X94pIHPk1Vg zRTja)Zj$*}60sY3B4y(URzwsyQ5XlQa_kJkPO@C3Xq+qzO&k7$^=%cx6JP_086Xd0 z+smQH5M0K2l!@+g{5UtGDDhJ(hwq~_j*un%w|%I^bMj1ufs=b)7?;d=Fxs{} zz*1>ji0*el8^<2Y19`9imRA{r*Ckd&axLoP#NS%}!6*$mS5BjjR^tnd<3$Q-6l zX#;kI?6KgIJT_C_q-=#c@_iRZN0=bC0u|AT5RqovDRxDU-m*|%j+Y?>m~|0FsLU)0 z>6nFt!!ChOT?_>uM)Bbh-&b*HMoifC(5q2mh5?okjD)S8MhP~X6NZVC+PN~thVn8D zf+RQ5mmZQN!YImljhz7yz0Mo}3Ptu(oCFXr4YLe84K?X`sq3Z4H6K_I zNiipFlnHhh!Z=Q1A6cBcxof4!S@tPNRUU!>Oer%LS(18)48(Yp=ShNj7KFBkBr^RZ z$ujgzZejr;qM{5ToqOOQiUXvtn*?SE(Ie-P*E|KJ9nKS5V zGiL}zMh%c>SpUTxBIOE+*CW&VTEL7NW7o1wc?r6WGd_dJ!o4Iw@5PZ5!zmW_dT2s! zk#J_t8*}tmlxAYpBQ5xYOxmoBb6n!d;kjFvhVvgAe3=@T(*|tHZ5A77$8_-@Qj#L>f)Eo8P4xp1w?-*2E!90$% zLj+cV#BuW|z+y|YIL0ALZA(R&mov)Hg%c#Em-tMkV=TmXL=K98&fQF+KW3_US%B3R ziC9VyE8rG&1D5Roe*r@?&#Wv95dOqrf=GFQ*j^l+ z%$v6^DvQ&#T9 zNf071bL4;(L{KFgy5i>85ORRa1bJbUs1zFnqQyT@5=umt_ylwC^a#Ze#KByEO$l3w z6iU-v`Dx06DfkiZ3VR4DCl2B()VmksQzUsNPk3=0C?o}LA54c&n(!w@%SLXPAwluY zOk5P#vJzMaW5Oo7g1d$w!21h>Gz+}Yj4iALoJcGkh56)#o*jBw1`|c_9Re|nEZiyh z(NtNg6n7!taINq}RSN7LHVSKSm~k7VW{zk`+?eiQ17HhsB|(hhT4tcj4pNaV*n@bJ zxVAphj8G%E6GI=t;Nj2VFymO#$2f6Q>@o0+^uP$Q@p?r_AQcdDNIQ_`xj26=<_R$m zEJI{55+CW}BIuJ$EHDQ_EPoMSNNopGGfRQn5!;MFFb1Was1WOsumX;67-J?9G|N+3 zLBt~%6UISABXT+saf?x#X5Cg(3>OJa#pox3lx@vd#&9s#Btl*M(l!*)P{J04h9uU* zGBea9dQL31dL+9Y-w{vU5uMx}+mX0&E1HF^tK(T{D*p73XXywJYEU9ueuClKj&S9~ zIdzOn)E03s9D0e9@dU)YyI5Az#sls+aVd%1Suh6H4-SX~Mi_4^9X}37vOgF=EBQ_eQL5vjeoh*xy4ltrbga|VeJHZF(pyisKM+gN*M@kXW zLP}hReHRl{MiBYf5EvM_mpIUogeuc8_K-oblMxw+%$y!&1eu5qvEK>;N8#n+KViGZqDV;|&16F`k zHgkk)h|ik`7Mca&g)@P)#A+jQpW*@|lcN~(%oWKR1t=qNU_}z+Yi5|S1ZhJHUmT|{ zNokfyp-0p&L}%dPTN!Sq1mhz>v8@2_ojd~}Hl!$>f^|8879w3kY!E9Shd;@KD2Y9w z@Nq}!wF$xr<>H7$ASWUaNTknBQZK|tCJgOhebQ1yEJx%m*$yptee{D!SE4*b-(TzY z39wYz#6G!75|)zpBTP`&6FTFGdnDd}-XJlD-uJd-1(JMSn&JiC4-Pnc@ zC^8$=_IV%Sl)^J4N(+hF;wwQ-mh-5@o@$|@m zVNQuzW0UU6;L#9;$MR$*YSaq3!Aon_s*x?mbMQ&QMV5aW@k zqk&QT=%8tv9fd5U(ndMEk%@;gd#l_(pqc?GrCBDW6pLj{3Zw+a!-(1)^2b;|QdA7F zt7{hPa@*JB9;V4))VI&^2D9B35e@dBkU!FvetWAeWi5hEd>0^QZg;Z*iVj{9<69l9?2zPWz`F=J=gkeZLY6c|{$cqFfEw7AD2PP)&p17lTN~<1F zsb5mnD7sbXD?k?PoNHbZ!i_=)Y_cY}C#c3EeX_bk)u4*zv;^n6!NwrboPjirZ-oJefxnZ3GCuLLCkeRA__{_A_$`{Z0TZS;}BESp7UN|3(pf0!izWXJLQ{Y4n>yU zajFlBIygah+GxzfUoO<#BK-x;0O#P(NVd*^VfEfOOt7lP`;qn?WvwXv_&JDMcu77- zaSQ|BO%er=Bm+wziLYN5kXm58H(p2#4^)*!sv6xV7@b{Uqr^ao*QIv|a-=AhCjSB* z#mRD%D|~QL5F&>W7$LMj2qRSBD~8<*hs)PN!@h4AAwn-m0654+$g>k8`lK#ECi)Qq z6T&D+L=M9-BC5WIky5b}PpOGeS&JY%vb}L-i{fmWEKf77?r3e6%shd$DW+v5fW-!diR(2v4Q%mzgX)E)c+r-* zFsjtc!xGg8uQQ=KFvD%VfvLp? zRMkdC`(Z+r+fAVhYNj}DKt8d--((`5*g{da6b19~Fnw5S68@xVQFOF2u`t(}VNd|Y z!0_)#=|PK&T)8fFr1f!KhGXm?`!27%+7C&V-w#PbKxYL*-AF2xZ4F8NU6?&X(@pnb z2B0bGhbC>c^g~mriEC);=gN$Qq=WCv^v9U(^ut)eAiacDxidA4^>Js0BW#di+iSs> z?u?9F;mS9}oxvmN@6G7@#C|XCs7nxSt%}_*2E0D@h@mzjx|pf*ZhBzu@NTXT<{L2P z2OwvlbJNC7&ABO=VjT3i6`gdVr{(JOqNnca94Pek^K@$HX?r?1jvl6E)RcT>?W57# zp`*g@>Fd1+*6I!s>$SB%q`en*FV{}|AYZ0*j*P-v#Wwvh9uQ&IUVtW_@$ggmG_OJI;F7w# z!cG}Js$+*h&Jf~hJ36l|^oX4c@!&~7JY$fJNOzpaI%1e*GXyg%+m@g}v5n7bkFT@~ zDSVZ0P!$wIdJOKu!w_X#p{exTs8>JGVOsg0{%8K$?VEGY-~YAKYrpmCJyV*9I=wmV z^%b5>w`*6Z@WKbIxq0I0l+K>h-@U`&XK%B@%hRc|hzA%X?W}QLzE{G*vPCRcvIK`s zdu$VT{EE0^6LC5`?t4be!?SuO8nP1a~=f0v3pZ%sjeD42B zixY47&$PwiPm04gCT^qY-}u`T69WWU%f~x1$)qeM-yJEEEs}}rV`Z{?FjMypwl-y+ zo8C-OenzJL39N(DE`6Q7BHdDKXJbxuZU|m_dfg$@elb+Zv7BnISH66iWYON-0Bb`w zN@vXhL{>(Y$?@qQQsyCMu|~>*Pi9eD%-XYAt--+I-eI8?57sr3wn5}{kB7*L+sgJ3 z^G)udowgE@EKVOXN5>9|3;fVCFa7b+PyesAYd<{wy{EtO9~wi*T*k6a=5snoBP-i_ z0Td(*Vu2_oKg)FO$g$aIW3CqK>DQ8=svQj)bO&592X#q21Plyf81^No^ULl3>XHz+ tL^&qz_~)P1ME{$A-iNSj`9s;z;)tXZC*7#pV#FbPT_zM|O?sQ)|394qECc`m literal 0 HcmV?d00001 diff --git a/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2022-351-patched b/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2022-351-patched new file mode 100644 index 0000000000000000000000000000000000000000..b742daaf7df8dda334574399b48dd1dbe0699979 GIT binary patch literal 70 zcmZQzP*6~a)(=iCNGwV$$;{7FP|yI1Xeub^yQG$7CZ{_4MtUnKR4XXdD#RA2mL%ur Rh`L6^Z}= literal 0 HcmV?d00001 diff --git a/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2022-390-patched b/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2022-390-patched new file mode 100644 index 0000000000000000000000000000000000000000..087f7a338b8d7e0c014976a5de32ea3b79a0a832 GIT binary patch literal 33317 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 literal 0 HcmV?d00001 diff --git a/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2022-415-patched b/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2022-415-patched new file mode 100644 index 0000000000000000000000000000000000000000..98f6074173a79e1b287bbcaf72aa28f36222e360 GIT binary patch literal 1249 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 C=yVVO literal 0 HcmV?d00001 diff --git a/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2022-456-patched b/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2022-456-patched new file mode 100644 index 0000000000000000000000000000000000000000..199b022110ce4e31324988d3dc09dc63dd5e013c GIT binary patch literal 9595 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

    YY!>`$q4fvu< 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≧hmaPoM2NjaNQD8nA9yx$;hX9U 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 z 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 E7f0w1B>(^b literal 0 HcmV?d00001 diff --git a/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2022-54-patched b/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2022-54-patched new file mode 100644 index 0000000000000000000000000000000000000000..4222f92efabbbd5cf3195295d1698174513a41e0 GIT binary patch literal 19522 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

    Uabph!!UEIz{I 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≷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 TFm1+4!Z1i0At4oARhs_~iKtia literal 0 HcmV?d00001 diff --git a/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2022-206-patched b/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2022-206-patched new file mode 100644 index 0000000000000000000000000000000000000000..d20d12e1f6756650e5201e63ceb4f0cdff79569c GIT binary patch literal 1030 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 literal 0 HcmV?d00001 diff --git a/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2022-218-patched b/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2022-218-patched new file mode 100644 index 0000000000000000000000000000000000000000..6fd85e410454e75fb403e142f2a80886a4b76b95 GIT binary patch literal 8629 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 literal 0 HcmV?d00001 diff --git a/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2022-229-patched b/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2022-229-patched new file mode 100644 index 0000000000000000000000000000000000000000..cc17494fa4b8bbb67a3d796ad1fc276c74e4fcbe GIT binary patch literal 1808 zcmdT_y>8nu5EeQf;CHyiV?t6C^#d3NBFk=tHmKti?Okb>IDb^j`F*+2lYR2GIZY^Y;%B$g%qP83qGj?{2;rWFy_^ zi)sbzy|HysmB^eno9dOR(I@p842NLKr89HuyXLJPu-C=1#<_IrXTV0)x@=I~GITrp zhQN-^ve0RDjdOm;(LJH?=^Z8Xrjw@H8ais@2c26sw5%~`{bDmyS8KZ2sQ)HR>S}e>< zt8Ykw$>Yh9l2R#O`H>$d h!SG=Xd{~9PQ;s(kC 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 CQ^qF% literal 0 HcmV?d00001 diff --git a/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2022-270-patched b/benchmarks/ghostscript_transplant_gstoraster_fuzzer/seeds/testcase-OSV-2022-270-patched new file mode 100644 index 0000000000000000000000000000000000000000..faf19249a3e060008d20341cd689c45486c36b1b GIT binary patch literal 159520 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

    XD2ZK^;#{#b=Y8g|dS?#B;q2o!obE>b4 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 LHxKA{Kd=7}3fA_a literal 0 HcmV?d00001 diff --git a/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2022-888-patched b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2022-888-patched new file mode 100644 index 0000000000000000000000000000000000000000..4d7826f56d51323d5fe90ddc4588323ee55455b8 GIT binary patch literal 34313 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 literal 0 HcmV?d00001 diff --git a/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2022-949-patched b/benchmarks/ghostscript_transplant_gs_device_pdfwrite_fuzzer/seeds/testcase-OSV-2022-949-patched new file mode 100644 index 0000000000000000000000000000000000000000..af6aa53515e8857a4c5599a63d7c989c2091a7b9 GIT binary patch literal 263582 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%0AI0^VJCX}> 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

  • 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%0D)T$SddST0 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%0D04ZpjZNn|Eb#89{jmPJ@Y>#N~{GGSFwv1aL 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 K*qRih|8OEN7)jx@3+^V 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 z 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 literal 0 HcmV?d00001 diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2020-806-patched b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2020-806-patched new file mode 100644 index 0000000000000000000000000000000000000000..2122bbfbf192ca805df24a44a1a1c4deb1576e50 GIT binary patch literal 240 zcmZ=@VDPosw2+B`fk6QYpm7zBLIpe&7}fxlF(?QkDMn&4L?CfcnOt0qKz%d;|G|JL FqXDiUBk%wK literal 0 HcmV?d00001 diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2020-821-patched b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2020-821-patched new file mode 100644 index 0000000000000000000000000000000000000000..4a7332f20b6f19655acd4dc300739cd9c06d7ba8 GIT binary patch literal 88 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 literal 0 HcmV?d00001 diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2020-92-patched b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2020-92-patched new file mode 100644 index 0000000000000000000000000000000000000000..7869edda029eb956082605a0c0103d40d071c8b2 GIT binary patch literal 144 zcmZo*VDPosw2+B`fk6QQ{-bgg6q29fE}#hj>Cqew literal 0 HcmV?d00001 diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2020-956-patched b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2020-956-patched new file mode 100644 index 0000000000000000000000000000000000000000..142935df36c63b594c70b5937db2abf81bed2637 GIT binary patch literal 132 zcmZQzVDPosw2+Ab2zaf)3?_!_j391<0EpZIW`kG`3=Gi>3LqB4RXq?X!Jy;&m>~tk eEYV~Gg45{WJ6OPG(^RMh5Sw5YFn}%C{~rKcEh4%A literal 0 HcmV?d00001 diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2022-1025-patched b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2022-1025-patched new file mode 100644 index 0000000000000000000000000000000000000000..026b4230b1588242fb276749a6733741c9be7d0a GIT binary patch literal 100 zcmZQzWbn1ww2+B`i9rDgFfgES6)b@QK)~dxz+j}H0F-1yQjEk50J1%RI5gNb2rSG6 FBmrY&44VJ| literal 0 HcmV?d00001 diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2022-325-patched b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2022-325-patched new file mode 100644 index 0000000000000000000000000000000000000000..6a5b2597986f642fb059d064e5cf1b4287856afb GIT binary patch literal 233 zcmZQzVDPosw2+B`fk6QT{)0&c2=~9je<|9|VC=L|71G48G*3i`Q;#W|@Vyj+gS$*EXnQ*(H^LO`+wR@(C@)|OLQY%s-UC0F#7z2Z=AJ9@oAO`us0O13OkQNqCffPak j!zOH=F+_L1|VQ;Xkp4=Vqjs00T>vVfR29*@~yRw Lm-c0A-pkei)o)N{ literal 0 HcmV?d00001 diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2022-695-patched b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2022-695-patched new file mode 100644 index 0000000000000000000000000000000000000000..9707470b371549ccff2815c7964f5f90f8997b7e GIT binary patch literal 697 zcmZQzVDh!uw2+B`kwF0l{wpXjFd(=f;XWpaKnjq}q`;;CR075zIV|8m^J9eQPKE#f z!RkQ-5&#PV`NB?_B_a7mMX7lu3I#>^CHcwuIdElYdf?(@G9Y#mFcjikEH)6(hoJ-J zLktOMh+v9iituuI`A&dM68;I;YpdW|_$VQ>CkxfLAfN+2|U=alh;Sk2I O7^EJD2AmcsC;$Kv$fw}| literal 0 HcmV?d00001 diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2022-712-patched b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2022-712-patched new file mode 100644 index 0000000000000000000000000000000000000000..95c0ea30e4b52b6082fe0ecd48a93d4d3f997ede GIT binary patch literal 167 zcmZP&VDPosw2+B`fk6QX{zEa83+98w&7lHr3JeAyz5<(qf{XNwEoukqzk#?C3`~sw iAwYovt_vgs1t5bJ6igAu7=i_G8l&((0ip%0>^}g(N-QA& literal 0 HcmV?d00001 diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2023-1354-patched b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2023-1354-patched new file mode 100644 index 0000000000000000000000000000000000000000..9063f02444c09b04ffff2c32be823835df6d40cd GIT binary patch literal 397 zcmZQzV7PL4(?TW&76t_*z{r5$CLwd+YFrf}DI%p^0LWG0hj z=FLeEym%?}FYxF^P)eyDMA&n09z68w#fy3o5p>P#?qWSyL@x$HNb*ba`~AM3{JiVl zH;12peAYYXowlPR&pYELho5}(-uVyKyzf`MC*4~;`|{4G{&$xj-1}+O+xAu-uiW>% z_n(g+-+g!caI*Fi@piwSzVXAiUwrl9FAsNL`1Qy1rsuu6zrTBRwlVX=An@>mqGV!N?gSgrbh3psnfq^({E8novS*q}G53+y2vbgkzUCL~fC$9N>z5iTBCx=f zE-Bw21GzMvY!3}nq?`M}baKNTA?r7!&`KW6eQr9vu82hkEO(DgC%X!j9L@d4WCsjS zC)3I8ckX)6xrmoJIQs4Pqn(pfTt69~HLSW+U3m4&3*P;;M;9NSx%KGcK4qQXC|N4R zeT;;V+RuoujPRN8x9;ruT;^t|>=0Aawx(=sl|-g1V%}3xwKP==UBEI3B&QJ+WoJlT z7>Qs?8M7_R^RPrP2`idp1*3C+2EfMVYy)m?%r@g?KuhWL&*wboJYRMv-O;~qe^K3g zZRNA2>euf5o$6O!{O9a||H4k_*zvqq9z4xX?C+7ru{PWEXURMU^I7Qc+}?LoI365F z>-&qwfrgsKX^)naU6oi9z20d>5dYKe77?X(xrNDQ5TsAm1;NKy)`T?cjwkDAI=y#` zbXc+G*x;sP)!$c0bOljQ*|4sW-6`Au4=UWi5;GdpmuEgP&H81G41LgD6l1I zjK-XdDk4N%)n<-K#;dS39Su4VHA7S^U^yf;RgqO1E`k#3UZJ?u14?+>h2VOV5UiGZpq?qWvRmT?*+RcXjbio~rZO=wI9 zNKz6D3zfqx)I&LpK@;vvJSwq=AD z3RkI20qDj+7o)a#Y$>TUgtFqP1%n>#Xla9EYSXwdNt6;NM1*lJ)3F>XNR!r8CZ>y` O;RDb67KH>HJNO5$*ef*v literal 0 HcmV?d00001 diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2024-1330-patched b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/seeds/testcase-OSV-2024-1330-patched new file mode 100644 index 0000000000000000000000000000000000000000..746325be05158eb7f7494dc36f04dd21477beeff GIT binary patch literal 156 zcmZQ*VDPosw2+B`nL$B8;Xec@C@?U9xIjLL1Oi*AfSUq?5s=HEAgG`)*>4LMhl74F hNM0#1B?Uw?F))EBWB@k3<`osilIz-CPsz-Pyl5p{0GVbg&x9G L1NlIc7{FWr Date: Mon, 13 Apr 2026 13:50:08 -0600 Subject: [PATCH 04/47] Preserve parent image's Python in benchmark-builder Some historical benchmark images use an older glibc, so overwriting the image's Python 3 with base-image's newer binaries made python3 unusable during builds. Keep the parent image's Python and copy only the PyYAML package (needed by fuzzers/utils.py) from base-image. Co-Authored-By: Claude Opus 4.6 (1M context) --- docker/benchmark-builder/Dockerfile | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/docker/benchmark-builder/Dockerfile b/docker/benchmark-builder/Dockerfile index 5fa93d4d4..5fe8b2c11 100755 --- a/docker/benchmark-builder/Dockerfile +++ b/docker/benchmark-builder/Dockerfile @@ -14,7 +14,7 @@ ARG parent_image -# Using multi-stage build to copy latest Python 3. +# Using multi-stage build to copy Python package dependencies. FROM gcr.io/fuzzbench/base-image AS base-image FROM $parent_image @@ -37,15 +37,22 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update && \ libssl-dev \ libffi-dev -RUN rm -rf /usr/local/bin/python3.8* /usr/local/bin/pip3 /usr/local/lib/python3.8 \ - /usr/local/include/python3.8 /usr/local/lib/python3.8/site-packages +# Keep the parent image's Python. Some historical benchmark images use older +# glibc, so copying a newer Python binary from base-image can make python3 +# unusable. Copy only the PyYAML package needed by fuzzers/utils.py. +COPY --from=base-image /usr/local/lib/python3.10/site-packages/yaml /tmp/fuzzbench-python-packages/yaml +RUN python3 - <<'PY' +import shutil +import sysconfig +from pathlib import Path -# Copy latest python3 from base-image into local. -COPY --from=base-image /usr/local/bin/python3* /usr/local/bin/ -COPY --from=base-image /usr/local/bin/pip3* /usr/local/bin/ -COPY --from=base-image /usr/local/lib/python3.10 /usr/local/lib/python3.10 -COPY --from=base-image /usr/local/include/python3.10 /usr/local/include/python3.10 -COPY --from=base-image /usr/local/lib/python3.10/site-packages /usr/local/lib/python3.10/site-packages +purelib = Path(sysconfig.get_paths()["purelib"]) +purelib.mkdir(parents=True, exist_ok=True) +destination = purelib / "yaml" +if destination.exists(): + shutil.rmtree(destination) +shutil.copytree("/tmp/fuzzbench-python-packages/yaml", destination) +PY # Copy the entire fuzzers directory tree to allow for module dependencies. COPY fuzzers $SRC/fuzzers From 7fb608a3cbbd0fc3664d5a1f54a147a6ffeb568b Mon Sep 17 00:00:00 2001 From: linke Date: Mon, 13 Apr 2026 13:50:16 -0600 Subject: [PATCH 05/47] Fix fuzzer builder images for newer toolchains - aflplusplus: fall back to GCC-plugin mode when AFL++ is built without LLVM instrumentation (afl-llvm-pass.so missing). - coverage: install wget/unzip explicitly; prebuilt image no longer ships them. - honggfuzz: define _HF_LINUX_NO_BFD to build without libbfd/libunwind. - libafl: remove stale Rust wrappers, install current nightly, and symlink cargo/rustc/rustup into /usr/local/bin so PATH overrides aren't needed. - symcc_aflplusplus: libstdc++-5-dev is gone from apt; use 10-dev. Co-Authored-By: Claude Opus 4.6 (1M context) --- fuzzers/aflplusplus/fuzzer.py | 21 ++++++++++++++++++++ fuzzers/coverage/builder.Dockerfile | 4 +++- fuzzers/honggfuzz/builder.Dockerfile | 4 ++-- fuzzers/libafl/builder.Dockerfile | 17 ++++++++++------ fuzzers/symcc_aflplusplus/builder.Dockerfile | 2 +- 5 files changed, 38 insertions(+), 10 deletions(-) diff --git a/fuzzers/aflplusplus/fuzzer.py b/fuzzers/aflplusplus/fuzzer.py index 7016da75e..f1565e822 100755 --- a/fuzzers/aflplusplus/fuzzer.py +++ b/fuzzers/aflplusplus/fuzzer.py @@ -21,6 +21,18 @@ from fuzzers import utils +LLVM_BUILD_MODES = { + 'tracepc', 'pcguard', 'classic', 'native', 'lto', 'cmplog', 'dict2file', + 'laf', 'autodict', 'ctx', 'ctx1', 'ctx2', 'ctx3', 'ctx4', 'ngram2', + 'ngram3', 'ngram4', 'ngram5', 'ngram6', 'ngram7', 'ngram8', 'ngram16', +} + + +def llvm_mode_available(): + """Return whether this AFL++ build contains LLVM instrumentation support.""" + return os.path.exists('/afl/afl-llvm-pass.so') + + def get_cmplog_build_directory(target_directory): """Return path to CmpLog target directory.""" return os.path.join(target_directory, 'cmplog') @@ -56,6 +68,13 @@ def build(*args): # pylint: disable=too-many-branches,too-many-statements if 'gcc' not in build_modes: build_modes[0] = 'native' + if any(mode in LLVM_BUILD_MODES for mode in build_modes): + if not llvm_mode_available() and 'qemu' not in build_modes: + print('AFL++ LLVM mode unavailable; using GCC-plugin mode.') + build_modes = ['gcc'] + [ + mode for mode in build_modes if mode not in LLVM_BUILD_MODES + ] + # Instrumentation coverage modes: if 'lto' in build_modes: os.environ['CC'] = '/afl/afl-clang-lto' @@ -87,6 +106,8 @@ def build(*args): # pylint: disable=too-many-branches,too-many-statements os.environ['CFLAGS'] = '' os.environ['CXXFLAGS'] = '' os.environ['CPPFLAGS'] = '' + os.environ['CC'] = '/afl/afl-gcc-fast' + os.environ['CXX'] = '/afl/afl-g++-fast' else: os.environ['CC'] = '/afl/afl-clang-fast' os.environ['CXX'] = '/afl/afl-clang-fast++' diff --git a/fuzzers/coverage/builder.Dockerfile b/fuzzers/coverage/builder.Dockerfile index 470fb57b6..a182d545a 100644 --- a/fuzzers/coverage/builder.Dockerfile +++ b/fuzzers/coverage/builder.Dockerfile @@ -22,6 +22,8 @@ ENV LF_PATH /tmp/libfuzzer.zip # https://github.com/google/fuzzbench/blob/cf86138081ec705a47ce0a4bab07b5737292e7e0/fuzzers/coverage/patch.diff # applied. +RUN apt-get update && apt-get install -y wget unzip + RUN wget https://storage.googleapis.com/fuzzbench-artifacts/libfuzzer-coverage.zip -O $LF_PATH && \ echo "cc78179f6096cae4b799d0cc9436f000cc0be9b1fb59500d16b14b1585d46b61 $LF_PATH" | sha256sum --check --status && \ mkdir /tmp/libfuzzer && \ @@ -29,4 +31,4 @@ RUN wget https://storage.googleapis.com/fuzzbench-artifacts/libfuzzer-coverage.z unzip $LF_PATH && \ bash build.sh && \ cp libFuzzer.a /usr/lib && \ - rm -rf /tmp/libfuzzer $LF_PATH \ No newline at end of file + rm -rf /tmp/libfuzzer $LF_PATH diff --git a/fuzzers/honggfuzz/builder.Dockerfile b/fuzzers/honggfuzz/builder.Dockerfile index 11a483288..f20349952 100644 --- a/fuzzers/honggfuzz/builder.Dockerfile +++ b/fuzzers/honggfuzz/builder.Dockerfile @@ -31,6 +31,6 @@ RUN apt-get update -y && \ RUN git clone https://github.com/google/honggfuzz.git /honggfuzz && \ cd /honggfuzz && \ git checkout oss-fuzz && \ - CFLAGS="-O3 -funroll-loops" make && \ + CFLAGS="-O3 -funroll-loops -D_HF_LINUX_NO_BFD" make && \ touch empty_lib.c && \ - cc -c -o empty_lib.o empty_lib.c \ No newline at end of file + cc -c -o empty_lib.o empty_lib.c diff --git a/fuzzers/libafl/builder.Dockerfile b/fuzzers/libafl/builder.Dockerfile index f0136ff46..81750799f 100644 --- a/fuzzers/libafl/builder.Dockerfile +++ b/fuzzers/libafl/builder.Dockerfile @@ -15,11 +15,16 @@ ARG parent_image FROM $parent_image -# Uninstall old Rust & Install the latest one. -RUN if which rustup; then rustup self uninstall -y; fi && \ +# Remove stale Rust wrappers and install fresh toolchain. +# Note: base image sets HOME=/home/agent, so rustup installs there. +RUN rm -f /usr/local/bin/cargo /usr/local/bin/rustc /usr/local/bin/rustup && \ + rm -rf $HOME/.cargo $HOME/.rustup && \ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > /rustup.sh && \ - sh /rustup.sh --default-toolchain nightly-2024-08-12 -y && \ - rm /rustup.sh + sh /rustup.sh --default-toolchain nightly -y && \ + rm /rustup.sh && \ + ln -s $HOME/.cargo/bin/cargo /usr/local/bin/cargo && \ + ln -s $HOME/.cargo/bin/rustc /usr/local/bin/rustc && \ + ln -s $HOME/.cargo/bin/rustup /usr/local/bin/rustup # Install dependencies. RUN apt-get update && \ @@ -32,7 +37,7 @@ RUN apt-get update && \ apt-utils apt-transport-https ca-certificates joe curl && \ wget https://apt.llvm.org/llvm.sh && chmod +x llvm.sh && ./llvm.sh 17 -RUN wget https://gist.githubusercontent.com/tokatoka/26f4ba95991c6e33139999976332aa8e/raw/698ac2087d58ce5c7a6ad59adce58dbfdc32bd46/createAliases.sh && chmod u+x ./createAliases.sh && ./createAliases.sh +RUN wget https://gist.githubusercontent.com/tokatoka/26f4ba95991c6e33139999976332aa8e/raw/698ac2087d58ce5c7a6ad59adce58dbfdc32bd46/createAliases.sh && chmod u+x ./createAliases.sh && ./createAliases.sh # Download libafl. RUN git clone https://github.com/AFLplusplus/LibAFL /libafl @@ -46,7 +51,7 @@ RUN cd /libafl && \ unset CFLAGS CXXFLAGS && \ export LIBAFL_EDGES_MAP_SIZE=2621440 && \ cd ./fuzzers/fuzzbench/fuzzbench && \ - PATH="/root/.cargo/bin/:$PATH" cargo build --profile release-fuzzbench --features no_link_main + cargo build --profile release-fuzzbench --features no_link_main # Auxiliary weak references. RUN cd /libafl/fuzzers/fuzzbench/fuzzbench && \ diff --git a/fuzzers/symcc_aflplusplus/builder.Dockerfile b/fuzzers/symcc_aflplusplus/builder.Dockerfile index 5bdc0c175..f2bd89210 100644 --- a/fuzzers/symcc_aflplusplus/builder.Dockerfile +++ b/fuzzers/symcc_aflplusplus/builder.Dockerfile @@ -17,7 +17,7 @@ FROM $parent_image # Install libstdc++ to use llvm_mode. RUN apt-get update && \ - apt-get install -y wget libstdc++-5-dev libtool-bin automake flex bison \ + apt-get install -y wget libstdc++-10-dev libtool-bin automake flex bison \ libglib2.0-dev libpixman-1-dev python3-setuptools unzip \ apt-utils apt-transport-https ca-certificates From c81bb36d92a064b2f74fdf01d1abe1a0d3106c33 Mon Sep 17 00:00:00 2001 From: Linke <1102336121@qq.com> Date: Mon, 13 Apr 2026 16:20:00 -0600 Subject: [PATCH 06/47] Rebase ndpi_transplant benchmark onto focal base-builder Drop the xenial-based ndpi-merge image and build directly on gcr.io/oss-fuzz-base/base-builder@sha256:87ca1e9e... (the canonical focal digest used by 29 of 32 FuzzBench benchmarks). Clone nDPI in the Dockerfile and vendor libpcap-1.9.1.tar.gz (sha256 635237637c5b619bcceba91900666b64d56ecb7be63f298f601ec786ce087094) so the build is reproducible without the merge container. All 35 OSV crash files were regenerated against the focal build; 2 bugs picked up shifted crash locations, 33 reproduce identically. Unlocks modern fuzzers that require LLVM 17 / C++17 (libafl, hastefuzz) and fixes the 15-minute cycle-1 exit we saw for aflplusplus/honggfuzz on the xenial base. Co-Authored-By: Claude Opus 4.6 (1M context) --- .../Dockerfile | 26 ++++--- .../bug_metadata.json | 14 ++-- .../crashes/OSV-2020-10.txt | 28 +++---- .../crashes/OSV-2020-142.txt | 72 +++++++++--------- .../crashes/OSV-2020-1566.txt | 56 +++++++------- .../crashes/OSV-2020-177.txt | 54 ++++++------- .../crashes/OSV-2020-178.txt | 52 ++++++------- .../crashes/OSV-2020-18.txt | 55 ++++++------- .../crashes/OSV-2020-181.txt | 54 ++++++------- .../crashes/OSV-2020-185.txt | 49 ++++++------ .../crashes/OSV-2020-1884.txt | 35 ++++----- .../crashes/OSV-2020-2126.txt | 52 ++++++------- .../crashes/OSV-2020-236.txt | 60 +++++++-------- .../crashes/OSV-2020-242.txt | 40 +++++----- .../crashes/OSV-2020-40.txt | 50 ++++++------ .../crashes/OSV-2020-60.txt | 56 +++++++------- .../crashes/OSV-2020-67.txt | 50 ++++++------ .../crashes/OSV-2020-70.txt | 52 ++++++------- .../crashes/OSV-2020-71.txt | 55 ++++++------- .../crashes/OSV-2020-747.txt | 72 +++++++++--------- .../crashes/OSV-2020-806.txt | 35 ++++----- .../crashes/OSV-2020-821.txt | 50 ++++++------ .../crashes/OSV-2020-829.txt | 72 +++++++++--------- .../crashes/OSV-2020-92.txt | 51 ++++++------- .../crashes/OSV-2020-956.txt | 54 ++++++------- .../crashes/OSV-2022-1025.txt | 63 +++++++-------- .../crashes/OSV-2022-325.txt | 63 +++++++-------- .../crashes/OSV-2022-443.txt | 55 ++++++------- .../crashes/OSV-2022-447.txt | 55 ++++++------- .../crashes/OSV-2022-481.txt | 37 +++++---- .../crashes/OSV-2022-695.txt | 47 ++++++------ .../crashes/OSV-2022-712.txt | 57 +++++++------- .../crashes/OSV-2023-1354.txt | 71 ++++++++--------- .../crashes/OSV-2023-19.txt | 63 +++++++-------- .../crashes/OSV-2023-573.txt | 64 ++++++---------- .../crashes/OSV-2024-1330.txt | 64 ++++++++-------- .../crashes/OSV-2024-552.txt | 34 ++++----- .../libpcap-1.9.1.tar.gz | Bin 0 -> 861228 bytes 38 files changed, 878 insertions(+), 1039 deletions(-) create mode 100644 benchmarks/ndpi_transplant_fuzz_ndpi_reader/libpcap-1.9.1.tar.gz diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/Dockerfile b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/Dockerfile index 6e6be0286..d58c241fd 100644 --- a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/Dockerfile +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/Dockerfile @@ -1,23 +1,25 @@ -# Use the committed merge container as base for identical build environment. -# This image has the exact same OS packages, library versions, and source tree -# that were used during bug transplant verification. -FROM ndpi-merge:5cad39f0 +FROM gcr.io/oss-fuzz-base/base-builder@sha256:87ca1e9e19235e731fac8de8d1892ebe8d55caf18e7aa131346fc582a2034fdd -# The merge container runs as a non-root user (agent). Switch back to root -# so downstream Dockerfiles (AFL++'s builder, benchmark-builder, etc.) can -# install packages and write to system directories. -USER root +# Dependencies for building nDPI + libpcap. +RUN apt-get update && apt-get install -y --no-install-recommends \ + autoconf automake libtool pkg-config \ + flex bison gettext libbison-dev libfl-dev \ + libjson-c-dev zlib1g-dev \ + && rm -rf /var/lib/apt/lists/* -# docker commit can snapshot a broken apt state - fix it so downstream -# Dockerfiles (e.g. AFL++'s builder.Dockerfile) can apt-get install. -RUN rm -rf /var/lib/apt/lists/* && mkdir -p /var/lib/apt/lists/partial && apt-get update +# Full clone — build.sh checks out the target commit, so history is needed. +RUN git clone https://github.com/ntop/nDPI.git /src/ndpi WORKDIR /src/ndpi # Keep ASan stack-use-after-return detection enabled for direct testcase replay. ENV ASAN_OPTIONS="detect_leaks=0:detect_stack_use_after_return=1" -# Bug transplant patches (re-applied by build.sh after checkout_commit.py resets source) +# Vendored libpcap tarball (offline-build reproducibility, +# sha256: 635237637c5b619bcceba91900666b64d56ecb7be63f298f601ec786ce087094). +COPY libpcap-1.9.1.tar.gz /src/libpcap-1.9.1.tar.gz + +# Bug transplant patches (re-applied by build.sh after checkout resets source). COPY patches/ /src/patches/ COPY seeds/ /src/benchmark_seeds/ COPY build.sh $SRC/ diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/bug_metadata.json b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/bug_metadata.json index 6c7483618..847ab0825 100644 --- a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/bug_metadata.json +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/bug_metadata.json @@ -175,16 +175,16 @@ "OSV-2020-1566": { "dispatch_value": 0, "triggered": true, - "crash_file": "/src/ndpi/fuzz/fuzz_ndpi_reader.c", - "crash_line": 90, - "crash_function": "LLVMFuzzerTestOneInput" + "crash_file": "/src/ndpi/example/reader_util.c", + "crash_line": 1647, + "crash_function": "ndpi_workflow_process_packet" }, "OSV-2020-2126": { "dispatch_value": 0, "triggered": true, - "crash_file": "/src/ndpi/fuzz/fuzz_ndpi_reader.c", - "crash_line": 90, - "crash_function": "LLVMFuzzerTestOneInput" + "crash_file": "/src/ndpi/example/reader_util.c", + "crash_line": 1655, + "crash_function": "ndpi_workflow_process_packet" }, "OSV-2020-185": { "dispatch_value": 0, @@ -250,4 +250,4 @@ "crash_function": "processClientServerHello" } } -} \ No newline at end of file +} diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-10.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-10.txt index f0d3639ee..484e31b9a 100644 --- a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-10.txt +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-10.txt @@ -1,22 +1,19 @@ -INFO: Running with entropic power schedule (0xFF, 100). -INFO: Seed: 1567045294 -INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), -INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), -/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +INFO: Seed: 2838949341 +/out/fuzz_ndpi_reader: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x611000185c00 at pc 0x000000561362 bp 0x7fffa19c57d0 sp 0x7fffa19c57c8 +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x611000185c00 at pc 0x0000004f03fe bp 0x7ffe5c1f0f90 sp 0x7ffe5c1f0f88 READ of size 2 at 0x611000185c00 thread T0 - #0 0x561361 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1613:16 - #1 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 - #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) - #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 - #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) - #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #6 0x7f972a75083f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) - #7 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) + #0 0x4f03fd in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1613:16 + #1 0x4de707 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #2 0x6754fc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x667455 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x66c101 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x667122 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7f37aa2f6082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #7 0x41f98d in _start (/out/fuzz_ndpi_reader+0x41f98d) -Address 0x611000185c00 is a wild pointer. +Address 0x611000185c00 is a wild pointer inside of access range of size 0x000000000002. SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/example/reader_util.c:1613:16 in ndpi_workflow_process_packet Shadow bytes around the buggy address: 0x0c2280028b30: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa @@ -49,5 +46,4 @@ Shadow byte legend (one shadow byte represents 8 application bytes): ASan internal: fe Left alloca redzone: ca Right alloca redzone: cb - Shadow gap: cc ==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-142.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-142.txt index f90347900..150af7bed 100644 --- a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-142.txt +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-142.txt @@ -1,48 +1,45 @@ -INFO: Running with entropic power schedule (0xFF, 100). -INFO: Seed: 1574597308 -INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), -INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), -/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +INFO: Seed: 2759195969 +/out/fuzz_ndpi_reader: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: heap-use-after-free on address 0x62b00000f730 at pc 0x0000005a40fe bp 0x7ffe66626f10 sp 0x7ffe66626f08 +==1==ERROR: AddressSanitizer: heap-use-after-free on address 0x62b00000f730 at pc 0x00000051ead1 bp 0x7ffdee2bbee0 sp 0x7ffdee2bbed8 READ of size 1 at 0x62b00000f730 thread T0 - #0 0x5a40fd in ndpi_strncasestr /src/ndpi/src/lib/ndpi_main.c:6211:25 - #1 0x5fa000 in ndpi_http_check_content /src/ndpi/src/lib/protocols/http.c:75:9 - #2 0x5fa000 in ndpi_int_http_add_connection /src/ndpi/src/lib/protocols/http.c:135:14 - #3 0x5f7179 in ndpi_check_http_tcp /src/ndpi/src/lib/protocols/http.c:719:9 - #4 0x5f7179 in ndpi_search_http_tcp /src/ndpi/src/lib/protocols/http.c:866:3 - #5 0x5fa7c9 in ndpi_search_http_tcp_again /src/ndpi/src/lib/protocols/http.c:39:3 - #6 0x59812a in ndpi_process_extra_packet /src/ndpi/src/lib/ndpi_main.c:4397:9 - #7 0x59812a in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4753:7 - #8 0x56316c in packet_processing /src/ndpi/example/reader_util.c:1422:33 - #9 0x560f38 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 - #10 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 - #11 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) - #12 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 - #13 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) - #14 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #15 0x7f70ef18183f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) - #16 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) + #0 0x51ead0 in ndpi_strncasestr /src/ndpi/src/lib/ndpi_main.c:6211:25 + #1 0x56a3a7 in ndpi_http_check_content /src/ndpi/src/lib/protocols/http.c:75:9 + #2 0x56a3a7 in ndpi_int_http_add_connection /src/ndpi/src/lib/protocols/http.c:135:14 + #3 0x567cbc in ndpi_check_http_tcp /src/ndpi/src/lib/protocols/http.c:719:9 + #4 0x567cbc in ndpi_search_http_tcp /src/ndpi/src/lib/protocols/http.c:866:3 + #5 0x56ac5f in ndpi_search_http_tcp_again /src/ndpi/src/lib/protocols/http.c:39:3 + #6 0x511c3d in ndpi_process_extra_packet /src/ndpi/src/lib/ndpi_main.c:4397:9 + #7 0x513f5c in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4753:7 + #8 0x4eed8e in packet_processing /src/ndpi/example/reader_util.c:1422:33 + #9 0x4eed8e in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 + #10 0x4de707 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #11 0x6754fc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #12 0x667455 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #13 0x66c101 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #14 0x667122 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #15 0x7fac89846082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #16 0x41f98d in _start (/out/fuzz_ndpi_reader+0x41f98d) 0x62b00000f730 is located 5424 bytes inside of 25421-byte region [0x62b00000e200,0x62b00001454d) freed by thread T0 here: - #0 0x520a92 in free /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:127:3 - #1 0x5541ff in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:91:5 - #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) - #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 - #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) - #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #6 0x7f70ef18183f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + #0 0x4a0b22 in free /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:52:3 + #1 0x4de70f in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:91:5 + #2 0x6754fc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x667455 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x66c101 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x667122 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7fac89846082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) previously allocated by thread T0 here: - #0 0x520cfd in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 - #1 0x5541c6 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 - #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) - #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 - #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) - #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #6 0x7f70ef18183f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + #0 0x4a0dc6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0x4de6d5 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 + #2 0x6754fc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x667455 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x66c101 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x667122 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7fac89846082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) SUMMARY: AddressSanitizer: heap-use-after-free /src/ndpi/src/lib/ndpi_main.c:6211:25 in ndpi_strncasestr Shadow bytes around the buggy address: @@ -76,5 +73,4 @@ Shadow byte legend (one shadow byte represents 8 application bytes): ASan internal: fe Left alloca redzone: ca Right alloca redzone: cb - Shadow gap: cc ==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-1566.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-1566.txt index 43938f450..149ce7961 100644 --- a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-1566.txt +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-1566.txt @@ -1,44 +1,41 @@ -INFO: Running with entropic power schedule (0xFF, 100). -INFO: Seed: 1546454965 -INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), -INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), -/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +INFO: Seed: 2818496063 +/out/fuzz_ndpi_reader: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x604000000140 at pc 0x00000056122b bp 0x7ffd97894a70 sp 0x7ffd97894a68 -READ of size 1 at 0x604000000140 thread T0 - #0 0x56122a in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c - #1 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 - #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) - #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 - #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) - #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #6 0x7f69da3a483f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) - #7 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x604000000180 at pc 0x0000004f0360 bp 0x7ffc587e9310 sp 0x7ffc587e9308 +READ of size 1 at 0x604000000180 thread T0 + #0 0x4f035f in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1647:17 + #1 0x4de707 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #2 0x6754fc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x667455 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x66c101 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x667122 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7f501dd0b082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #7 0x41f98d in _start (/out/fuzz_ndpi_reader+0x41f98d) -0x604000000140 is located 0 bytes to the right of 48-byte region [0x604000000110,0x604000000140) +0x604000000180 is located 0 bytes to the right of 48-byte region [0x604000000150,0x604000000180) allocated by thread T0 here: - #0 0x520cfd in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 - #1 0x5541c6 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 - #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) - #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 - #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) - #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #6 0x7f69da3a483f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + #0 0x4a0dc6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0x4de6d5 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 + #2 0x6754fc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x667455 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x66c101 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x667122 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7f501dd0b082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) -SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/example/reader_util.c in ndpi_workflow_process_packet +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/example/reader_util.c:1647:17 in ndpi_workflow_process_packet Shadow bytes around the buggy address: - 0x0c087fff7fd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x0c087fff7fe0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x0c087fff7ff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 0x0c087fff8000: fa fa 00 00 00 00 00 00 fa fa 00 00 00 00 00 05 - 0x0c087fff8010: fa fa 00 00 00 00 01 fa fa fa 00 00 00 00 07 fa -=>0x0c087fff8020: fa fa 00 00 00 00 00 00[fa]fa fa fa fa fa fa fa - 0x0c087fff8030: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8000: fa fa 00 00 00 00 00 00 fa fa 00 00 00 00 00 00 + 0x0c087fff8010: fa fa 00 00 00 00 00 05 fa fa 00 00 00 00 01 fa + 0x0c087fff8020: fa fa 00 00 00 00 07 fa fa fa 00 00 00 00 00 00 +=>0x0c087fff8030:[fa]fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c087fff8040: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c087fff8050: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c087fff8060: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c087fff8070: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8080: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa Shadow byte legend (one shadow byte represents 8 application bytes): Addressable: 00 Partially addressable: 01 02 03 04 05 06 07 @@ -58,5 +55,4 @@ Shadow byte legend (one shadow byte represents 8 application bytes): ASan internal: fe Left alloca redzone: ca Right alloca redzone: cb - Shadow gap: cc ==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-177.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-177.txt index 2ad97347e..df98d302c 100644 --- a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-177.txt +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-177.txt @@ -1,41 +1,38 @@ -INFO: Running with entropic power schedule (0xFF, 100). -INFO: Seed: 1531306655 -INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), -INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), -/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +INFO: Seed: 2803253246 +/out/fuzz_ndpi_reader: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6040000009bb at pc 0x000000567a0c bp 0x7ffda6a6d370 sp 0x7ffda6a6d368 -READ of size 4 at 0x6040000009bb thread T0 - #0 0x567a0b in get_ndpi_flow_info6 /src/ndpi/example/reader_util.c:919:52 - #1 0x56185e in packet_processing /src/ndpi/example/reader_util.c:1222:12 - #2 0x560f38 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 - #3 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 - #4 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) - #5 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 - #6 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) - #7 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #8 0x7ff4d4c2183f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) - #9 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6040000009fb at pc 0x0000004ef8f3 bp 0x7fff5287e330 sp 0x7fff5287e328 +READ of size 4 at 0x6040000009fb thread T0 + #0 0x4ef8f2 in get_ndpi_flow_info6 /src/ndpi/example/reader_util.c:919:52 + #1 0x4ef8f2 in packet_processing /src/ndpi/example/reader_util.c:1222:12 + #2 0x4ef8f2 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 + #3 0x4de707 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #4 0x6754fc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #5 0x667455 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #6 0x66c101 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #7 0x667122 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #8 0x7f929683e082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #9 0x41f98d in _start (/out/fuzz_ndpi_reader+0x41f98d) -0x6040000009bb is located 0 bytes to the right of 43-byte region [0x604000000990,0x6040000009bb) +0x6040000009fb is located 0 bytes to the right of 43-byte region [0x6040000009d0,0x6040000009fb) allocated by thread T0 here: - #0 0x520cfd in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 - #1 0x5541c6 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 - #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) - #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 - #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) - #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #6 0x7ff4d4c2183f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + #0 0x4a0dc6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0x4de6d5 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 + #2 0x6754fc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x667455 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x66c101 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x667122 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7f929683e082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/example/reader_util.c:919:52 in get_ndpi_flow_info6 Shadow bytes around the buggy address: - 0x0c087fff80e0: fa fa 00 00 00 00 00 fa fa fa 00 00 00 00 00 fa + 0x0c087fff80e0: fa fa fd fd fd fd fd fd fa fa 00 00 00 00 00 fa 0x0c087fff80f0: fa fa 00 00 00 00 00 fa fa fa 00 00 00 00 00 fa - 0x0c087fff8100: fa fa 00 00 00 00 00 fa fa fa fd fd fd fd fd fd + 0x0c087fff8100: fa fa 00 00 00 00 00 fa fa fa 00 00 00 00 00 fa 0x0c087fff8110: fa fa fd fd fd fd fd fd fa fa fd fd fd fd fd fd 0x0c087fff8120: fa fa fd fd fd fd fd fd fa fa fd fd fd fd fd fd -=>0x0c087fff8130: fa fa 00 00 00 00 00[03]fa fa fa fa fa fa fa fa +=>0x0c087fff8130: fa fa fd fd fd fd fd fd fa fa 00 00 00 00 00[03] 0x0c087fff8140: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c087fff8150: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c087fff8160: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa @@ -60,5 +57,4 @@ Shadow byte legend (one shadow byte represents 8 application bytes): ASan internal: fe Left alloca redzone: ca Right alloca redzone: cb - Shadow gap: cc ==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-178.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-178.txt index 4dc6ee02f..66d72752a 100644 --- a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-178.txt +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-178.txt @@ -1,36 +1,33 @@ -INFO: Running with entropic power schedule (0xFF, 100). -INFO: Seed: 1538932780 -INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), -INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), -/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +INFO: Seed: 2811067211 +/out/fuzz_ndpi_reader: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60b000000202 at pc 0x0000005d93ae bp 0x7ffe6cca4b20 sp 0x7ffe6cca4b18 +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60b000000202 at pc 0x000000556e33 bp 0x7ffe3ffb0a60 sp 0x7ffe3ffb0a58 READ of size 4 at 0x60b000000202 thread T0 - #0 0x5d93ad in concat_hash_string /src/ndpi/src/lib/protocols/ssh.c:99:19 - #1 0x5d78a4 in ndpi_search_ssh_tcp /src/ndpi/src/lib/protocols/ssh.c:308:10 - #2 0x5d95b9 in search_ssh_again /src/ndpi/src/lib/protocols/ssh.c:64:3 - #3 0x59812a in ndpi_process_extra_packet /src/ndpi/src/lib/ndpi_main.c:4397:9 - #4 0x59812a in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4753:7 - #5 0x56316c in packet_processing /src/ndpi/example/reader_util.c:1422:33 - #6 0x560f38 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 - #7 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 - #8 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) - #9 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 - #10 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) - #11 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #12 0x7fc4a49f183f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) - #13 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) + #0 0x556e32 in concat_hash_string /src/ndpi/src/lib/protocols/ssh.c:99:19 + #1 0x555704 in ndpi_search_ssh_tcp /src/ndpi/src/lib/protocols/ssh.c:308:10 + #2 0x5570af in search_ssh_again /src/ndpi/src/lib/protocols/ssh.c:64:3 + #3 0x511c3d in ndpi_process_extra_packet /src/ndpi/src/lib/ndpi_main.c:4397:9 + #4 0x513f5c in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4753:7 + #5 0x4eed8e in packet_processing /src/ndpi/example/reader_util.c:1422:33 + #6 0x4eed8e in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 + #7 0x4de707 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #8 0x6754fc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #9 0x667455 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #10 0x66c101 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #11 0x667122 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #12 0x7f199a08b082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #13 0x41f98d in _start (/out/fuzz_ndpi_reader+0x41f98d) 0x60b000000204 is located 0 bytes to the right of 100-byte region [0x60b0000001a0,0x60b000000204) allocated by thread T0 here: - #0 0x520cfd in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 - #1 0x5541c6 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 - #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) - #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 - #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) - #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #6 0x7fc4a49f183f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + #0 0x4a0dc6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0x4de6d5 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 + #2 0x6754fc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x667455 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x66c101 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x667122 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7f199a08b082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/src/lib/protocols/ssh.c:99:19 in concat_hash_string Shadow bytes around the buggy address: @@ -64,5 +61,4 @@ Shadow byte legend (one shadow byte represents 8 application bytes): ASan internal: fe Left alloca redzone: ca Right alloca redzone: cb - Shadow gap: cc ==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-18.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-18.txt index 37895412c..ebe191a1e 100644 --- a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-18.txt +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-18.txt @@ -1,39 +1,35 @@ -INFO: Running with entropic power schedule (0xFF, 100). -INFO: Seed: 1543914166 -INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), -INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), -/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +INFO: Seed: 2816071925 +/out/fuzz_ndpi_reader: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60b0000003d2 at pc 0x0000004bc86c bp 0x7ffd2650a070 sp 0x7ffd26509818 +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60b0000003d2 at pc 0x000000439f0c bp 0x7ffc69986fa0 sp 0x7ffc69986750 READ of size 8 at 0x60b0000003d2 thread T0 - #0 0x4bc86b in MemcmpInterceptorCommon(void*, int (*)(void const*, void const*, unsigned long), void const*, void const*, unsigned long) /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:844:7 - #1 0x4bcc19 in memcmp /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:875:10 - #2 0x5ecbc8 in ndpi_search_openvpn /src/ndpi/src/lib/protocols/openvpn.c:125:12 - #3 0x587274 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4113:2 - #4 0x599189 in ndpi_check_flow_func /src/ndpi/src/lib/ndpi_main.c:4205:5 - #5 0x599189 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4907:3 - #6 0x56316c in packet_processing /src/ndpi/example/reader_util.c:1422:33 - #7 0x560f38 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 - #8 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 - #9 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) - #10 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 - #11 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) - #12 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #13 0x7f7e4ce0d83f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) - #14 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) + #0 0x439f0b in MemcmpInterceptorCommon(void*, int (*)(void const*, void const*, unsigned long), void const*, void const*, unsigned long) /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:861:7 + #1 0x43a31b in bcmp /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:906:10 + #2 0x561be3 in ndpi_search_openvpn /src/ndpi/src/lib/protocols/openvpn.c:125:12 + #3 0x508896 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4113:2 + #4 0x514ec6 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4907:3 + #5 0x4eed8e in packet_processing /src/ndpi/example/reader_util.c:1422:33 + #6 0x4eed8e in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 + #7 0x4de707 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #8 0x6754fc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #9 0x667455 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #10 0x66c101 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #11 0x667122 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #12 0x7fb79528d082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #13 0x41f98d in _start (/out/fuzz_ndpi_reader+0x41f98d) 0x60b0000003d2 is located 106 bytes to the right of 104-byte region [0x60b000000300,0x60b000000368) allocated by thread T0 here: - #0 0x520cfd in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 - #1 0x5541c6 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 - #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) - #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 - #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) - #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #6 0x7f7e4ce0d83f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + #0 0x4a0dc6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0x4de6d5 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 + #2 0x6754fc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x667455 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x66c101 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x667122 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7fb79528d082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) -SUMMARY: AddressSanitizer: heap-buffer-overflow /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:844:7 in MemcmpInterceptorCommon(void*, int (*)(void const*, void const*, unsigned long), void const*, void const*, unsigned long) +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:861:7 in MemcmpInterceptorCommon(void*, int (*)(void const*, void const*, unsigned long), void const*, void const*, unsigned long) Shadow bytes around the buggy address: 0x0c167fff8020: fd fd fd fd fd fd fd fd fd fd fd fa fa fa fa fa 0x0c167fff8030: fa fa fa fa fd fd fd fd fd fd fd fd fd fd fd fd @@ -65,5 +61,4 @@ Shadow byte legend (one shadow byte represents 8 application bytes): ASan internal: fe Left alloca redzone: ca Right alloca redzone: cb - Shadow gap: cc ==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-181.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-181.txt index f50f86c16..263507118 100644 --- a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-181.txt +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-181.txt @@ -1,46 +1,43 @@ -INFO: Running with entropic power schedule (0xFF, 100). -INFO: Seed: 1561951392 -INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), -INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), -/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +INFO: Seed: 2833563634 +/out/fuzz_ndpi_reader: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6060001f47bb at pc 0x000000566cc5 bp 0x7ffc5460a370 sp 0x7ffc5460a368 -READ of size 2 at 0x6060001f47bb thread T0 - #0 0x566cc4 in get_ndpi_flow_info /src/ndpi/example/reader_util.c:705:47 - #1 0x561798 in packet_processing /src/ndpi/example/reader_util.c:1214:12 - #2 0x560f38 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 - #3 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 - #4 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) - #5 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 - #6 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) - #7 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #8 0x7fe99593b83f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) - #9 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6060001f481b at pc 0x0000004f2e17 bp 0x7ffc98192650 sp 0x7ffc98192648 +READ of size 2 at 0x6060001f481b thread T0 + #0 0x4f2e16 in get_ndpi_flow_info /src/ndpi/example/reader_util.c:705:47 + #1 0x4eccae in packet_processing /src/ndpi/example/reader_util.c:1214:12 + #2 0x4eccae in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 + #3 0x4de707 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #4 0x6754fc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #5 0x667455 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #6 0x66c101 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #7 0x667122 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #8 0x7f2614a30082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #9 0x41f98d in _start (/out/fuzz_ndpi_reader+0x41f98d) -0x6060001f47bb is located 0 bytes to the right of 59-byte region [0x6060001f4780,0x6060001f47bb) +0x6060001f481b is located 0 bytes to the right of 59-byte region [0x6060001f47e0,0x6060001f481b) allocated by thread T0 here: - #0 0x520cfd in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 - #1 0x5541c6 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 - #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) - #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 - #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) - #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #6 0x7fe99593b83f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + #0 0x4a0dc6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0x4de6d5 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 + #2 0x6754fc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x667455 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x66c101 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x667122 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7f2614a30082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/example/reader_util.c:705:47 in get_ndpi_flow_info Shadow bytes around the buggy address: - 0x0c0c800368a0: 00 00 00 fa fa fa fa fa 00 00 00 00 00 00 00 fa 0x0c0c800368b0: fa fa fa fa 00 00 00 00 00 00 00 fa fa fa fa fa 0x0c0c800368c0: 00 00 00 00 00 00 00 fa fa fa fa fa 00 00 00 00 0x0c0c800368d0: 00 00 00 fa fa fa fa fa 00 00 00 00 00 00 00 fa 0x0c0c800368e0: fa fa fa fa 00 00 00 00 00 00 00 fa fa fa fa fa -=>0x0c0c800368f0: 00 00 00 00 00 00 00[03]fa fa fa fa fa fa fa fa - 0x0c0c80036900: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0c800368f0: 00 00 00 00 00 00 00 fa fa fa fa fa 00 00 00 00 +=>0x0c0c80036900: 00 00 00[03]fa fa fa fa fa fa fa fa fa fa fa fa 0x0c0c80036910: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c0c80036920: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c0c80036930: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c0c80036940: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0c80036950: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa Shadow byte legend (one shadow byte represents 8 application bytes): Addressable: 00 Partially addressable: 01 02 03 04 05 06 07 @@ -60,5 +57,4 @@ Shadow byte legend (one shadow byte represents 8 application bytes): ASan internal: fe Left alloca redzone: ca Right alloca redzone: cb - Shadow gap: cc ==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-185.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-185.txt index dc23bfa91..eae80901f 100644 --- a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-185.txt +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-185.txt @@ -1,35 +1,31 @@ -INFO: Running with entropic power schedule (0xFF, 100). -INFO: Seed: 1551591031 -INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), -INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), -/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +INFO: Seed: 2823443735 +/out/fuzz_ndpi_reader: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x611000183f45 at pc 0x000000604336 bp 0x7ffdce643f90 sp 0x7ffdce643f88 +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x611000183f45 at pc 0x00000057483a bp 0x7ffc64328250 sp 0x7ffc64328248 READ of size 1 at 0x611000183f45 thread T0 - #0 0x604335 in ndpi_search_kerberos /src/ndpi/src/lib/protocols/kerberos.c:246:30 - #1 0x584e71 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4100:7 - #2 0x599189 in ndpi_check_flow_func /src/ndpi/src/lib/ndpi_main.c:4205:5 - #3 0x599189 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4907:3 - #4 0x56316c in packet_processing /src/ndpi/example/reader_util.c:1422:33 - #5 0x560f38 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 - #6 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 - #7 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) - #8 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 - #9 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) - #10 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #11 0x7f899848383f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) - #12 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) + #0 0x574839 in ndpi_search_kerberos /src/ndpi/src/lib/protocols/kerberos.c:246:30 + #1 0x509804 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4100:7 + #2 0x514ec6 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4907:3 + #3 0x4eed8e in packet_processing /src/ndpi/example/reader_util.c:1422:33 + #4 0x4eed8e in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 + #5 0x4de707 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #6 0x6754fc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #7 0x667455 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #8 0x66c101 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #9 0x667122 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #10 0x7fc679cca082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #11 0x41f98d in _start (/out/fuzz_ndpi_reader+0x41f98d) 0x611000183f45 is located 0 bytes to the right of 197-byte region [0x611000183e80,0x611000183f45) allocated by thread T0 here: - #0 0x520cfd in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 - #1 0x5541c6 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 - #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) - #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 - #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) - #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #6 0x7f899848383f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + #0 0x4a0dc6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0x4de6d5 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 + #2 0x6754fc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x667455 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x66c101 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x667122 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7fc679cca082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/src/lib/protocols/kerberos.c:246:30 in ndpi_search_kerberos Shadow bytes around the buggy address: @@ -63,5 +59,4 @@ Shadow byte legend (one shadow byte represents 8 application bytes): ASan internal: fe Left alloca redzone: ca Right alloca redzone: cb - Shadow gap: cc ==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-1884.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-1884.txt index e6a45d924..ce9d8b2eb 100644 --- a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-1884.txt +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-1884.txt @@ -1,27 +1,24 @@ -INFO: Running with entropic power schedule (0xFF, 100). -INFO: Seed: 1577413895 -INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), -INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), -/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +INFO: Seed: 2761580764 +/out/fuzz_ndpi_reader: Running 1 inputs 1 time(s) each. Running: /tmp/testcase AddressSanitizer:DEADLYSIGNAL ================================================================= -==1==ERROR: AddressSanitizer: SEGV on unknown address (pc 0x7fc745a397c6 bp 0x7ffd1cf6d270 sp 0x7ffd1cf6ca28 T0) +==1==ERROR: AddressSanitizer: SEGV on unknown address (pc 0x0000004b7d50 bp 0x7fffd8a91b30 sp 0x7fffd8a912e8 T0) ==1==The signal is caused by a READ memory access. ==1==Hint: this fault was caused by a dereference of a high value address (see register values below). Disassemble the provided pc to learn which register was used. - #0 0x7fc745a397c6 in strlen (/lib/x86_64-linux-gnu/libc.so.6+0x8b7c6) - #1 0x50c742 in __strdup /src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:464:17 - #2 0x55e11f in process_ndpi_collected_info /src/ndpi/example/reader_util.c:1098:33 - #3 0x5637bc in packet_processing /src/ndpi/example/reader_util.c - #4 0x560f38 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 - #5 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 - #6 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) - #7 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 - #8 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) - #9 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #10 0x7fc7459ce83f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) - #11 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) + #0 0x4b7d50 in __sanitizer::internal_strlen(char const*) /src/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_libc.cpp:167:10 + #1 0x48b861 in strdup /src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:436:17 + #2 0x4e9a85 in process_ndpi_collected_info /src/ndpi/example/reader_util.c:1098:33 + #3 0x4eef5d in packet_processing /src/ndpi/example/reader_util.c:1447:4 + #4 0x4eef5d in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 + #5 0x4de707 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #6 0x6754fc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #7 0x667455 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #8 0x66c101 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #9 0x667122 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #10 0x7f9a6b641082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #11 0x41f98d in _start (/out/fuzz_ndpi_reader+0x41f98d) AddressSanitizer can not provide additional info. -SUMMARY: AddressSanitizer: SEGV (/lib/x86_64-linux-gnu/libc.so.6+0x8b7c6) in strlen +SUMMARY: AddressSanitizer: SEGV /src/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_libc.cpp:167:10 in __sanitizer::internal_strlen(char const*) ==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-2126.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-2126.txt index f56a8f595..ba7b56369 100644 --- a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-2126.txt +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-2126.txt @@ -1,44 +1,41 @@ -INFO: Running with entropic power schedule (0xFF, 100). -INFO: Seed: 1549137144 -INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), -INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), -/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +INFO: Seed: 2820960036 +/out/fuzz_ndpi_reader: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6060001f47ba at pc 0x000000561221 bp 0x7ffd0d931850 sp 0x7ffd0d931848 -READ of size 1 at 0x6060001f47ba thread T0 - #0 0x561220 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c - #1 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 - #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) - #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 - #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) - #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #6 0x7f27bbd6383f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) - #7 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6060001f481a at pc 0x0000004f02d0 bp 0x7ffc63056b10 sp 0x7ffc63056b08 +READ of size 1 at 0x6060001f481a thread T0 + #0 0x4f02cf in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1655:15 + #1 0x4de707 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #2 0x6754fc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x667455 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x66c101 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x667122 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7fe53d8ae082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #7 0x41f98d in _start (/out/fuzz_ndpi_reader+0x41f98d) -0x6060001f47ba is located 0 bytes to the right of 58-byte region [0x6060001f4780,0x6060001f47ba) +0x6060001f481a is located 0 bytes to the right of 58-byte region [0x6060001f47e0,0x6060001f481a) allocated by thread T0 here: - #0 0x520cfd in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 - #1 0x5541c6 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 - #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) - #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 - #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) - #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #6 0x7f27bbd6383f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + #0 0x4a0dc6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0x4de6d5 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 + #2 0x6754fc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x667455 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x66c101 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x667122 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7fe53d8ae082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) -SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/example/reader_util.c in ndpi_workflow_process_packet +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/example/reader_util.c:1655:15 in ndpi_workflow_process_packet Shadow bytes around the buggy address: - 0x0c0c800368a0: 00 00 00 fa fa fa fa fa 00 00 00 00 00 00 00 fa 0x0c0c800368b0: fa fa fa fa 00 00 00 00 00 00 00 fa fa fa fa fa 0x0c0c800368c0: 00 00 00 00 00 00 00 fa fa fa fa fa 00 00 00 00 0x0c0c800368d0: 00 00 00 fa fa fa fa fa 00 00 00 00 00 00 00 fa 0x0c0c800368e0: fa fa fa fa 00 00 00 00 00 00 00 fa fa fa fa fa -=>0x0c0c800368f0: 00 00 00 00 00 00 00[02]fa fa fa fa fa fa fa fa - 0x0c0c80036900: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0c800368f0: 00 00 00 00 00 00 00 fa fa fa fa fa 00 00 00 00 +=>0x0c0c80036900: 00 00 00[02]fa fa fa fa fa fa fa fa fa fa fa fa 0x0c0c80036910: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c0c80036920: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c0c80036930: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c0c80036940: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0c80036950: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa Shadow byte legend (one shadow byte represents 8 application bytes): Addressable: 00 Partially addressable: 01 02 03 04 05 06 07 @@ -58,5 +55,4 @@ Shadow byte legend (one shadow byte represents 8 application bytes): ASan internal: fe Left alloca redzone: ca Right alloca redzone: cb - Shadow gap: cc ==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-236.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-236.txt index e0253b9ac..da9cc37c4 100644 --- a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-236.txt +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-236.txt @@ -1,41 +1,38 @@ -INFO: Running with entropic power schedule (0xFF, 100). -INFO: Seed: 1579783664 -INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), -INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), -/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +INFO: Seed: 2764239361 +/out/fuzz_ndpi_reader: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x603000005397 at pc 0x00000056794b bp 0x7ffe8b209190 sp 0x7ffe8b209188 -READ of size 4 at 0x603000005397 thread T0 - #0 0x56794a in get_ndpi_flow_info6 /src/ndpi/example/reader_util.c:918:15 - #1 0x56185e in packet_processing /src/ndpi/example/reader_util.c:1222:12 - #2 0x560f38 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 - #3 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 - #4 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) - #5 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 - #6 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) - #7 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #8 0x7fb47dc5683f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) - #9 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6030000053c7 at pc 0x0000004ef82f bp 0x7ffc68e5baf0 sp 0x7ffc68e5bae8 +READ of size 4 at 0x6030000053c7 thread T0 + #0 0x4ef82e in get_ndpi_flow_info6 /src/ndpi/example/reader_util.c:918:15 + #1 0x4ef82e in packet_processing /src/ndpi/example/reader_util.c:1222:12 + #2 0x4ef82e in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 + #3 0x4de707 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #4 0x6754fc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #5 0x667455 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #6 0x66c101 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #7 0x667122 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #8 0x7f55b99b7082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #9 0x41f98d in _start (/out/fuzz_ndpi_reader+0x41f98d) -0x603000005397 is located 2 bytes to the right of 21-byte region [0x603000005380,0x603000005395) +0x6030000053c7 is located 2 bytes to the right of 21-byte region [0x6030000053b0,0x6030000053c5) allocated by thread T0 here: - #0 0x520cfd in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 - #1 0x5541c6 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 - #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) - #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 - #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) - #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #6 0x7fb47dc5683f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + #0 0x4a0dc6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0x4de6d5 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 + #2 0x6754fc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x667455 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x66c101 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x667122 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7f55b99b7082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/example/reader_util.c:918:15 in get_ndpi_flow_info6 Shadow bytes around the buggy address: - 0x0c067fff8a20: fa fa 00 00 02 fa fa fa 00 00 01 fa fa fa 00 00 - 0x0c067fff8a30: 00 06 fa fa 00 00 01 fa fa fa 00 00 01 fa fa fa - 0x0c067fff8a40: 00 00 00 06 fa fa 00 00 01 fa fa fa 00 00 01 fa - 0x0c067fff8a50: fa fa 00 00 03 fa fa fa 00 00 00 fa fa fa 00 00 - 0x0c067fff8a60: 01 fa fa fa 00 00 02 fa fa fa 00 00 06 fa fa fa -=>0x0c067fff8a70: 00 00[05]fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c067fff8a20: fa fa 00 00 03 fa fa fa 00 00 02 fa fa fa 00 00 + 0x0c067fff8a30: 01 fa fa fa 00 00 00 06 fa fa 00 00 01 fa fa fa + 0x0c067fff8a40: 00 00 01 fa fa fa 00 00 00 06 fa fa 00 00 01 fa + 0x0c067fff8a50: fa fa 00 00 01 fa fa fa 00 00 03 fa fa fa 00 00 + 0x0c067fff8a60: 00 fa fa fa 00 00 01 fa fa fa 00 00 02 fa fa fa +=>0x0c067fff8a70: 00 00 06 fa fa fa 00 00[05]fa fa fa fa fa fa fa 0x0c067fff8a80: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c067fff8a90: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c067fff8aa0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa @@ -60,5 +57,4 @@ Shadow byte legend (one shadow byte represents 8 application bytes): ASan internal: fe Left alloca redzone: ca Right alloca redzone: cb - Shadow gap: cc ==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-242.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-242.txt index ef08f9b9b..991e5e2cd 100644 --- a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-242.txt +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-242.txt @@ -1,30 +1,27 @@ -INFO: Running with entropic power schedule (0xFF, 100). -INFO: Seed: 1582081047 -INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), -INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), -/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +INFO: Seed: 2766656885 +/out/fuzz_ndpi_reader: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x602000045cfc at pc 0x0000005613c8 bp 0x7fff0376ab50 sp 0x7fff0376ab48 +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x602000045cfc at pc 0x0000004f0492 bp 0x7ffefdc508f0 sp 0x7ffefdc508e8 READ of size 2 at 0x602000045cfc thread T0 - #0 0x5613c7 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1573:13 - #1 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 - #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) - #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 - #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) - #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #6 0x7f2c276dc83f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) - #7 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) + #0 0x4f0491 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1573:13 + #1 0x4de707 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #2 0x6754fc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x667455 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x66c101 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x667122 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7f0187175082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #7 0x41f98d in _start (/out/fuzz_ndpi_reader+0x41f98d) 0x602000045cfc is located 11 bytes to the right of 1-byte region [0x602000045cf0,0x602000045cf1) allocated by thread T0 here: - #0 0x520cfd in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 - #1 0x5541c6 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 - #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) - #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 - #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) - #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #6 0x7f2c276dc83f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + #0 0x4a0dc6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0x4de6d5 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 + #2 0x6754fc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x667455 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x66c101 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x667122 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7f0187175082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/example/reader_util.c:1573:13 in ndpi_workflow_process_packet Shadow bytes around the buggy address: @@ -58,5 +55,4 @@ Shadow byte legend (one shadow byte represents 8 application bytes): ASan internal: fe Left alloca redzone: ca Right alloca redzone: cb - Shadow gap: cc ==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-40.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-40.txt index 2de86bf68..8ecef6b08 100644 --- a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-40.txt +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-40.txt @@ -1,39 +1,36 @@ -INFO: Running with entropic power schedule (0xFF, 100). -INFO: Seed: 1533746370 -INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), -INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), -/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +INFO: Seed: 2806011227 +/out/fuzz_ndpi_reader: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60400000013d at pc 0x000000561328 bp 0x7fffb538a470 sp 0x7fffb538a468 -READ of size 2 at 0x60400000013d thread T0 - #0 0x561327 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1772:23 - #1 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 - #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) - #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 - #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) - #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #6 0x7faa51f7783f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) - #7 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60400000017d at pc 0x0000004f03b0 bp 0x7ffd0cc91790 sp 0x7ffd0cc91788 +READ of size 2 at 0x60400000017d thread T0 + #0 0x4f03af in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1772:23 + #1 0x4de707 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #2 0x6754fc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x667455 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x66c101 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x667122 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7f6a9939d082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #7 0x41f98d in _start (/out/fuzz_ndpi_reader+0x41f98d) -0x60400000013d is located 0 bytes to the right of 45-byte region [0x604000000110,0x60400000013d) +0x60400000017d is located 0 bytes to the right of 45-byte region [0x604000000150,0x60400000017d) allocated by thread T0 here: - #0 0x520cfd in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 - #1 0x5541c6 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 - #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) - #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 - #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) - #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #6 0x7faa51f7783f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + #0 0x4a0dc6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0x4de6d5 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 + #2 0x6754fc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x667455 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x66c101 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x667122 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7f6a9939d082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/example/reader_util.c:1772:23 in ndpi_workflow_process_packet Shadow bytes around the buggy address: 0x0c087fff7fd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x0c087fff7fe0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x0c087fff7ff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 0x0c087fff8000: fa fa 00 00 00 00 00 00 fa fa 00 00 00 00 00 05 - 0x0c087fff8010: fa fa 00 00 00 00 01 fa fa fa 00 00 00 00 07 fa -=>0x0c087fff8020: fa fa 00 00 00 00 00[05]fa fa fa fa fa fa fa fa + 0x0c087fff8000: fa fa 00 00 00 00 00 00 fa fa 00 00 00 00 00 00 + 0x0c087fff8010: fa fa 00 00 00 00 00 05 fa fa 00 00 00 00 01 fa +=>0x0c087fff8020: fa fa 00 00 00 00 07 fa fa fa 00 00 00 00 00[05] 0x0c087fff8030: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c087fff8040: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c087fff8050: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa @@ -58,5 +55,4 @@ Shadow byte legend (one shadow byte represents 8 application bytes): ASan internal: fe Left alloca redzone: ca Right alloca redzone: cb - Shadow gap: cc ==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-60.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-60.txt index f930d27f3..0bab4254f 100644 --- a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-60.txt +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-60.txt @@ -1,42 +1,39 @@ -INFO: Running with entropic power schedule (0xFF, 100). -INFO: Seed: 1536519473 -INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), -INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), -/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +INFO: Seed: 2808558978 +/out/fuzz_ndpi_reader: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60400000013d at pc 0x000000566c7c bp 0x7fff487d7d10 sp 0x7fff487d7d08 -READ of size 2 at 0x60400000013d thread T0 - #0 0x566c7b in get_ndpi_flow_info /src/ndpi/example/reader_util.c:705:14 - #1 0x5678cb in get_ndpi_flow_info6 /src/ndpi/example/reader_util.c:928:10 - #2 0x56185e in packet_processing /src/ndpi/example/reader_util.c:1222:12 - #3 0x560f38 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 - #4 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 - #5 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) - #6 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 - #7 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) - #8 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #9 0x7f78e722b83f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) - #10 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60400000017d at pc 0x0000004f2dc2 bp 0x7ffd082b8670 sp 0x7ffd082b8668 +READ of size 2 at 0x60400000017d thread T0 + #0 0x4f2dc1 in get_ndpi_flow_info /src/ndpi/example/reader_util.c:705:14 + #1 0x4ed26a in get_ndpi_flow_info6 /src/ndpi/example/reader_util.c:928:10 + #2 0x4ed26a in packet_processing /src/ndpi/example/reader_util.c:1222:12 + #3 0x4ed26a in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 + #4 0x4de707 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #5 0x6754fc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #6 0x667455 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #7 0x66c101 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #8 0x667122 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #9 0x7fd57ca24082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #10 0x41f98d in _start (/out/fuzz_ndpi_reader+0x41f98d) -0x60400000013d is located 0 bytes to the right of 45-byte region [0x604000000110,0x60400000013d) +0x60400000017d is located 0 bytes to the right of 45-byte region [0x604000000150,0x60400000017d) allocated by thread T0 here: - #0 0x520cfd in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 - #1 0x5541c6 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 - #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) - #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 - #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) - #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #6 0x7f78e722b83f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + #0 0x4a0dc6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0x4de6d5 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 + #2 0x6754fc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x667455 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x66c101 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x667122 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7fd57ca24082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/example/reader_util.c:705:14 in get_ndpi_flow_info Shadow bytes around the buggy address: 0x0c087fff7fd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x0c087fff7fe0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x0c087fff7ff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 0x0c087fff8000: fa fa 00 00 00 00 00 00 fa fa 00 00 00 00 00 05 - 0x0c087fff8010: fa fa 00 00 00 00 01 fa fa fa 00 00 00 00 07 fa -=>0x0c087fff8020: fa fa 00 00 00 00 00[05]fa fa fa fa fa fa fa fa + 0x0c087fff8000: fa fa 00 00 00 00 00 00 fa fa 00 00 00 00 00 00 + 0x0c087fff8010: fa fa 00 00 00 00 00 05 fa fa 00 00 00 00 01 fa +=>0x0c087fff8020: fa fa 00 00 00 00 07 fa fa fa 00 00 00 00 00[05] 0x0c087fff8030: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c087fff8040: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c087fff8050: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa @@ -61,5 +58,4 @@ Shadow byte legend (one shadow byte represents 8 application bytes): ASan internal: fe Left alloca redzone: ca Right alloca redzone: cb - Shadow gap: cc ==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-67.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-67.txt index 518729443..93600ccea 100644 --- a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-67.txt +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-67.txt @@ -1,44 +1,41 @@ -INFO: Running with entropic power schedule (0xFF, 100). -INFO: Seed: 1564248801 -INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), -INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), -/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +INFO: Seed: 2836136131 +/out/fuzz_ndpi_reader: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6060001f47b6 at pc 0x0000005612b0 bp 0x7ffdac6dcfd0 sp 0x7ffdac6dcfc8 -READ of size 2 at 0x6060001f47b6 thread T0 - #0 0x5612af in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1802:32 - #1 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 - #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) - #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 - #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) - #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #6 0x7f14d038983f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) - #7 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6060001f4816 at pc 0x0000004f0517 bp 0x7ffe55a5dcd0 sp 0x7ffe55a5dcc8 +READ of size 2 at 0x6060001f4816 thread T0 + #0 0x4f0516 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1802:32 + #1 0x4de707 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #2 0x6754fc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x667455 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x66c101 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x667122 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7f0ea6abe082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #7 0x41f98d in _start (/out/fuzz_ndpi_reader+0x41f98d) -0x6060001f47b7 is located 0 bytes to the right of 55-byte region [0x6060001f4780,0x6060001f47b7) +0x6060001f4817 is located 0 bytes to the right of 55-byte region [0x6060001f47e0,0x6060001f4817) allocated by thread T0 here: - #0 0x520cfd in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 - #1 0x5541c6 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 - #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) - #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 - #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) - #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #6 0x7f14d038983f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + #0 0x4a0dc6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0x4de6d5 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 + #2 0x6754fc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x667455 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x66c101 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x667122 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7f0ea6abe082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/example/reader_util.c:1802:32 in ndpi_workflow_process_packet Shadow bytes around the buggy address: - 0x0c0c800368a0: 00 00 00 fa fa fa fa fa 00 00 00 00 00 00 00 fa 0x0c0c800368b0: fa fa fa fa 00 00 00 00 00 00 00 fa fa fa fa fa 0x0c0c800368c0: 00 00 00 00 00 00 00 fa fa fa fa fa 00 00 00 00 0x0c0c800368d0: 00 00 00 fa fa fa fa fa 00 00 00 00 00 00 00 fa 0x0c0c800368e0: fa fa fa fa 00 00 00 00 00 00 00 fa fa fa fa fa -=>0x0c0c800368f0: 00 00 00 00 00 00[07]fa fa fa fa fa fa fa fa fa - 0x0c0c80036900: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0c800368f0: 00 00 00 00 00 00 00 fa fa fa fa fa 00 00 00 00 +=>0x0c0c80036900: 00 00[07]fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c0c80036910: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c0c80036920: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c0c80036930: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c0c80036940: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0c80036950: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa Shadow byte legend (one shadow byte represents 8 application bytes): Addressable: 00 Partially addressable: 01 02 03 04 05 06 07 @@ -58,5 +55,4 @@ Shadow byte legend (one shadow byte represents 8 application bytes): ASan internal: fe Left alloca redzone: ca Right alloca redzone: cb - Shadow gap: cc ==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-70.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-70.txt index eaf79a02c..f1eb95afd 100644 --- a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-70.txt +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-70.txt @@ -1,40 +1,37 @@ -INFO: Running with entropic power schedule (0xFF, 100). -INFO: Seed: 1584730722 -INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), -INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), -/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +INFO: Seed: 2769124092 +/out/fuzz_ndpi_reader: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60400000013d at pc 0x00000057bcfc bp 0x7fff628f65d0 sp 0x7fff628f65c8 -READ of size 1 at 0x60400000013d thread T0 - #0 0x57bcfb in ndpi_handle_ipv6_extension_headers /src/ndpi/src/lib/ndpi_main.c:3650:16 - #1 0x560307 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1750:7 - #2 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 - #3 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) - #4 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 - #5 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) - #6 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #7 0x7fbb59f8b83f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) - #8 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60400000017d at pc 0x000000501a71 bp 0x7ffc39045a10 sp 0x7ffc39045a08 +READ of size 1 at 0x60400000017d thread T0 + #0 0x501a70 in ndpi_handle_ipv6_extension_headers /src/ndpi/src/lib/ndpi_main.c:3650:16 + #1 0x4ec088 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1750:7 + #2 0x4de707 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #3 0x6754fc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #4 0x667455 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #5 0x66c101 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #6 0x667122 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #7 0x7f398390f082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #8 0x41f98d in _start (/out/fuzz_ndpi_reader+0x41f98d) -0x60400000013d is located 0 bytes to the right of 45-byte region [0x604000000110,0x60400000013d) +0x60400000017d is located 0 bytes to the right of 45-byte region [0x604000000150,0x60400000017d) allocated by thread T0 here: - #0 0x520cfd in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 - #1 0x5541c6 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 - #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) - #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 - #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) - #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #6 0x7fbb59f8b83f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + #0 0x4a0dc6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0x4de6d5 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 + #2 0x6754fc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x667455 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x66c101 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x667122 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7f398390f082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/src/lib/ndpi_main.c:3650:16 in ndpi_handle_ipv6_extension_headers Shadow bytes around the buggy address: 0x0c087fff7fd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x0c087fff7fe0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x0c087fff7ff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 0x0c087fff8000: fa fa 00 00 00 00 00 00 fa fa 00 00 00 00 00 05 - 0x0c087fff8010: fa fa 00 00 00 00 01 fa fa fa 00 00 00 00 07 fa -=>0x0c087fff8020: fa fa 00 00 00 00 00[05]fa fa fa fa fa fa fa fa + 0x0c087fff8000: fa fa 00 00 00 00 00 00 fa fa 00 00 00 00 00 00 + 0x0c087fff8010: fa fa 00 00 00 00 00 05 fa fa 00 00 00 00 01 fa +=>0x0c087fff8020: fa fa 00 00 00 00 07 fa fa fa 00 00 00 00 00[05] 0x0c087fff8030: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c087fff8040: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c087fff8050: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa @@ -59,5 +56,4 @@ Shadow byte legend (one shadow byte represents 8 application bytes): ASan internal: fe Left alloca redzone: ca Right alloca redzone: cb - Shadow gap: cc ==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-71.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-71.txt index 5855765d9..a49c78efb 100644 --- a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-71.txt +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-71.txt @@ -1,38 +1,34 @@ -INFO: Running with entropic power schedule (0xFF, 100). -INFO: Seed: 1587505235 -INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), -INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), -/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +INFO: Seed: 2771472661 +/out/fuzz_ndpi_reader: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60b000000152 at pc 0x0000005200b7 bp 0x7ffeed17c5b0 sp 0x7ffeed17bd78 +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60b000000152 at pc 0x0000004a0151 bp 0x7ffec0484f90 sp 0x7ffec0484760 READ of size 8 at 0x60b000000152 thread T0 - #0 0x5200b6 in __asan_memcpy /src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:22:3 - #1 0x59c18f in ndpi_parse_packet_line_info /src/ndpi/src/lib/ndpi_main.c:5157:9 - #2 0x5e4483 in ndpi_check_steam_http /src/ndpi/src/lib/protocols/steam.c:40:3 - #3 0x5e4483 in ndpi_search_steam /src/ndpi/src/lib/protocols/steam.c:280:5 - #4 0x58b3d6 in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4157:4 - #5 0x59914a in ndpi_check_flow_func /src/ndpi/src/lib/ndpi_main.c:4203:5 - #6 0x59914a in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4907:3 - #7 0x56316c in packet_processing /src/ndpi/example/reader_util.c:1422:33 - #8 0x560f38 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 - #9 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 - #10 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) - #11 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 - #12 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) - #13 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #14 0x7f5bdfcee83f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) - #15 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) + #0 0x4a0150 in __asan_memcpy /src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:22:3 + #1 0x5173e6 in ndpi_parse_packet_line_info /src/ndpi/src/lib/ndpi_main.c:5157:9 + #2 0x55a261 in ndpi_check_steam_http /src/ndpi/src/lib/protocols/steam.c:40:3 + #3 0x55a261 in ndpi_search_steam /src/ndpi/src/lib/protocols/steam.c:280:5 + #4 0x50bd1f in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4157:4 + #5 0x514ec6 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4907:3 + #6 0x4eed8e in packet_processing /src/ndpi/example/reader_util.c:1422:33 + #7 0x4eed8e in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 + #8 0x4de707 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #9 0x6754fc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #10 0x667455 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #11 0x66c101 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #12 0x667122 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #13 0x7ff0b78df082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #14 0x41f98d in _start (/out/fuzz_ndpi_reader+0x41f98d) 0x60b000000152 is located 0 bytes to the right of 98-byte region [0x60b0000000f0,0x60b000000152) allocated by thread T0 here: - #0 0x520cfd in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 - #1 0x5541c6 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 - #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) - #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 - #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) - #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #6 0x7f5bdfcee83f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + #0 0x4a0dc6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0x4de6d5 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 + #2 0x6754fc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x667455 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x66c101 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x667122 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7ff0b78df082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) SUMMARY: AddressSanitizer: heap-buffer-overflow /src/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:22:3 in __asan_memcpy Shadow bytes around the buggy address: @@ -66,5 +62,4 @@ Shadow byte legend (one shadow byte represents 8 application bytes): ASan internal: fe Left alloca redzone: ca Right alloca redzone: cb - Shadow gap: cc ==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-747.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-747.txt index e648db681..6ab4bbeab 100644 --- a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-747.txt +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-747.txt @@ -1,49 +1,46 @@ -INFO: Running with entropic power schedule (0xFF, 100). -INFO: Seed: 1541348470 -INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), -INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), -/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +INFO: Seed: 2813656018 +/out/fuzz_ndpi_reader: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: heap-use-after-free on address 0x62b0000102df at pc 0x00000050cc1d bp 0x7ffdbae67cd0 sp 0x7ffdbae67488 +==1==ERROR: AddressSanitizer: heap-use-after-free on address 0x62b0000102df at pc 0x00000048bfed bp 0x7ffc05c3be30 sp 0x7ffc05c3b5f0 READ of size 2 at 0x62b0000102df thread T0 - #0 0x50cc1c in strncpy /src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:482:5 - #1 0x5f8c37 in check_content_type_and_change_protocol /src/ndpi/src/lib/protocols/http.c:367:7 - #2 0x5f7184 in ndpi_check_http_tcp /src/ndpi/src/lib/protocols/http.c:720:9 - #3 0x5f7184 in ndpi_search_http_tcp /src/ndpi/src/lib/protocols/http.c:866:3 - #4 0x5fa7c9 in ndpi_search_http_tcp_again /src/ndpi/src/lib/protocols/http.c:39:3 - #5 0x59812a in ndpi_process_extra_packet /src/ndpi/src/lib/ndpi_main.c:4397:9 - #6 0x59812a in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4753:7 - #7 0x56316c in packet_processing /src/ndpi/example/reader_util.c:1422:33 - #8 0x560f38 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 - #9 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 - #10 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) - #11 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 - #12 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) - #13 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #14 0x7fdb674df83f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) - #15 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) + #0 0x48bfec in __interceptor_strncpy /src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:470:5 + #1 0x569076 in check_content_type_and_change_protocol /src/ndpi/src/lib/protocols/http.c:367:7 + #2 0x567cc7 in ndpi_check_http_tcp /src/ndpi/src/lib/protocols/http.c:720:9 + #3 0x567cc7 in ndpi_search_http_tcp /src/ndpi/src/lib/protocols/http.c:866:3 + #4 0x56ac5f in ndpi_search_http_tcp_again /src/ndpi/src/lib/protocols/http.c:39:3 + #5 0x511c3d in ndpi_process_extra_packet /src/ndpi/src/lib/ndpi_main.c:4397:9 + #6 0x513f5c in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4753:7 + #7 0x4eed8e in packet_processing /src/ndpi/example/reader_util.c:1422:33 + #8 0x4eed8e in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 + #9 0x4de707 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #10 0x6754fc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #11 0x667455 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #12 0x66c101 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #13 0x667122 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #14 0x7f21d2126082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #15 0x41f98d in _start (/out/fuzz_ndpi_reader+0x41f98d) 0x62b0000102df is located 8415 bytes inside of 25443-byte region [0x62b00000e200,0x62b000014563) freed by thread T0 here: - #0 0x520a92 in free /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:127:3 - #1 0x5541ff in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:91:5 - #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) - #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 - #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) - #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #6 0x7fdb674df83f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + #0 0x4a0b22 in free /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:52:3 + #1 0x4de70f in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:91:5 + #2 0x6754fc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x667455 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x66c101 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x667122 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7f21d2126082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) previously allocated by thread T0 here: - #0 0x520cfd in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 - #1 0x5541c6 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 - #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) - #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 - #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) - #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #6 0x7fdb674df83f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + #0 0x4a0dc6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0x4de6d5 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 + #2 0x6754fc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x667455 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x66c101 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x667122 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7f21d2126082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) -SUMMARY: AddressSanitizer: heap-use-after-free /src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:482:5 in strncpy +SUMMARY: AddressSanitizer: heap-use-after-free /src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:470:5 in __interceptor_strncpy Shadow bytes around the buggy address: 0x0c567fffa000: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x0c567fffa010: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd @@ -75,5 +72,4 @@ Shadow byte legend (one shadow byte represents 8 application bytes): ASan internal: fe Left alloca redzone: ca Right alloca redzone: cb - Shadow gap: cc ==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-806.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-806.txt index ea8efc3eb..6a90517de 100644 --- a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-806.txt +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-806.txt @@ -1,27 +1,24 @@ -INFO: Running with entropic power schedule (0xFF, 100). -INFO: Seed: 1590099537 -INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), -INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), -/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +INFO: Seed: 2774207733 +/out/fuzz_ndpi_reader: Running 1 inputs 1 time(s) each. Running: /tmp/testcase AddressSanitizer:DEADLYSIGNAL ================================================================= -==1==ERROR: AddressSanitizer: SEGV on unknown address (pc 0x7f6de744a7c6 bp 0x7fff9d8b96b0 sp 0x7fff9d8b8e68 T0) +==1==ERROR: AddressSanitizer: SEGV on unknown address (pc 0x7fa3bf7c66e5 bp 0x7ffdf3005370 sp 0x7ffdf3004b28 T0) ==1==The signal is caused by a READ memory access. ==1==Hint: this fault was caused by a dereference of a high value address (see register values below). Disassemble the provided pc to learn which register was used. - #0 0x7f6de744a7c6 in strlen (/lib/x86_64-linux-gnu/libc.so.6+0x8b7c6) - #1 0x4b81b8 in strlen /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc - #2 0x55dcd8 in process_ndpi_collected_info /src/ndpi/example/reader_util.c:1069:43 - #3 0x5637bc in packet_processing /src/ndpi/example/reader_util.c - #4 0x560f38 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 - #5 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 - #6 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) - #7 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 - #8 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) - #9 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #10 0x7f6de73df83f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) - #11 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) + #0 0x7fa3bf7c66e5 (/lib/x86_64-linux-gnu/libc.so.6+0x1886e5) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #1 0x4359f8 in strlen /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc + #2 0x4e962e in process_ndpi_collected_info /src/ndpi/example/reader_util.c:1069:43 + #3 0x4eef5d in packet_processing /src/ndpi/example/reader_util.c:1447:4 + #4 0x4eef5d in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 + #5 0x4de707 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #6 0x6754fc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #7 0x667455 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #8 0x66c101 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #9 0x667122 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #10 0x7fa3bf662082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #11 0x41f98d in _start (/out/fuzz_ndpi_reader+0x41f98d) AddressSanitizer can not provide additional info. -SUMMARY: AddressSanitizer: SEGV (/lib/x86_64-linux-gnu/libc.so.6+0x8b7c6) in strlen +SUMMARY: AddressSanitizer: SEGV (/lib/x86_64-linux-gnu/libc.so.6+0x1886e5) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) ==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-821.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-821.txt index 45a8e0ab5..ed4e349f7 100644 --- a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-821.txt +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-821.txt @@ -1,39 +1,36 @@ -INFO: Running with entropic power schedule (0xFF, 100). -INFO: Seed: 1559394647 -INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), -INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), -/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +INFO: Seed: 2831154710 +/out/fuzz_ndpi_reader: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60400000013e at pc 0x000000561377 bp 0x7ffdf2964750 sp 0x7ffdf2964748 -READ of size 1 at 0x60400000013e thread T0 - #0 0x561376 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1625:13 - #1 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 - #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) - #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 - #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) - #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #6 0x7fc4cc7b783f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) - #7 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60400000017e at pc 0x0000004f0413 bp 0x7ffebcdeed30 sp 0x7ffebcdeed28 +READ of size 1 at 0x60400000017e thread T0 + #0 0x4f0412 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1625:13 + #1 0x4de707 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #2 0x6754fc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x667455 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x66c101 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x667122 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7f7179c36082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #7 0x41f98d in _start (/out/fuzz_ndpi_reader+0x41f98d) -0x60400000013e is located 1 bytes to the right of 45-byte region [0x604000000110,0x60400000013d) +0x60400000017e is located 1 bytes to the right of 45-byte region [0x604000000150,0x60400000017d) allocated by thread T0 here: - #0 0x520cfd in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 - #1 0x5541c6 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 - #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) - #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 - #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) - #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #6 0x7fc4cc7b783f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + #0 0x4a0dc6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0x4de6d5 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 + #2 0x6754fc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x667455 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x66c101 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x667122 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7f7179c36082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/example/reader_util.c:1625:13 in ndpi_workflow_process_packet Shadow bytes around the buggy address: 0x0c087fff7fd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x0c087fff7fe0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x0c087fff7ff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 0x0c087fff8000: fa fa 00 00 00 00 00 00 fa fa 00 00 00 00 00 05 - 0x0c087fff8010: fa fa 00 00 00 00 01 fa fa fa 00 00 00 00 07 fa -=>0x0c087fff8020: fa fa 00 00 00 00 00[05]fa fa fa fa fa fa fa fa + 0x0c087fff8000: fa fa 00 00 00 00 00 00 fa fa 00 00 00 00 00 00 + 0x0c087fff8010: fa fa 00 00 00 00 00 05 fa fa 00 00 00 00 01 fa +=>0x0c087fff8020: fa fa 00 00 00 00 07 fa fa fa 00 00 00 00 00[05] 0x0c087fff8030: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c087fff8040: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c087fff8050: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa @@ -58,5 +55,4 @@ Shadow byte legend (one shadow byte represents 8 application bytes): ASan internal: fe Left alloca redzone: ca Right alloca redzone: cb - Shadow gap: cc ==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-829.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-829.txt index 11313fc2f..277234064 100644 --- a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-829.txt +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-829.txt @@ -1,49 +1,46 @@ -INFO: Running with entropic power schedule (0xFF, 100). -INFO: Seed: 1556730264 -INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), -INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), -/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +INFO: Seed: 2828597904 +/out/fuzz_ndpi_reader: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: heap-use-after-free on address 0x62b0000102df at pc 0x00000050cc1d bp 0x7ffd282a7750 sp 0x7ffd282a6f08 +==1==ERROR: AddressSanitizer: heap-use-after-free on address 0x62b0000102df at pc 0x00000048bfed bp 0x7fff32877ff0 sp 0x7fff328777b0 READ of size 2 at 0x62b0000102df thread T0 - #0 0x50cc1c in strncpy /src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:482:5 - #1 0x5f8c37 in check_content_type_and_change_protocol /src/ndpi/src/lib/protocols/http.c:367:7 - #2 0x5f7184 in ndpi_check_http_tcp /src/ndpi/src/lib/protocols/http.c:720:9 - #3 0x5f7184 in ndpi_search_http_tcp /src/ndpi/src/lib/protocols/http.c:866:3 - #4 0x5fa7c9 in ndpi_search_http_tcp_again /src/ndpi/src/lib/protocols/http.c:39:3 - #5 0x59812a in ndpi_process_extra_packet /src/ndpi/src/lib/ndpi_main.c:4397:9 - #6 0x59812a in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4753:7 - #7 0x56316c in packet_processing /src/ndpi/example/reader_util.c:1422:33 - #8 0x560f38 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 - #9 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 - #10 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) - #11 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 - #12 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) - #13 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #14 0x7fc99f25283f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) - #15 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) + #0 0x48bfec in __interceptor_strncpy /src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:470:5 + #1 0x569076 in check_content_type_and_change_protocol /src/ndpi/src/lib/protocols/http.c:367:7 + #2 0x567cc7 in ndpi_check_http_tcp /src/ndpi/src/lib/protocols/http.c:720:9 + #3 0x567cc7 in ndpi_search_http_tcp /src/ndpi/src/lib/protocols/http.c:866:3 + #4 0x56ac5f in ndpi_search_http_tcp_again /src/ndpi/src/lib/protocols/http.c:39:3 + #5 0x511c3d in ndpi_process_extra_packet /src/ndpi/src/lib/ndpi_main.c:4397:9 + #6 0x513f5c in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4753:7 + #7 0x4eed8e in packet_processing /src/ndpi/example/reader_util.c:1422:33 + #8 0x4eed8e in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 + #9 0x4de707 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #10 0x6754fc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #11 0x667455 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #12 0x66c101 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #13 0x667122 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #14 0x7fc9b9f70082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #15 0x41f98d in _start (/out/fuzz_ndpi_reader+0x41f98d) 0x62b0000102df is located 8415 bytes inside of 25443-byte region [0x62b00000e200,0x62b000014563) freed by thread T0 here: - #0 0x520a92 in free /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:127:3 - #1 0x5541ff in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:91:5 - #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) - #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 - #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) - #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #6 0x7fc99f25283f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + #0 0x4a0b22 in free /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:52:3 + #1 0x4de70f in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:91:5 + #2 0x6754fc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x667455 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x66c101 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x667122 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7fc9b9f70082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) previously allocated by thread T0 here: - #0 0x520cfd in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 - #1 0x5541c6 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 - #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) - #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 - #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) - #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #6 0x7fc99f25283f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + #0 0x4a0dc6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0x4de6d5 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 + #2 0x6754fc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x667455 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x66c101 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x667122 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7fc9b9f70082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) -SUMMARY: AddressSanitizer: heap-use-after-free /src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:482:5 in strncpy +SUMMARY: AddressSanitizer: heap-use-after-free /src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:470:5 in __interceptor_strncpy Shadow bytes around the buggy address: 0x0c567fffa000: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x0c567fffa010: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd @@ -75,5 +72,4 @@ Shadow byte legend (one shadow byte represents 8 application bytes): ASan internal: fe Left alloca redzone: ca Right alloca redzone: cb - Shadow gap: cc ==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-92.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-92.txt index 477b1b559..043bcc200 100644 --- a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-92.txt +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-92.txt @@ -1,36 +1,32 @@ -INFO: Running with entropic power schedule (0xFF, 100). -INFO: Seed: 1592542615 -INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), -INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), -/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +INFO: Seed: 2776610380 +/out/fuzz_ndpi_reader: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60b000000152 at pc 0x00000059ecd9 bp 0x7fffca2f4bd0 sp 0x7fffca2f4bc8 +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60b000000152 at pc 0x000000519ac7 bp 0x7ffdb70f5030 sp 0x7ffdb70f5028 READ of size 2 at 0x60b000000152 thread T0 - #0 0x59ecd8 in ndpi_parse_packet_line_info /src/ndpi/src/lib/ndpi_main.c:5162:45 - #1 0x61e396 in ndpi_search_mail_smtp_tcp /src/ndpi/src/lib/protocols/mail_smtp.c:79:5 - #2 0x58b3d6 in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4157:4 - #3 0x59914a in ndpi_check_flow_func /src/ndpi/src/lib/ndpi_main.c:4203:5 - #4 0x59914a in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4907:3 - #5 0x56316c in packet_processing /src/ndpi/example/reader_util.c:1422:33 - #6 0x560f38 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 - #7 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 - #8 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) - #9 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 - #10 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) - #11 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #12 0x7efd44c0d83f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) - #13 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) + #0 0x519ac6 in ndpi_parse_packet_line_info /src/ndpi/src/lib/ndpi_main.c:5162:45 + #1 0x584463 in ndpi_search_mail_smtp_tcp /src/ndpi/src/lib/protocols/mail_smtp.c:79:5 + #2 0x50bd1f in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4157:4 + #3 0x514ec6 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4907:3 + #4 0x4eed8e in packet_processing /src/ndpi/example/reader_util.c:1422:33 + #5 0x4eed8e in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 + #6 0x4de707 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #7 0x6754fc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #8 0x667455 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #9 0x66c101 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #10 0x667122 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #11 0x7f9d781bd082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #12 0x41f98d in _start (/out/fuzz_ndpi_reader+0x41f98d) 0x60b000000152 is located 0 bytes to the right of 98-byte region [0x60b0000000f0,0x60b000000152) allocated by thread T0 here: - #0 0x520cfd in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 - #1 0x5541c6 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 - #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) - #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 - #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) - #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #6 0x7efd44c0d83f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + #0 0x4a0dc6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0x4de6d5 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 + #2 0x6754fc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x667455 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x66c101 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x667122 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7f9d781bd082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/src/lib/ndpi_main.c:5162:45 in ndpi_parse_packet_line_info Shadow bytes around the buggy address: @@ -64,5 +60,4 @@ Shadow byte legend (one shadow byte represents 8 application bytes): ASan internal: fe Left alloca redzone: ca Right alloca redzone: cb - Shadow gap: cc ==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-956.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-956.txt index 1d54cb584..ab2d36eba 100644 --- a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-956.txt +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2020-956.txt @@ -1,44 +1,41 @@ -INFO: Running with entropic power schedule (0xFF, 100). -INFO: Seed: 1554323963 -INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), -INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), -/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +INFO: Seed: 2825982439 +/out/fuzz_ndpi_reader: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x604000000148 at pc 0x00000056124d bp 0x7fff02989230 sp 0x7fff02989228 -READ of size 1 at 0x604000000148 thread T0 - #0 0x56124c in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1713:11 - #1 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 - #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) - #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 - #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) - #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #6 0x7f8f6f90783f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) - #7 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x604000000188 at pc 0x0000004f0312 bp 0x7ffcacf5a2b0 sp 0x7ffcacf5a2a8 +READ of size 1 at 0x604000000188 thread T0 + #0 0x4f0311 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1713:11 + #1 0x4de707 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #2 0x6754fc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x667455 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x66c101 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x667122 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7f945a2b3082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #7 0x41f98d in _start (/out/fuzz_ndpi_reader+0x41f98d) -0x604000000148 is located 10 bytes to the right of 46-byte region [0x604000000110,0x60400000013e) +0x604000000188 is located 10 bytes to the right of 46-byte region [0x604000000150,0x60400000017e) allocated by thread T0 here: - #0 0x520cfd in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 - #1 0x5541c6 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 - #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) - #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 - #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) - #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #6 0x7f8f6f90783f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + #0 0x4a0dc6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0x4de6d5 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 + #2 0x6754fc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x667455 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x66c101 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x667122 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7f945a2b3082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/example/reader_util.c:1713:11 in ndpi_workflow_process_packet Shadow bytes around the buggy address: - 0x0c087fff7fd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x0c087fff7fe0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x0c087fff7ff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 0x0c087fff8000: fa fa 00 00 00 00 00 00 fa fa 00 00 00 00 00 05 - 0x0c087fff8010: fa fa 00 00 00 00 01 fa fa fa 00 00 00 00 07 fa -=>0x0c087fff8020: fa fa 00 00 00 00 00 06 fa[fa]fa fa fa fa fa fa - 0x0c087fff8030: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8000: fa fa 00 00 00 00 00 00 fa fa 00 00 00 00 00 00 + 0x0c087fff8010: fa fa 00 00 00 00 00 05 fa fa 00 00 00 00 01 fa + 0x0c087fff8020: fa fa 00 00 00 00 07 fa fa fa 00 00 00 00 00 06 +=>0x0c087fff8030: fa[fa]fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c087fff8040: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c087fff8050: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c087fff8060: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c087fff8070: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8080: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa Shadow byte legend (one shadow byte represents 8 application bytes): Addressable: 00 Partially addressable: 01 02 03 04 05 06 07 @@ -58,5 +55,4 @@ Shadow byte legend (one shadow byte represents 8 application bytes): ASan internal: fe Left alloca redzone: ca Right alloca redzone: cb - Shadow gap: cc ==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2022-1025.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2022-1025.txt index e94147b47..54a0e5653 100644 --- a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2022-1025.txt +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2022-1025.txt @@ -1,51 +1,47 @@ -INFO: Running with entropic power schedule (0xFF, 100). -INFO: Seed: 1595187990 -INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), -INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), -/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +INFO: Seed: 2779033089 +/out/fuzz_ndpi_reader: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6060001f47b9 at pc 0x0000004c3e2d bp 0x7fffcd7e2da0 sp 0x7fffcd7e2520 -READ of size 9 at 0x6060001f47b9 thread T0 - #0 0x4c3e2c in printf_common(void*, char const*, __va_list_tag*) /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors_format.inc:553:9 - #1 0x4c5750 in snprintf /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:1722:1 - #2 0x6373e1 in ndpi_search_irc_tcp /src/ndpi/src/lib/protocols/irc.c:527:4 - #3 0x58b3d6 in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4157:4 - #4 0x59914a in ndpi_check_flow_func /src/ndpi/src/lib/ndpi_main.c:4203:5 - #5 0x59914a in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4907:3 - #6 0x56316c in packet_processing /src/ndpi/example/reader_util.c:1422:33 - #7 0x560f38 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 - #8 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 - #9 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) - #10 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 - #11 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) - #12 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #13 0x7f719f86b83f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) - #14 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6060001f4819 at pc 0x00000044132d bp 0x7ffc0794e9d0 sp 0x7ffc0794e158 +READ of size 9 at 0x6060001f4819 thread T0 + #0 0x44132c in printf_common(void*, char const*, __va_list_tag*) /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors_format.inc:553:9 + #1 0x442b80 in __interceptor_snprintf /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:1736:1 + #2 0x59e140 in ndpi_search_irc_tcp /src/ndpi/src/lib/protocols/irc.c:527:4 + #3 0x50bd1f in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4157:4 + #4 0x514ec6 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4907:3 + #5 0x4eed8e in packet_processing /src/ndpi/example/reader_util.c:1422:33 + #6 0x4eed8e in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 + #7 0x4de707 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #8 0x6754fc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #9 0x667455 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #10 0x66c101 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #11 0x667122 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #12 0x7f6683e2f082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #13 0x41f98d in _start (/out/fuzz_ndpi_reader+0x41f98d) -0x6060001f47b9 is located 0 bytes to the right of 57-byte region [0x6060001f4780,0x6060001f47b9) +0x6060001f4819 is located 0 bytes to the right of 57-byte region [0x6060001f47e0,0x6060001f4819) allocated by thread T0 here: - #0 0x520cfd in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 - #1 0x5541c6 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 - #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) - #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 - #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) - #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #6 0x7f719f86b83f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + #0 0x4a0dc6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0x4de6d5 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 + #2 0x6754fc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x667455 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x66c101 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x667122 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7f6683e2f082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) SUMMARY: AddressSanitizer: heap-buffer-overflow /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors_format.inc:553:9 in printf_common(void*, char const*, __va_list_tag*) Shadow bytes around the buggy address: - 0x0c0c800368a0: 00 00 00 fa fa fa fa fa 00 00 00 00 00 00 00 fa 0x0c0c800368b0: fa fa fa fa 00 00 00 00 00 00 00 fa fa fa fa fa 0x0c0c800368c0: 00 00 00 00 00 00 00 fa fa fa fa fa 00 00 00 00 0x0c0c800368d0: 00 00 00 fa fa fa fa fa 00 00 00 00 00 00 00 fa 0x0c0c800368e0: fa fa fa fa 00 00 00 00 00 00 00 fa fa fa fa fa -=>0x0c0c800368f0: 00 00 00 00 00 00 00[01]fa fa fa fa fa fa fa fa - 0x0c0c80036900: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0c800368f0: 00 00 00 00 00 00 00 fa fa fa fa fa 00 00 00 00 +=>0x0c0c80036900: 00 00 00[01]fa fa fa fa fa fa fa fa fa fa fa fa 0x0c0c80036910: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c0c80036920: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c0c80036930: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c0c80036940: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0c80036950: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa Shadow byte legend (one shadow byte represents 8 application bytes): Addressable: 00 Partially addressable: 01 02 03 04 05 06 07 @@ -65,5 +61,4 @@ Shadow byte legend (one shadow byte represents 8 application bytes): ASan internal: fe Left alloca redzone: ca Right alloca redzone: cb - Shadow gap: cc ==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2022-325.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2022-325.txt index 83b9845f8..facebd2c0 100644 --- a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2022-325.txt +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2022-325.txt @@ -1,50 +1,46 @@ -INFO: Running with entropic power schedule (0xFF, 100). -INFO: Seed: 1569442969 -INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), -INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), -/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +INFO: Seed: 2841602236 +/out/fuzz_ndpi_reader: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6060001f4876 at pc 0x000000640c2c bp 0x7ffcf9e69590 sp 0x7ffcf9e69588 -READ of size 1 at 0x6060001f4876 thread T0 - #0 0x640c2b in ndpi_check_tinc /src/ndpi/src/lib/protocols/tinc.c:105:9 - #1 0x640c2b in ndpi_search_tinc /src/ndpi/src/lib/protocols/tinc.c:138:7 - #2 0x58b3d6 in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4157:4 - #3 0x59914a in ndpi_check_flow_func /src/ndpi/src/lib/ndpi_main.c:4203:5 - #4 0x59914a in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4907:3 - #5 0x56316c in packet_processing /src/ndpi/example/reader_util.c:1422:33 - #6 0x560f38 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 - #7 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 - #8 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) - #9 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 - #10 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) - #11 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #12 0x7efd2535d83f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) - #13 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6060001f48d6 at pc 0x0000005a924a bp 0x7ffcb379b770 sp 0x7ffcb379b768 +READ of size 1 at 0x6060001f48d6 thread T0 + #0 0x5a9249 in ndpi_check_tinc /src/ndpi/src/lib/protocols/tinc.c:105:9 + #1 0x5a9249 in ndpi_search_tinc /src/ndpi/src/lib/protocols/tinc.c:138:7 + #2 0x50bd1f in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4157:4 + #3 0x514ec6 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4907:3 + #4 0x4eed8e in packet_processing /src/ndpi/example/reader_util.c:1422:33 + #5 0x4eed8e in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 + #6 0x4de707 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #7 0x6754fc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #8 0x667455 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #9 0x66c101 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #10 0x667122 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #11 0x7f93cfad6082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #12 0x41f98d in _start (/out/fuzz_ndpi_reader+0x41f98d) -0x6060001f4876 is located 0 bytes to the right of 54-byte region [0x6060001f4840,0x6060001f4876) +0x6060001f48d6 is located 0 bytes to the right of 54-byte region [0x6060001f48a0,0x6060001f48d6) allocated by thread T0 here: - #0 0x520cfd in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 - #1 0x5541c6 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 - #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) - #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 - #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) - #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #6 0x7efd2535d83f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + #0 0x4a0dc6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0x4de6d5 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 + #2 0x6754fc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x667455 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x66c101 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x667122 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7f93cfad6082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/src/lib/protocols/tinc.c:105:9 in ndpi_check_tinc Shadow bytes around the buggy address: - 0x0c0c800368b0: fa fa fa fa 00 00 00 00 00 00 00 fa fa fa fa fa 0x0c0c800368c0: 00 00 00 00 00 00 00 fa fa fa fa fa 00 00 00 00 0x0c0c800368d0: 00 00 00 fa fa fa fa fa 00 00 00 00 00 00 00 fa 0x0c0c800368e0: fa fa fa fa 00 00 00 00 00 00 00 fa fa fa fa fa - 0x0c0c800368f0: fd fd fd fd fd fd fd fa fa fa fa fa fd fd fd fd -=>0x0c0c80036900: fd fd fd fa fa fa fa fa 00 00 00 00 00 00[06]fa - 0x0c0c80036910: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0c800368f0: 00 00 00 00 00 00 00 fa fa fa fa fa fd fd fd fd + 0x0c0c80036900: fd fd fd fa fa fa fa fa fd fd fd fd fd fd fd fa +=>0x0c0c80036910: fa fa fa fa 00 00 00 00 00 00[06]fa fa fa fa fa 0x0c0c80036920: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c0c80036930: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c0c80036940: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c0c80036950: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0c80036960: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa Shadow byte legend (one shadow byte represents 8 application bytes): Addressable: 00 Partially addressable: 01 02 03 04 05 06 07 @@ -64,5 +60,4 @@ Shadow byte legend (one shadow byte represents 8 application bytes): ASan internal: fe Left alloca redzone: ca Right alloca redzone: cb - Shadow gap: cc ==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2022-443.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2022-443.txt index f429a96cf..ac16f8f00 100644 --- a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2022-443.txt +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2022-443.txt @@ -1,38 +1,34 @@ -INFO: Running with entropic power schedule (0xFF, 100). -INFO: Seed: 1597612274 -INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), -INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), -/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +INFO: Seed: 2781450579 +/out/fuzz_ndpi_reader: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60b00000015b at pc 0x0000004c3e2d bp 0x7ffd97300dc0 sp 0x7ffd97300540 +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60b00000015b at pc 0x00000044132d bp 0x7ffe4b446ff0 sp 0x7ffe4b446778 READ of size 1 at 0x60b00000015b thread T0 - #0 0x4c3e2c in printf_common(void*, char const*, __va_list_tag*) /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors_format.inc:553:9 - #1 0x4c5750 in snprintf /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:1722:1 - #2 0x5f6ba6 in ndpi_check_http_tcp /src/ndpi/src/lib/protocols/http.c:624:7 - #3 0x5f6ba6 in ndpi_search_http_tcp /src/ndpi/src/lib/protocols/http.c:866:3 - #4 0x58b3d6 in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4157:4 - #5 0x59914a in ndpi_check_flow_func /src/ndpi/src/lib/ndpi_main.c:4203:5 - #6 0x59914a in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4907:3 - #7 0x56316c in packet_processing /src/ndpi/example/reader_util.c:1422:33 - #8 0x560f38 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 - #9 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 - #10 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) - #11 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 - #12 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) - #13 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #14 0x7f447fdfc83f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) - #15 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) + #0 0x44132c in printf_common(void*, char const*, __va_list_tag*) /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors_format.inc:553:9 + #1 0x442b80 in __interceptor_snprintf /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:1736:1 + #2 0x566b14 in ndpi_check_http_tcp /src/ndpi/src/lib/protocols/http.c:624:7 + #3 0x566b14 in ndpi_search_http_tcp /src/ndpi/src/lib/protocols/http.c:866:3 + #4 0x50bd1f in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4157:4 + #5 0x514ec6 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4907:3 + #6 0x4eed8e in packet_processing /src/ndpi/example/reader_util.c:1422:33 + #7 0x4eed8e in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 + #8 0x4de707 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #9 0x6754fc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #10 0x667455 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #11 0x66c101 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #12 0x667122 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #13 0x7f080e97f082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #14 0x41f98d in _start (/out/fuzz_ndpi_reader+0x41f98d) 0x60b00000015b is located 0 bytes to the right of 107-byte region [0x60b0000000f0,0x60b00000015b) allocated by thread T0 here: - #0 0x520cfd in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 - #1 0x5541c6 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 - #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) - #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 - #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) - #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #6 0x7f447fdfc83f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + #0 0x4a0dc6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0x4de6d5 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 + #2 0x6754fc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x667455 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x66c101 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x667122 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7f080e97f082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) SUMMARY: AddressSanitizer: heap-buffer-overflow /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors_format.inc:553:9 in printf_common(void*, char const*, __va_list_tag*) Shadow bytes around the buggy address: @@ -66,5 +62,4 @@ Shadow byte legend (one shadow byte represents 8 application bytes): ASan internal: fe Left alloca redzone: ca Right alloca redzone: cb - Shadow gap: cc ==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2022-447.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2022-447.txt index 3addde1d7..663ffb067 100644 --- a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2022-447.txt +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2022-447.txt @@ -1,38 +1,34 @@ -INFO: Running with entropic power schedule (0xFF, 100). -INFO: Seed: 1600451577 -INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), -INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), -/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +INFO: Seed: 2783692000 +/out/fuzz_ndpi_reader: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x611000183cc5 at pc 0x0000004c3e2d bp 0x7ffe3ef07280 sp 0x7ffe3ef06a00 +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x611000183cc5 at pc 0x00000044132d bp 0x7ffd7ed55010 sp 0x7ffd7ed54798 READ of size 154 at 0x611000183cc5 thread T0 - #0 0x4c3e2c in printf_common(void*, char const*, __va_list_tag*) /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors_format.inc:553:9 - #1 0x4c5750 in snprintf /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:1722:1 - #2 0x5f6c38 in ndpi_check_http_tcp /src/ndpi/src/lib/protocols/http.c:628:7 - #3 0x5f6c38 in ndpi_search_http_tcp /src/ndpi/src/lib/protocols/http.c:866:3 - #4 0x58b3d6 in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4157:4 - #5 0x59914a in ndpi_check_flow_func /src/ndpi/src/lib/ndpi_main.c:4203:5 - #6 0x59914a in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4907:3 - #7 0x56316c in packet_processing /src/ndpi/example/reader_util.c:1422:33 - #8 0x560f38 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 - #9 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 - #10 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) - #11 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 - #12 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) - #13 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #14 0x7f8a6835983f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) - #15 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) + #0 0x44132c in printf_common(void*, char const*, __va_list_tag*) /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors_format.inc:553:9 + #1 0x442b80 in __interceptor_snprintf /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:1736:1 + #2 0x566b89 in ndpi_check_http_tcp /src/ndpi/src/lib/protocols/http.c:628:7 + #3 0x566b89 in ndpi_search_http_tcp /src/ndpi/src/lib/protocols/http.c:866:3 + #4 0x50bd1f in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4157:4 + #5 0x514ec6 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4907:3 + #6 0x4eed8e in packet_processing /src/ndpi/example/reader_util.c:1422:33 + #7 0x4eed8e in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 + #8 0x4de707 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #9 0x6754fc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #10 0x667455 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #11 0x66c101 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #12 0x667122 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #13 0x7fc4caabd082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #14 0x41f98d in _start (/out/fuzz_ndpi_reader+0x41f98d) 0x611000183cc5 is located 0 bytes to the right of 197-byte region [0x611000183c00,0x611000183cc5) allocated by thread T0 here: - #0 0x520cfd in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 - #1 0x5541c6 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 - #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) - #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 - #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) - #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #6 0x7f8a6835983f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + #0 0x4a0dc6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0x4de6d5 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 + #2 0x6754fc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x667455 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x66c101 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x667122 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7fc4caabd082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) SUMMARY: AddressSanitizer: heap-buffer-overflow /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors_format.inc:553:9 in printf_common(void*, char const*, __va_list_tag*) Shadow bytes around the buggy address: @@ -66,5 +62,4 @@ Shadow byte legend (one shadow byte represents 8 application bytes): ASan internal: fe Left alloca redzone: ca Right alloca redzone: cb - Shadow gap: cc ==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2022-481.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2022-481.txt index ebac07779..942c2faca 100644 --- a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2022-481.txt +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2022-481.txt @@ -1,27 +1,24 @@ -INFO: Running with entropic power schedule (0xFF, 100). -INFO: Seed: 1602899620 -INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), -INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), -/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +INFO: Seed: 2786138227 +/out/fuzz_ndpi_reader: Running 1 inputs 1 time(s) each. Running: /tmp/testcase AddressSanitizer:DEADLYSIGNAL ================================================================= -==1==ERROR: AddressSanitizer: SEGV on unknown address 0x003538313330 (pc 0x7f85046bb7c6 bp 0x7ffc7aaeb700 sp 0x7ffc7aaeaeb8 T0) +==1==ERROR: AddressSanitizer: SEGV on unknown address 0x003538313320 (pc 0x7f8bef53a717 bp 0x7ffd9b90bc20 sp 0x7ffd9b90b3d8 T0) ==1==The signal is caused by a READ memory access. - #0 0x7f85046bb7c6 in strlen (/lib/x86_64-linux-gnu/libc.so.6+0x8b7c6) - #1 0x4b81b8 in strlen /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc - #2 0x56925d in ndpi_strdup /src/ndpi/src/lib/ndpi_main.c:140:13 - #3 0x55de5f in process_ndpi_collected_info /src/ndpi/example/reader_util.c:1114:27 - #4 0x5637bc in packet_processing /src/ndpi/example/reader_util.c - #5 0x560f38 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 - #6 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 - #7 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) - #8 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 - #9 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) - #10 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #11 0x7f850465083f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) - #12 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) + #0 0x7f8bef53a717 (/lib/x86_64-linux-gnu/libc.so.6+0x188717) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #1 0x4359f8 in strlen /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc + #2 0x4f4636 in ndpi_strdup /src/ndpi/src/lib/ndpi_main.c:140:13 + #3 0x4e9d89 in process_ndpi_collected_info /src/ndpi/example/reader_util.c:1114:27 + #4 0x4eef5d in packet_processing /src/ndpi/example/reader_util.c:1447:4 + #5 0x4eef5d in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 + #6 0x4de707 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #7 0x6754fc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #8 0x667455 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #9 0x66c101 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #10 0x667122 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #11 0x7f8bef3d6082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #12 0x41f98d in _start (/out/fuzz_ndpi_reader+0x41f98d) AddressSanitizer can not provide additional info. -SUMMARY: AddressSanitizer: SEGV (/lib/x86_64-linux-gnu/libc.so.6+0x8b7c6) in strlen +SUMMARY: AddressSanitizer: SEGV (/lib/x86_64-linux-gnu/libc.so.6+0x188717) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) ==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2022-695.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2022-695.txt index c681eec52..06c649120 100644 --- a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2022-695.txt +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2022-695.txt @@ -1,33 +1,30 @@ -INFO: Running with entropic power schedule (0xFF, 100). -INFO: Seed: 1618072399 -INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), -INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), -/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +INFO: Seed: 2800770684 +/out/fuzz_ndpi_reader: Running 1 inputs 1 time(s) each. Running: /tmp/testcase AddressSanitizer:DEADLYSIGNAL ================================================================= -==1==ERROR: AddressSanitizer: SEGV on unknown address (pc 0x0000004a6fd4 bp 0x000000000000 sp 0x7ffe71f7ba80 T0) +==1==ERROR: AddressSanitizer: SEGV on unknown address (pc 0x000000421c84 bp 0x000000000000 sp 0x7fff23af8af0 T0) ==1==The signal is caused by a READ memory access. ==1==Hint: this fault was caused by a dereference of a high value address (see register values below). Disassemble the provided pc to learn which register was used. - #0 0x4a6fd4 in atomic_compare_exchange_strong<__sanitizer::atomic_uint8_t> /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_atomic_clang.h:80:10 - #1 0x4a6fd4 in AtomicallySetQuarantineFlagIfAllocated /src/llvm-project/compiler-rt/lib/asan/asan_allocator.cpp:621:10 - #2 0x4a6fd4 in __asan::Allocator::Deallocate(void*, unsigned long, unsigned long, __sanitizer::BufferedStackTrace*, __asan::AllocType) /src/llvm-project/compiler-rt/lib/asan/asan_allocator.cpp:697:10 - #3 0x520af5 in free /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:128:3 - #4 0x55bb70 in free_wrapper /src/ndpi/example/reader_util.c:341:3 - #5 0x568c96 in ndpi_free /src/ndpi/src/lib/ndpi_main.c:108:5 - #6 0x568c96 in ndpi_free_flow /src/ndpi/src/lib/ndpi_main.c:6503:4 - #7 0x55b730 in ndpi_free_flow_info_half /src/ndpi/example/reader_util.c:314:25 - #8 0x55d2c9 in process_ndpi_collected_info /src/ndpi/example/reader_util.c:1130:5 - #9 0x5637bc in packet_processing /src/ndpi/example/reader_util.c - #10 0x560f38 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 - #11 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 - #12 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) - #13 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 - #14 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) - #15 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #16 0x7fd046fe883f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) - #17 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) + #0 0x421c84 in atomic_compare_exchange_strong<__sanitizer::atomic_uint8_t> /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_atomic_clang.h:81:10 + #1 0x421c84 in AtomicallySetQuarantineFlagIfAllocated /src/llvm-project/compiler-rt/lib/asan/asan_allocator.cpp:610:10 + #2 0x421c84 in __asan::Allocator::Deallocate(void*, unsigned long, unsigned long, __sanitizer::BufferedStackTrace*, __asan::AllocType) /src/llvm-project/compiler-rt/lib/asan/asan_allocator.cpp:685:10 + #3 0x4a0b85 in free /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:53:3 + #4 0x4e796c in free_wrapper /src/ndpi/example/reader_util.c:341:3 + #5 0x4f3f73 in ndpi_free /src/ndpi/src/lib/ndpi_main.c:108:5 + #6 0x4f3f73 in ndpi_free_flow /src/ndpi/src/lib/ndpi_main.c:6503:4 + #7 0x4e6ff1 in ndpi_free_flow_info_half /src/ndpi/example/reader_util.c:314:25 + #8 0x4e89c5 in process_ndpi_collected_info /src/ndpi/example/reader_util.c:1130:5 + #9 0x4eef5d in packet_processing /src/ndpi/example/reader_util.c:1447:4 + #10 0x4eef5d in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 + #11 0x4de707 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #12 0x6754fc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #13 0x667455 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #14 0x66c101 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #15 0x667122 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #16 0x7fe777399082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #17 0x41f98d in _start (/out/fuzz_ndpi_reader+0x41f98d) AddressSanitizer can not provide additional info. -SUMMARY: AddressSanitizer: SEGV /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_atomic_clang.h:80:10 in atomic_compare_exchange_strong<__sanitizer::atomic_uint8_t> +SUMMARY: AddressSanitizer: SEGV /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_atomic_clang.h:81:10 in atomic_compare_exchange_strong<__sanitizer::atomic_uint8_t> ==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2022-712.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2022-712.txt index da28bc212..16ebb19b4 100644 --- a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2022-712.txt +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2022-712.txt @@ -1,35 +1,31 @@ -INFO: Running with entropic power schedule (0xFF, 100). -INFO: Seed: 1605505903 -INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), -INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), -/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +INFO: Seed: 2788529111 +/out/fuzz_ndpi_reader: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6060001f4814 at pc 0x0000005f4303 bp 0x7ffffd121060 sp 0x7ffffd121058 -READ of size 2 at 0x6060001f4814 thread T0 - #0 0x5f4302 in ndpi_search_florensia /src/ndpi/src/lib/protocols/florensia.c:93:37 - #1 0x58b3d6 in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4157:4 - #2 0x59914a in ndpi_check_flow_func /src/ndpi/src/lib/ndpi_main.c:4203:5 - #3 0x59914a in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4907:3 - #4 0x56316c in packet_processing /src/ndpi/example/reader_util.c:1422:33 - #5 0x560f38 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 - #6 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 - #7 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) - #8 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 - #9 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) - #10 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #11 0x7fc44b7fc83f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) - #12 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6060001f4874 at pc 0x0000005654d4 bp 0x7fff5ad583a0 sp 0x7fff5ad58398 +READ of size 2 at 0x6060001f4874 thread T0 + #0 0x5654d3 in ndpi_search_florensia /src/ndpi/src/lib/protocols/florensia.c:93:37 + #1 0x50bd1f in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4157:4 + #2 0x514ec6 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4907:3 + #3 0x4eed8e in packet_processing /src/ndpi/example/reader_util.c:1422:33 + #4 0x4eed8e in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 + #5 0x4de707 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #6 0x6754fc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #7 0x667455 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #8 0x66c101 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #9 0x667122 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #10 0x7eff8c8e8082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #11 0x41f98d in _start (/out/fuzz_ndpi_reader+0x41f98d) -0x6060001f4815 is located 0 bytes to the right of 53-byte region [0x6060001f47e0,0x6060001f4815) +0x6060001f4875 is located 0 bytes to the right of 53-byte region [0x6060001f4840,0x6060001f4875) allocated by thread T0 here: - #0 0x520cfd in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 - #1 0x5541c6 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 - #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) - #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 - #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) - #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #6 0x7fc44b7fc83f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + #0 0x4a0dc6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0x4de6d5 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 + #2 0x6754fc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x667455 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x66c101 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x667122 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7eff8c8e8082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/src/lib/protocols/florensia.c:93:37 in ndpi_search_florensia Shadow bytes around the buggy address: @@ -37,8 +33,8 @@ Shadow bytes around the buggy address: 0x0c0c800368c0: 00 00 00 00 00 00 00 fa fa fa fa fa 00 00 00 00 0x0c0c800368d0: 00 00 00 fa fa fa fa fa 00 00 00 00 00 00 00 fa 0x0c0c800368e0: fa fa fa fa 00 00 00 00 00 00 00 fa fa fa fa fa - 0x0c0c800368f0: fd fd fd fd fd fd fd fa fa fa fa fa 00 00 00 00 -=>0x0c0c80036900: 00 00[05]fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0c800368f0: 00 00 00 00 00 00 00 fa fa fa fa fa fd fd fd fd +=>0x0c0c80036900: fd fd fd fa fa fa fa fa 00 00 00 00 00 00[05]fa 0x0c0c80036910: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c0c80036920: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c0c80036930: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa @@ -63,5 +59,4 @@ Shadow byte legend (one shadow byte represents 8 application bytes): ASan internal: fe Left alloca redzone: ca Right alloca redzone: cb - Shadow gap: cc ==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2023-1354.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2023-1354.txt index 91fdb5375..8ce6b95f0 100644 --- a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2023-1354.txt +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2023-1354.txt @@ -1,51 +1,47 @@ -INFO: Running with entropic power schedule (0xFF, 100). -INFO: Seed: 1572166829 -INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), -INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), -/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +INFO: Seed: 2844032514 +/out/fuzz_ndpi_reader: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6130000032a1 at pc 0x0000005c1daa bp 0x7ffc74211910 sp 0x7ffc74211908 -READ of size 2 at 0x6130000032a1 thread T0 - #0 0x5c1da9 in processClientServerHello /src/ndpi/src/lib/protocols/tls.c:931:21 - #1 0x5c297a in processTLSBlock /src/ndpi/src/lib/protocols/tls.c:479:5 - #2 0x5c297a in ndpi_search_tls_udp /src/ndpi/src/lib/protocols/tls.c:649:3 - #3 0x587274 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4113:2 - #4 0x599189 in ndpi_check_flow_func /src/ndpi/src/lib/ndpi_main.c:4205:5 - #5 0x599189 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4907:3 - #6 0x56316c in packet_processing /src/ndpi/example/reader_util.c:1422:33 - #7 0x560f38 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 - #8 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 - #9 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) - #10 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 - #11 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) - #12 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #13 0x7f3d3b35683f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) - #14 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x613000003461 at pc 0x00000053eb38 bp 0x7ffede268c90 sp 0x7ffede268c88 +READ of size 2 at 0x613000003461 thread T0 + #0 0x53eb37 in processClientServerHello /src/ndpi/src/lib/protocols/tls.c:931:21 + #1 0x53ff29 in processTLSBlock /src/ndpi/src/lib/protocols/tls.c:479:5 + #2 0x53f3c2 in ndpi_search_tls_udp /src/ndpi/src/lib/protocols/tls.c:649:3 + #3 0x508896 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4113:2 + #4 0x514ec6 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4907:3 + #5 0x4eed8e in packet_processing /src/ndpi/example/reader_util.c:1422:33 + #6 0x4eed8e in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 + #7 0x4de707 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #8 0x6754fc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #9 0x667455 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #10 0x66c101 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #11 0x667122 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #12 0x7f9e6d904082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #13 0x41f98d in _start (/out/fuzz_ndpi_reader+0x41f98d) -0x6130000032a2 is located 0 bytes to the right of 354-byte region [0x613000003140,0x6130000032a2) +0x613000003462 is located 0 bytes to the right of 354-byte region [0x613000003300,0x613000003462) allocated by thread T0 here: - #0 0x520cfd in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 - #1 0x5541c6 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 - #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) - #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 - #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) - #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #6 0x7f3d3b35683f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + #0 0x4a0dc6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0x4de6d5 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 + #2 0x6754fc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x667455 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x66c101 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x667122 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7f9e6d904082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/src/lib/protocols/tls.c:931:21 in processClientServerHello Shadow bytes around the buggy address: - 0x0c267fff8600: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 0x0c267fff8610: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 0x0c267fff8620: fa fa fa fa fa fa fa fa 00 00 00 00 00 00 00 00 0x0c267fff8630: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x0c267fff8640: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -=>0x0c267fff8650: 00 00 00 00[02]fa fa fa fa fa fa fa fa fa fa fa - 0x0c267fff8660: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa - 0x0c267fff8670: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa - 0x0c267fff8680: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c267fff8650: 00 00 00 00 00 00 00 00 fa fa fa fa fa fa fa fa + 0x0c267fff8660: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c267fff8670: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +=>0x0c267fff8680: 00 00 00 00 00 00 00 00 00 00 00 00[02]fa fa fa 0x0c267fff8690: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c267fff86a0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c267fff86b0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c267fff86c0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c267fff86d0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa Shadow byte legend (one shadow byte represents 8 application bytes): Addressable: 00 Partially addressable: 01 02 03 04 05 06 07 @@ -65,5 +61,4 @@ Shadow byte legend (one shadow byte represents 8 application bytes): ASan internal: fe Left alloca redzone: ca Right alloca redzone: cb - Shadow gap: cc ==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2023-19.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2023-19.txt index 0a9f24795..a00b38d51 100644 --- a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2023-19.txt +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2023-19.txt @@ -1,50 +1,46 @@ -INFO: Running with entropic power schedule (0xFF, 100). -INFO: Seed: 1608094161 -INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), -INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), -/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +INFO: Seed: 2790927749 +/out/fuzz_ndpi_reader: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6060001f47bd at pc 0x0000004b926d bp 0x7ffd388aac20 sp 0x7ffd388aa3c0 -READ of size 22 at 0x6060001f47bd thread T0 - #0 0x4b926c in strncmp /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:480:3 - #1 0x5e6ab3 in ndpi_search_bittorrent /src/ndpi/src/lib/protocols/bittorrent.c:438:5 - #2 0x587274 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4113:2 - #3 0x599189 in ndpi_check_flow_func /src/ndpi/src/lib/ndpi_main.c:4205:5 - #4 0x599189 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4907:3 - #5 0x56316c in packet_processing /src/ndpi/example/reader_util.c:1422:33 - #6 0x560f38 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 - #7 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 - #8 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) - #9 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 - #10 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) - #11 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #12 0x7f44f2a8083f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) - #13 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6060001f481d at pc 0x000000436a3d bp 0x7fffa192d2c0 sp 0x7fffa192ca68 +READ of size 22 at 0x6060001f481d thread T0 + #0 0x436a3c in strncmp /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:497:3 + #1 0x55c8b0 in ndpi_search_bittorrent /src/ndpi/src/lib/protocols/bittorrent.c:438:5 + #2 0x508896 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4113:2 + #3 0x514ec6 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4907:3 + #4 0x4eed8e in packet_processing /src/ndpi/example/reader_util.c:1422:33 + #5 0x4eed8e in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 + #6 0x4de707 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #7 0x6754fc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #8 0x667455 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #9 0x66c101 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #10 0x667122 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #11 0x7f6e3f656082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #12 0x41f98d in _start (/out/fuzz_ndpi_reader+0x41f98d) -0x6060001f47bd is located 0 bytes to the right of 61-byte region [0x6060001f4780,0x6060001f47bd) +0x6060001f481d is located 0 bytes to the right of 61-byte region [0x6060001f47e0,0x6060001f481d) allocated by thread T0 here: - #0 0x520cfd in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 - #1 0x5541c6 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 - #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) - #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 - #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) - #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #6 0x7f44f2a8083f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + #0 0x4a0dc6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0x4de6d5 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 + #2 0x6754fc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x667455 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x66c101 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x667122 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7f6e3f656082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) -SUMMARY: AddressSanitizer: heap-buffer-overflow /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:480:3 in strncmp +SUMMARY: AddressSanitizer: heap-buffer-overflow /src/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:497:3 in strncmp Shadow bytes around the buggy address: - 0x0c0c800368a0: 00 00 00 fa fa fa fa fa 00 00 00 00 00 00 00 fa 0x0c0c800368b0: fa fa fa fa 00 00 00 00 00 00 00 fa fa fa fa fa 0x0c0c800368c0: 00 00 00 00 00 00 00 fa fa fa fa fa 00 00 00 00 0x0c0c800368d0: 00 00 00 fa fa fa fa fa 00 00 00 00 00 00 00 fa 0x0c0c800368e0: fa fa fa fa 00 00 00 00 00 00 00 fa fa fa fa fa -=>0x0c0c800368f0: 00 00 00 00 00 00 00[05]fa fa fa fa fa fa fa fa - 0x0c0c80036900: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0c800368f0: 00 00 00 00 00 00 00 fa fa fa fa fa 00 00 00 00 +=>0x0c0c80036900: 00 00 00[05]fa fa fa fa fa fa fa fa fa fa fa fa 0x0c0c80036910: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c0c80036920: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c0c80036930: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c0c80036940: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c0c80036950: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa Shadow byte legend (one shadow byte represents 8 application bytes): Addressable: 00 Partially addressable: 01 02 03 04 05 06 07 @@ -64,5 +60,4 @@ Shadow byte legend (one shadow byte represents 8 application bytes): ASan internal: fe Left alloca redzone: ca Right alloca redzone: cb - Shadow gap: cc ==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2023-573.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2023-573.txt index cb98f145a..15b38339c 100644 --- a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2023-573.txt +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2023-573.txt @@ -1,50 +1,30 @@ -INFO: Running with entropic power schedule (0xFF, 100). -INFO: Seed: 1610475595 -INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), -INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), -/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +INFO: Seed: 2793340938 +/out/fuzz_ndpi_reader: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= ==1==ERROR: AddressSanitizer: negative-size-param: (size=-1) - #0 0x50cc6e in strncpy /src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:483:5 - #1 0x5fa181 in ndpi_http_check_content /src/ndpi/src/lib/protocols/http.c:89:11 - #2 0x5fa181 in ndpi_int_http_add_connection /src/ndpi/src/lib/protocols/http.c:135:14 - #3 0x5f94b8 in check_content_type_and_change_protocol /src/ndpi/src/lib/protocols/http.c:458:3 - #4 0x5f692a in ndpi_check_http_tcp /src/ndpi/src/lib/protocols/http.c - #5 0x5f692a in ndpi_search_http_tcp /src/ndpi/src/lib/protocols/http.c:866:3 - #6 0x591234 in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4145:2 - #7 0x59914a in ndpi_check_flow_func /src/ndpi/src/lib/ndpi_main.c:4203:5 - #8 0x59914a in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4907:3 - #9 0x56316c in packet_processing /src/ndpi/example/reader_util.c:1422:33 - #10 0x560f38 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 - #11 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 - #12 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) - #13 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 - #14 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) - #15 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #16 0x7f9dc077f83f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) - #17 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) + #0 0x48c03e in __interceptor_strncpy /src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:471:5 + #1 0x56a50e in ndpi_http_check_content /src/ndpi/src/lib/protocols/http.c:89:11 + #2 0x56a50e in ndpi_int_http_add_connection /src/ndpi/src/lib/protocols/http.c:135:14 + #3 0x56976d in check_content_type_and_change_protocol /src/ndpi/src/lib/protocols/http.c:458:3 + #4 0x5679d1 in ndpi_check_http_tcp /src/ndpi/src/lib/protocols/http.c + #5 0x5679d1 in ndpi_search_http_tcp /src/ndpi/src/lib/protocols/http.c:866:3 + #6 0x50ef42 in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4145:2 + #7 0x514ec6 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4907:3 + #8 0x4eed8e in packet_processing /src/ndpi/example/reader_util.c:1422:33 + #9 0x4eed8e in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 + #10 0x4de707 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #11 0x6754fc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #12 0x667455 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #13 0x66c101 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #14 0x667122 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #15 0x7f90d6998082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #16 0x41f98d in _start (/out/fuzz_ndpi_reader+0x41f98d) 0x602000045cf0 is located 0 bytes inside of 1-byte region [0x602000045cf0,0x602000045cf1) allocated by thread T0 here: - #0 0x520cfd in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 - #1 0x55baf2 in malloc_wrapper /src/ndpi/example/reader_util.c:332:10 - #2 0x5fa160 in ndpi_http_check_content /src/ndpi/src/lib/protocols/http.c:87:28 - #3 0x5fa160 in ndpi_int_http_add_connection /src/ndpi/src/lib/protocols/http.c:135:14 - #4 0x5f94b8 in check_content_type_and_change_protocol /src/ndpi/src/lib/protocols/http.c:458:3 - #5 0x5f692a in ndpi_check_http_tcp /src/ndpi/src/lib/protocols/http.c - #6 0x5f692a in ndpi_search_http_tcp /src/ndpi/src/lib/protocols/http.c:866:3 - #7 0x591234 in check_ndpi_tcp_flow_func /src/ndpi/src/lib/ndpi_main.c:4145:2 - #8 0x59914a in ndpi_check_flow_func /src/ndpi/src/lib/ndpi_main.c:4203:5 - #9 0x59914a in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4907:3 - #10 0x56316c in packet_processing /src/ndpi/example/reader_util.c:1422:33 - #11 0x560f38 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 - #12 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 - #13 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) - #14 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 - #15 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) - #16 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #17 0x7f9dc077f83f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + #0 0x4a0dc6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0x4e7908 in malloc_wrapper /src/ndpi/example/reader_util.c:332:10 -SUMMARY: AddressSanitizer: negative-size-param /src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:483:5 in strncpy +SUMMARY: AddressSanitizer: negative-size-param /src/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:471:5 in __interceptor_strncpy ==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2024-1330.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2024-1330.txt index 7ecfb4dfe..4b93f2ccf 100644 --- a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2024-1330.txt +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2024-1330.txt @@ -1,48 +1,45 @@ -INFO: Running with entropic power schedule (0xFF, 100). -INFO: Seed: 1613133158 -INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), -INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), -/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +INFO: Seed: 2795849073 +/out/fuzz_ndpi_reader: Running 1 inputs 1 time(s) each. Running: /tmp/testcase ================================================================= -==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x604000000274 at pc 0x0000005b3d19 bp 0x7ffdc3fc2d10 sp 0x7ffdc3fc2d08 -READ of size 1 at 0x604000000274 thread T0 - #0 0x5b3d18 in zoom_search_again /src/ndpi/src/lib/protocols/zoom.c:14:12 - #1 0x59812a in ndpi_process_extra_packet /src/ndpi/src/lib/ndpi_main.c:4397:9 - #2 0x59812a in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4753:7 - #3 0x562e56 in packet_processing /src/ndpi/example/reader_util.c:1374:33 - #4 0x560f38 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 - #5 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 - #6 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) - #7 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 - #8 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) - #9 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #10 0x7fd8efb9583f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) - #11 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) +==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6040000002b4 at pc 0x000000533614 bp 0x7ffeabd8b5c0 sp 0x7ffeabd8b5b8 +READ of size 1 at 0x6040000002b4 thread T0 + #0 0x533613 in zoom_search_again /src/ndpi/src/lib/protocols/zoom.c:14:12 + #1 0x511c3d in ndpi_process_extra_packet /src/ndpi/src/lib/ndpi_main.c:4397:9 + #2 0x513f5c in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4753:7 + #3 0x4eeb0a in packet_processing /src/ndpi/example/reader_util.c:1374:33 + #4 0x4eeb0a in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 + #5 0x4de707 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #6 0x6754fc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #7 0x667455 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #8 0x66c101 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #9 0x667122 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #10 0x7f4906154082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #11 0x41f98d in _start (/out/fuzz_ndpi_reader+0x41f98d) -0x604000000274 is located 0 bytes to the right of 36-byte region [0x604000000250,0x604000000274) +0x6040000002b4 is located 0 bytes to the right of 36-byte region [0x604000000290,0x6040000002b4) allocated by thread T0 here: - #0 0x520cfd in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3 - #1 0x5541c6 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 - #2 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) - #3 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 - #4 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) - #5 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #6 0x7fd8efb9583f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) + #0 0x4a0dc6 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 + #1 0x4de6d5 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:88:31 + #2 0x6754fc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #3 0x667455 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #4 0x66c101 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #5 0x667122 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #6 0x7f4906154082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) SUMMARY: AddressSanitizer: heap-buffer-overflow /src/ndpi/src/lib/protocols/zoom.c:14:12 in zoom_search_again Shadow bytes around the buggy address: - 0x0c087fff7ff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - 0x0c087fff8000: fa fa 00 00 00 00 00 00 fa fa 00 00 00 00 00 05 - 0x0c087fff8010: fa fa 00 00 00 00 01 fa fa fa 00 00 00 00 07 fa - 0x0c087fff8020: fa fa 00 00 00 00 00 fa fa fa 00 00 00 00 00 fa + 0x0c087fff8000: fa fa 00 00 00 00 00 00 fa fa 00 00 00 00 00 00 + 0x0c087fff8010: fa fa 00 00 00 00 00 05 fa fa 00 00 00 00 01 fa + 0x0c087fff8020: fa fa 00 00 00 00 07 fa fa fa 00 00 00 00 00 fa 0x0c087fff8030: fa fa 00 00 00 00 00 fa fa fa 00 00 00 00 00 fa -=>0x0c087fff8040: fa fa 00 00 00 00 00 fa fa fa 00 00 00 00[04]fa - 0x0c087fff8050: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff8040: fa fa 00 00 00 00 00 fa fa fa 00 00 00 00 00 fa +=>0x0c087fff8050: fa fa 00 00 00 00[04]fa fa fa fa fa fa fa fa fa 0x0c087fff8060: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c087fff8070: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c087fff8080: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c087fff8090: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c087fff80a0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa Shadow byte legend (one shadow byte represents 8 application bytes): Addressable: 00 Partially addressable: 01 02 03 04 05 06 07 @@ -62,5 +59,4 @@ Shadow byte legend (one shadow byte represents 8 application bytes): ASan internal: fe Left alloca redzone: ca Right alloca redzone: cb - Shadow gap: cc ==1==ABORTING diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2024-552.txt b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2024-552.txt index bed1d9f40..819293d46 100644 --- a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2024-552.txt +++ b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/crashes/OSV-2024-552.txt @@ -1,26 +1,22 @@ -INFO: Running with entropic power schedule (0xFF, 100). -INFO: Seed: 1615497393 -INFO: Loaded 1 modules (20618 inline 8-bit counters): 20618 [0xbccf60, 0xbd1fea), -INFO: Loaded 1 PC tables (20618 PCs): 20618 [0xbd1ff0,0xc22890), -/out/fuzz_ndpi_reader: Running 1 inputs 10 time(s) each. +INFO: Seed: 2798279446 +/out/fuzz_ndpi_reader: Running 1 inputs 1 time(s) each. Running: /tmp/testcase AddressSanitizer:DEADLYSIGNAL ================================================================= -==1==ERROR: AddressSanitizer: SEGV on unknown address 0x6071000003bd (pc 0x0000005b3bf1 bp 0x7ffe2b601510 sp 0x7ffe2b6014f0 T0) +==1==ERROR: AddressSanitizer: SEGV on unknown address 0x6071000003bd (pc 0x0000005334d9 bp 0x7ffca205bbd0 sp 0x7ffca205b8e0 T0) ==1==The signal is caused by a READ memory access. - #0 0x5b3bf1 in ndpi_search_zoom /src/ndpi/src/lib/protocols/zoom.c:32:5 - #1 0x587274 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4113:2 - #2 0x599189 in ndpi_check_flow_func /src/ndpi/src/lib/ndpi_main.c:4205:5 - #3 0x599189 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4907:3 - #4 0x56316c in packet_processing /src/ndpi/example/reader_util.c:1422:33 - #5 0x560f38 in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 - #6 0x5541f7 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 - #7 0x4583c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/out/fuzz_ndpi_reader+0x4583c3) - #8 0x443c92 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:323:6 - #9 0x44989e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/out/fuzz_ndpi_reader+0x44989e) - #10 0x473032 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10 - #11 0x7f691e52683f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f) - #12 0x41ef38 in _start (/out/fuzz_ndpi_reader+0x41ef38) + #0 0x5334d9 in ndpi_search_zoom /src/ndpi/src/lib/protocols/zoom.c:32:5 + #1 0x508896 in check_ndpi_udp_flow_func /src/ndpi/src/lib/ndpi_main.c:4113:2 + #2 0x514ec6 in ndpi_detection_process_packet /src/ndpi/src/lib/ndpi_main.c:4907:3 + #3 0x4eed8e in packet_processing /src/ndpi/example/reader_util.c:1422:33 + #4 0x4eed8e in ndpi_workflow_process_packet /src/ndpi/example/reader_util.c:1863:10 + #5 0x4de707 in LLVMFuzzerTestOneInput /src/ndpi/fuzz/fuzz_ndpi_reader.c:90:5 + #6 0x6754fc in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /tmp/libfuzzer/./FuzzerLoop.cpp:532:15 + #7 0x667455 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /tmp/libfuzzer/./FuzzerDriver.cpp:284:6 + #8 0x66c101 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /tmp/libfuzzer/./FuzzerDriver.cpp:713:9 + #9 0x667122 in main /tmp/libfuzzer/./FuzzerMain.cpp:19:10 + #10 0x7fd0655ea082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee) + #11 0x41f98d in _start (/out/fuzz_ndpi_reader+0x41f98d) AddressSanitizer can not provide additional info. SUMMARY: AddressSanitizer: SEGV /src/ndpi/src/lib/protocols/zoom.c:32:5 in ndpi_search_zoom diff --git a/benchmarks/ndpi_transplant_fuzz_ndpi_reader/libpcap-1.9.1.tar.gz b/benchmarks/ndpi_transplant_fuzz_ndpi_reader/libpcap-1.9.1.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..a052b0fb66f5218ed5114df3f5ee81969d6a2d07 GIT binary patch literal 861228 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