blob: cf8d31bb3ddbf6be8294d0f66f610a00ec69705b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
#include <stdint.h>
#include "shoco.h"
#include "fuzzer/FuzzedDataProvider.h"
extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
FuzzedDataProvider fuzzed_data(data, size);
const char *in;
size_t in_len, out_len;
char out[4096], orig[4096];
/* No memory allocations involved */
std::string s = fuzzed_data.ConsumeRemainingBytesAsString().c_str();
in = s.c_str();
in_len = strlen(in);
out_len = shoco_compress(in, in_len, out, sizeof(out));
shoco_decompress(out, out_len, orig, sizeof(orig));
return 0;
}
|