Issue #16603 has been reported by tompng (tomoya ishida).

----------------------------------------
Bug #16603: Passing number or symbol to kwargs splat causes segmentation fualt
https://bugs.ruby-lang.org/issues/16603

* Author: tompng (tomoya ishida)
* Status: Open
* Priority: Normal
* ruby -v: ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-darwin19], ruby 2.8.0dev (2020-02-03T04:07:34Z master 0ab7f2f222) [x86_64-darwin19]
* Backport: 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN
----------------------------------------
Passing 1 or :a as a kwargs splat to a c-lang defined method causes segmentation fault. (It was a TypeError in ruby 2.6.0)
~~~ruby
p **1
p **:a
rand **1
~~~

Passing it to an user-defined method won't cause segv, but it was a TypeError in ruby 2.6.0
~~~ruby
def p2*;end
p2 **1 # nil (TypeError in ruby 2.6.0)
p2 **:a # nil (TypeError in ruby 2.6.0)
~~~

~~~ruby
# these are ok
a=1; p **a # TypeError
a=:a; p **a # TypeError
def p2*;end
a=1; p2 **a # TypeError
a=:a; p2 **a # TypeError
~~~




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