diff options
| author | Peter Zhu <peter@peterzhu.ca> | 2025-09-08 17:29:27 +0200 |
|---|---|---|
| committer | Peter Zhu <peter@peterzhu.ca> | 2025-09-17 09:25:17 -0400 |
| commit | 2d57e9e2a185c68d6f1cd3f067f19c23fe5f3fc1 (patch) | |
| tree | a72d7921dcbce0e41fa199e4f02ae0f814c41315 /array.c | |
| parent | cfc5c565038d3ed00a739135911e6188929c729a (diff) | |
Clear out memory for newly allocated array
Diffstat (limited to 'array.c')
| -rw-r--r-- | array.c | 10 |
1 files changed, 10 insertions, 0 deletions
@@ -695,6 +695,11 @@ ary_alloc_heap(VALUE klass) NEWOBJ_OF(ary, struct RArray, klass, T_ARRAY | (RGENGC_WB_PROTECTED_ARRAY ? FL_WB_PROTECTED : 0), sizeof(struct RArray), 0); + + ary->as.heap.len = 0; + ary->as.heap.aux.capa = 0; + ary->as.heap.ptr = NULL; + return (VALUE)ary; } @@ -808,6 +813,11 @@ ec_ary_alloc_heap(rb_execution_context_t *ec, VALUE klass) NEWOBJ_OF(ary, struct RArray, klass, T_ARRAY | (RGENGC_WB_PROTECTED_ARRAY ? FL_WB_PROTECTED : 0), sizeof(struct RArray), ec); + + ary->as.heap.len = 0; + ary->as.heap.aux.capa = 0; + ary->as.heap.ptr = NULL; + return (VALUE)ary; } |
