summaryrefslogtreecommitdiff
path: root/libavcodec/tiff.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2019-10-02 21:14:17 +0200
committerMichael Niedermayer <michael@niedermayer.cc>2019-10-03 19:37:35 +0200
commit379e5d29d50ef957a65cfd536bc8c0713755fb77 (patch)
tree94d896b62fd6723df8235b8d9ee406623d609f4a /libavcodec/tiff.c
parent2f588ccfb70cba54a7ea8e740110953da604c0e6 (diff)
avcodec/tiff: Set FF_CODEC_CAP_INIT_CLEANUP
Fixes: memleaks Fixes: 17813/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_TIFF_fuzzer-5145600206569472 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavcodec/tiff.c')
-rw-r--r--libavcodec/tiff.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/libavcodec/tiff.c b/libavcodec/tiff.c
index 9f24796a88..f537e99b5a 100644
--- a/libavcodec/tiff.c
+++ b/libavcodec/tiff.c
@@ -2090,8 +2090,6 @@ static av_cold int tiff_init(AVCodecContext *avctx)
s->avctx_mjpeg->idct_algo = avctx->idct_algo;
ret = ff_codec_open2_recursive(s->avctx_mjpeg, codec, NULL);
if (ret < 0) {
- av_frame_free(&s->jpgframe);
- avcodec_free_context(&s->avctx_mjpeg);
return ret;
}
@@ -2142,5 +2140,6 @@ AVCodec ff_tiff_decoder = {
.decode = decode_frame,
.init_thread_copy = ONLY_IF_THREADS_ENABLED(tiff_init),
.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
+ .caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
.priv_class = &tiff_decoder_class,
};