diff --git a/common_video/h264/h264_bitstream_parser.cc b/common_video/h264/h264_bitstream_parser.cc index 56158fd340..620dc7f35d 100644 --- a/common_video/h264/h264_bitstream_parser.cc +++ b/common_video/h264/h264_bitstream_parser.cc @@ -118,13 +118,15 @@ H264BitstreamParser::Result H264BitstreamParser::ParseNonParameterSetNalu( if (slice_reader.Read()) { // num_ref_idx_l0_active_minus1: ue(v) num_ref_idx_l0_active_minus1 = slice_reader.ReadExponentialGolomb(); - if (num_ref_idx_l0_active_minus1 > H264::kMaxReferenceIndex) { + if (!slice_reader.Ok() || + num_ref_idx_l0_active_minus1 > H264::kMaxReferenceIndex) { return kInvalidStream; } if (slice_type == H264::SliceType::kB) { // num_ref_idx_l1_active_minus1: ue(v) num_ref_idx_l1_active_minus1 = slice_reader.ReadExponentialGolomb(); - if (num_ref_idx_l1_active_minus1 > H264::kMaxReferenceIndex) { + if (!slice_reader.Ok() || + num_ref_idx_l1_active_minus1 > H264::kMaxReferenceIndex) { return kInvalidStream; } }