/src/libsrtp/fuzzer/testmem.c
Line | Count | Source |
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> |
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 | | |
17 | | void fuzz_testmem(void *data, size_t size) |
18 | 1.28M | { |
19 | | #ifdef FUZZ_MSAN |
20 | | fuzz_testmem_msan(data, size); |
21 | | #endif |
22 | 1.28M | uint8_t *copy = malloc(size); |
23 | 1.28M | memcpy(copy, data, size); |
24 | 1.28M | free(copy); |
25 | 1.28M | } |