[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