SEGV by modifying __members__

e$B0J2<$N$h$&$K$9$k$He(B [BUG] Segmentation fault e$B$K$J$j$^$9!#e(B

% ./ruby -e ’
S = Struct.new(:a)
Marshal.load("\004\bIc\006S\006:\020__members__"\bfoo")
p S.members

-e:4: – control frame ----------
c:0004 p:---- s:0009 b:0009 l:000008 d:000008 CFUNC :members
c:0003 p:0048 s:0006 b:0005 l:000004 d:000004 TOP -e:4
c:0002 p:---- s:0003 b:0003 l:000002 d:000002 FINISH :inherited
c:0001 p:---- s:0001 b:-001 l:000000 d:000000 ------

DBG> : “-e:4:in `’”
– backtrace of native function call (Use addr2line) –
0x80f77d2
0x8113e10
0x8113eaf
0x80c1119
0xb7f3f420
0x80ed894
0x80f52ff
0x80f4e8e
0x80f16d3
0x80f54d8
0x80f5b1d
0x805a32b
0x805a3ae
0x8057605
0xb7da8ea8
0x8057531