Coverage Report

Created: 2026-10-26 08:08

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/gpac/testsuite/oss-fuzzers/fuzz_probe_analyze.c
Line
Count
Source
1
#include <stdio.h>
2
#include <unistd.h>
3
4
#include <gpac/filters.h>
5
#include <gpac/constants.h>
6
7
/*
8
** Reproducer command-line:
9
** gpac -p=0 -i <poc> inspect:deep:analyze=full
10
*/
11
12
int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
13
1.51k
{
14
    // prevent blocking on fread(stdin)
15
1.51k
    int devnull = open("/dev/null", O_RDONLY);
16
1.51k
    if (devnull >= 0) {
17
1.51k
        dup2(devnull, STDIN_FILENO);
18
1.51k
        close(devnull);
19
1.51k
    }
20
1.51k
    char filename[256];
21
1.51k
    GF_Err e;
22
1.51k
    sprintf(filename, "/tmp/libfuzzer.%d", getpid());
23
24
1.51k
    FILE *fp = fopen(filename, "wb");
25
1.51k
    if (!fp) return 0;
26
1.51k
    fwrite(data, size, 1, fp);
27
1.51k
    fclose(fp);
28
29
1.51k
    gf_log_set_tool_level(GF_LOG_RTI, GF_LOG_DEBUG);
30
1.51k
    GF_FilterSession *fs = gf_fs_new_defaults(0);
31
1.51k
    GF_Filter *src = gf_fs_load_source(fs, filename, NULL, NULL, &e);
32
1.51k
    GF_Filter *insp = gf_fs_load_filter(fs, "inspect:deep:analyze=bs", &e);
33
1.51k
    gf_fs_run(fs);
34
1.51k
  gf_fs_del(fs);
35
36
1.51k
    unlink(filename);
37
1.51k
    return 0;
38
1.51k
}