/src/gpac/testsuite/oss-fuzzers/fuzz_parse.c
Line | Count | Source |
1 | | #include <stdio.h> |
2 | | #include <unistd.h> |
3 | | |
4 | | #include <gpac/internal/isomedia_dev.h> |
5 | | #include <gpac/constants.h> |
6 | | |
7 | 24.2k | int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { |
8 | 24.2k | char filename[256]; |
9 | 24.2k | sprintf(filename, "/tmp/libfuzzer.%d", getpid()); |
10 | | |
11 | 24.2k | FILE *fp = fopen(filename, "wb"); |
12 | 24.2k | if (!fp) { |
13 | 0 | return 0; |
14 | 0 | } |
15 | 24.2k | fwrite(data, size, 1, fp); |
16 | 24.2k | fclose(fp); |
17 | | |
18 | 24.2k | GF_ISOFile *movie = NULL; |
19 | 24.2k | movie = gf_isom_open_file(filename, GF_ISOM_OPEN_READ_DUMP, NULL); |
20 | 24.2k | if (movie != NULL) { |
21 | 17.0k | gf_isom_close(movie); |
22 | 17.0k | } |
23 | 24.2k | unlink(filename); |
24 | 24.2k | return 0; |
25 | 24.2k | } |