misc/plugin/disp_referrer.rb in tdiary-5.1.4 vs misc/plugin/disp_referrer.rb in tdiary-5.1.5
- old
+ new
@@ -653,10 +653,10 @@
keys.each do |key|
if Symbol === key then
k = key.to_s
if values[k] and not (encoded_uri = values[k][0]).empty? then
begin
- original_uri = URI::parse( urlbase ) + URI::parse( URI::decode(encoded_uri) )
+ original_uri = URI::parse( urlbase ) + URI::parse( URI.decode_www_form_component(encoded_uri) )
throw :done if original_uri == urlbase # denial of service?
self.replace_with( DispRef2URL.new( original_uri.to_s ).parse( setup ) )
return self
rescue URI::InvalidURIError
throw :done