summaryrefslogtreecommitdiff
path: root/libavcodec/nuv.c
diff options
context:
space:
mode:
authorReimar Döffinger <Reimar.Doeffinger@gmx.de>2011-11-05 23:13:07 +0100
committerReimar Döffinger <Reimar.Doeffinger@gmx.de>2011-11-05 23:33:49 +0100
commit6f3ebcc320d87e60f738f6cd3ff322c1716c3a93 (patch)
tree3513b4152a5e2a33f3cda1c5886c71ef1332a200 /libavcodec/nuv.c
parent4e6413c67d3f80d24db2caa9ce5f030225e67e2f (diff)
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.c4
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]);