gnash-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnash-commit] gnash ChangeLog server/vm/ASHandlers.cpp


From: Sandro Santilli
Subject: [Gnash-commit] gnash ChangeLog server/vm/ASHandlers.cpp
Date: Tue, 27 Nov 2007 17:36:40 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Sandro Santilli <strk>  07/11/27 17:36:40

Modified files:
        .              : ChangeLog 
        server/vm      : ASHandlers.cpp 

Log message:
        always resize the vector passed as third argument to GuessEncoding so
        to contain at least one element each character in the string (not fully
        tested but fixes an invalid offset access with panda.swf).

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.4985&r2=1.4986
http://cvs.savannah.gnu.org/viewcvs/gnash/server/vm/ASHandlers.cpp?cvsroot=gnash&r1=1.162&r2=1.163

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.4985
retrieving revision 1.4986
diff -u -b -r1.4985 -r1.4986
--- ChangeLog   27 Nov 2007 15:39:40 -0000      1.4985
+++ ChangeLog   27 Nov 2007 17:36:39 -0000      1.4986
@@ -1,5 +1,13 @@
 2007-11-27 Sandro Santilli <address@hidden>
 
+       * server/vm/ASHandlers.cpp (ActionMbSubString, ActionMbLength):
+         always resize the vector passed as third argument to
+         GuessEncoding so to contain at least one element each
+         character in the string (not fully tested but fixes
+         an invalid offset access with panda.swf).
+
+2007-11-27 Sandro Santilli <address@hidden>
+
        * server/asobj/Object.cpp (object_registerClass): hopefully
          got arguments index correctly this time (in error messages).
 

Index: server/vm/ASHandlers.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/vm/ASHandlers.cpp,v
retrieving revision 1.162
retrieving revision 1.163
diff -u -b -r1.162 -r1.163
--- server/vm/ASHandlers.cpp    24 Nov 2007 17:21:45 -0000      1.162
+++ server/vm/ASHandlers.cpp    27 Nov 2007 17:36:40 -0000      1.163
@@ -17,7 +17,7 @@
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-/* $Id: ASHandlers.cpp,v 1.162 2007/11/24 17:21:45 strk Exp $ */
+/* $Id: ASHandlers.cpp,v 1.163 2007/11/27 17:36:40 strk Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -1556,6 +1556,7 @@
     {
         int length;
         std::vector<int> unused;
+       unused.resize(str.length()+1);
         (void) GuessEncoding(str, length, unused);
         env.top(0).set_int(length);
     }
@@ -1637,7 +1638,7 @@
     string str = string_val.to_string();
     int length = 0;
     std::vector<int> offsets;
-    offsets.reserve(str.length() + 1);
+    offsets.resize(str.length() + 1);
 
     as_encoding_guess_t encoding = GuessEncoding(str, length, offsets);
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]