Actions
Bug #15953
closedWrong heap size given to ruby_sized_xfree when freeing shared root arrays
    Bug #15953:
    Wrong heap size given to ruby_sized_xfree when freeing shared root arrays
  
Description
In ary_heap_free, the macro ARY_HEAP_CAPA is used to pass on to rb_sized_xfree. However, ARY_HEAP_CAPA uses the aux.capa field,
which is actually the number of shared strings that are using the root array, if a shared root is getting freed. The actually capa is RARRAY_LEN(ary).
I'll add a PR to fix this.
Thanks,
        
          
          Updated by luke-gru (Luke Gruber) over 6 years ago
          
          
        
        
      
      PR here: https://github.com/ruby/ruby/pull/2253
I ran the make test-all suite with #define ARRAY_DEBUG 1, no failed assertions (I added a new assertion in a macro).
Thanks,
        
          
          Updated by luke-gru (Luke Gruber) over 6 years ago
          
          
        
        
      
      - Status changed from Open to Closed
 
Applied in changeset git|97b4fe2ff6bffe8728952236f2027aa6242f8f40.
array.c: Wrong heap size given to ruby_sized_xfree when freeing shared roots
Fixes [Bug #15953]
Actions