From 76170f537304cc845d6d334d36daa0a0f16efb32 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Thu, 31 May 2012 14:47:15 +0200 Subject: [PATCH] yop_probe: check more fields to avoid detecting random data as yop Signed-off-by: Michael Niedermayer --- libavformat/yop.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/libavformat/yop.c b/libavformat/yop.c index e8f4e8e6ab..c7d3f65192 100644 --- a/libavformat/yop.c +++ b/libavformat/yop.c @@ -38,10 +38,15 @@ typedef struct yop_dec_context { static int yop_probe(AVProbeData *probe_packet) { if (AV_RB16(probe_packet->buf) == AV_RB16("YO") && + probe_packet->buf[2]<10 && + probe_packet->buf[3]<10 && probe_packet->buf[6] && probe_packet->buf[7] && !(probe_packet->buf[8] & 1) && - !(probe_packet->buf[10] & 1)) + !(probe_packet->buf[10] & 1) && + AV_RL16(probe_packet->buf + 12 + 6) >= 920 && + AV_RL16(probe_packet->buf + 12 + 6) < probe_packet->buf[12] * 3 + 4 + probe_packet->buf[7] * 2048 + ) return AVPROBE_SCORE_MAX * 3 / 4; return 0;