diff options
author | Reimar Döffinger <Reimar.Doeffinger@gmx.de> | 2011-11-05 23:13:07 +0100 |
---|---|---|
committer | Reimar Döffinger <Reimar.Doeffinger@gmx.de> | 2011-11-05 23:33:49 +0100 |
commit | 6f3ebcc320d87e60f738f6cd3ff322c1716c3a93 (patch) | |
tree | 3513b4152a5e2a33f3cda1c5886c71ef1332a200 /libavcodec/nuv.c | |
parent | 4e6413c67d3f80d24db2caa9ce5f030225e67e2f (diff) | |
download | ffmpeg-6f3ebcc320d87e60f738f6cd3ff322c1716c3a93.tar.gz |
Check NUV per-frame header for validity.
Since it contains dimensions parsing an invalid one has rather
annoying effects.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Diffstat (limited to 'libavcodec/nuv.c')
-rw-r--r-- | libavcodec/nuv.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libavcodec/nuv.c b/libavcodec/nuv.c index d8b9dbf5f7..b94f5af052 100644 --- a/libavcodec/nuv.c +++ b/libavcodec/nuv.c @@ -184,8 +184,8 @@ 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"); + if (buf[0] != 'V' || buf_size < 12) { + av_log(avctx, AV_LOG_ERROR, "invalid nuv video frame (wrong codec_tag?)\n"); return -1; } w = AV_RL16(&buf[6]); |