aboutsummaryrefslogtreecommitdiffstats
path: root/tools/target_dem_fuzzer.c
diff options
context:
space:
mode:
authorJames Almer <jamrial@gmail.com>2021-01-31 13:20:20 -0300
committerJames Almer <jamrial@gmail.com>2021-03-17 15:19:37 -0300
commit64f092eb5e12cfcaca1677c5c1c6fed27762587f (patch)
tree934a4aded9654c2398ecfe79e5077bab57ee8175 /tools/target_dem_fuzzer.c
parent08dbcaa57a3b6db11a96b1a601fb83e10d320a57 (diff)
downloadffmpeg-64f092eb5e12cfcaca1677c5c1c6fed27762587f.tar.gz
tools/target_dem_fuzzer: use av_packet_alloc() to allocate packets
Signed-off-by: James Almer <jamrial@gmail.com>
Diffstat (limited to 'tools/target_dem_fuzzer.c')
-rw-r--r--tools/target_dem_fuzzer.c13
1 files 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);