length = offset + get_bits(&s->gb, extra_bits) + 1;
}
prefix_code = huff_reader_get_symbol(&hg[HUFF_IDX_DIST], &s->gb);
- if (prefix_code > 39) {
+ if (prefix_code > 39U) {
av_log(s->avctx, AV_LOG_ERROR,
"distance prefix code too large: %d\n", prefix_code);
return AVERROR_INVALIDDATA;
if (ret < 0)
return ret;
+ if (!*got_frame)
+ return AVERROR_INVALIDDATA;
+
update_canvas_size(avctx, avctx->width, avctx->height);
if (s->has_alpha) {