Commit ddd7559a authored by Ronald S. Bultje's avatar Ronald S. Bultje Committed by Luca Barbato

h264: check for invalid zeros_left before writing

Prevent an invalid write into coeffs[scantable[-1]] if zeros_left
itself was an invalid VLC code (and thus -1).
Signed-off-by: 's avatarLuca Barbato <lu_zero@gentoo.org>
parent 9a2e7911
......@@ -610,17 +610,18 @@ static int decode_residual(H264Context *h, GetBitContext *gb, DCTELEM *block, in
} \
}
if (zeros_left < 0) {
av_log(h->s.avctx, AV_LOG_ERROR,
"negative number of zero coeffs at %d %d\n", s->mb_x, s->mb_y);
return AVERROR_INVALIDDATA;
}
if (h->pixel_shift) {
STORE_BLOCK(int32_t)
} else {
STORE_BLOCK(int16_t)
}
if(zeros_left<0){
av_log(h->s.avctx, AV_LOG_ERROR, "negative number of zero coeffs at %d %d\n", s->mb_x, s->mb_y);
return -1;
}
return 0;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment