lavc/h264_mp4toannexb: improve feedback in case of invalid bitstream

This commit is contained in:
Stefano Sabatini 2013-07-14 18:26:00 +02:00
parent a80e622924
commit 53c853e049

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);
}