int nals_needed = 0;
int first_slice = 0;
int i;
+ int ret;
for (i = 0; i < h->pkt.nb_nals; i++) {
H2645NAL *nal = &h->pkt.nals[i];
case NAL_DPA:
case NAL_IDR_SLICE:
case NAL_SLICE:
- init_get_bits8(&gb, nal->data + 1, (nal->size - 1));
+ ret = init_get_bits8(&gb, nal->data + 1, (nal->size - 1));
+ if (ret < 0)
+ return ret;
if (!get_ue_golomb_long(&gb) || // first_mb_in_slice
!first_slice ||
first_slice != nal->type)
if (avctx->active_thread_type & FF_THREAD_FRAME)
nals_needed = get_last_needed_nal(h);
+ if (nals_needed < 0)
+ return nals_needed;
for (i = 0; i < h->pkt.nb_nals; i++) {
H2645NAL *nal = &h->pkt.nals[i];