1 #include <stdint.h>
2 #include <stddef.h>
3 #include <stdlib.h>
4 #include <string.h>
5
6 #ifdef FUZZ_MSAN
7 #include <stdio.h>
fuzz_testmem_msan(void * data,size_t size)8 static void fuzz_testmem_msan(void *data, size_t size)
9 {
10 /* This is a trick to force MemorySanitizer to evaluate the data at hand */
11 FILE *fp = fopen("/dev/null", "wb");
12 fwrite(data, size, 1, fp);
13 fclose(fp);
14 }
15 #endif
16
fuzz_testmem(void * data,size_t size)17 void fuzz_testmem(void *data, size_t size)
18 {
19 #ifdef FUZZ_MSAN
20 fuzz_testmem_msan(data, size);
21 #endif
22 uint8_t *copy = malloc(size);
23 memcpy(copy, data, size);
24 free(copy);
25 }
26