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 <[EMAIL PROTECTED]>
 
+       * 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 <[EMAIL PROTECTED]>
+
        * 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);
 


_______________________________________________
Gnash-commit mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/gnash-commit

Reply via email to