aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2015-07-18 19:02:26 +0200
committerMichael Niedermayer <michael@niedermayer.cc>2015-07-20 04:43:41 +0200
commite3a521d817cb7d36acc6e1e7cda8d6a70e967be6 (patch)
treec75e7e0d69f47bd3d719ca9a9c95247068b901f5 /libavcodec
parent0de6cf5fdd9e1d89f5259eb0cc0795e424cfa6af (diff)
downloadffmpeg-e3a521d817cb7d36acc6e1e7cda8d6a70e967be6.tar.gz
avcodec/vp8: Fix null pointer dereference in ff_vp8_decode_free()
Fixes: signal_sigsegv_d5de23_967_vp80_00_comprehensive_010.ivf with memlimit 524288 Found-by: Samuel Groß, Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> (cherry picked from commit a84f0e8d8f293df3c535f9b893730a835bed6520) Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/vp8.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/libavcodec/vp8.c b/libavcodec/vp8.c
index 5a458e8ad1..73e9d18275 100644
--- a/libavcodec/vp8.c
+++ b/libavcodec/vp8.c
@@ -2689,6 +2689,9 @@ av_cold int ff_vp8_decode_free(AVCodecContext *avctx)
VP8Context *s = avctx->priv_data;
int i;
+ if (!s)
+ return 0;
+
vp8_decode_flush_impl(avctx, 1);
for (i = 0; i < FF_ARRAY_ELEMS(s->frames); i++)
av_frame_free(&s->frames[i].tf.f);