From 41ee459e88093a0b7ae13b8539ed9ccd0ebd0f0b Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Sun, 21 Dec 2014 23:00:36 +0100 Subject: avformat/img2dec: check w/h in dpx_probe Fixes probetest failure Signed-off-by: Michael Niedermayer --- libavformat/img2dec.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'libavformat/img2dec.c') diff --git a/libavformat/img2dec.c b/libavformat/img2dec.c index a20868cbaf..63de8fe752 100644 --- a/libavformat/img2dec.c +++ b/libavformat/img2dec.c @@ -606,8 +606,17 @@ static int bmp_probe(AVProbeData *p) static int dpx_probe(AVProbeData *p) { const uint8_t *b = p->buf; + int w, h; + int is_big = (AV_RN32(b) == AV_RN32("SDPX")); - if (AV_RN32(b) == AV_RN32("SDPX") || AV_RN32(b) == AV_RN32("XPDS")) + if (p->buf_size < 0x304+8) + return 0; + w = is_big ? AV_RB32(p->buf + 0x304) : AV_RL32(p->buf + 0x304); + h = is_big ? AV_RB32(p->buf + 0x308) : AV_RL32(p->buf + 0x308); + if (w <= 0 || h <= 0) + return 0; + + if (is_big || AV_RN32(b) == AV_RN32("XPDS")) return AVPROBE_SCORE_EXTENSION + 1; return 0; } -- cgit v1.2.3