File tree Expand file tree Collapse file tree 2 files changed +6
-1
lines changed Expand file tree Collapse file tree 2 files changed +6
-1
lines changed Original file line number Diff line number Diff line change @@ -141,7 +141,7 @@ QueryString.escape = function(str) {
141141    if  ( i  <  str . length ) 
142142      c2  =  str . charCodeAt ( i )  &  0x3FF ; 
143143    else 
144-       c2   =   0 ; 
144+       throw   new   URIError ( 'URI malformed' ) ; 
145145    lastPos  =  i  +  1 ; 
146146    c  =  0x10000  +  ( ( ( c  &  0x3FF )  <<  10 )  |  c2 ) ; 
147147    out  +=  hexTable [ 0xF0  |  ( c  >>  18 ) ]  + 
Original file line number Diff line number Diff line change @@ -139,6 +139,11 @@ qsWeirdObjects.forEach(function(testCase) {
139139  assert . equal ( testCase [ 1 ] ,  qs . stringify ( testCase [ 0 ] ) ) ; 
140140} ) ; 
141141
142+ // invalid surrogate pair throws URIError 
143+ assert . throws ( function ( )  { 
144+   qs . stringify ( {  foo : '\udc00'  } ) ; 
145+ } ,  URIError ) ; 
146+ 
142147// coerce numbers to string 
143148assert . strictEqual ( 'foo=0' ,  qs . stringify ( {  foo : 0  } ) ) ; 
144149assert . strictEqual ( 'foo=0' ,  qs . stringify ( {  foo : - 0  } ) ) ; 
 
 
   
 
     
   
   
          
    
    
     
    
      
     
     
    You can’t perform that action at this time.
  
 
    
  
    
      
        
     
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments