diff options
Diffstat (limited to 'lib/uri/generic.rb')
-rw-r--r-- | lib/uri/generic.rb | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/uri/generic.rb b/lib/uri/generic.rb index ea79e7950a..c672d15eb2 100644 --- a/lib/uri/generic.rb +++ b/lib/uri/generic.rb @@ -836,6 +836,7 @@ module URI v.encode!(Encoding::UTF_8) rescue nil v.delete!("\t\r\n") v.force_encoding(Encoding::ASCII_8BIT) + raise InvalidURIError, "invalid percent escape: #{$1}" if /(%\H\H)/n.match(v) v.gsub!(/(?!%\h\h|[!$-&(-;=?-_a-~])./n.freeze){'%%%02X' % $&.ord} v.force_encoding(Encoding::US_ASCII) @query = v |