aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2019-07-21 00:08:55 +0200
committerMichael Niedermayer <michael@niedermayer.cc>2019-11-15 12:25:39 +0100
commitc3b7afa4e917d748f0c3f8237b04ebdd99bdcacb (patch)
treeb25261078c9196ea6a605feb50e685338098d3c3
parentbaa8bca4485734e4eba2b54563ff25ecfcba439b (diff)
downloadffmpeg-c3b7afa4e917d748f0c3f8237b04ebdd99bdcacb.tar.gz
avcodec/utils: Check close before calling it
Fixes: NULL pointer dereference Fixes: 15733/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_IDF_fuzzer-5658616977162240 Reviewed-by: Paul B Mahol <onemda@gmail.com> Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> (cherry picked from commit 8df6884832ec413cf032dfaa45c23b1c7876670c) Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-rw-r--r--libavcodec/utils.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libavcodec/utils.c b/libavcodec/utils.c
index 1a5f4e7e4f..7cd14c8e1e 100644
--- a/libavcodec/utils.c
+++ b/libavcodec/utils.c
@@ -1118,7 +1118,7 @@ end:
return ret;
free_and_end:
- if (avctx->codec &&
+ if (avctx->codec && avctx->codec->close &&
(codec_init_ok ||
(avctx->codec->caps_internal & FF_CODEC_CAP_INIT_CLEANUP)))
avctx->codec->close(avctx);