From 4f1f243fe7e34acf6249d32cc68eedc8ff5bccbf Mon Sep 17 00:00:00 2001 From: Yukihiro Matsumoto Date: Mon, 7 May 2012 18:02:32 +0900 Subject: initialize_copy: copy destination object may not be intialized --- src/time.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/time.c') diff --git a/src/time.c b/src/time.c index 16884d9d8..ed42f1f76 100644 --- a/src/time.c +++ b/src/time.c @@ -496,6 +496,10 @@ mrb_time_initialize_copy(mrb_state *mrb, mrb_value copy) if (!mrb_obj_is_instance_of(mrb, src, mrb_obj_class(mrb, copy))) { mrb_raise(mrb, E_TYPE_ERROR, "wrong argument class"); } + if (!DATA_PTR(copy)) { + DATA_PTR(copy) = mrb_malloc(mrb, sizeof(struct mrb_time)); + DATA_TYPE(copy) = &mrb_time_type; + } memcpy(DATA_PTR(copy), DATA_PTR(src), sizeof(struct mrb_time)); return copy; } -- cgit v1.2.3