summaryrefslogtreecommitdiff
path: root/libavcodec/webp.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2017-05-10 18:37:50 +0200
committerMichael Niedermayer <michael@niedermayer.cc>2017-05-28 21:20:09 +0200
commit67020711b7d45afa073ef671f755765035a64373 (patch)
tree0fefe59910c42c54f7632b17957d9b63dc988a6e /libavcodec/webp.c
parent6b9cb5d26a2d9905093621d12785bc5903dce66d (diff)
downloadffmpeg-67020711b7d45afa073ef671f755765035a64373.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>
Diffstat (limited to 'libavcodec/webp.c')
-rw-r--r--libavcodec/webp.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/libavcodec/webp.c b/libavcodec/webp.c
index 50a8da1000..a0d4d1812d 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) {