Browse Source

lavc/h264_mp4toannexb: improve feedback in case of invalid bitstream

tags/n2.1
Stefano Sabatini 12 years ago
parent
commit
53c853e049
1 changed files with 9 additions and 3 deletions
  1. +9
    -3
      libavcodec/h264_mp4toannexb_bsf.c

+ 9
- 3
libavcodec/h264_mp4toannexb_bsf.c View File

@@ -81,9 +81,15 @@ static int h264_extradata_to_annexb(AVCodecContext *avctx, const int padding)

unit_size = AV_RB16(extradata);
total_size += unit_size + 4;
if (total_size > INT_MAX - padding ||
extradata + 2 + unit_size > avctx->extradata +
avctx->extradata_size) {
if (total_size > INT_MAX - padding) {
av_log(avctx, AV_LOG_ERROR,
"Too big extradata size, corrupted stream or invalid MP4/AVCC bitstream\n");
av_free(out);
return AVERROR(EINVAL);
}
if (extradata + 2 + unit_size > avctx->extradata + avctx->extradata_size) {
av_log(avctx, AV_LOG_ERROR, "Packet header is not contained in global extradata, "
"corrupted stream or invalid MP4/AVCC bitstream\n");
av_free(out);
return AVERROR(EINVAL);
}


Loading…
Cancel
Save