[Swfdec-commits] 2 commits - swfdec/jpeg test/trace
Benjamin Otte
company at kemper.freedesktop.org
Sun Sep 7 09:24:43 PDT 2008
swfdec/jpeg/jpeg.c | 11 +++++++++++
test/trace/Makefile.am | 9 +++++++++
test/trace/oversized-image-5.swf |binary
test/trace/oversized-image-6.swf |binary
test/trace/oversized-image-7.swf |binary
test/trace/oversized-image-8.swf |binary
test/trace/oversized-image.as | 14 ++++++++++++++
7 files changed, 34 insertions(+)
New commits:
commit e28f990d51673c14c0afa2f91b259dbcb25fd54b
Author: Riccardo Magliocchetti <riccardo at datahost.it>
Date: Sun Sep 7 18:22:21 2008 +0200
add test for recent fix
diff --git a/test/trace/Makefile.am b/test/trace/Makefile.am
index 1f88296..61c1119 100644
--- a/test/trace/Makefile.am
+++ b/test/trace/Makefile.am
@@ -2559,6 +2559,15 @@ EXTRA_DIST = \
onUnload-prototype-8.swf.trace \
order.swf \
order.swf.trace \
+ oversized-image-5.swf \
+ oversized-image-5.swf.trace \
+ oversized-image-6.swf \
+ oversized-image-6.swf.trace \
+ oversized-image-7.swf \
+ oversized-image-7.swf.trace \
+ oversized-image-8.swf \
+ oversized-image-8.swf.trace \
+ oversized-image.as \
parent-root.swf \
parent-root.swf.trace \
parse-float.as \
diff --git a/test/trace/oversized-image-5.swf b/test/trace/oversized-image-5.swf
new file mode 100644
index 0000000..10496be
Binary files /dev/null and b/test/trace/oversized-image-5.swf differ
diff --git a/test/trace/oversized-image-5.swf.trace b/test/trace/oversized-image-5.swf.trace
new file mode 100644
index 0000000..e69de29
diff --git a/test/trace/oversized-image-6.swf b/test/trace/oversized-image-6.swf
new file mode 100644
index 0000000..a3fc067
Binary files /dev/null and b/test/trace/oversized-image-6.swf differ
diff --git a/test/trace/oversized-image-6.swf.trace b/test/trace/oversized-image-6.swf.trace
new file mode 100644
index 0000000..e69de29
diff --git a/test/trace/oversized-image-7.swf b/test/trace/oversized-image-7.swf
new file mode 100644
index 0000000..d83a4cb
Binary files /dev/null and b/test/trace/oversized-image-7.swf differ
diff --git a/test/trace/oversized-image-7.swf.trace b/test/trace/oversized-image-7.swf.trace
new file mode 100644
index 0000000..e69de29
diff --git a/test/trace/oversized-image-8.swf b/test/trace/oversized-image-8.swf
new file mode 100644
index 0000000..a8f706c
Binary files /dev/null and b/test/trace/oversized-image-8.swf differ
diff --git a/test/trace/oversized-image-8.swf.trace b/test/trace/oversized-image-8.swf.trace
new file mode 100644
index 0000000..e69de29
diff --git a/test/trace/oversized-image.as b/test/trace/oversized-image.as
new file mode 100644
index 0000000..3dd2e70
--- /dev/null
+++ b/test/trace/oversized-image.as
@@ -0,0 +1,14 @@
+// makeswf -v 7 -s 200x150 -r 1 -o oversized-image.swf oversized-image.as
+
+createEmptyMovieClip ("a", 0);
+a.loadMovie ("cookiemon.jpg");
+
+createEmptyMovieClip ("b", 1);
+b.loadMovie ("wookiemon.jpg");
+
+count = 3;
+onEnterFrame = function () {
+ if (count-- == 0) {
+ getURL ("fscommand:quit", "");
+ };
+};
commit 28505a55e5c4c7b23da2a48e3d4644ff5148a10e
Author: Riccardo Magliocchetti <riccardo at datahost.it>
Date: Sun Sep 7 18:05:17 2008 +0200
don't crash on oversized files (fixes #15528)
diff --git a/swfdec/jpeg/jpeg.c b/swfdec/jpeg/jpeg.c
index d49f418..76796c5 100644
--- a/swfdec/jpeg/jpeg.c
+++ b/swfdec/jpeg/jpeg.c
@@ -70,6 +70,11 @@ jpeg_decoder_verify_header (JpegDecoder *dec)
}
if (dec->width < 1) {
+ COG_ERROR("width can't be 0");
+ dec->error = TRUE;
+ }
+
+ if (dec->height < 1) {
COG_ERROR("height can't be 0");
dec->error = TRUE;
}
@@ -143,6 +148,12 @@ jpeg_decoder_verify_header (JpegDecoder *dec)
break;
}
}
+
+ if ((2 << 30) / dec->width / dec->height < dec->n_components) {
+ COG_ERROR ("image is too big (width %d, height %d, %d components)",
+ dec->width, dec->height, dec->n_components);
+ dec->error = TRUE;
+ }
}
static void
More information about the Swfdec-commits
mailing list