Mercurial > libavformat.hg
diff dxa.c @ 5216:7c0b8cd87f5a libavformat
Improve dxa probe by checking the values for width and height are reasonable.
author | reimar |
---|---|
date | Thu, 17 Sep 2009 18:08:07 +0000 |
parents | 33a244b7ca65 |
children | 536e5527c1e0 |
line wrap: on
line diff
--- a/dxa.c Thu Sep 17 18:07:27 2009 +0000 +++ b/dxa.c Thu Sep 17 18:08:07 2009 +0000 @@ -36,9 +36,15 @@ static int dxa_probe(AVProbeData *p) { + int w, h; + if (p->buf_size < 15) + return 0; + w = AV_RB16(p->buf + 11); + h = AV_RB16(p->buf + 13); /* check file header */ if (p->buf[0] == 'D' && p->buf[1] == 'E' && - p->buf[2] == 'X' && p->buf[3] == 'A') + p->buf[2] == 'X' && p->buf[3] == 'A' && + w && w <= 2048 && h && h <= 2048) return AVPROBE_SCORE_MAX; else return 0;