/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 | 29.0k | int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { |
8 | 29.0k | char filename[256]; |
9 | 29.0k | sprintf(filename, "/tmp/libfuzzer.%d", getpid()); |
10 | | |
11 | 29.0k | FILE *fp = fopen(filename, "wb"); |
12 | 29.0k | if (!fp) { |
13 | 0 | return 0; |
14 | 0 | } |
15 | 29.0k | fwrite(data, size, 1, fp); |
16 | 29.0k | fclose(fp); |
17 | | |
18 | 29.0k | GF_ISOFile *movie = NULL; |
19 | 29.0k | movie = gf_isom_open_file(filename, GF_ISOM_OPEN_READ_DUMP, NULL); |
20 | 29.0k | if (movie != NULL) { |
21 | 20.5k | gf_isom_close(movie); |
22 | 20.5k | } |
23 | 29.0k | unlink(filename); |
24 | 29.0k | return 0; |
25 | 29.0k | } |