Skip to content
  • 卜部昌平's avatar
    5d33f787
    fix tracepoint + backtrace SEGV · 5d33f787
    卜部昌平 authored
    PC modification in gc_event_hook_body was careless.  There are (so
    to say) abnormal iseqs stored in the cfp.  We have to check sanity
    before we touch the PC.
    
    This has not been fixed because there was no way to (ab)use the
    setup from pure-Ruby.  However by using our official C APIs it is
    possible to touch such frame(s), resulting in SEGV.
    
    Fixes [Bug #14834].
    5d33f787
    fix tracepoint + backtrace SEGV
    卜部昌平 authored
    PC modification in gc_event_hook_body was careless.  There are (so
    to say) abnormal iseqs stored in the cfp.  We have to check sanity
    before we touch the PC.
    
    This has not been fixed because there was no way to (ab)use the
    setup from pure-Ruby.  However by using our official C APIs it is
    possible to touch such frame(s), resulting in SEGV.
    
    Fixes [Bug #14834].
Loading