diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | compile.c | 2 |
2 files changed, 6 insertions, 1 deletions
@@ -1,3 +1,8 @@ +Tue Dec 8 03:43:21 2015 Koichi Sasada <ko1@atdot.net> + + * compile.c (rb_iseq_build_from_ary): do not allocate table + if table_size is 0. + Tue Dec 8 03:30:34 2015 Eric Wong <e@80x24.org> * ext/socket/unixsocket.c (unix_send_io): document args @@ -6545,7 +6545,7 @@ rb_iseq_build_from_ary(rb_iseq_t *iseq, VALUE misc, VALUE locals, VALUE params, len = RARRAY_LENINT(locals); iseq->body->local_table_size = len; - iseq->body->local_table = tbl = (ID *)ALLOC_N(ID, iseq->body->local_table_size); + iseq->body->local_table = tbl = len > 0 ? (ID *)ALLOC_N(ID, iseq->body->local_table_size) : NULL; iseq->body->local_size = iseq->body->local_table_size + 1; for (i = 0; i < len; i++) { |