From f6afacdb3b708720c9fb85984b4f7fdbca2b2036 Mon Sep 17 00:00:00 2001 From: Reimar Döffinger Date: Sat, 5 Nov 2011 23:13:07 +0100 Subject: nuv: check per-frame header for validity. Since it contains dimensions parsing an invalid one has rather annoying effects. Signed-off-by: Anton Khirnov --- libavcodec/nuv.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'libavcodec/nuv.c') diff --git a/libavcodec/nuv.c b/libavcodec/nuv.c index 7bace2ec40..94962b5843 100644 --- a/libavcodec/nuv.c +++ b/libavcodec/nuv.c @@ -184,9 +184,9 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *data_size, } if (c->codec_frameheader) { int w, h, q; - if (buf_size < 12) { - av_log(avctx, AV_LOG_ERROR, "invalid nuv video frame\n"); - return -1; + if (buf[0] != 'V' || buf_size < 12) { + av_log(avctx, AV_LOG_ERROR, "invalid nuv video frame (wrong codec_tag?)\n"); + return AVERROR_INVALIDDATA; } w = AV_RL16(&buf[6]); h = AV_RL16(&buf[8]); -- cgit v1.2.3