diff options
author | Michael Niedermayer <michaelni@users.noreply.github.com> | 2024-05-10 18:25:46 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-05-10 17:25:46 +0100 |
commit | 204d784aace34ab307f1e5e4d264d2fa7987829d (patch) | |
tree | afd5e5b9408fcc4f7c788f036db3ffdfe2714847 | |
parent | 26e4aaaafc79d89332403f05c79f31c0340009b7 (diff) | |
download | oss-fuzz-upstream-master.tar.gz |
[FFmpeg] Add Support for tools/target_enc_fuzzer (#11933)upstream-master
Code is based on the target_dec_fuzzer specific code
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-rwxr-xr-x | projects/ffmpeg/build.sh | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/projects/ffmpeg/build.sh b/projects/ffmpeg/build.sh index 801d4cf3f..d504c5f3b 100755 --- a/projects/ffmpeg/build.sh +++ b/projects/ffmpeg/build.sh @@ -224,6 +224,23 @@ for c in $CONDITIONALS; do patchelf --set-rpath '$ORIGIN/lib' $OUT/$fuzzer_name done +# Build fuzzers for encoders +CONDITIONALS=$(grep 'ENCODER 1$' config_components.h | sed 's/#define CONFIG_\(.*\)_ENCODER 1/\1/') +if [ -n "${OSS_FUZZ_CI-}" ]; then + # When running in CI, check the first targets only to save time and disk space + CONDITIONALS=(${CONDITIONALS[@]:0:2}) +fi + +for c in $CONDITIONALS; do + fuzzer_name=ffmpeg_AV_CODEC_ID_${c}_fuzzer + symbol=$(echo $c | sed "s/.*/\L\0/") + echo -en "[libfuzzer]\nmax_len = 1000000\n" >$OUT/${fuzzer_name}.options + make tools/target_enc_${symbol}_fuzzer + mv tools/target_enc_${symbol}_fuzzer $OUT/${fuzzer_name} + patchelf --set-rpath '$ORIGIN/lib' $OUT/$fuzzer_name +done + + # Build fuzzer for sws fuzzer_name=ffmpeg_SWS_fuzzer echo -en "[libfuzzer]\nmax_len = 1000000\n" >$OUT/${fuzzer_name}.options |