dst = (uint16_t *)p->data[i] + j * sheight * stride;
if (flags & 1) {
+ if (get_bits_left(&gb) < bps * width * height)
+ return AVERROR_INVALIDDATA;
for (k = 0; k < height; k++) {
for (x = 0; x < width; x++)
dst[x] = get_bits(&gb, bps);
dst = p->data[i] + j * sheight * stride;
if (flags & 1) {
+ if (get_bits_left(&gb) < 8* width * height)
+ return AVERROR_INVALIDDATA;
for (k = 0; k < height; k++) {
for (x = 0; x < width; x++)
dst[x] = get_bits(&gb, 8);