ruby-changes:43506
From: shugo <ko1@a...>
Date: Wed, 6 Jul 2016 07:14:23 +0900 (JST)
Subject: [ruby-changes:43506] shugo:r55579 (trunk): * lib/net/ftp.rb (putline): raise an ArgumentError when
shugo 2016-07-06 07:14:18 +0900 (Wed, 06 Jul 2016) New Revision: 55579 https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=55579 Log: * lib/net/ftp.rb (putline): raise an ArgumentError when CR or LF is included in a line. Modified files: trunk/ChangeLog trunk/lib/net/ftp.rb trunk/test/net/ftp/test_ftp.rb Index: ChangeLog =================================================================== --- ChangeLog (revision 55578) +++ ChangeLog (revision 55579) @@ -1,3 +1,8 @@ https://github.com/ruby/ruby/blob/trunk/ChangeLog#L1 +Wed Jul 6 07:11:27 2016 Shugo Maeda <shugo@r...> + + * lib/net/ftp.rb (putline): raise an ArgumentError when + CR or LF is included in a line. + Tue Jul 5 20:49:30 2016 SHIBATA Hiroshi <hsbt@r...> * ext/json/*, test/json/*: Update json-2.0.1. Index: lib/net/ftp.rb =================================================================== --- lib/net/ftp.rb (revision 55578) +++ lib/net/ftp.rb (revision 55579) @@ -295,6 +295,9 @@ module Net https://github.com/ruby/ruby/blob/trunk/lib/net/ftp.rb#L295 if @debug_mode print "put: ", sanitize(line), "\n" end + if /[\r\n]/ =~ line + raise ArgumentError, "A line must not contain CR or LF" + end line = line + CRLF @sock.write(line) end Index: test/net/ftp/test_ftp.rb =================================================================== --- test/net/ftp/test_ftp.rb (revision 55578) +++ test/net/ftp/test_ftp.rb (revision 55579) @@ -1633,6 +1633,16 @@ EOF https://github.com/ruby/ruby/blob/trunk/test/net/ftp/test_ftp.rb#L1633 end end + def test_putline_reject_crlf + ftp = Net::FTP.new + assert_raise(ArgumentError) do + ftp.send(:putline, "\r") + end + assert_raise(ArgumentError) do + ftp.send(:putline, "\n") + end + end + private def create_ftp_server(sleep_time = nil) -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/