mirror of https://git.ffmpeg.org/ffmpeg.git
h264: check chroma_format_idc range.
Fixes Ticket758
Bug found by: Diana Elena Muscalu
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 7fff64e00d
)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
e8bd1af095
commit
b6c19c9c91
|
@ -347,6 +347,10 @@ int ff_h264_decode_seq_parameter_set(H264Context *h){
|
||||||
|
|
||||||
if(sps->profile_idc >= 100){ //high profile
|
if(sps->profile_idc >= 100){ //high profile
|
||||||
sps->chroma_format_idc= get_ue_golomb_31(&s->gb);
|
sps->chroma_format_idc= get_ue_golomb_31(&s->gb);
|
||||||
|
if (sps->chroma_format_idc > 3U) {
|
||||||
|
av_log(h->s.avctx, AV_LOG_ERROR, "chroma_format_idc %d is illegal\n", sps->chroma_format_idc);
|
||||||
|
goto fail;
|
||||||
|
}
|
||||||
if(sps->chroma_format_idc == 3)
|
if(sps->chroma_format_idc == 3)
|
||||||
sps->residual_color_transform_flag = get_bits1(&s->gb);
|
sps->residual_color_transform_flag = get_bits1(&s->gb);
|
||||||
sps->bit_depth_luma = get_ue_golomb(&s->gb) + 8;
|
sps->bit_depth_luma = get_ue_golomb(&s->gb) + 8;
|
||||||
|
|
Loading…
Reference in New Issue