Patch to replace for-in with for(;;)
authorDerk-Jan Hartman <hartman@users.mediawiki.org>
Sat, 2 Jul 2011 08:32:19 +0000 (08:32 +0000)
committerDerk-Jan Hartman <hartman@users.mediawiki.org>
Sat, 2 Jul 2011 08:32:19 +0000 (08:32 +0000)
This breaks when strange things are added to Array.prototype (and you never know what users do in their user scripts), so use for (var i = 0; i < ...length; i++ ) instead.

Fixes 29676. Patch courtesy of Micheal M.

resources/jquery/jquery.client.js

index c6edff5..74a2e52 100644 (file)
                                // Unknown, so we assume it's working
                                return true;
                        }
-                       var name = map[dir][profile.name];
-                       for ( var condition in name ) {
-                               var op = name[condition][0];
-                               var val = name[condition][1];
+                       var conditions = map[dir][profile.name];
+                       for ( var i = 0; i < conditions.length; i++ ) {
+                               var op = conditions[i][0];
+                               var val = conditions[i][1];
                                if ( val === false ) {
                                        return false;
                                } else if ( typeof val == 'string' ) {