]>
git.proxmox.com Git - rustc.git/blob - src/libcompiler_builtins/compiler-rt/test/fuzzer/DSOTestMain.cpp
1 // This file is distributed under the University of Illinois Open Source
2 // License. See LICENSE.TXT for details.
4 // Source code for a simple DSO.
10 extern int DSO1(int a
);
11 extern int DSO2(int a
);
12 extern int DSOTestExtra(int a
);
14 static volatile int *nil
= 0;
16 extern "C" int LLVMFuzzerTestOneInput(const uint8_t *Data
, size_t Size
) {
18 if (Size
< sizeof(int) * 3) {
21 memcpy(&x
, Data
+ 0 * sizeof(int), sizeof(int));
22 memcpy(&y
, Data
+ 1 * sizeof(int), sizeof(int));
23 memcpy(&z
, Data
+ 2 * sizeof(int), sizeof(int));
25 int sum
= DSO1(x
) + DSO2(y
) + (z
? DSOTestExtra(z
) : 0);
27 fprintf(stderr
, "BINGO %d %d %d\n", x
, y
, z
);