diff --git a/libavcodec/nuv.c b/libavcodec/nuv.c index 665527bbe9..d07c868aa5 100644 --- a/libavcodec/nuv.c +++ b/libavcodec/nuv.c @@ -158,6 +158,10 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *data_size, if (c->codec_frameheader) { get_quant_quality(c, buf[10]); rtjpeg_decode_init(&c->rtj, &c->dsp, c->width, c->height, c->lq, c->cq); + if (buf_size < 12) { + av_log(avctx, AV_LOG_ERROR, "invalid nuv video frame\n"); + return -1; + } buf = &buf[12]; buf_size -= 12; }