Do not decode RV30 files if the extradata is too small

Signed-off-by: Diego Biurrun <diego@biurrun.de>
pull/2/head
Rafaël Carré 14 years ago committed by Diego Biurrun
parent b8783b98c5
commit 289c60001f
  1. 1
      libavcodec/rv30.c

@ -256,6 +256,7 @@ static av_cold int rv30_decode_init(AVCodecContext *avctx)
if(avctx->extradata_size - 8 < (r->rpr - 1) * 2){ if(avctx->extradata_size - 8 < (r->rpr - 1) * 2){
av_log(avctx, AV_LOG_ERROR, "Insufficient extradata - need at least %d bytes, got %d\n", av_log(avctx, AV_LOG_ERROR, "Insufficient extradata - need at least %d bytes, got %d\n",
6 + r->rpr * 2, avctx->extradata_size); 6 + r->rpr * 2, avctx->extradata_size);
return EINVAL;
} }
r->parse_slice_header = rv30_parse_slice_header; r->parse_slice_header = rv30_parse_slice_header;
r->decode_intra_types = rv30_decode_intra_types; r->decode_intra_types = rv30_decode_intra_types;

Loading…
Cancel
Save