Issue #10568 has been updated by Tomoyuki Chikanaga. Backport changed from 2.0.0: DONE, 2.1: REQUIRED, 2.2: DONTNEED to 2.0.0: DONE, 2.1: DONE, 2.2: DONTNEED r44803 was already backported in `ruby_2_1` branch at r44819 for #9478. ---------------------------------------- Bug #10568: segmentation fault after pack & ioctl & unpack https://bugs.ruby-lang.org/issues/10568#change-51812 * Author: Balazs Kutil * Status: Closed * Priority: Normal * Assignee: Nobuyoshi Nakada * ruby -v: - * Backport: 2.0.0: DONE, 2.1: DONE, 2.2: DONTNEED ---------------------------------------- This snippet produces a segmentation fault on rubies on ruby_2_1 branch from git commit [1] onwards and ruby_2_0_0 branch from commit [2] onwards. I was unable to reproduce the issue on the current trunk [3]: require 'socket' SIOCETHTOOL = 0x8946 i = ["lo", "\n"].pack("a16p") s = Socket.new(Socket::AF_INET, Socket::SOCK_DGRAM, 0) s.ioctl(SIOCETHTOOL, i) i.unpack("a16p")[1] This patch [4] fixes the issue for both 2_1 and 2_0_0 branches, although the test case it contains does not produce a segfault (only raises an ArgumentError) on affected revisions. [1] [659fd08f](https://github.com/ruby/ruby/commit/659fd08fc093117cc9970ed4590fcd226d81244c) [2] [c41f74cf](https://github.com/ruby/ruby/commit/c41f74cf4c7ea246ee605a75b1b5cf8fdf9b412b) [3] [bc0f1312](https://github.com/ruby/ruby/commit/bc0f131277af6b6cd65a5e75c3b8a2d9d8b073ad) [4] [4b146b25](https://github.com/ruby/ruby/commit/4b146b25333c52ca4503dfc3c4215b583e8e9963) ---Files-------------------------------- ruby-2.1-rb-str-associated.patch (2.5 KB) -- https://bugs.ruby-lang.org/