From company at kemper.freedesktop.org Fri Jul 17 12:00:43 2009 From: company at kemper.freedesktop.org (Benjamin Otte) Date: Fri, 17 Jul 2009 12:00:43 -0700 (PDT) Subject: [Swfdec-commits] 5 commits - configure.ac swfdec/swfdec_as_object.h swfdec/swfdec_bits.c swfdec/swfdec_movie_as_drawing.c test/trace Message-ID: <20090717190043.8BCB110051@kemper.freedesktop.org> configure.ac | 4 +--- swfdec/swfdec_as_object.h | 2 +- swfdec/swfdec_bits.c | 2 +- swfdec/swfdec_movie_as_drawing.c | 2 +- test/trace/Makefile.am | 9 +++++++++ test/trace/crash-0.9.2-beginBitmapFill-5.swf |binary test/trace/crash-0.9.2-beginBitmapFill-6.swf |binary test/trace/crash-0.9.2-beginBitmapFill-7.swf |binary test/trace/crash-0.9.2-beginBitmapFill-8.swf |binary test/trace/crash-0.9.2-beginBitmapFill.as | 5 +++++ 10 files changed, 18 insertions(+), 6 deletions(-) New commits: commit cf4a6c9786555354c957b91da033ed0f7b32e8d7 Author: Benjamin Otte Date: Fri Jul 17 21:00:19 2009 +0200 Decode whole buffers diff --git a/swfdec/swfdec_bits.c b/swfdec/swfdec_bits.c index 0a604fc..dddd021 100644 --- a/swfdec/swfdec_bits.c +++ b/swfdec/swfdec_bits.c @@ -722,7 +722,7 @@ swfdec_bits_decompress (SwfdecBits *bits, int compressed, int decompressed) buffer->length += compressed; z.next_out = buffer->data + z.total_out; z.avail_out = buffer->length - z.total_out; - goto out; + break; } /* else fall through */ default: commit c2ba386eed1c20a5cf0cc6b02a97fbe37aed876e Author: Tim Mooney Date: Fri Jul 17 20:58:27 2009 +0200 Bug 22803 - Make header conform to implementation Fix swfdec_as_object_add_variable() prototype diff --git a/swfdec/swfdec_as_object.h b/swfdec/swfdec_as_object.h index 95f42ac..6df1cb6 100644 --- a/swfdec/swfdec_as_object.h +++ b/swfdec/swfdec_as_object.h @@ -99,7 +99,7 @@ void swfdec_as_object_add_variable (SwfdecAsObject * object, const char * variable, SwfdecAsFunction * get, SwfdecAsFunction * set, - SwfdecAsVariableFlag default_flags); + guint default_flags); #define swfdec_as_object_get_variable(object, variable, value) \ swfdec_as_object_get_variable_and_flags (object, variable, value, NULL, NULL) gboolean swfdec_as_object_get_variable_and_flags commit f76dd98f3b5c04c57f9929de7e7c1674eab84f5d Author: Benjamin Otte Date: Sun May 17 11:09:45 2009 +0200 update warning flags for gcc 4.4 diff --git a/configure.ac b/configure.ac index 66699b7..5e1a002 100644 --- a/configure.ac +++ b/configure.ac @@ -29,9 +29,7 @@ AC_CONFIG_MACRO_DIR([m4]) dnl decide on error flags dnl if we support them, we set them unconditionally -dnl FIXME: I want this but stupid headers don't let me: -Wshadow -dnl FIXME: readd -Wlogical-op when http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36513 is solved -AS_COMPILER_FLAGS(GLOBAL_CFLAGS, "-Wall -Wextra -Wno-missing-field-initializers -Wno-unused-parameter -Wold-style-definition -Wdeclaration-after-statement -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls -Wmissing-noreturn -Wshadow -Wpointer-arith -Wcast-align -Wwrite-strings -Winline -Wformat-nonliteral -Wformat-security -Wswitch-enum -Wswitch-default -Winit-self -Wmissing-include-dirs -Wundef -Waggregate-return -Wmissing-format-attribute -Wnested-externs -Wunsafe-loop-optimizations -Wpacked -Winvalid-pch -Wsync-nand") +AS_COMPILER_FLAGS(GLOBAL_CFLAGS, "-Wall -Wextra -Wno-missing-field-initializers -Wno-unused-parameter -Wold-style-definition -Wdeclaration-after-statement -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls -Wmissing-noreturn -Wshadow -Wpointer-arith -Wcast-align -Wwrite-strings -Winline -Wformat-nonliteral -Wformat-security -Wswitch-enum -Wswitch-default -Winit-self -Wmissing-include-dirs -Wundef -Waggregate-return -Wmissing-format-attribute -Wnested-externs -Wunsafe-loop-optimizations -Wpacked -Winvalid-pch -Wsync-nand -Wlogical-op") dnl if we're in nano >= 1, add -Werror if supported if test x$SWFDEC_DEVEL = xyes ; then AS_COMPILER_FLAGS(GLOBAL_CFLAGS, "-Werror") commit 876081737b014769560eaaa73318097978f76a22 Author: Benjamin Otte Date: Tue Mar 10 11:41:33 2009 +0100 fix crash in beginBitmapFill when bitmap is NULL diff --git a/swfdec/swfdec_movie_as_drawing.c b/swfdec/swfdec_movie_as_drawing.c index 851d444..5a328a3 100644 --- a/swfdec/swfdec_movie_as_drawing.c +++ b/swfdec/swfdec_movie_as_drawing.c @@ -443,7 +443,7 @@ swfdec_sprite_movie_beginBitmapFill (SwfdecAsContext *cx, SWFDEC_AS_CHECK (SWFDEC_TYPE_MOVIE, &movie, "O|Obb", &bitmap, &mat, &repeat, &smoothing); movie->draw_fill = NULL; - if (!SWFDEC_IS_BITMAP_DATA (bitmap->relay)) + if (bitmap == NULL || !SWFDEC_IS_BITMAP_DATA (bitmap->relay)) return; pattern = swfdec_bitmap_pattern_new (SWFDEC_BITMAP_DATA (bitmap->relay)); commit 05b3780336d2bc68065f69dcac6a850fd5a45530 Author: Benjamin Otte Date: Tue Mar 10 11:23:23 2009 +0100 add a new crasher test diff --git a/test/trace/Makefile.am b/test/trace/Makefile.am index 6b443fc..b2079eb 100644 --- a/test/trace/Makefile.am +++ b/test/trace/Makefile.am @@ -1095,6 +1095,15 @@ EXTRA_DIST = \ crash-0.9.1-getvariable-shapes-8.swf \ crash-0.9.1-getvariable-shapes-8.swf.trace \ crash-0.9.1-getvariable-shapes.xml \ + crash-0.9.2-beginBitmapFill-5.swf \ + crash-0.9.2-beginBitmapFill-5.swf.trace \ + crash-0.9.2-beginBitmapFill-6.swf \ + crash-0.9.2-beginBitmapFill-6.swf.trace \ + crash-0.9.2-beginBitmapFill-7.swf \ + crash-0.9.2-beginBitmapFill-7.swf.trace \ + crash-0.9.2-beginBitmapFill-8.swf \ + crash-0.9.2-beginBitmapFill-8.swf.trace \ + crash-0.9.2-beginBitmapFill.as \ createEmptyMovieClip-events.sc \ createEmptyMovieClip-events.swf \ createEmptyMovieClip-events.swf.trace \ diff --git a/test/trace/crash-0.9.2-beginBitmapFill-5.swf b/test/trace/crash-0.9.2-beginBitmapFill-5.swf new file mode 100644 index 0000000..b9ba89a Binary files /dev/null and b/test/trace/crash-0.9.2-beginBitmapFill-5.swf differ diff --git a/test/trace/crash-0.9.2-beginBitmapFill-5.swf.trace b/test/trace/crash-0.9.2-beginBitmapFill-5.swf.trace new file mode 100644 index 0000000..e69de29 diff --git a/test/trace/crash-0.9.2-beginBitmapFill-6.swf b/test/trace/crash-0.9.2-beginBitmapFill-6.swf new file mode 100644 index 0000000..c681b85 Binary files /dev/null and b/test/trace/crash-0.9.2-beginBitmapFill-6.swf differ diff --git a/test/trace/crash-0.9.2-beginBitmapFill-6.swf.trace b/test/trace/crash-0.9.2-beginBitmapFill-6.swf.trace new file mode 100644 index 0000000..e69de29 diff --git a/test/trace/crash-0.9.2-beginBitmapFill-7.swf b/test/trace/crash-0.9.2-beginBitmapFill-7.swf new file mode 100644 index 0000000..704236b Binary files /dev/null and b/test/trace/crash-0.9.2-beginBitmapFill-7.swf differ diff --git a/test/trace/crash-0.9.2-beginBitmapFill-7.swf.trace b/test/trace/crash-0.9.2-beginBitmapFill-7.swf.trace new file mode 100644 index 0000000..e69de29 diff --git a/test/trace/crash-0.9.2-beginBitmapFill-8.swf b/test/trace/crash-0.9.2-beginBitmapFill-8.swf new file mode 100644 index 0000000..02f6d41 Binary files /dev/null and b/test/trace/crash-0.9.2-beginBitmapFill-8.swf differ diff --git a/test/trace/crash-0.9.2-beginBitmapFill-8.swf.trace b/test/trace/crash-0.9.2-beginBitmapFill-8.swf.trace new file mode 100644 index 0000000..e69de29 diff --git a/test/trace/crash-0.9.2-beginBitmapFill.as b/test/trace/crash-0.9.2-beginBitmapFill.as new file mode 100644 index 0000000..312fef6 --- /dev/null +++ b/test/trace/crash-0.9.2-beginBitmapFill.as @@ -0,0 +1,5 @@ +// makeswf -v 7 -s 200x150 -r 1 -o movie23.swf movie23.as + +beginBitmapFill (null); + +getURL ("fscommand:quit", "");