@@ -6617,12 +6617,16 @@ exports.parseTheme = function(value) {
6617
6617
return value === '?' ? CONF . default_theme : value ;
6618
6618
} ;
6619
6619
6620
+
6620
6621
exports . set = function ( obj , path , value ) {
6621
6622
var cachekey = 'S+' + path ;
6622
6623
6623
6624
if ( F . temporary . other [ cachekey ] )
6624
6625
return F . temporary . other [ cachekey ] ( obj , value ) ;
6625
6626
6627
+ if ( ( / _ _ p r o t o _ _ | c o n s t r u c t o r | p r o t o t y p e | e v a l | f u n c t i o n | \* | \+ | ; | \s | \( | \) | ! / ) . test ( path ) )
6628
+ return value ;
6629
+
6626
6630
var arr = parsepath ( path ) ;
6627
6631
var builder = [ ] ;
6628
6632
@@ -6636,12 +6640,9 @@ exports.set = function(obj, path, value) {
6636
6640
var ispush = v . lastIndexOf ( '[]' ) !== - 1 ;
6637
6641
var a = builder . join ( ';' ) + ';var v=typeof(a)===\'function\'?a(U.get(b)):a;w' + ( v [ 0 ] === '[' ? '' : '.' ) + ( ispush ? v . replace ( REGREPLACEARR , '.push(v)' ) : ( v + '=v' ) ) + ';return v' ;
6638
6642
6639
- if ( ( / _ _ p r o t o _ _ | c o n s t r u c t o r | p r o t o t y p e | e v a l / ) . test ( a ) )
6640
- throw new Error ( 'Potential vulnerability' ) ;
6641
-
6642
6643
var fn = new Function ( 'w' , 'a' , 'b' , a ) ;
6643
6644
F . temporary . other [ cachekey ] = fn ;
6644
- fn ( obj , value , path ) ;
6645
+ return fn ( obj , value , path ) ;
6645
6646
} ;
6646
6647
6647
6648
exports . get = function ( obj , path ) {
@@ -6651,6 +6652,9 @@ exports.get = function(obj, path) {
6651
6652
if ( F . temporary . other [ cachekey ] )
6652
6653
return F . temporary . other [ cachekey ] ( obj ) ;
6653
6654
6655
+ if ( ( / _ _ p r o t o _ _ | c o n s t r u c t o r | p r o t o t y p e | e v a l | f u n c t i o n | \* | \+ | ; | \s | \( | \) | ! / ) . test ( path ) )
6656
+ return ;
6657
+
6654
6658
var arr = parsepath ( path ) ;
6655
6659
var builder = [ ] ;
6656
6660
0 commit comments