[#39548] [Bug #2291] Net::FTPでソケットをオープンする前にbinary=を呼び出すと落ちる — Akira Matsuda <redmine@...>

Bug #2291: Net::FTPでソケットをオープンする前にbinary=を呼び出すと落ちる

10 messages 2009/10/27

[#39592] infinite recursive call to C function — Yusuke ENDOH <mame@...>

遠藤です。

17 messages 2009/10/30
[#39596] Re: infinite recursive call to C function — Yukihiro Matsumoto <matz@...> 2009/10/30

まつもと ゆきひろです

[#39599] Re: infinite recursive call to C function — Nobuyoshi Nakada <nobu@...> 2009/11/02

なかだです。

[#39601] Re: infinite recursive call to C function — Yukihiro Matsumoto <matz@...> 2009/11/02

まつもと ゆきひろです

[ruby-dev:39549] [Bug #2291](Assigned) Net::FTPでソケットをオープンする前にbinary=を呼び出すと落ちる

From: Yui NARUSE <redmine@...>
Date: 2009-10-27 12:36:47 UTC
List: ruby-dev #39549
チケット #2291 が更新されました。 (by Yui NARUSE)

ステータス OpenからAssignedに変更
担当者 Shugo Maedaにセット

diff --git a/lib/net/ftp.rb b/lib/net/ftp.rb
index 52bd375..239bd3c 100644
--- a/lib/net/ftp.rb
+++ b/lib/net/ftp.rb
@@ -132,6 +132,7 @@ module Net
       @passive = false
       @debug_mode = false
       @resume = false
+      @sock = nil
       if host
        connect(host)
        if user
@@ -143,7 +144,7 @@ module Net
     def binary=(newmode)
       if newmode != @binary
         @binary = newmode
-        @binary ? voidcmd("TYPE I") : voidcmd("TYPE A")
+        @binary ? voidcmd("TYPE I") : voidcmd("TYPE A") unless closed?
       end
     end

こんな感じですかね
----------------------------------------
http://redmine.ruby-lang.org/issues/show/2291

----------------------------------------
http://redmine.ruby-lang.org

In This Thread