From 64f092eb5e12cfcaca1677c5c1c6fed27762587f Mon Sep 17 00:00:00 2001 From: James Almer Date: Sun, 31 Jan 2021 13:20:20 -0300 Subject: [PATCH] tools/target_dem_fuzzer: use av_packet_alloc() to allocate packets Signed-off-by: James Almer --- tools/target_dem_fuzzer.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/tools/target_dem_fuzzer.c b/tools/target_dem_fuzzer.c index 8ff98af945..af1840b359 100644 --- a/tools/target_dem_fuzzer.c +++ b/tools/target_dem_fuzzer.c @@ -96,7 +96,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { const uint64_t fuzz_tag = FUZZ_TAG; uint32_t it = 0; AVFormatContext *avfmt = avformat_alloc_context(); - AVPacket pkt; + AVPacket *pkt; char filename[1025] = {0}; AVIOContext *fuzzed_pb = NULL; uint8_t *io_buffer; @@ -165,6 +165,10 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { if (!io_buffer_size || size / io_buffer_size > maxblocks) io_buffer_size = size; + pkt = av_packet_alloc(); + if (!pkt) + error("Failed to allocate pkt"); + io_buffer = av_malloc(io_buffer_size); if (!io_buffer) error("Failed to allocate io_buffer"); @@ -190,17 +194,16 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { ret = avformat_find_stream_info(avfmt, NULL); - av_init_packet(&pkt); - //TODO, test seeking for(it = 0; it < maxiteration; it++) { - ret = av_read_frame(avfmt, &pkt); + ret = av_read_frame(avfmt, pkt); if (ret < 0) break; - av_packet_unref(&pkt); + av_packet_unref(pkt); } + av_packet_free(&pkt); av_freep(&fuzzed_pb->buffer); avio_context_free(&fuzzed_pb); avformat_close_input(&avfmt);