# HG changeset patch # User reimar # Date 1253006189 0 # Node ID 0394dceb230fff8277c80b1a4cfefeaa87bd5e91 # Parent cbaefd9135ac4c8ace152ad21562ebf078ca6c73 Improve sierravmd probe. It is still quite weak, but further improvements are non-obvious and probably need a large (about 1kB at least) probe buffer. diff -r cbaefd9135ac -r 0394dceb230f sierravmd.c --- a/sierravmd.c Mon Sep 14 23:03:33 2009 +0000 +++ b/sierravmd.c Tue Sep 15 09:16:29 2009 +0000 @@ -61,10 +61,17 @@ static int vmd_probe(AVProbeData *p) { + int w, h; + if (p->buf_size < 16) + return 0; /* check if the first 2 bytes of the file contain the appropriate size * of a VMD header chunk */ if (AV_RL16(&p->buf[0]) != VMD_HEADER_SIZE - 2) return 0; + w = AV_RL16(&p->buf[12]); + h = AV_RL16(&p->buf[14]); + if (!w || w > 2048 || !h || h > 2048) + return 0; /* only return half certainty since this check is a bit sketchy */ return AVPROBE_SCORE_MAX / 2;