matroskadec: prevent potential integer overflow

Iam not sure this can happen, but its safer we check.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2012-08-05 17:04:59 +02:00
parent bc3b422029
commit c30f53e4d8

View File

@ -1580,7 +1580,7 @@ static int matroska_read_header(AVFormatContext *s)
&& (track->codec_priv.data != NULL)) {
fourcc = AV_RL32(track->codec_priv.data);
codec_id = ff_codec_get_id(ff_codec_movvideo_tags, fourcc);
} else if (codec_id == CODEC_ID_ALAC && track->codec_priv.size) {
} else if (codec_id == CODEC_ID_ALAC && track->codec_priv.size && track->codec_priv.size < INT_MAX-12) {
/* Only ALAC's magic cookie is stored in Matroska's track headers.
Create the "atom size", "tag", and "tag version" fields the
decoder expects manually. */