[FFmpeg-cvslog] tools/target_dem_fuzzer: Test interrupt callback

Michael Niedermayer git at videolan.org
Sat Feb 19 14:29:50 EET 2022


ffmpeg | branch: master | Michael Niedermayer <michael at niedermayer.cc> | Sun Dec  5 19:23:04 2021 +0100| [cd4ce3b862eacd0f2ccf9dadb5cb31776e599dd8] | committer: Michael Niedermayer

tools/target_dem_fuzzer: Test interrupt callback

Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=cd4ce3b862eacd0f2ccf9dadb5cb31776e599dd8
---

 tools/target_dem_fuzzer.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/tools/target_dem_fuzzer.c b/tools/target_dem_fuzzer.c
index 3c03c8d17c..6ee793a28b 100644
--- a/tools/target_dem_fuzzer.c
+++ b/tools/target_dem_fuzzer.c
@@ -34,6 +34,13 @@ typedef struct IOContext {
 
 int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size);
 
+int64_t interrupt_counter;
+static int interrupt_cb(void *ctx)
+{
+    interrupt_counter --;
+    return interrupt_counter < 0;
+}
+
 static void error(const char *err)
 {
     fprintf(stderr, "%s", err);
@@ -160,6 +167,9 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
                 *strchr(extension, ',') = 0;
             av_strlcatf(filename, sizeof(filename), ".%s", extension);
         }
+
+        interrupt_counter = bytestream2_get_le32(&gbc);
+        avfmt->interrupt_callback.callback = interrupt_cb;
     }
 
     if (!io_buffer_size || size / io_buffer_size > maxblocks)



More information about the ffmpeg-cvslog mailing list