about summary refs log tree commit diff
diff options
context:
space:
mode:
authorPatrick Walton <pcwalton@mimiga.net>2011-08-25 17:13:06 -0700
committerPatrick Walton <pcwalton@mimiga.net>2011-08-25 17:14:54 -0700
commit4dd23f24d65e05169594bfcb45b84adfe4e52516 (patch)
treec73cb4db825ccab533bd197af5843670b458ad79
parent8bd019bdc868e9d563aa72acbb0307deaeca919f (diff)
rt: Null check in walk_obj_contents. Prevents marking from crashing when calling object constructors.
-rw-r--r--src/rt/rust_shape.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/rt/rust_shape.h b/src/rt/rust_shape.h
index e8a30d5874a..060dd7fed40 100644
--- a/src/rt/rust_shape.h
+++ b/src/rt/rust_shape.h
@@ -903,6 +903,8 @@ data<T,U>::walk_obj_contents(bool align, ptr &dp) {
     type_desc *subtydesc =
         *reinterpret_cast<type_desc **>(box_ptr + sizeof(void *));
     ptr obj_closure_dp(box_ptr + sizeof(void *));
+    if (!box_ptr)   // Null check.
+        return;
 
     arena arena;
     type_param *params = type_param::from_obj_shape(subtydesc->shape,