aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2015-07-18 19:02:26 +0200
committerMichael Niedermayer <michael@niedermayer.cc>2015-07-18 20:23:46 +0200
commit9c655d2a57d48707317af149154b9a38893d8a15 (patch)
treee209735c9372b491419c8e3c16356b422f7636f6
parentf00f799833afb856ce78b9251e73e72a4a31fd70 (diff)
downloadffmpeg-9c655d2a57d48707317af149154b9a38893d8a15.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>
-rw-r--r--libavcodec/vp8.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/libavcodec/vp8.c b/libavcodec/vp8.c
index becbb2c437..494400f41e 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);