Issue #14750 has been reported by ShockwaveNN (Pavel Lobashov).

----------------------------------------
Bug #14750: [IMAP] `send_string_data` uses `send_literal` method with incorrect number of arguments
https://bugs.ruby-lang.org/issues/14750

* Author: ShockwaveNN (Pavel Lobashov)
* Status: Open
* Priority: Normal
* Assignee: 
* Target version: 
* ruby -v: ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux]
* Backport: 2.3: UNKNOWN, 2.4: UNKNOWN, 2.5: UNKNOWN
----------------------------------------
Hi there, sorry I haven't reliable test case to reproduce an issue, since I don't have access to any public IMAP servers.

In Ruby 2.5 in file `lib/net/imap.rb` there is method `def send_string_data` which looks like 

~~~ ruby
def send_string_data(str)
  ...
  send_literal(str)
  ...
end
~~~

See https://github.com/ruby/ruby/blob/ruby_2_5/lib/net/imap.rb#L1346

But method `send_literal` defined as 

~~~ ruby
def send_literal(str, tag)
~~~


See https://github.com/ruby/ruby/blob/ruby_2_5/lib/net/imap.rb#L1359

Second argumen, `tag` is not optional, so `send_string_data` fail with `wrong number of arguments (given 1, expected 2)` error

This was introduced https://github.com/ruby/ruby/commit/84c1596342854208c45832ed9700482dd28efbfc
Some places was changed for new two argument syntax, but `send_literal` in `send_string_data` was forgontten



-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>