diff options
author | Michael Niedermayer <michael@niedermayer.cc> | 2021-03-22 21:58:30 +0100 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2021-04-01 11:38:45 +0200 |
commit | 15f1648f7fe65aadea4bfc1e2a72feaf30110aa0 (patch) | |
tree | 044ebb8ecbc8773cd793b03335820723eef536b9 | |
parent | 45f40cec3ad68a2de7fd07e738cd5743a57b4735 (diff) | |
download | ffmpeg-15f1648f7fe65aadea4bfc1e2a72feaf30110aa0.tar.gz |
tools/target_dem_fuzzer: Fix packet leak
Fixes: 32121/clusterfuzz-testcase-minimized-ffmpeg_IO_DEMUXER_fuzzer-4512973109460992
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 6055b93379fd29477afa8f24881223a14e2f6b81)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-rw-r--r-- | tools/target_dem_fuzzer.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/tools/target_dem_fuzzer.c b/tools/target_dem_fuzzer.c index af1840b359..3c03c8d17c 100644 --- a/tools/target_dem_fuzzer.c +++ b/tools/target_dem_fuzzer.c @@ -186,10 +186,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { ret = avformat_open_input(&avfmt, filename, fmt, NULL); if (ret < 0) { - av_freep(&fuzzed_pb->buffer); - av_freep(&fuzzed_pb); - avformat_free_context(avfmt); - return 0; + goto fail; } ret = avformat_find_stream_info(avfmt, NULL); @@ -203,10 +200,12 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { av_packet_unref(pkt); } +fail: av_packet_free(&pkt); av_freep(&fuzzed_pb->buffer); avio_context_free(&fuzzed_pb); avformat_close_input(&avfmt); return 0; + } |