mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
diracdec: add missing check for pixel_range_index
This fixes an out-of-bounds read introduced in commit 0379603
.
Reviewed-by: Kieran Kunhya <kierank@obe.tv>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
This commit is contained in:
parent
7172175da6
commit
b648b246f0
@ -262,6 +262,9 @@ static int parse_source_parameters(AVDiracSeqHeader *dsh, GetBitContext *gb,
|
|||||||
|
|
||||||
dsh->bit_depth = luma_depth;
|
dsh->bit_depth = luma_depth;
|
||||||
|
|
||||||
|
if (dsh->pixel_range_index < 2U)
|
||||||
|
return AVERROR_INVALIDDATA;
|
||||||
|
|
||||||
dsh->pix_fmt = dirac_pix_fmt[dsh->chroma_format][dsh->pixel_range_index-2];
|
dsh->pix_fmt = dirac_pix_fmt[dsh->chroma_format][dsh->pixel_range_index-2];
|
||||||
avcodec_get_chroma_sub_sample(dsh->pix_fmt, &chroma_x_shift, &chroma_y_shift);
|
avcodec_get_chroma_sub_sample(dsh->pix_fmt, &chroma_x_shift, &chroma_y_shift);
|
||||||
if ((dsh->width % (1<<chroma_x_shift)) || (dsh->height % (1<<chroma_y_shift))) {
|
if ((dsh->width % (1<<chroma_x_shift)) || (dsh->height % (1<<chroma_y_shift))) {
|
||||||
|
Loading…
Reference in New Issue
Block a user