Project

General

Profile

Actions

Bug #12363

closed

URI::Generic.build allows invalid input

Added by avit (Andrew Vit) almost 8 years ago. Updated almost 8 years ago.

Status:
Rejected
Assignee:
-
Target version:
-
ruby -v:
ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-linux]
[ruby-core:75422]

Description

Reproduce:

require 'uri'
invalid_host = 'ex_ample.com'
invalid_userinfo = 'uuuu:pp/pp'
uri = URI::Generic.new('http', invalid_userinfo,  invalid_host, 80, nil, '/', nil, nil, nil)
uri.to_s
#=> "http://uuuu:pp/pp@ex_ample.com:80/"

uri.userinfo = uri.userinfo
# raise URI::InvalidComponentError

uri.host = uri.host
# raise URI::InvalidComponentError

It should be expected that these are already encoded, so invalid characters in URI fields should not be allowed. These should be consistent with writer methods userinfo=, host=, etc.

Actions

Also available in: Atom PDF

Like0
Like0Like0