Browse Source

h264: check ref_count validity for num_ref_idx_active_override_flag

Fixes segfault in the fuzzed sample bipbop234.ts_s226407.

CC: libav-stable@libav.org
tags/n1.1
Janne Grunau 13 years ago
parent
commit
6e5cdf2628
1 changed files with 6 additions and 1 deletions
  1. +6
    -1
      libavcodec/h264.c

+ 6
- 1
libavcodec/h264.c View File

@@ -2841,8 +2841,13 @@ static int decode_slice_header(H264Context *h, H264Context *h0)

if (num_ref_idx_active_override_flag) {
h->ref_count[0] = get_ue_golomb(&s->gb) + 1;
if (h->slice_type_nos == AV_PICTURE_TYPE_B)
if (h->ref_count[0] < 1)
return AVERROR_INVALIDDATA;
if (h->slice_type_nos == AV_PICTURE_TYPE_B) {
h->ref_count[1] = get_ue_golomb(&s->gb) + 1;
if (h->ref_count[1] < 1)
return AVERROR_INVALIDDATA;
}
}

if (h->slice_type_nos == AV_PICTURE_TYPE_B)


Loading…
Cancel
Save