From 9d00ef9a461ec04962f4ffbd6567364c0c2e9d73 Mon Sep 17 00:00:00 2001 From: Patrick Walton Date: Thu, 1 Sep 2011 11:46:36 -0700 Subject: [PATCH] rt: Make logging more resilient to null vector pointers (useful when debugging GC) --- src/rt/rust_shape.h | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/rt/rust_shape.h b/src/rt/rust_shape.h index 3b3eda5ce571..dd09940a5398 100644 --- a/src/rt/rust_shape.h +++ b/src/rt/rust_shape.h @@ -1015,11 +1015,17 @@ private: prefix("") {} void walk_evec(bool is_pod, uint16_t sp_size) { - walk_vec(is_pod, get_evec_data_range(dp)); + if (!get_dp(dp)) + out << prefix << "(null)"; + else + walk_vec(is_pod, get_evec_data_range(dp)); } void walk_vec(bool is_pod, uint16_t sp_size) { - walk_vec(is_pod, get_vec_data_range(dp)); + if (!get_dp(dp)) + out << prefix << "(null)"; + else + walk_vec(is_pod, get_vec_data_range(dp)); } void walk_tag(tag_info &tinfo, uint32_t tag_variant) {