SEGV by Marshal.load("\004\bu:\006C\004\377\377\377\177a")

e$B0J2<$N$h$&$K$9$k$He(B SEGV e$B$7$^$9!#e(B

% ./ruby -ve ’
class C
def initialize(str)
@str = str
end
def _dump(limit)
@str
end
def C._load(s)
C.new(s)
end
end
p Marshal.load("\004\bu:\006C\004\377\377\377\177a")

ruby 1.9.0 (2007-10-15 patchlevel 0) [i686-linux]
-e:13: – control frame ----------
c:0004 p:---- s:0010 b:0010 l:000009 d:000009 CFUNC :load
c:0003 p:0023 s:0006 b:0005 l:000004 d:000004 TOP -e:13
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:13:in `’”
– backtrace of native function call (Use addr2line) –
0x80fa46a
0x8118be8
0x8118c87
0x80c3919
0xb7ef4420
0x80ca6da
0x80714a0
0x8071714
0x8072723
0x8072d4b
0x8072d5e
0x805c243
0x8072fe7
0x80f0674
0x80f7f99
0x80f7b16
0x80f44cd
0x80f8172
0x80f87b7
0x805abad
0x805ac5c
0x8057e24
0xb7d5eea8
0x8057d41