diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2013-11-12 19:37:37 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2013-11-12 19:37:37 +0100 |
commit | 0062869ae25007c8506517dcfcbe6f439dc6958a (patch) | |
tree | 31020ef7ef4991a8ce410b39c6c16ab7332b5ce1 /libavformat | |
parent | 7b1e0beb2da31a0a8847bc9c68a87a120b71fa8a (diff) | |
download | ffmpeg-0062869ae25007c8506517dcfcbe6f439dc6958a.tar.gz |
avformat/smacker: check width/height in probe
Fixes probetest failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavformat')
-rw-r--r-- | libavformat/smacker.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/libavformat/smacker.c b/libavformat/smacker.c index 527faf7dd8..0d38588e21 100644 --- a/libavformat/smacker.c +++ b/libavformat/smacker.c @@ -92,11 +92,14 @@ static const uint8_t smk_pal[64] = { static int smacker_probe(AVProbeData *p) { - if(p->buf[0] == 'S' && p->buf[1] == 'M' && p->buf[2] == 'K' - && (p->buf[3] == '2' || p->buf[3] == '4')) - return AVPROBE_SCORE_MAX; - else + if ( AV_RL32(p->buf) != MKTAG('S', 'M', 'K', '2') + && AV_RL32(p->buf) != MKTAG('S', 'M', 'K', '4')) return 0; + + if (AV_RL32(p->buf+4) > 32768U || AV_RL32(p->buf+8) > 32768U) + return AVPROBE_SCORE_MAX/4; + + return AVPROBE_SCORE_MAX; } static int smacker_read_header(AVFormatContext *s) |