Browse Source

avcodec/cllc: Check bitstream end before decoding pixels

Fixes timeout
Fixes: 1802/clusterfuzz-testcase-minimized-5008293510512640

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
tags/n3.4
Michael Niedermayer 8 years ago
parent
commit
cfec0d6475
1 changed files with 3 additions and 0 deletions
  1. +3
    -0
      libavcodec/cllc.c

+ 3
- 0
libavcodec/cllc.c View File

@@ -429,6 +429,9 @@ static int cllc_decode_frame(AVCodecContext *avctx, void *data,
coding_type = (AV_RL32(src) >> 8) & 0xFF;
av_log(avctx, AV_LOG_DEBUG, "Frame coding type: %d\n", coding_type);

if(get_bits_left(&gb) < avctx->height * avctx->width)
return AVERROR_INVALIDDATA;

switch (coding_type) {
case 0:
avctx->pix_fmt = AV_PIX_FMT_YUV422P;


Loading…
Cancel
Save