diff options
-rw-r--r-- | libavformat/wv.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/libavformat/wv.c b/libavformat/wv.c index 97a6c1f..ad6e8ac 100644 --- a/libavformat/wv.c +++ b/libavformat/wv.c @@ -73,8 +73,11 @@ static int wv_probe(AVProbeData *p) /* check file header */ if (p->buf_size <= 32) return 0; - if (p->buf[0] == 'w' && p->buf[1] == 'v' && - p->buf[2] == 'p' && p->buf[3] == 'k') + if (AV_RL32(&p->buf[0]) == MKTAG('w', 'v', 'p', 'k') && + AV_RL32(&p->buf[4]) >= 24 && + AV_RL32(&p->buf[4]) <= WV_BLOCK_LIMIT && + AV_RL16(&p->buf[8]) >= 0x402 && + AV_RL16(&p->buf[8]) <= 0x410) return AVPROBE_SCORE_MAX; else return 0; |