[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ChangeLog server/vm/ASHandlers.cpp testsu...
From: |
Sandro Santilli |
Subject: |
[Gnash-commit] gnash ChangeLog server/vm/ASHandlers.cpp testsu... |
Date: |
Sat, 29 Mar 2008 23:41:05 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Sandro Santilli <strk> 08/03/29 23:41:05
Modified files:
. : ChangeLog
server/vm : ASHandlers.cpp
testsuite/actionscript.all: String.as
Log message:
don't choke on empty strings. Fixes last crash in swfdec testsuite.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.6087&r2=1.6088
http://cvs.savannah.gnu.org/viewcvs/gnash/server/vm/ASHandlers.cpp?cvsroot=gnash&r1=1.222&r2=1.223
http://cvs.savannah.gnu.org/viewcvs/gnash/testsuite/actionscript.all/String.as?cvsroot=gnash&r1=1.48&r2=1.49
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.6087
retrieving revision 1.6088
diff -u -b -r1.6087 -r1.6088
--- ChangeLog 29 Mar 2008 22:50:53 -0000 1.6087
+++ ChangeLog 29 Mar 2008 23:41:04 -0000 1.6088
@@ -1,5 +1,12 @@
2008-03-29 Sandro Santilli <address@hidden>
+ * server/vm/ASHandlers.cpp (ActionSubString): don't choke on empty
+ strings. Fixes last crash in swfdec testsuite.
+ * testsuite/actionscript.all/String.as: test ACTION_SUBSTRING with
+ empty input.
+
+2008-03-29 Sandro Santilli <address@hidden>
+
* server/video_stream_instance.{cpp,h}: don't attach character
properties if it's not a character (a user-created Video instance).
Fixes more crashes in swfdec testsuite.
Index: server/vm/ASHandlers.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/vm/ASHandlers.cpp,v
retrieving revision 1.222
retrieving revision 1.223
diff -u -b -r1.222 -r1.223
--- server/vm/ASHandlers.cpp 28 Mar 2008 13:52:30 -0000 1.222
+++ server/vm/ASHandlers.cpp 29 Mar 2008 23:41:05 -0000 1.223
@@ -885,8 +885,10 @@
// input checks
if ( strval.is_undefined() || strval.is_null() )
{
- log_error(_("Undefined or null string passed to ActionSubString, "
+ IF_VERBOSE_ASCODING_ERRORS(
+ log_aserror(_("Undefined or null string passed to ActionSubString, "
"returning undefined"));
+ );
env.drop(2);
env.top(0).set_undefined();
return;
@@ -910,6 +912,14 @@
size = wstr.length();
}
+ if ( size == 0 || wstr.empty() )
+ {
+ env.drop(2);
+ env.top(0).set_string("");
+ return;
+ }
+
+
// TODO: if 'start' or 'size' do not evaluate to numbers return
// the empty string (how do we check if they evaluate ??)
@@ -935,13 +945,6 @@
return;
}
- if (size == 0)
- {
- env.drop(2);
- env.top(0).set_string("");
- return;
- }
-
// Adjust the start for our own use.
--start;
@@ -954,7 +957,6 @@
size = wstr.length() - start;
}
-
assert(start >= 0);
assert(static_cast<unsigned int>(start) < wstr.length() );
assert(size >= 0);
Index: testsuite/actionscript.all/String.as
===================================================================
RCS file: /sources/gnash/gnash/testsuite/actionscript.all/String.as,v
retrieving revision 1.48
retrieving revision 1.49
diff -u -b -r1.48 -r1.49
--- testsuite/actionscript.all/String.as 17 Mar 2008 08:06:47 -0000
1.48
+++ testsuite/actionscript.all/String.as 29 Mar 2008 23:41:05 -0000
1.49
@@ -17,7 +17,7 @@
// Original author: Mike Carlson - June 19th, 2006
-rcsid="$Id: String.as,v 1.48 2008/03/17 08:06:47 bwy Exp $";
+rcsid="$Id: String.as,v 1.49 2008/03/29 23:41:05 strk Exp $";
#include "check.as"
check_equals(typeof(String), 'function');
@@ -493,6 +493,16 @@
};
check_equals( b, "f");
+asm {
+ push "b"
+ push ""
+ push "0"
+ push "1"
+ substring
+ setvariable
+};
+check_equals( b, "");
+
teststr = "Heöllo";
count1 = 0;
count2 = 0;
@@ -746,7 +756,7 @@
check_equals(r, "s:");
#if OUTPUT_VERSION < 6
- check_totals(203);
+ check_totals(204);
#else
- check_totals(233);
+ check_totals(234);
#endif