summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--vm.c2
2 files changed, 6 insertions, 1 deletions
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 <ko1@atdot.net>
+
+ * 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 <usa@ruby-lang.org>
* 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,