[Swfdec-commits] Branch '0.6' - 2 commits - swfdec/swfdec_image.c test/image

Benjamin Otte company at kemper.freedesktop.org
Wed Apr 16 03:12:08 PDT 2008


 swfdec/swfdec_image.c                       |    3 +
 test/image/Makefile.am                      |    9 +++++
 test/image/crash-0.6.4-huge-image-5.swf     |binary
 test/image/crash-0.6.4-huge-image-5.swf.png |binary
 test/image/crash-0.6.4-huge-image-6.swf     |binary
 test/image/crash-0.6.4-huge-image-6.swf.png |binary
 test/image/crash-0.6.4-huge-image-7.swf     |binary
 test/image/crash-0.6.4-huge-image-7.swf.png |binary
 test/image/crash-0.6.4-huge-image-8.swf     |binary
 test/image/crash-0.6.4-huge-image-8.swf.png |binary
 test/image/crash-0.6.4-huge-image.xml       |   45 ++++++++++++++++++++++++++++
 11 files changed, 57 insertions(+)

New commits:
commit eae9c9930fac714958c50a858ee3ae6bd25f95b7
Author: Benjamin Otte <otte at gnome.org>
Date:   Wed Apr 16 12:02:56 2008 +0200

    add test for latest fix

diff --git a/test/image/Makefile.am b/test/image/Makefile.am
index f33ab90..20d6be5 100644
--- a/test/image/Makefile.am
+++ b/test/image/Makefile.am
@@ -44,6 +44,15 @@ EXTRA_DIST = \
 	color-transform-add80.swf.png \
 	color-transform-add80-alpha.swf \
 	color-transform-add80-alpha.swf.png \
+	crash-0.6.4-huge-image-5.swf \
+	crash-0.6.4-huge-image-5.swf.png \
+	crash-0.6.4-huge-image-6.swf \
+	crash-0.6.4-huge-image-6.swf.png \
+	crash-0.6.4-huge-image-7.swf \
+	crash-0.6.4-huge-image-7.swf.png \
+	crash-0.6.4-huge-image-8.swf \
+	crash-0.6.4-huge-image-8.swf.png \
+	crash-0.6.4-huge-image.xml \
 	default.stas \
 	default.sts \
 	definebits-palette-5.swf \
diff --git a/test/image/crash-0.6.4-huge-image-5.swf b/test/image/crash-0.6.4-huge-image-5.swf
new file mode 100644
index 0000000..5100435
Binary files /dev/null and b/test/image/crash-0.6.4-huge-image-5.swf differ
diff --git a/test/image/crash-0.6.4-huge-image-5.swf.png b/test/image/crash-0.6.4-huge-image-5.swf.png
new file mode 100644
index 0000000..fca17d2
Binary files /dev/null and b/test/image/crash-0.6.4-huge-image-5.swf.png differ
diff --git a/test/image/crash-0.6.4-huge-image-6.swf b/test/image/crash-0.6.4-huge-image-6.swf
new file mode 100644
index 0000000..8d6f1f7
Binary files /dev/null and b/test/image/crash-0.6.4-huge-image-6.swf differ
diff --git a/test/image/crash-0.6.4-huge-image-6.swf.png b/test/image/crash-0.6.4-huge-image-6.swf.png
new file mode 100644
index 0000000..fca17d2
Binary files /dev/null and b/test/image/crash-0.6.4-huge-image-6.swf.png differ
diff --git a/test/image/crash-0.6.4-huge-image-7.swf b/test/image/crash-0.6.4-huge-image-7.swf
new file mode 100644
index 0000000..c2d0056
Binary files /dev/null and b/test/image/crash-0.6.4-huge-image-7.swf differ
diff --git a/test/image/crash-0.6.4-huge-image-7.swf.png b/test/image/crash-0.6.4-huge-image-7.swf.png
new file mode 100644
index 0000000..fca17d2
Binary files /dev/null and b/test/image/crash-0.6.4-huge-image-7.swf.png differ
diff --git a/test/image/crash-0.6.4-huge-image-8.swf b/test/image/crash-0.6.4-huge-image-8.swf
new file mode 100644
index 0000000..b92d00d
Binary files /dev/null and b/test/image/crash-0.6.4-huge-image-8.swf differ
diff --git a/test/image/crash-0.6.4-huge-image-8.swf.png b/test/image/crash-0.6.4-huge-image-8.swf.png
new file mode 100644
index 0000000..fca17d2
Binary files /dev/null and b/test/image/crash-0.6.4-huge-image-8.swf.png differ
diff --git a/test/image/crash-0.6.4-huge-image.xml b/test/image/crash-0.6.4-huge-image.xml
new file mode 100644
index 0000000..7d3300c
--- /dev/null
+++ b/test/image/crash-0.6.4-huge-image.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0"?>
+<swf version="7" compressed="1">
+  <Header framerate="31" frames="27">
+    <size>
+      <Rectangle left="0" right="4000" top="0" bottom="3000"/>
+    </size>
+    <tags>
+
+      <DefineBitsLossless objectID="1" format="5" width="62525" height="17173">
+        <data>
+	  <data>eNpjYGBgAAAABAABAA==</data>
+        </data>
+      </DefineBitsLossless>
+      <DefineShape objectID="2">
+        <bounds>
+          <Rectangle left="0" right="4000" top="0" bottom="3000"/>
+        </bounds>
+        <styles>
+          <StyleList>
+            <fillStyles>
+	      <ClippedBitmap objectID="1" />
+            </fillStyles>
+            <lineStyles/>
+          </StyleList>
+        </styles>
+        <shapes>
+          <Shape>
+            <edges>
+              <ShapeSetup fillStyle1="1"/>
+              <LineTo x="4000" y="0"/>
+              <LineTo x="0" y="3000"/>
+              <LineTo x="-4000" y="0"/>
+              <LineTo x="0" y="-3000"/>
+              <ShapeSetup/>
+            </edges>
+          </Shape>
+        </shapes>
+      </DefineShape>
+      <PlaceObject2 replace="0" depth="1" objectID="2" />
+
+      <ShowFrame/>
+      <End/>
+    </tags>
+  </Header>
+</swf>
commit 8e2db4e7340135fb07f42a6c1409988293d2f843
Author: Benjamin Otte <otte at gnome.org>
Date:   Wed Apr 16 12:01:52 2008 +0200

    don't parse oversized images

diff --git a/swfdec/swfdec_image.c b/swfdec/swfdec_image.c
index fc54511..beb132a 100644
--- a/swfdec/swfdec_image.c
+++ b/swfdec/swfdec_image.c
@@ -338,6 +338,9 @@ swfdec_image_lossless_load (SwfdecImage *image)
 
   if (image->width == 0 || image->height == 0)
     return;
+  if (G_MAXUINT / 4 / image->width < (guint) image->height)
+    return;
+
   swfdec_cached_load (SWFDEC_CACHED (image), 4 * image->width * image->height);
 
   if (format == 3) {


More information about the Swfdec-commits mailing list