[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ChangeLog server/swf/tag_loaders.cpp
From: |
Sandro Santilli |
Subject: |
[Gnash-commit] gnash ChangeLog server/swf/tag_loaders.cpp |
Date: |
Mon, 03 Dec 2007 11:34:08 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Sandro Santilli <strk> 07/12/03 11:34:08
Modified files:
. : ChangeLog
server/swf : tag_loaders.cpp
Log message:
ensure needed bytes are available, don't attempt to read 0 bytes
from stream (malformed swf).
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.5064&r2=1.5065
http://cvs.savannah.gnu.org/viewcvs/gnash/server/swf/tag_loaders.cpp?cvsroot=gnash&r1=1.157&r2=1.158
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.5064
retrieving revision 1.5065
diff -u -b -r1.5064 -r1.5065
--- ChangeLog 3 Dec 2007 11:09:27 -0000 1.5064
+++ ChangeLog 3 Dec 2007 11:34:07 -0000 1.5065
@@ -1,5 +1,8 @@
2007-12-03 Sandro Santilli <address@hidden>
+ * server/swf/tag_loaders.cpp (sound_stream_block_loader): ensure
+ needed bytes are available, don't attempt to read 0 bytes
+ from stream (malformed swf).
* server/stream.{cpp,h}: drop unused get_tag_length, forbid
seek-backs to before any opened tag start.
* server/parser/movie_def_impl.{cpp,h}: mutex-protect
Index: server/swf/tag_loaders.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/swf/tag_loaders.cpp,v
retrieving revision 1.157
retrieving revision 1.158
diff -u -b -r1.157 -r1.158
--- server/swf/tag_loaders.cpp 28 Nov 2007 17:35:44 -0000 1.157
+++ server/swf/tag_loaders.cpp 3 Dec 2007 11:34:08 -0000 1.158
@@ -17,7 +17,7 @@
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
//
-/* $Id: tag_loaders.cpp,v 1.157 2007/11/28 17:35:44 strk Exp $ */
+/* $Id: tag_loaders.cpp,v 1.158 2007/12/03 11:34:08 strk Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -1303,9 +1303,22 @@
unsigned int sample_count = sinfo->getSampleCount();
// discard garbage data if format is MP3
- if (format == media::AUDIO_CODEC_MP3) in->skip_bytes(4);
+ if (format == media::AUDIO_CODEC_MP3)
+ {
+ //log_debug("Skipping 4 garbage bytes of MP3 format... (CHECKME!)");
+ in->ensureBytes(4);
+ in->skip_bytes(4);
+ }
unsigned int data_bytes = in->get_tag_end_position() - in->get_position();
+ if ( ! data_bytes )
+ {
+ IF_VERBOSE_MALFORMED_SWF(
+ log_swferror("No data bytes left to read in SOUNDSTREAMBLOCK tag");
+ );
+ return;
+ }
+
unsigned char *data = new unsigned char[data_bytes];
in->read((char*)data, data_bytes);
- [Gnash-commit] gnash ChangeLog server/swf/tag_loaders.cpp,
Sandro Santilli <=
- [Gnash-commit] gnash ChangeLog server/swf/tag_loaders.cpp, Sandro Santilli, 2007/12/03
- [Gnash-commit] gnash ChangeLog server/swf/tag_loaders.cpp, Benjamin Wolsey, 2007/12/06
- [Gnash-commit] gnash ChangeLog server/swf/tag_loaders.cpp, Sandro Santilli, 2007/12/11
- [Gnash-commit] gnash ChangeLog server/swf/tag_loaders.cpp, Sandro Santilli, 2007/12/12
- [Gnash-commit] gnash ChangeLog server/swf/tag_loaders.cpp, Sandro Santilli, 2007/12/12
- [Gnash-commit] gnash ChangeLog server/swf/tag_loaders.cpp, Sandro Santilli, 2007/12/12
- [Gnash-commit] gnash ChangeLog server/swf/tag_loaders.cpp, Sandro Santilli, 2007/12/12
- [Gnash-commit] gnash ChangeLog server/swf/tag_loaders.cpp, Sandro Santilli, 2007/12/13
- [Gnash-commit] gnash ChangeLog server/swf/tag_loaders.cpp, Sandro Santilli, 2007/12/14
- [Gnash-commit] gnash ChangeLog server/swf/tag_loaders.cpp, Sandro Santilli, 2007/12/16