/src/serenity/Meta/Lagom/Fuzzers/FuzzZlibDecompression.cpp
Line | Count | Source |
1 | | /* |
2 | | * Copyright (c) 2021, the SerenityOS developers. |
3 | | * |
4 | | * SPDX-License-Identifier: BSD-2-Clause |
5 | | */ |
6 | | |
7 | | #include <AK/MemoryStream.h> |
8 | | #include <LibCompress/Zlib.h> |
9 | | #include <stdio.h> |
10 | | |
11 | | extern "C" int LLVMFuzzerTestOneInput(uint8_t const* data, size_t size) |
12 | 48.7k | { |
13 | 48.7k | AK::set_debug_enabled(false); |
14 | | |
15 | 48.7k | auto stream = make<FixedMemoryStream>(ReadonlyBytes { data, size }); |
16 | | |
17 | 48.7k | auto decompressor_or_error = Compress::ZlibDecompressor::create(move(stream)); |
18 | 48.7k | if (decompressor_or_error.is_error()) |
19 | 15.1k | return 0; |
20 | 33.6k | auto decompressor = decompressor_or_error.release_value(); |
21 | 33.6k | (void)decompressor->read_until_eof(); |
22 | 33.6k | return 0; |
23 | 48.7k | } |