rhe 118ee2a734 openssl: fix possible SEGV on race between SSLSocket#stop and #connect
* ext/openssl/ossl_ssl.c (ossl_ssl_stop): Don't free the SSL struct
  here. Since some methods such as SSLSocket#connect releases GVL,
  there is a chance of use after free if we free the SSL from another
  thread. SSLSocket#stop was documented as "prepares it for another
  connection" so this is a slightly incompatible change. However when
  this sentence was added (r30090, Add toplevel documentation for
  OpenSSL, 2010-12-06), it didn't actually. The current behavior is
  from r40304 (Correct shutdown behavior w.r.t GC., 2013-04-15).
  [ruby-core:74978] [Bug #12292]

* ext/openssl/lib/openssl/ssl.rb (sysclose): Update doc.

* test/openssl/test_ssl.rb: Test this.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55100 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-21 07:25:00 +00:00
..
2015-12-16 05:31:54 +00:00
2016-04-11 11:50:00 +00:00
2016-05-20 13:21:55 +00:00
2015-12-16 05:31:54 +00:00
2016-04-11 11:50:00 +00:00
2015-12-16 05:31:54 +00:00
2015-12-16 05:31:54 +00:00
2015-12-16 05:31:54 +00:00
2015-12-16 05:31:54 +00:00
2016-04-15 06:15:54 +00:00
2015-12-16 05:31:54 +00:00
2016-04-11 11:50:00 +00:00
2016-05-08 09:59:36 +00:00
2015-12-16 05:31:54 +00:00
2016-04-30 01:12:52 +00:00
2015-12-16 05:31:54 +00:00
2016-04-11 11:50:00 +00:00
2016-04-25 07:56:06 +00:00
2016-04-11 11:50:00 +00:00
2016-04-11 11:50:00 +00:00
2016-04-27 06:47:56 +00:00
2016-04-11 11:50:00 +00:00
2016-04-11 11:50:00 +00:00
2016-04-25 08:30:56 +00:00
2016-04-10 11:54:17 +00:00
2016-05-20 12:17:14 +00:00
2016-05-16 00:16:13 +00:00
2016-04-30 02:56:17 +00:00
2015-12-20 11:54:54 +00:00
2015-12-20 11:54:54 +00:00