From c9eefd56440eaaddf0d2a8924452a87e42e89f57 Mon Sep 17 00:00:00 2001 From: usa Date: Thu, 25 Feb 2016 08:45:12 +0000 Subject: merge revision(s) 53231,53244: [Backport #11854] * ext/socket/init.c (rsock_init_sock): check FD after validating * test/socket/test_basicsocket.rb (test_for_fd): new [ruby-core:72418] [Bug #11854] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@53923 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/socket/test_basicsocket.rb | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'test') diff --git a/test/socket/test_basicsocket.rb b/test/socket/test_basicsocket.rb index 59b739e813..218576a2b6 100644 --- a/test/socket/test_basicsocket.rb +++ b/test/socket/test_basicsocket.rb @@ -85,4 +85,15 @@ class TestSocket_BasicSocket < Test::Unit::TestCase } end end + def test_for_fd + assert_raise(Errno::EBADF, '[ruby-core:72418] [Bug #11854]') do + BasicSocket.for_fd(-1) + end + inet_stream do |sock| + s = BasicSocket.for_fd(sock.fileno) + assert_instance_of BasicSocket, s + s.autoclose = false + sock.close + end + end end if defined?(BasicSocket) -- cgit v1.2.3