[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ChangeLog server/as_environment.cpp tests...
From: |
Sandro Santilli |
Subject: |
[Gnash-commit] gnash ChangeLog server/as_environment.cpp tests... |
Date: |
Thu, 17 Jan 2008 23:34:38 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Sandro Santilli <strk> 08/01/17 23:34:38
Modified files:
. : ChangeLog
server : as_environment.cpp
testsuite/swfdec: PASSING
Log message:
(find_object): don't allow dots after a slash was seen.
Completes fixing the getvariable-delimiter swfdec tests (see bug
#21883).
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.5428&r2=1.5429
http://cvs.savannah.gnu.org/viewcvs/gnash/server/as_environment.cpp?cvsroot=gnash&r1=1.120&r2=1.121
http://cvs.savannah.gnu.org/viewcvs/gnash/testsuite/swfdec/PASSING?cvsroot=gnash&r1=1.86&r2=1.87
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.5428
retrieving revision 1.5429
diff -u -b -r1.5428 -r1.5429
--- ChangeLog 17 Jan 2008 22:09:12 -0000 1.5428
+++ ChangeLog 17 Jan 2008 23:34:37 -0000 1.5429
@@ -1,5 +1,13 @@
2008-01-17 Sandro Santilli <address@hidden>
+ * server/as_environment.cpp (find_object): don't allow dots
+ after a slash was seen. Completes fixing the getvariable-delimiter
+ swfdec tests (see bug #21883).
+ * testsuite/swfdec/PASSING: getvariable-delimiter-{6,7,8}.swf
+ succeed now, completing the serie.
+
+2008-01-17 Sandro Santilli <address@hidden>
+
* server/as_environment.cpp: add more corner case handlign
for get_variable and find_object. The code keeps getting
uglier, but this change gets no unexpected failure while
Index: server/as_environment.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/as_environment.cpp,v
retrieving revision 1.120
retrieving revision 1.121
diff -u -b -r1.120 -r1.121
--- server/as_environment.cpp 17 Jan 2008 22:09:12 -0000 1.120
+++ server/as_environment.cpp 17 Jan 2008 23:34:38 -0000 1.121
@@ -17,7 +17,7 @@
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
//
-/* $Id: as_environment.cpp,v 1.120 2008/01/17 22:09:12 strk Exp $ */
+/* $Id: as_environment.cpp,v 1.121 2008/01/17 23:34:38 strk Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -616,6 +616,21 @@
}
else if (next_slash)
{
+ if ( *next_slash == '.' )
+ {
+ if ( ! dot_allowed )
+ {
+ IF_VERBOSE_ASCODING_ERRORS(
+ log_aserror(_("invalid path '%s' (dot not
allowed after having seen a slash)"), path.c_str());
+ );
+ return NULL;
+ }
+ }
+ else if ( *next_slash == '/' )
+ {
+ dot_allowed = false;
+ }
+
// Cut off the slash and everything after it.
subpart.resize(next_slash - p);
}
Index: testsuite/swfdec/PASSING
===================================================================
RCS file: /sources/gnash/gnash/testsuite/swfdec/PASSING,v
retrieving revision 1.86
retrieving revision 1.87
diff -u -b -r1.86 -r1.87
--- testsuite/swfdec/PASSING 17 Jan 2008 22:09:13 -0000 1.86
+++ testsuite/swfdec/PASSING 17 Jan 2008 23:34:38 -0000 1.87
@@ -227,6 +227,9 @@
getsetproperty-target-7.swf:d7d730794e6318c1b69a7e946cb2fedd
getsetproperty-target-8.swf:b558d97e246e9ed2b90969d96f3e0fcc
getvariable-delimiters-5.swf:4d0d118364bf68f0cb3b24848b6eaff7
+getvariable-delimiters-6.swf:0c86a4153e93b60a37ca657d380f3e24
+getvariable-delimiters-7.swf:41c71fdb8be339e2148f2fe243915763
+getvariable-delimiters-8.swf:b741f36284c12705e060dba0d5d1f40e
getvariable-dotdot-5.swf:68529abcc9f149593f50dfacb3f8656e
getvariable-dotdot-6.swf:becc7079e65bcf47fe2ab0293bbc2c29
getvariable-dotdot-7.swf:efa5597fe3e61764b6ee937f87d8cf1b