aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2021-03-22 21:58:30 +0100
committerMichael Niedermayer <michael@niedermayer.cc>2021-04-01 11:38:45 +0200
commit15f1648f7fe65aadea4bfc1e2a72feaf30110aa0 (patch)
tree044ebb8ecbc8773cd793b03335820723eef536b9
parent45f40cec3ad68a2de7fd07e738cd5743a57b4735 (diff)
downloadffmpeg-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.c7
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;
+
}