diff --git a/ChangeLog b/ChangeLog index 49a8463756..31dc431223 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,10 @@ -Mon May 20 09:53:31 2013 Nobuyoshi Nakada +Mon May 20 10:40:21 2013 Nobuyoshi Nakada + + * lib/webrick/htmlutils.rb (WEBrick::HTMLUtils#escape): replace HTML + meta chars even in non-ascii string. [Bug #8425] [ruby-core:55052] + + * lib/webrick/httputils.rb (WEBrick::HTTPUtils#{_escape,_unescape}): + fix %-escape encodings. [Bug #8425] [ruby-core:55052] * lib/webrick/httpservlet/filehandler.rb (set_dir_list): revert r20152 partially and fix misuse of bytesize and regexp repetition operator. diff --git a/lib/webrick/htmlutils.rb b/lib/webrick/htmlutils.rb index ed901f1ce2..4cb3d0d7f6 100644 --- a/lib/webrick/htmlutils.rb +++ b/lib/webrick/htmlutils.rb @@ -15,12 +15,13 @@ module WEBrick # Escapes &, ", > and < in +string+ def escape(string) - str = string ? string.dup : "" + return "" unless string + str = string.b str.gsub!(/&/n, '&') str.gsub!(/\"/n, '"') str.gsub!(/>/n, '>') str.gsub!(/bar")) assert_equal("foo<bar", escape("foo