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