- s->diff_start = get_bits(&gb, 8);
- s->diff_height = get_bits(&gb, 8);
+ if (!s->keyframe) {
+ av_log(avctx, AV_LOG_ERROR,
+ "Inter frame without keyframe\n");
+ return AVERROR_INVALIDDATA;
+ }
+ s->diff_start = bitstream_read(&bc, 8);
+ s->diff_height = bitstream_read(&bc, 8);
+ if (s->diff_start + s->diff_height > cur_blk_height) {
+ av_log(avctx, AV_LOG_ERROR,
+ "Block parameters invalid: %d + %d > %d\n",
+ s->diff_start, s->diff_height, cur_blk_height);
+ return AVERROR_INVALIDDATA;
+ }