mirror of https://git.ffmpeg.org/ffmpeg.git
avformat/hevc: Check cpb_cnt_minus1
Fixes CID1239014 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
7a27aa15ec
commit
2cddc0b19a
|
@ -189,7 +189,7 @@ static void skip_sub_layer_hrd_parameters(GetBitContext *gb,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void skip_hrd_parameters(GetBitContext *gb, uint8_t cprms_present_flag,
|
static int skip_hrd_parameters(GetBitContext *gb, uint8_t cprms_present_flag,
|
||||||
unsigned int max_sub_layers_minus1)
|
unsigned int max_sub_layers_minus1)
|
||||||
{
|
{
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
|
@ -246,8 +246,11 @@ static void skip_hrd_parameters(GetBitContext *gb, uint8_t cprms_present_flag,
|
||||||
else
|
else
|
||||||
low_delay_hrd_flag = get_bits1(gb);
|
low_delay_hrd_flag = get_bits1(gb);
|
||||||
|
|
||||||
if (!low_delay_hrd_flag)
|
if (!low_delay_hrd_flag) {
|
||||||
cpb_cnt_minus1 = get_ue_golomb_long(gb);
|
cpb_cnt_minus1 = get_ue_golomb_long(gb);
|
||||||
|
if (cpb_cnt_minus1 > 31)
|
||||||
|
return AVERROR_INVALIDDATA;
|
||||||
|
}
|
||||||
|
|
||||||
if (nal_hrd_parameters_present_flag)
|
if (nal_hrd_parameters_present_flag)
|
||||||
skip_sub_layer_hrd_parameters(gb, cpb_cnt_minus1,
|
skip_sub_layer_hrd_parameters(gb, cpb_cnt_minus1,
|
||||||
|
@ -257,6 +260,8 @@ static void skip_hrd_parameters(GetBitContext *gb, uint8_t cprms_present_flag,
|
||||||
skip_sub_layer_hrd_parameters(gb, cpb_cnt_minus1,
|
skip_sub_layer_hrd_parameters(gb, cpb_cnt_minus1,
|
||||||
sub_pic_hrd_params_present_flag);
|
sub_pic_hrd_params_present_flag);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void skip_timing_info(GetBitContext *gb)
|
static void skip_timing_info(GetBitContext *gb)
|
||||||
|
|
Loading…
Reference in New Issue