diff mbox series

[FFmpeg-devel,2/2] tools/target_enc_fuzzer: Only read pix_fmts if its set

Message ID 20240505011858.2888667-2-michael@niedermayer.cc
State Accepted
Commit 24bd01ea65eb5a9902a0ce8e38f82dcec7117f87
Headers show
Series [FFmpeg-devel,1/2] tools/target_enc_fuzzer: replace assert by clean exit | expand

Checks

Context Check Description
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished

Commit Message

Michael Niedermayer May 5, 2024, 1:18 a.m. UTC
Fixes: null pointer dereference
Fixes: rawvideo encoder

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
---
 tools/target_enc_fuzzer.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)
diff mbox series

Patch

diff --git a/tools/target_enc_fuzzer.c b/tools/target_enc_fuzzer.c
index 1749f6905bd..0345595ada7 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:{