Commit 2cddc0b1 authored by Michael Niedermayer's avatar Michael Niedermayer

avformat/hevc: Check cpb_cnt_minus1

Fixes CID1239014
Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parent 7a27aa15
...@@ -189,7 +189,7 @@ static void skip_sub_layer_hrd_parameters(GetBitContext *gb, ...@@ -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, ...@@ -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, ...@@ -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)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment