Skip to content
  • nagachika's avatar
    141402d1
    merge revision(s) e1bd4562: [Backport #19482] · 141402d1
    nagachika authored
    	Fix crash when allocating classes with newobj hook
    
    	We need to zero out the whole slot when running the newobj hook for a
    	newly allocated class because the slot could be filled with garbage,
    	which would cause a crash if a GC runs inside of the newobj hook.
    
    	For example, the following script crashes:
    
    	```
    	require "objspace"
    
    	GC.stress = true
    
    	ObjectSpace.trace_object_allocations {
    	  100.times do
    	    Class.new
    	  end
    	}
    	```
    
    	[Bug #19482]
    	---
    	 gc.c                           | 8 +++++++-
    	 test/objspace/test_objspace.rb | 7 +++++++
    	 2 files changed, 14 insertions(+), 1 deletion(-)
    141402d1
    merge revision(s) e1bd4562: [Backport #19482]
    nagachika authored
    	Fix crash when allocating classes with newobj hook
    
    	We need to zero out the whole slot when running the newobj hook for a
    	newly allocated class because the slot could be filled with garbage,
    	which would cause a crash if a GC runs inside of the newobj hook.
    
    	For example, the following script crashes:
    
    	```
    	require "objspace"
    
    	GC.stress = true
    
    	ObjectSpace.trace_object_allocations {
    	  100.times do
    	    Class.new
    	  end
    	}
    	```
    
    	[Bug #19482]
    	---
    	 gc.c                           | 8 +++++++-
    	 test/objspace/test_objspace.rb | 7 +++++++
    	 2 files changed, 14 insertions(+), 1 deletion(-)
Loading