Issue #12441 has been updated by Kazuki Yamaguchi.

Status changed from Open to Closed

The minimal reproducer:

~~~ruby
123.to_bn.mod_exp(456, nil)
~~~

This is already (unintentionally) fixed in r55047.

----------------------------------------
Bug #12441: Segfault in mod_exp
https://bugs.ruby-lang.org/issues/12441#change-58971

* Author: Joshua Small
* Status: Closed
* Priority: Normal
* Assignee: 
* ruby -v: 2.3.1p112 (2016-04-26 revision 54768) [x86_64-linux]
* Backport: 2.1: UNKNOWN, 2.2: UNKNOWN, 2.3: UNKNOWN
----------------------------------------
I have the piece of code crashing reliably.

~~~
#!/usr/bin/env ruby

require 'openssl'

p = 65997564567567456745676645367739412743227643334286989217363396439283464537000853588029739004855929104754800897261407081024749574299035313695899693187167


def mything(h)
  b = 43554325436535756
  k = h.to_bn.mod_exp(b, p)
end



h = 3007963317613531062721539798844764834140098543127007866692410407137612395983233591022449771190189492227443776860661459473931676217894527075146085609662899

puts mything h

~~~

I have written very similar pieces of code before without an issue but this but particular one seems to have hit something. I have attached a crash report.

---Files--------------------------------
crash.log (13.4 KB)


-- 
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>