Coverage Report

Created: 2024-07-27 06:25

/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
}