*/
if(j) dst[i] += dst[i - stride];
else if(Uoff) dst[i] += 0x80;
+ if (get_bits_left(&gb) < 0) {
+ free_vlc(&vlc);
+ return AVERROR_INVALIDDATA;
+ }
}
dst += stride;
- if(get_bits_left(&gb) < 0)
- return -1;
}
free_vlc(&vlc);
return 0;
offs[planes] = buf_size;
for(i = 0; i < planes; i++){
is_chroma = !!i;
- av_fast_malloc(&s->tmpbuf, &s->tmpbuf_size, offs[i + 1] - offs[i] - 1024 + FF_INPUT_BUFFER_PADDING_SIZE);
+ av_fast_padded_malloc(&s->tmpbuf, &s->tmpbuf_size, offs[i + 1] - offs[i] - 1024);
if (!s->tmpbuf)
return AVERROR(ENOMEM);
if(fraps2_decode_plane(s, f->data[i], f->linesize[i], avctx->width >> is_chroma,
}
offs[planes] = buf_size;
for(i = 0; i < planes; i++){
- av_fast_malloc(&s->tmpbuf, &s->tmpbuf_size, offs[i + 1] - offs[i] - 1024 + FF_INPUT_BUFFER_PADDING_SIZE);
+ av_fast_padded_malloc(&s->tmpbuf, &s->tmpbuf_size, offs[i + 1] - offs[i] - 1024);
if (!s->tmpbuf)
return AVERROR(ENOMEM);
if(fraps2_decode_plane(s, f->data[0] + i + (f->linesize[0] * (avctx->height - 1)), -f->linesize[0],