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