torture: Fix an error message
[Samba.git] / lib / fuzzing / fuzz_lzxpress_round_trip.c
bloba4043c258b9bd876457cae5dad82b96ee95dc494
1 /*
2 Fuzzing for lzxpress_decompress
3 Copyright (C) Michael Hanselmann 2019
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 3 of the License, or
8 (at your option) any later version.
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
15 You should have received a copy of the GNU General Public License
16 along with this program. If not, see <http://www.gnu.org/licenses/>.
19 #include "includes.h"
20 #include "fuzzing/fuzzing.h"
21 #include "lzxpress.h"
23 int LLVMFuzzerInitialize(int *argc, char ***argv)
25 return 0;
28 int LLVMFuzzerTestOneInput(const uint8_t *buf, size_t len)
30 static uint8_t compressed[1024 * 1280] = {0};
31 static uint8_t decompressed[1024 * 1024] = {0};
32 ssize_t compressed_size;
33 ssize_t decompressed_size;
35 if (len > sizeof(decompressed)) {
36 return 0;
39 compressed_size = lzxpress_compress(buf, len,
40 compressed, sizeof(compressed));
41 if (compressed_size < 0) {
42 abort();
45 decompressed_size = lzxpress_decompress(compressed, compressed_size,
46 decompressed, sizeof(decompressed));
48 if (decompressed_size != len) {
49 abort();
51 if (memcmp(buf, decompressed, len) != 0) {
52 abort();
55 return 0;