Issue #18343 has been updated by jeremyevans0 (Jeremy Evans).

Backport changed from 2.6: UNKNOWN, 2.7: UNKNOWN, 3.0: UNKNOWN to 2.6: REQUIRED, 2.7: DONTNEED, 3.0: DONTNEED
Status changed from Open to Closed

This is definitely a bug in ruby 2.4 - 2.6, but ruby 2.4 and 2.5 are end of life, and ruby 2.6 is in security maintenance mode.  I don't think this is a security issue, but just in case, I'll mark this for backporting for ruby 2.6.  It is up to the ruby 2.6 branch maintainer whether it is actually backported.

----------------------------------------
Bug #18343: empty hash passed to Array#pack causes Segmentation fault (2.6)
https://bugs.ruby-lang.org/issues/18343#change-94690

* Author: Ethan (Ethan -)
* Status: Closed
* Priority: Normal
* ruby -v: ruby 2.6.8p205 (2021-07-07 revision 67951) [x86_64-linux]
* Backport: 2.6: REQUIRED, 2.7: DONTNEED, 3.0: DONTNEED
----------------------------------------
passing an empty hash to `Array#pack` segfaults from ruby 2.4 to ruby 2.6 on ubuntu, macos, and windows.

```ruby
[0].pack('c', {})
```

pack takes a keyword argument, and handles unknown keywords, but the empty hash segfaults.

here is the error trace in a github workflow running only the above expression: https://github.com/notEthan/jsi/runs/4226433638 (other ruby versions and OSes are part of the same run)




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