[Swfdec-commits] Branch '0.6' - 5 commits - swfdec/swfdec_resource.c swfdec/swfdec_stream.c test/trace vivified/core

Benjamin Otte company at kemper.freedesktop.org
Tue Mar 25 14:56:43 PDT 2008


 swfdec/swfdec_resource.c                           |    5 ++++-
 swfdec/swfdec_stream.c                             |    4 +++-
 test/trace/Makefile.am                             |    5 +++++
 test/trace/crash-0.6.0-moviecliploader-7.swf       |binary
 test/trace/crash-0.6.0-moviecliploader-7.swf.trace |    2 ++
 test/trace/crash-0.6.0-moviecliploader-8.swf       |binary
 test/trace/crash-0.6.0-moviecliploader-8.swf.trace |    2 ++
 test/trace/crash-0.6.0-moviecliploader.as          |   16 ++++++++++++++++
 vivified/core/vivi_ming.c                          |    2 +-
 9 files changed, 33 insertions(+), 3 deletions(-)

New commits:
commit 6cf304b397fec8b7f500ab39d2e8aae468fbdf65
Author: Benjamin Otte <otte at gnome.org>
Date:   Tue Mar 25 22:02:08 2008 +0100

    cope better with errors during parsing that unset the target

diff --git a/swfdec/swfdec_stream.c b/swfdec/swfdec_stream.c
index de3d3ab..40944c9 100644
--- a/swfdec/swfdec_stream.c
+++ b/swfdec/swfdec_stream.c
@@ -215,9 +215,11 @@ swfdec_stream_process (gpointer streamp, gpointer unused)
 	if (swfdec_stream_target_parse (priv->target, stream)) {
 	  swfdec_stream_queue_processing (stream);
 	  goto out;
-	} else {
+	} else if (priv->target) {
 	  priv->processed_state = SWFDEC_STREAM_STATE_CLOSED;
 	  swfdec_stream_target_close (priv->target, stream);
+	} else {
+	  goto out;
 	}
       }
     }
commit 7276aa19b340f9dc817d3d604e2579e0268b1d6d
Author: Benjamin Otte <otte at gnome.org>
Date:   Tue Mar 25 22:01:41 2008 +0100

    if we get a security error, keep using the old sandbox

diff --git a/swfdec/swfdec_resource.c b/swfdec/swfdec_resource.c
index ed64f7d..e07b15b 100644
--- a/swfdec/swfdec_resource.c
+++ b/swfdec/swfdec_resource.c
@@ -76,7 +76,9 @@ swfdec_resource_stream_target_image (SwfdecResource *instance)
 
   if (SWFDEC_IS_SWF_DECODER (instance->decoder)) {
     SwfdecSwfDecoder *dec = SWFDEC_SWF_DECODER (instance->decoder);
+    SwfdecSandbox *old_sandbox;
 
+    old_sandbox = instance->sandbox;
     instance->sandbox = swfdec_sandbox_get_for_url (player,
 	swfdec_loader_get_url (instance->loader), instance->version,
 	SWFDEC_SWF_DECODER (instance->decoder)->use_network);
@@ -95,7 +97,8 @@ swfdec_resource_stream_target_image (SwfdecResource *instance)
       SWFDEC_FIXME ("cannot continue loading %s, invalid rights", 
 	  swfdec_url_get_url (swfdec_loader_get_url (instance->loader)));
       swfdec_stream_set_target (SWFDEC_STREAM (instance->loader), NULL);
-      /* FIXME: anyting on the movie we need to clear? */
+      instance->sandbox = old_sandbox;
+      /* FIXME: anyting else on the movie we need to clear? */
     }
   } else {
     g_assert_not_reached ();
commit 7db2e30e6ad05c7d6753360d193db9e64bb6aa9a
Author: Benjamin Otte <otte at gnome.org>
Date:   Tue Mar 25 22:00:35 2008 +0100

    remove debugging info from traces

diff --git a/test/trace/crash-0.6.0-moviecliploader-7.swf.trace b/test/trace/crash-0.6.0-moviecliploader-7.swf.trace
index 9b2ccc2..7696e88 100644
--- a/test/trace/crash-0.6.0-moviecliploader-7.swf.trace
+++ b/test/trace/crash-0.6.0-moviecliploader-7.swf.trace
@@ -1,4 +1,2 @@
 Start
-*** Security Sandbox Violation ***
-Connection to file:///home/medar/Projects/Flash/swfdec/test/pending/getvariable-exhaustive-8.swf halted - not permitted from file:///home/medar/Projects/Flash/swfdec/test/pending/crash-0.6.0-moviecliploader-7.swf
 Done
diff --git a/test/trace/crash-0.6.0-moviecliploader-8.swf.trace b/test/trace/crash-0.6.0-moviecliploader-8.swf.trace
index e87c7b5..7696e88 100644
--- a/test/trace/crash-0.6.0-moviecliploader-8.swf.trace
+++ b/test/trace/crash-0.6.0-moviecliploader-8.swf.trace
@@ -1,4 +1,2 @@
 Start
-*** Security Sandbox Violation ***
-Connection to file:///home/medar/Projects/Flash/swfdec/test/pending/getvariable-exhaustive-8.swf halted - not permitted from file:///home/medar/Projects/Flash/swfdec/test/pending/crash-0.6.0-moviecliploader-8.swf
 Done
commit 34603bcdc4ab6d2f0ff8f4bb1b56965b97202907
Author: Benjamin Otte <otte at gnome.org>
Date:   Fri Mar 21 22:16:54 2008 +0100

    update to min API changes

diff --git a/vivified/core/vivi_ming.c b/vivified/core/vivi_ming.c
index a126455..c015c1a 100644
--- a/vivified/core/vivi_ming.c
+++ b/vivified/core/vivi_ming.c
@@ -88,7 +88,7 @@ vivi_ming_compile (const char *code, char **error)
 {
   byte *data;
   SWFAction action;
-  gsize len;
+  gssize len;
   SwfdecBuffer *buffer;
   SwfdecScript *script;
 
commit c366dd172877c5e2d04a901dd84eccb4bb334a0e
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Tue Feb 26 14:44:10 2008 +0200

    Add a test for assert in MovieClipLoader

diff --git a/test/trace/Makefile.am b/test/trace/Makefile.am
index 3a26cbd..f6d1fdf 100644
--- a/test/trace/Makefile.am
+++ b/test/trace/Makefile.am
@@ -713,6 +713,11 @@ EXTRA_DIST = \
 	crash-0.5.90-empty-action.swf \
 	crash-0.5.90-empty-action.swf.trace \
 	crash-0.5.90-empty-action.xml \
+	crash-0.6.0-moviecliploader.as \
+	crash-0.6.0-moviecliploader-7.swf \
+	crash-0.6.0-moviecliploader-7.swf.trace \
+	crash-0.6.0-moviecliploader-8.swf \
+	crash-0.6.0-moviecliploader-8.swf.trace \
 	currentframe.swf \
 	currentframe.swf.trace \
 	dangling-compare.as \
diff --git a/test/trace/crash-0.6.0-moviecliploader-7.swf b/test/trace/crash-0.6.0-moviecliploader-7.swf
new file mode 100644
index 0000000..6439c1c
Binary files /dev/null and b/test/trace/crash-0.6.0-moviecliploader-7.swf differ
diff --git a/test/trace/crash-0.6.0-moviecliploader-7.swf.trace b/test/trace/crash-0.6.0-moviecliploader-7.swf.trace
new file mode 100644
index 0000000..9b2ccc2
--- /dev/null
+++ b/test/trace/crash-0.6.0-moviecliploader-7.swf.trace
@@ -0,0 +1,4 @@
+Start
+*** Security Sandbox Violation ***
+Connection to file:///home/medar/Projects/Flash/swfdec/test/pending/getvariable-exhaustive-8.swf halted - not permitted from file:///home/medar/Projects/Flash/swfdec/test/pending/crash-0.6.0-moviecliploader-7.swf
+Done
diff --git a/test/trace/crash-0.6.0-moviecliploader-8.swf b/test/trace/crash-0.6.0-moviecliploader-8.swf
new file mode 100644
index 0000000..aed18d2
Binary files /dev/null and b/test/trace/crash-0.6.0-moviecliploader-8.swf differ
diff --git a/test/trace/crash-0.6.0-moviecliploader-8.swf.trace b/test/trace/crash-0.6.0-moviecliploader-8.swf.trace
new file mode 100644
index 0000000..e87c7b5
--- /dev/null
+++ b/test/trace/crash-0.6.0-moviecliploader-8.swf.trace
@@ -0,0 +1,4 @@
+Start
+*** Security Sandbox Violation ***
+Connection to file:///home/medar/Projects/Flash/swfdec/test/pending/getvariable-exhaustive-8.swf halted - not permitted from file:///home/medar/Projects/Flash/swfdec/test/pending/crash-0.6.0-moviecliploader-8.swf
+Done
diff --git a/test/trace/crash-0.6.0-moviecliploader.as b/test/trace/crash-0.6.0-moviecliploader.as
new file mode 100644
index 0000000..5b62d8f
--- /dev/null
+++ b/test/trace/crash-0.6.0-moviecliploader.as
@@ -0,0 +1,16 @@
+// makeswf -n -v 7 -r 1 -o crash-0.6.0-moviecliploader.swf crash-0.6.0-moviecliploader.as
+
+// NOTE: Has to be compiled with -n
+
+trace ("Start");
+
+this.createEmptyMovieClip ("a", 0);
+var l = new MovieClipLoader ();
+l.loadClip ("getvariable-exhaustive-8.swf", a);
+
+function quit () {
+  trace ("Done");
+  loadMovie ("FSCommand:quit", "");
+}
+
+setInterval (quit, 2000);


More information about the Swfdec-commits mailing list