[Swfdec-commits] 5 commits -

Benjamin Otte company at kemper.freedesktop.org
Wed Sep 24 09:50:17 PDT 2008


 0 files changed

New commits:
commit 5da13347ded1d8999c5af26169b44ac0d97fec70
Merge: c6bdf74... 97bebee...
Author: Benjamin Otte <otte at gnome.org>
Date:   Wed Sep 24 18:48:36 2008 +0200

    Merge branch '0.8'

commit 97bebeefaa1656b0dd7d3eb33c512ffed9be7d1e
Author: Benjamin Otte <otte at gnome.org>
Date:   Wed Sep 24 18:19:53 2008 +0200

    add test for just-fixed crasher

diff --git a/test/trace/Makefile.am b/test/trace/Makefile.am
index 61c1119..5e674e0 100644
--- a/test/trace/Makefile.am
+++ b/test/trace/Makefile.am
@@ -1013,6 +1013,15 @@ EXTRA_DIST = \
 	crash-0.7.5-textlayout-8.swf \
 	crash-0.7.5-textlayout-8.swf.trace \
 	crash-0.7.5-textlayout.as \
+	crash-0.8.0-huffmann-table-5.swf \
+	crash-0.8.0-huffmann-table-5.swf.trace \
+	crash-0.8.0-huffmann-table-6.swf \
+	crash-0.8.0-huffmann-table-6.swf.trace \
+	crash-0.8.0-huffmann-table-7.swf \
+	crash-0.8.0-huffmann-table-7.swf.trace \
+	crash-0.8.0-huffmann-table-8.swf \
+	crash-0.8.0-huffmann-table-8.swf.trace \
+	crash-0.8.0-huffmann-table.xml \
 	createEmptyMovieClip-events.sc \
 	createEmptyMovieClip-events.swf \
 	createEmptyMovieClip-events.swf.trace \
diff --git a/test/trace/crash-0.8.0-huffmann-table-5.swf b/test/trace/crash-0.8.0-huffmann-table-5.swf
new file mode 100644
index 0000000..b9c5cd0
Binary files /dev/null and b/test/trace/crash-0.8.0-huffmann-table-5.swf differ
diff --git a/test/trace/crash-0.8.0-huffmann-table-5.swf.trace b/test/trace/crash-0.8.0-huffmann-table-5.swf.trace
new file mode 100644
index 0000000..e69de29
diff --git a/test/trace/crash-0.8.0-huffmann-table-6.swf b/test/trace/crash-0.8.0-huffmann-table-6.swf
new file mode 100644
index 0000000..dec73bf
Binary files /dev/null and b/test/trace/crash-0.8.0-huffmann-table-6.swf differ
diff --git a/test/trace/crash-0.8.0-huffmann-table-6.swf.trace b/test/trace/crash-0.8.0-huffmann-table-6.swf.trace
new file mode 100644
index 0000000..e69de29
diff --git a/test/trace/crash-0.8.0-huffmann-table-7.swf b/test/trace/crash-0.8.0-huffmann-table-7.swf
new file mode 100644
index 0000000..b88deee
Binary files /dev/null and b/test/trace/crash-0.8.0-huffmann-table-7.swf differ
diff --git a/test/trace/crash-0.8.0-huffmann-table-7.swf.trace b/test/trace/crash-0.8.0-huffmann-table-7.swf.trace
new file mode 100644
index 0000000..e69de29
diff --git a/test/trace/crash-0.8.0-huffmann-table-8.swf b/test/trace/crash-0.8.0-huffmann-table-8.swf
new file mode 100644
index 0000000..0f4a5c0
Binary files /dev/null and b/test/trace/crash-0.8.0-huffmann-table-8.swf differ
diff --git a/test/trace/crash-0.8.0-huffmann-table-8.swf.trace b/test/trace/crash-0.8.0-huffmann-table-8.swf.trace
new file mode 100644
index 0000000..e69de29
diff --git a/test/trace/crash-0.8.0-huffmann-table.xml b/test/trace/crash-0.8.0-huffmann-table.xml
new file mode 100644
index 0000000..4808219
--- /dev/null
+++ b/test/trace/crash-0.8.0-huffmann-table.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0"?>
+<swf version="7" compressed="1">
+  <Header framerate="1" frames="1">
+    <size>
+      <Rectangle left="0" right="320" top="0" bottom="320"/>
+    </size>
+    <tags>
+      <SetBackgroundColor>
+        <color>
+          <Color red="0" green="0" blue="255"/>
+        </color>
+      </SetBackgroundColor>
+      <DefineBitsJPEG2 objectID="1">
+        <data>
+	  <data>/9j/wAARCAABAAEDWREAVREAVhEA/8QJChMAAAAAAAAA////////////qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/9k=</data>
+        </data>
+      </DefineBitsJPEG2>
+      <DefineShape objectID="2">
+        <bounds>
+          <Rectangle left="0" right="320" top="0" bottom="320"/>
+        </bounds>
+        <styles>
+          <StyleList>
+            <fillStyles>
+              <ClippedBitmap objectID="1">
+                <matrix>
+                  <Transform scaleX="20.00000000000000" scaleY="20.00000000000000" transX="0" transY="0"/>
+                </matrix>
+              </ClippedBitmap>
+            </fillStyles>
+            <lineStyles/>
+          </StyleList>
+        </styles>
+        <shapes>
+          <Shape>
+            <edges>
+              <ShapeSetup fillStyle1="1"/>
+              <LineTo x="320" y="0"/>
+              <LineTo x="0" y="320"/>
+              <LineTo x="-320" y="0"/>
+              <LineTo x="0" y="-320"/>
+              <ShapeSetup/>
+            </edges>
+          </Shape>
+        </shapes>
+      </DefineShape>
+      <PlaceObject2 replace="0" depth="1" objectID="2">
+        <transform>
+          <Transform transX="0" transY="0"/>
+        </transform>
+      </PlaceObject2>
+      <ShowFrame/>
+      <End/>
+    </tags>
+  </Header>
+</swf>
commit 44d405a2e0b86f84d0f9e327fb524bf58dc25177
Author: Riccardo Magliocchetti <riccardo at datahost.it>
Date:   Wed Sep 24 18:03:25 2008 +0200

    mem leak: free error message

diff --git a/swfdec/jpeg/jpeg.c b/swfdec/jpeg/jpeg.c
index 57a593c..7d967db 100644
--- a/swfdec/jpeg/jpeg.c
+++ b/swfdec/jpeg/jpeg.c
@@ -559,6 +559,8 @@ jpeg_decoder_free (JpegDecoder * dec)
 
   if (dec->data)
     free (dec->data);
+  if (dec->error_message)
+    free (dec->error_message);
 
   free (dec);
 }
commit e92ed10be25f32cc18113ba3867f8bcdc26f1c93
Author: Benjamin Otte <otte at gnome.org>
Date:   Wed Sep 24 17:43:07 2008 +0200

    ensure the huffman table does not exceed 256 entries (fixes #17589)

diff --git a/swfdec/jpeg/jpeg.c b/swfdec/jpeg/jpeg.c
index d739e50..57a593c 100644
--- a/swfdec/jpeg/jpeg.c
+++ b/swfdec/jpeg/jpeg.c
@@ -264,6 +264,12 @@ huffman_table_init_jpeg (JpegDecoder *decoder, HuffmanTable *table, JpegBits * b
     n_symbols += huffsize[i];
   }
 
+  /* There may be a maximum of 256 symbols in the table. */
+  if (n_symbols > 256) {
+    jpeg_decoder_error (decoder, "%u Huffman table entries exceeds 256", n_symbols);
+    return -1;
+  }
+
   /* Build up the symbol table.  The first symbol is all 0's, with
    * the number of bits determined by the first non-zero entry in
    * huffsize[].  Subsequent symbols with the same bit length are
commit 5c3a398e60ccbfd5583c34f4974363c0b8ee7e9f
Author: Benjamin Otte <otte at gnome.org>
Date:   Wed Sep 24 16:51:57 2008 +0200

    get rid of unused variable

diff --git a/swfdec/jpeg/jpeg.c b/swfdec/jpeg/jpeg.c
index ef895e4..d739e50 100644
--- a/swfdec/jpeg/jpeg.c
+++ b/swfdec/jpeg/jpeg.c
@@ -248,7 +248,7 @@ huffman_table_init_jpeg (JpegDecoder *decoder, HuffmanTable *table, JpegBits * b
 {
   int n_symbols;
   int huffsize[16];
-  int i, j, k;
+  int i, j;
   unsigned int symbol;
   int n = 0;
 
@@ -270,13 +270,11 @@ huffman_table_init_jpeg (JpegDecoder *decoder, HuffmanTable *table, JpegBits * b
    * incremented by 1.  Increasing the bit length shifts the
    * symbol 1 bit to the left. */
   symbol = 0;
-  k = 0;
   for (i = 0; i < 16; i++) {
     for (j = 0; j < huffsize[i]; j++) {
       huffman_table_add (table, symbol, i + 1, jpeg_bits_get_u8 (bits));
       n++;
       symbol++;
-      k++;
     }
     /* This checks that our symbol is actually less than the
      * number of bits we think it is.  This is only triggered


More information about the Swfdec-commits mailing list