[FFmpeg-cvslog] tools/target_enc_fuzzer: Only read pix_fmts if its set
Michael Niedermayer
git at videolan.org
Thu May 9 18:10:31 EEST 2024
ffmpeg | branch: master | Michael Niedermayer <michael at niedermayer.cc> | Sun May 5 03:14:26 2024 +0200| [24bd01ea65eb5a9902a0ce8e38f82dcec7117f87] | committer: Michael Niedermayer
tools/target_enc_fuzzer: Only read pix_fmts if its set
Fixes: null pointer dereference
Fixes: rawvideo encoder
Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=24bd01ea65eb5a9902a0ce8e38f82dcec7117f87
---
tools/target_enc_fuzzer.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/tools/target_enc_fuzzer.c b/tools/target_enc_fuzzer.c
index 1749f6905b..0345595ada 100644
--- a/tools/target_enc_fuzzer.c
+++ b/tools/target_enc_fuzzer.c
@@ -130,10 +130,12 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
flags64 = bytestream2_get_le64(&gbc);
- int npixfmts = 0;
- while (c->p.pix_fmts[npixfmts++] != AV_PIX_FMT_NONE)
- ;
- ctx->pix_fmt = c->p.pix_fmts[bytestream2_get_byte(&gbc) % npixfmts];
+ if (c->p.pix_fmts) {
+ int npixfmts = 0;
+ while (c->p.pix_fmts[npixfmts++] != AV_PIX_FMT_NONE)
+ ;
+ ctx->pix_fmt = c->p.pix_fmts[bytestream2_get_byte(&gbc) % npixfmts];
+ }
switch (c->p.id) {
case AV_CODEC_ID_FFV1:{
More information about the ffmpeg-cvslog
mailing list