Merge remote-tracking branch 'qatar/release/9' into release/1.1
* qatar/release/9: mpegvideo: Avoid 32-bit wrapping of linesize multiplications mjpegb: Detect changing number of planes in interlaced video alac: Check that the channels fit at the given offset 4xm: Check that the read track value is non-negative Conflicts: libavcodec/alac.c libavcodec/mjpegdec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
@@ -462,9 +462,8 @@ static int alac_decode_frame(AVCodecContext *avctx, void *data,
|
|||||||
}
|
}
|
||||||
|
|
||||||
channels = (element == TYPE_CPE) ? 2 : 1;
|
channels = (element == TYPE_CPE) ? 2 : 1;
|
||||||
if ( ch + channels > alac->channels
|
if (ch + channels > alac->channels ||
|
||||||
|| ff_alac_channel_layout_offsets[alac->channels - 1][ch] + channels > alac->channels
|
ff_alac_channel_layout_offsets[alac->channels - 1][ch] + channels > alac->channels) {
|
||||||
) {
|
|
||||||
av_log(avctx, AV_LOG_ERROR, "invalid element channel count\n");
|
av_log(avctx, AV_LOG_ERROR, "invalid element channel count\n");
|
||||||
return AVERROR_INVALIDDATA;
|
return AVERROR_INVALIDDATA;
|
||||||
}
|
}
|
||||||
|
@@ -254,7 +254,8 @@ int ff_mjpeg_decode_sof(MJpegDecodeContext *s)
|
|||||||
return -1;
|
return -1;
|
||||||
if (s->interlaced && (s->bottom_field == !s->interlace_polarity)) {
|
if (s->interlaced && (s->bottom_field == !s->interlace_polarity)) {
|
||||||
if (nb_components != s->nb_components) {
|
if (nb_components != s->nb_components) {
|
||||||
av_log(s->avctx, AV_LOG_ERROR, "nb_components changing in interlaced picture\n");
|
av_log(s->avctx, AV_LOG_ERROR,
|
||||||
|
"nb_components changing in interlaced picture\n");
|
||||||
return AVERROR_INVALIDDATA;
|
return AVERROR_INVALIDDATA;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -135,6 +135,8 @@ static int parse_strk(AVFormatContext *s,
|
|||||||
av_log(s, AV_LOG_ERROR, "current_track too large\n");
|
av_log(s, AV_LOG_ERROR, "current_track too large\n");
|
||||||
return AVERROR_INVALIDDATA;
|
return AVERROR_INVALIDDATA;
|
||||||
}
|
}
|
||||||
|
if (track < 0)
|
||||||
|
return AVERROR_INVALIDDATA;
|
||||||
if (track + 1 > fourxm->track_count) {
|
if (track + 1 > fourxm->track_count) {
|
||||||
fourxm->tracks = av_realloc_f(fourxm->tracks, track + 1, sizeof(AudioTrack));
|
fourxm->tracks = av_realloc_f(fourxm->tracks, track + 1, sizeof(AudioTrack));
|
||||||
if (!fourxm->tracks)
|
if (!fourxm->tracks)
|
||||||
|
Reference in New Issue
Block a user