changeset 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 6fc9f9d8aaa1
children 0d44bd284a96
files dxa.c
diffstat 1 files changed, 7 insertions(+), 1 deletions(-) [+]
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;