summaryrefslogtreecommitdiff
path: root/vm_eval.c
diff options
context:
space:
mode:
Diffstat (limited to 'vm_eval.c')
-rw-r--r--vm_eval.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/vm_eval.c b/vm_eval.c
index f1246537e7..ba57d90946 100644
--- a/vm_eval.c
+++ b/vm_eval.c
@@ -241,8 +241,9 @@ add_empty_keyword(int *argc, const VALUE **argv, int *kw_splat)
if (*kw_splat == RB_PASS_CALLED_KEYWORDS || *kw_splat == RB_PASS_EMPTY_KEYWORDS) {
if (*kw_splat == RB_PASS_EMPTY_KEYWORDS || rb_empty_keyword_given_p()) {
int n = *argc;
- VALUE *ptr = ALLOC_N(VALUE,n+1);
-
+ VALUE v;
+ VALUE *ptr;
+ ptr = rb_alloc_tmp_buffer2(&v, n, sizeof(VALUE));
memcpy(ptr, *argv, sizeof(VALUE)*n);
ptr[n] = rb_hash_new();
*argc = ++n;