aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2017-05-10 18:37:50 +0200
committerMichael Niedermayer <michael@niedermayer.cc>2017-05-31 02:39:20 +0200
commit62979de16865de7351bb6dd2748c953ee0fc8548 (patch)
tree6af6812e1f05e2e835af3df5a92bd15d1710eb44
parenta8625d11105fe3f70aa26e54b1a8011d7a9a39fc (diff)
downloadffmpeg-62979de16865de7351bb6dd2748c953ee0fc8548.tar.gz
avcodec/webp: Fixes null pointer dereference
Fixes: 1470/clusterfuzz-testcase-minimized-5404421666111488 Fixes: 1472/clusterfuzz-testcase-minimized-5677426430443520 Fixes: 1875/clusterfuzz-testcase-minimized-5536474562822144 Approved-by: BBB 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 67020711b7d45afa073ef671f755765035a64373) Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-rw-r--r--libavcodec/webp.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/libavcodec/webp.c b/libavcodec/webp.c
index e119a25799..1b3b68c121 100644
--- a/libavcodec/webp.c
+++ b/libavcodec/webp.c
@@ -1351,6 +1351,9 @@ static int vp8_lossy_decode_frame(AVCodecContext *avctx, AVFrame *p,
if (ret < 0)
return ret;
+ if (!*got_frame)
+ return AVERROR_INVALIDDATA;
+
update_canvas_size(avctx, avctx->width, avctx->height);
if (s->has_alpha) {