diff --git a/ChangeLog b/ChangeLog index 6efb99be0e..2e845fb0e8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Fri May 25 17:05:07 2012 Koichi Sasada + + * vm.c (oldbt_init, vm_backtrace_str_ary): arg->data should + be initialized before calling `backtrace_each()'. + Fri May 25 16:11:27 2012 NAKAMURA Usaku * trunk/ext/-test-/printf/printf.c: change function names because of diff --git a/vm.c b/vm.c index a6f1ce5a47..54c57969b3 100644 --- a/vm.c +++ b/vm.c @@ -1090,7 +1090,6 @@ oldbt_init(void *ptr, int dmy) arg->filename = th->vm->progname ? th->vm->progname : ruby_engine_name;; arg->line_no = 0; - arg->data = (void *)rb_ary_new(); } static void @@ -1142,6 +1141,7 @@ vm_backtrace_str_ary(rb_thread_t *th, size_t lev, size_t n) VALUE *ptr; arg.func = oldbt_push; + arg.data = (void *)rb_ary_new(); backtrace_each(th, oldbt_init,